کیو-یادگیری

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

کیو-یادگیری تکنیک یادگیری تقویتی است که با یادگیری یک تابع اقدام/مقدار، سیاست مشخصی را برای انجام حرکات مختلف در وضعیت های مختلف دنبال می کند. یکی ازنقاط قوت این روش، توانایی یادگیری تابع مذکور بدون داشتن مدل معینی ازمحیط می باشد. اخیراً در این روش اصلاحی با نام کیو-یادگیری تاخیری انجام شده که بهبود قابل توجهی ایجاد نموده است. در روش اخیر یادگیری 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