اعمال (Actions)
ربات ما تنها دو عمل را روی محیط اجرا می کند:
- a1: شوت کردن مستقیم توپ به سمت دروازه
- a2: پاس دادن توپ به رباتی که موقعیت مناسبی برای شوت زدن دارد
A = {پاس دادن, شوت کردن}
در ادامه ربات باید یاد بگیرد که کدام از یک از دو عمل بالا با توجه به شرایط بازی بهینه تر است و در نهایت سبب می شود که توپ در دروازه ی حریف جای گیرد.
پاداش و تنبیه (Reward and Punishment)
پاداش و تنبیه پس خوری (Feedback) است که عامل از محیط می گیرد و درواقع واکنش محیط نسبت به کنش ربات روی آن است. این پس خور برای ربات ما به شکل زیر خواهد بود:
- زمانی که ربات توپ را به گل تبدیل کند و یا پاس منجر به گل بدهد، 50 امتیاز به عنوان پاداش دریافت می کند.
- زمانی که ربات نتواند توپ را به گل تبدیل کند و توپ به خارج از زمین رود، ربات هیچ امتیازی دریافت نمی کند.
- زمانی که توپ تبدیل به گل نشود و برای حریف امکان ضدحمله را فراهم کند، ربات با 50 امتیاز منفی تنبیه می شود.
ما می توانیم پس خور های بیش تری را در محیط در نظر بگیریم و برای آن ها امتیاز تعیین کنیم. فرضا" اگر ربات ما یکی از یاران حریف را مصدوم کند، با 10 امتیاز منفی جریمه خواهد شد. تنها باید توجه داشته باشیم که پاداش ها و تنبیه ها در راستای هدف و متناسب با آن تعیین شوند. اگر در بازی شطرنج برای هر مهره ی حریفی که عامل ما از بازی خارج می کند امتیاز زیادی در نظر بگیریم، هدف عامل به جای بردن بازی به خارج کردن مهره های حریف معطوف خواهد شد در حالی که می دانیم در شطرنج برنده شدن معنای دیگری دارد.
تابع کیفیت (Quality Function)
تابع کیفیت نشان دهنده ی میزان بهینگی یک عمل در یک حالت نسبت به سایر اعمال در سایر حالات است. در نتیجه این تابع هم به حالت وابسته است و هم به عمل Q(s, a). به عنوان مثال Q(s1, a2) میزان بهینگی عمل a2 را در حالت s1 بیان می کند. تابع کیفیت به ما کمک می کند که در حالت فعلی عمل بهینه تر را انتخاب کنیم. در طول فرآیند یادگیری، اعمال بهینه تر کیفیت بالا تری نسبت به سایر اعمال پیدا خواهند کرد که در ادامه با نحوه ی این کار آشنا می شویم.
سیاست های انتخاب عمل (Action Selection Policies)
مسلما ما تمایل داریم سیاستی داشته باشیم که اعمال بهینه تر (با توجه به مقدار تابع کیفیت) همواره روی میحط اجرا شوند. چنین سیاستی را استعمارگرانه (Exploiting) گویند. اما در شروع فرآیند یادگیری که مقدار تابع کیفیت هنوز به مقدار بهینه اش نرسیده است، اخذ چنین سیاستی مشکل ساز خواهد بود. زیرا ممکن است عمل بهینه ی نهایی ما در ابتدای یادگیری کیفیت کمی داشته باشد که طبق سیاست استعمارگرانه شانس زیادی برای انتخاب شدن ندارد. همین امر سبب می شود این عمل بهینه منزوی بماند و تا آخر فرآیند یادگیری کشف نشود. در نتیجه در ابتدای یادگیری باید سیاست کاوشگرانه (Exploring) داشته باشیم که در آن تمام اعمال با هر کیفیتی به یک اندازه شانس انتخاب شدن دارند. سیاست کاوشگرانه تا آن جا ادامه می یابد که تشخیص دهیم تابع کیفیت به مقدار بهینه ی خود نزدیک شده است و اعمال بهینه کشف گردیده اند. از آن پس می توانیم سیاست استعمارگرانه را پیش گیریم. الگوریتم های متداول انتخاب عمل عبارت اند از:
- ε-greedy
- ε-soft
- softmax
که در ادامه تنها به معرفی الگوریتم ε-greedy می پردازیم.
الگوریتم ε-greedy
در این الگوریتم یک عدد کوچک ε بین صفر و یک تعیین می شود که میزان احتمال انتخاب شدن یک عمل به شکل تصادفی را بیان می کند. فرضا" اگر مقدار ε را برابر 0.2 در نظر بگیریم، 0.2 احتمال دارد که عمل به شکل تصادفی انتخاب شود و 0.8 احتمال دارد که عملی انتخاب شود که بیش ترین کیفیت را نسبت با سایر اعمال دارد. همچنین می توان ε را به شکل پویا تغییر داد. بدین شکل که در شروع یادگیری مقدار آن زیاد باشد که سبب می شود احتمال انتخاب تصادفی نیز زیاد باشد و با جلو رفتن یادگیری مقدار آن کاهش یابد که باعث می شود احتمال انتخاب براساس کیفیت افزایش یابد.
الگوریتم های یادگیری Temporal Difference (TD-Learning Algorithms)
حال وقت آن است که با نحوه ی نزدیک کردن تابع کیفیت به مقدار بهینه اش که اساس یادگیری ما را شکل می دهد آشنا شویم. برای این کار از الگوریتم های یادگیری Temporal Difference استفاده می کنیم که طبق اختلاف بین پس خور و تابع ارزش (Value Function)، اعمال بهینه را در حالات مختلف حین یادگیری کشف می کنند. دو روش متداول جهت پیاده سازی این الگوریتم وجود دارد:
- الگوریتم Q-Learning
- الگوریتم SARSA
الگوریتم Q-Learning غالبا" تصمیم گیری بهینه تری نسبت به SARSA دارد در حالی که الگوریتم SARSA از تصمیم گیری پایدار تری برخواردار است و می تواند پاداش بیش تری را نیز کسب کند.






پاسخ با نقل قول
Bookmarks