حساب کاربری
​
زمان تقریبی مطالعه: 8 دقیقه
لینک کوتاه

کیو-یادگیری

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

تکنبک یادگیری تقویتی کیو_یادگیری به روس ریاضیاتی

فهرست

  • ۱ الگوریتم
  • ۲ تاثیر متغیرها بر الگوریتم
    • ۲.۱ نرخ یادگیری
    • ۲.۲ عامل تخفیف
    • ۲.۳ شرایط اولیه (Q_0)
  • ۳ کارایی عملی
    • ۳.۱ تخمین‎گر تابع
    • ۳.۲ گسسته سازی(Quantization)
  • ۴ تاریخچه
  • ۵ مشتقات
    • ۵.۱ یادگیری عمیق کیو
    • ۵.۲ یادگیری دوگانه کیو
  • ۶ پیوند به بیرون
  • ۷ منابع

الگوریتم

در اینجا مدل مسئله تشکیل شده از یک عامل، وضعیت‌ها S و مجموعه از اقدامات A برای هر وضعیت.با انجام یک اقدام a ∈ A

، عامل از یک وضعیت به وضعیت بعدی حرکت کرده و هر وضعیت پاداشی به عامل می‌دهد. هدف عامل حداکثر کردن پاداش دریافتی کل خود است. این کار با یادگیری اقدام بهینه برای هر وضعیت انجام می گردد. الگوریتم دارای تابعی است که ترکیب حالت/اقدام را محاسبه می نماید :

Q : S × A → R

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

Q ( s t , a t ) ← Q ( s t , a t ) ⏟ o l d   v a l u e + α t ( s t , a t ) ⏟ l e a r n i n g   r a t e × [ R ( s t ) ⏟ r e w a r d + γ ⏟ d i s c o u n t   f a c t o r max a t + 1 Q ( s t + 1 , a t + 1 ) ⏟ m a x   f u t u r e   v a l u e ⏞ l e a r n e d   v a l u e − Q ( s t , a t ) ⏟ o l d   v a l u e ]

که R ( s t )

پاداش s t
و α t ( s , a )
است. نرخ یادگیری ( 0 < α ≤ 1
) ممکن است برای همه زوج‌ها یکسان باشد. مقدار عامل تخفیف γ
بگونه است که 0 ≤ γ < 1

فرمول فوق معادل عبارت زیر است: Q ( s t , a t ) ← Q ( s t , a t ) ( 1 − α t ( s t , a t ) ) + α t ( s t , a t ) [ R ( s t ) + γ max a t + 1 Q ( s t + 1 , a t + 1 ) ]

یک اپیزود الگوریتم وقتی s t + 1

به وضعیت نهایی می سد پایان می یابد. توجه کنید که برای همه وضعیت‌های نهایی s f
و Q ( s f , a )
مربوطه هیچگاه بروز نمی‌شود و مقدار اولیه خود را حفظ می‌کند.

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

نرخ یادگیری

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

عامل تخفیف

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

واگرا می‌شود.

شرایط اولیه (Q_0)

از آنجایی که یادگیری کیو یک الگوریتم تکرار شونده است، شرایط اولیه را بصورت شهودی فرض می‎کند و سپس بروزشدن‎ها از آن آغاز می‎شود.شرایط اولیه خوشبینانه باعث می‎شود خیلی سریع ماتریس کیو به یک مقدار مشخص همگرا شود و در مقایسه با شرایط اولیه تصادفی، به نتایج بهتری در زمان آموزش مدل خواهد رسید ولی در هنگام کارکردن با آن در داده‎های تست، این موضوع برقرار نیست.

کارایی عملی

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

تخمین‎گر تابع

گاهی اوقات که فضای حالت ما بزرگ می‎شود یا به سمت پیوسته می‎رود، دیگر بصرفه نیست از ماتریس کیو معمولی استفاده کنیم،زیرا که اردر محاسباتی و فضا،بالا خواهد رفت. در این زمان‎ها ما از تخمین گر تابع استفاده می‎کنیم. یک راه برای تشکیل تخمین گر تابع،استفاده از شبکه عصبی مصنوعی است و راه دیگر،استفاده از قوانین فازی پراکنده خواهد بود.

هرچند ماتریس کیو گسسته،درک بیشتری برای انسان داشت،اما تخمینگر تابع سرعت پردازش را بهبود و اردر فضایی را کاهش می‎دهد زیرا در بعضی اوقات تجربیات قبلی را به تجربیات فعلی تعمیم می‎دهد.

