کیو-یادگیری

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

كيو-يادگيري تكنيك يادگيري تقويتي است كه با يادگيري يك تابع اقدام/مقدار، سياست مشخصي را براي انجام حركات مختلف در وضعيت هاي مختلف دنبال مي كند. يكي ازنقاط قوت اين روش، توانايي يادگيري تابع مذكور بدون داشتن مدل معيني ازمحيط مي باشد. اخيرا در اين روش اصلاحي با نام كيو-يادگيري تاخيري انجام شده كه بهبود قابل توجهي ايجاد نموده است. در روش اخير يادگيري PAC با فراينده هاي تصميم ماركوف تركيب شده اند. [۱]

الگوریتم[ویرایش]

در اينجا مدل مسئله تشكيل شده از يك ايجنت، وضعيت ها S و مجموعه از اقدامات A براي هر وضعيت.با انجام يك اقدام a \in A، ايجنت از يك وضعيت به وضعيت بعدي حركت كرده و هر وضعيت پاداشي به ايجنت مي دهد. هدف ايجنت حداكثر كردن پاداش دريافتي كل خود است. اين كار با يادگيري اقدام بهينه براي هر وضعيت انجام مي گردد. الگوريتم داراي تابعي است كه تركيب حالت/اقدام را محاسبه مي نمايد :

Q: S \times A \to \mathbb{R}

قبل از شروع يادگيري، Q مقدار ثابتي را كه توسط طراح انتخاب شده برمي گرداند. سپس هر بار كه به ايجنت پاداش داده مي شود، مقادير جديدي براي هر تركيب وضعيت/اقدام محاسبه مي گردد. هسته الگوريتم از يك بروز رساني تكراري ساده تشكيل شده است. به اين ترتيب كه بر اساس اطلاعات جديد مقادير قبلي اصلاح مي شود.

Q(s_t,a_t) \leftarrow \underbrace{Q(s_t,a_t)}_{\rm old~value} + \underbrace{\alpha_t(s_t,a_t)}_{\rm learning~rate} \times \left[ \overbrace{\underbrace{R(s_{t})}_{\rm reward} + \underbrace{\gamma}_{\rm discount~factor} \underbrace{\max_{a_{t+1}}Q(s_{t+1}, a_{t+1})}_{\rm max~future~value}}^{\rm learned~value} - \underbrace{Q(s_t,a_t)}_{\rm old~value}\right]

که R(s_{t}) پاداش s_{t} و \alpha_t(s, a) است. نرخ یادگیری (0 < \alpha \le 1) ممکن است برای همه زوج ها یکسان باشد. مقدار عامل تخفیف \gamma بگونه است که 0 \le \gamma < 1

فرمول فوق معادل عبارت زير است: Q(s_t,a_t) \leftarrow Q(s_t,a_t)(1-\alpha_t(s_t,a_t)) + \alpha_t(s_t,a_t) [R(s_{t}) + \gamma \max_{a_{t+1}}Q(s_{t+1}, a_{t+1})]

يك اپيزود الگوريتم وقتي s_{t+1} به وضعيت نهايي مي سد پايان مي يابد. توجه كنيد كه براي همه وضعيت هاي نهايي s_f و Q(s_f, a) مربوطه هيچگاه بروز نمي شود و مقدار اوليه خود را حفظ مي كند.

تاثیر متغیرها بر الگوریتم[ویرایش]

نرخ یادگیری[ویرایش]

این نرخ تعیین می کند که تا چه میزان اطلاعات بدست آمده جدید بر اطلاعات قدیمی ترجیح داده شود. مقدار صفر باعث می شود ایجنت چیزی یاد نگیرد و مقدار یک باعث می شود ایجنت فقط اطلاعات جدید را ملاک قرار دهد.

عامل تخفیف[ویرایش]

عامل تخفیف اهمیت پاداش های آینده را تعیین می کند. مقدار صفر باعث می شود ایجنت ماهیت فرصت طلبانه گرفته و فقط پاداش های فعلی را مد نظر قرار می دهد. در حالی که مقدار یک ایجنت را ترقیب می کند برای یک دوره زمانی طولانی برای پاداش تقلا کند. اگر این عامل، یک یا بیشتر از یک باشد مقادیر Q واگرا می شود.

پیاده سازی[ویرایش]

در ساده ترین شکل کیو-یادگیری از جداول برای ذخیره داده استفاده می شود. این روش با پیچیده شدن سیستم مورد نظر، به سرعت کارایی خود را از دست می دهد. یک راه حل استفاده از شبکه عصبی بعنوان تخمین گر تابع است. از این روش تسارو در بازی تخته نرد استفاده کرد.

مطالعات اولیه[ویرایش]

کیو-یادگیری اولین بار توسط واتکینز معرفی شد.[۲] in 1989. برهان همگرایی بعدا توسط واتکینز و دایان ارائه شد.[۳] in 1992.

مطالب مرتبط[ویرایش]

مراجع[ویرایش]

  1. Alexander L. Strehl, Lihong Li, Eric Wiewiora, John Langford, and Michael L. Littman. Pac model-free reinforcement learning. In Proc. 23nd ICML 2006, pages 881–888, 2006.
  2. Watkins, C.J.C.H., (1989), Learning from Delayed Rewards. Ph.D. thesis, Cambridge University.
  3. Watkins and Dayan, C.J.C.H., (1992), 'Q-learning.Machine Learning', ISBN : 8:279-292