کیو-یادگیری
کیو-یادگیری تکنیک یادگیری تقویتی است که با یادگیری یک تابع اقدام/مقدار، سیاست مشخصی را برای انجام حرکات مختلف در وضعیتهای مختلف دنبال میکند. یکی ازنقاط قوت این روش، توانایی یادگیری تابع مذکور بدون داشتن مدل معینی ازمحیط میباشد . اخیراً در این روش اصلاحی با نام کیو-یادگیری تاخیری انجام شده که بهبود قابل توجهی ایجاد نموده است. در روش اخیر یادگیری PAC با فرایندههای تصمیم مارکوف ترکیب شدهاند. کیو-یادگیری در تلاش است با توجه به شرایط فعلی، بهترین اقدامات را انجام دهد. این الگوریتم خارجاز خطمشی در نظر گرفته میشود. چراکه، تابع کیو-یادگیری از اقداماتی خارجاز خطمشی فعلی یاد میگیرد. بهطور کلی میتوان گفت که، کیو-یادگیری بهدنبال یادگیری خطمشی است تا مجموع پاداش را بیشینه کند.
الگوریتم
در اینجا مدل مسئله تشکیل شده از یک عامل، وضعیتها S و مجموعه از اقدامات A برای هر وضعیت.با انجام یک اقدام
قبل از شروع یادگیری، Q مقدار ثابتی را که توسط طراح انتخاب شده برمی گرداند. سپس هر بار که به عامل پاداش داده میشود، مقادیر جدیدی برای هر ترکیب وضعیت/اقدام محاسبه می گردد. هسته الگوریتم از یک بروز رسانی تکراری ساده تشکیل شدهاست. به این ترتیب که بر اساس اطلاعات جدید مقادیر قبلی اصلاح میشود.
که
فرمول فوق معادل عبارت زیر است:
یک اپیزود الگوریتم وقتی
تاثیر متغیرها بر الگوریتم
نرخ یادگیری
این نرخ تعیین میکند که تا چه میزان اطلاعات بدست آمده جدید بر اطلاعات قدیمی ترجیح داده شود. مقدار صفر باعث میشود عامل چیزی یاد نگیرد و مقدار یک باعث میشود عامل فقط اطلاعات جدید را ملاک قرار دهد.
عامل تخفیف
عامل تخفیف اهمیت پاداشهای آینده را تعیین میکند. مقدار صفر باعث میشود عامل ماهیت فرصت طلبانه گرفته و فقط پاداشهای فعلی را مد نظر قرار میدهد. در حالی که مقدار یک عامل را ترغیب میکند برای یک دوره زمانی طولانی برای پاداش تقلا کند. اگر این عامل، یک یا بیشتر از یک باشد مقادیر
شرایط اولیه (Q_0)
از آنجایی که یادگیری کیو یک الگوریتم تکرار شونده است، شرایط اولیه را بصورت شهودی فرض میکند و سپس بروزشدنها از آن آغاز میشود.شرایط اولیه خوشبینانه باعث میشود خیلی سریع ماتریس کیو به یک مقدار مشخص همگرا شود و در مقایسه با شرایط اولیه تصادفی، به نتایج بهتری در زمان آموزش مدل خواهد رسید ولی در هنگام کارکردن با آن در دادههای تست، این موضوع برقرار نیست.
کارایی عملی
در سادهترین شکل کیو-یادگیری از جداول برای ذخیره داده استفاده میشود. این روش با پیچیده شدن سیستم مورد نظر، به سرعت کارایی خود را از دست میدهد. یک راه حل استفاده از شبکه عصبی به عنوان تخمین گر تابع است. از این روش تسارو در بازی تخته نرد استفاده کرد.
تخمینگر تابع
گاهی اوقات که فضای حالت ما بزرگ میشود یا به سمت پیوسته میرود، دیگر بصرفه نیست از ماتریس کیو معمولی استفاده کنیم،زیرا که اردر محاسباتی و فضا،بالا خواهد رفت. در این زمانها ما از تخمین گر تابع استفاده میکنیم. یک راه برای تشکیل تخمین گر تابع،استفاده از شبکه عصبی مصنوعی است و راه دیگر،استفاده از قوانین فازی پراکنده خواهد بود.
هرچند ماتریس کیو گسسته،درک بیشتری برای انسان داشت،اما تخمینگر تابع سرعت پردازش را بهبود و اردر فضایی را کاهش میدهد زیرا در بعضی اوقات تجربیات قبلی را به تجربیات فعلی تعمیم میدهد.
گسسته سازی(Quantization)
یک روش دیگر برای کاهش فضای حالت/عمل گسسته سازی فضا است.برای مثال بازی تعادل چوپ روی انگشت را درنظر بگیرید.در این بازی ما یک حالت را به وسیله ی موقعیت انگشت در فضا بر روی چوب،سرعت، زاویه چوب و سرعت زاویه ای مشخص می کنند.اما مشکل در این است که ممکن است بینهایت حالت وجود داشته باشد.مثلا موقعیت انگشت در فضا بر روی چوب، از نقطه ی شروع خود می تواند بینهایت فاصله ممکن داشته باشد.ما به وسیله گسسته سازی می توانیم حالت های نزدیک به هم را در یک دسته قرار دهیم و فضای حالت را محدود تر کنیم.
تاریخچه
کیو-یادگیری اولین بار توسط واتکینز معرفی شد. in 1989. برهان همگرایی بعداً توسط واتکینز و دایان ارائه شد. in 1992.
واتکینز اولین بار در مقاله ای با عنوان "یادگیری از پاداش تاخیری" در رساله ی دکترایش به این موضوع اشاره کرد.هشت سال زودتر در سال 1981 مسئله ای با عنوان "یادگیری تقویتی تاخیری" توسط بولونسزکی حل شد.
درسال2014 تیم گوگل دیپ مایند یادگیری کیو را با یادگیری عمیق ترکیب کرد و با نام "یادگیری عمیق کیو" منتشر کرد که می توانست بازی آتاری3600 را در سطح انسان بازی کند.
مشتقات
یادگیری عمیق کیو
در یادگیری کیو معمولی، فقط اعداد داخل ماتریس اهمیت دارند زیرا فضای حالت محیط مارا مشخص می کنند،اما با بزرگتر شدن محیط مسئله، این نوع یادگیری کاربرد خود را از دست می دهد و نمی تواند در زمان معقول به جواب برسد.اینجا زمانی بود که تیم گوگل دیپ مایند ،یادگیری عمیق کیو را وارد میدان کرد.در این الگوریتم بجای ماترس کیو اولیه ، ما از یک شبکه عصبی استفاده می کنیم و هر اکشن را با توجه به خروجی شبکه عصبی پیشبینی می کنیم.این روش بر این قاعده توجیه می شود که مقادیر داخل ماتریس کیو،فقط اهمیت نسبی دارند و هرکدام جدا جدا تاثیر خاصی در مسئله ندارند.
یادگیری دوگانه کیو
همانطور که دیدیم،یادگیری کیو معمولی بر اساس تخمین پاداش در آینده عمل می کرد و اکشن مناسب را انتخاب می کرد.اما گاهی اوقات و بخصوص در مسائل نویزی، یادگیری کیو معمولی به سختی به جواب بهینه،همگرا می شوند و ممکن است در داخل یک حلقه تکرار شونده تا بی نهایت پیش روند و خیلی کند یا حتی هرگز به جواب بهینه برسند.در اینجا یادگیری کیو دوگانه این مشکل را حل می کند.
این روش، دو ماتریس کیو دارد که هردو بوسیله ی تجربیات مجزا و مستقل از یکدیگر آموزش دیده اند:
در هنگام اتخاذ تصمیم برا اساس ماتریس کیو،اگر یکی از این دو ماتریس به وسیله ی نویزها دچار مشکل شود،ماتریس دیگر این مشکل را حل می کند و الگوریتم به سمت همگرا شدن پیش خواهد رفت.
در سال 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
منابع
- ↑ 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.
- ↑ میلاد وزان، یادگیری عمیق: اصول، مفاهیم و رویکردها، میعاد اندیشه، 1399
- ↑ 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.
- ↑ Watkins, C.J.C.H., (1989), Learning from Delayed Rewards. Ph.D. thesis, Cambridge University.
- ↑ Watkins and Dayan, C.J.C.H., (1992), 'Q-learning.Machine Learning',
- ↑ https://books.google.com/books?id=clKwynlfZYkC&pg=PA320-325
- ↑ https://books.google.com/books?id=mGtQAAAAMAAJ&pg=PA397
- ↑ https://patentimages.storage.googleapis.com/71/91/4a/c5cf4ffa56f705/US20150100530A1.pdf
- ↑ «Deep Q-Learning». GeeksforGeeks (به انگلیسی). ۲۰۱۹-۰۶-۱۳. دریافتشده در ۲۰۲۳-۰۱-۰۶.
- ↑ Hasselt, Hado (2010). "Double Q-learning". Advances in Neural Information Processing Systems. Curran Associates, Inc. 23.
- ↑ https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/download/12389/11847