گسسته سازی(Quantization)

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

تاریخچه

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

واتکینز اولین بار در مقاله ای با عنوان "یادگیری از پاداش تاخیری" در رساله ی دکترایش به این موضوع اشاره کرد.هشت سال زودتر در سال 1981 مسئله ای با عنوان "یادگیری تقویتی تاخیری" توسط بولونسزکی حل شد.

درسال2014 تیم گوگل دیپ مایند یادگیری کیو را با یادگیری عمیق ترکیب کرد و با نام "یادگیری عمیق کیو" منتشر کرد که می توانست بازی آتاری3600 را در سطح انسان بازی کند.

مشتقات

یادگیری عمیق کیو

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

یادگیری دوگانه کیو

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

این روش، دو ماتریس کیو دارد که هردو بوسیله ی تجربیات مجزا و مستقل از یکدیگر آموزش دیده اند:

Q t + 1 A ( s t , a t ) = Q t A ( s t , a t ) + α t ( s t , a t ) ( r t + γ Q t B ( s t + 1 , a r g   m a x a ⁡ Q t A ( s t + 1 , a ) ) − Q t A ( s t , a t ) )

و

Q t + 1 B ( s t , a t ) = Q t B ( s t , a t ) + α t ( s t , a t ) ( r t + γ Q t A ( s t + 1 , a r g   m a x a ⁡ Q t B ( s t + 1 , a ) ) − Q t B ( s t , a t ) ) .

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

در سال 2015 نیز روش یادگیری دوگانه کیو با یادگیری عمیق کیو ترکیب شد و روشی جدید به نام یادگیری عمیق دوگانه کیو را بوجود آورد که برآیند دو روش ذکر شده در بالا هستند.

پیوند به بیرون

  • Q-Learning topic on Knol
  • Watkins, C.J.C.H. (1989). Learning from Delayed Rewards. PhD thesis, Cambridge University, Cambridge, England.
  • Strehl, Li, Wiewiora, Langford, Littman (2006). PAC model-free reinforcement learning
  • Q-Learning by Examples
  • Reinforcement Learning: An Introduction by Richard Sutton and Andrew S. Barto, an online textbook. See "6.5 Q-Learning: Off-Policy TD Control".
  • Connectionist Q-learning Java Framework
  • Piqle: a Generic Java Platform for Reinforcement Learning
  • Reinforcement Learning Maze, a demonstration of guiding an ant through a maze using Q-learning.
  • Q-learning work by Gerald Tesauro
  • Q-learning work by Tesauro Citeseer Link
  • Q-learning algorithm implemented in processing.org language
  • Example java applet for pole balancing in 2D with source code

منابع

  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. ↑ میلاد وزان، یادگیری عمیق: اصول، مفاهیم و رویکردها، میعاد اندیشه، 1399
  3. ↑ Shteingart, Hanan; Neiman, Tal; Loewenstein, Yonatan (2013). "The role of first impression in operant learning". Journal of Experimental Psychology: General (به انگلیسی). 142 (2): 476–488. doi:10.1037/a0029550. ISSN 1939-2222.
  4. ↑ Watkins, C.J.C.H., (1989), Learning from Delayed Rewards. Ph.D. thesis, Cambridge University.
  5. ↑ Watkins and Dayan, C.J.C.H., (1992), 'Q-learning.Machine Learning',
  6. ↑ https://books.google.com/books?id=clKwynlfZYkC&pg=PA320-325
  7. ↑ https://books.google.com/books?id=mGtQAAAAMAAJ&pg=PA397
  8. ↑ https://patentimages.storage.googleapis.com/71/91/4a/c5cf4ffa56f705/US20150100530A1.pdf
  9. ↑ «Deep Q-Learning». GeeksforGeeks (به انگلیسی). ۲۰۱۹-۰۶-۱۳. دریافت‌شده در ۲۰۲۳-۰۱-۰۶.
  10. ↑ Hasselt, Hado (2010). "Double Q-learning". Advances in Neural Information Processing Systems. Curran Associates, Inc. 23.
  11. ↑ https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/download/12389/11847
آخرین نظرات
  • زاویه
  • صفر
  • تخته نرد
  • تخته نرد
  • صفر
  • سرعت
  • زاویه
کلیه حقوق این تارنما متعلق به فرا دانشنامه ویکی بین است.