یادگیری تقویتی Instructor : Saeed Shiry & Mitchell Ch. 13 یادگیری تقویتی  2 در یک مسئله یادگیری تقویتی با عاملی روبرو هستیم که از طریق سعی.

Download Report

Transcript یادگیری تقویتی Instructor : Saeed Shiry & Mitchell Ch. 13 یادگیری تقویتی  2 در یک مسئله یادگیری تقویتی با عاملی روبرو هستیم که از طریق سعی.

‫یادگیری تقویتی‬
Instructor : Saeed Shiry
&
Mitchell Ch. 13
1
‫یادگیری تقویتی‬
‫‪‬‬
‫‪2‬‬
‫در یک مسئله یادگیری تقویتی با عاملی روبرو هستیم که از‬
‫طریق سعی و خطا با محیط تعامل کرده و یاد میگیرد تا عملی‬
‫بهینه را برای رسیدن به هدف انتخاب نماید‪.‬‬
‫یادگیری تقویتی‬
‫‪‬‬
‫‪‬‬
‫یادگیری تقویتی از اینرو مورد توجه است که راهی برای‬
‫آموزش عاملها برای انجام یک عمل از طریق دادن پاداش‬
‫و تنبیه است بدون اینکه الزم باشد نحوه انجام عمل را برای‬
‫عامل مشخص نمائیم‪.‬‬
‫دو استراتژی اصلی برای اینکار وجود دارد‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪3‬‬
‫یکی استفاده از الگوریتم های ژنتیکی است که در آن در فضای رفتارها‬
‫عملی جستجو میگردد که در محیط بتواند هدف مورد نظر را بر آورده‬
‫نماید‪.‬‬
‫و دیگری استفاده از روشهای آماری و ‪dynamic‬‬
‫‪programming‬‬
‫در این درس روش دوم مد نظر است‪.‬‬
‫مقایسه ‪ RL‬با یادگیری با ناظر‬
‫‪‬‬
‫یادگیری تقویتی از دو جنبه با یادگیری با ناظر تفاوت دارد‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪4‬‬
‫مثالهائی یادگیری بصورت زوج> ورودی‪ /‬خروجی <مطرح‬
‫نمیشوند ‪.‬بلکه بعد از اینکه عامل عملی را انجام داد پاداشی را‬
‫دریافت میکند و به مرحله بعدی میرود‪.‬عامل هیچ گونه اطالعی در‬
‫مورد اینکه در هر حالت بهترین عمل چیست را ندارد ‪.‬بلکه این‬
‫وظیفه عامل است که در طول زمان تجربه کافی در مورد حالتها‪،‬‬
‫عمل های ممکن‪ ،‬انتقال و پاداش جمع آوری نموده و عملکرد بهینه‬
‫را یاد بگیرد‪.‬‬
‫تفاوت دیگر در اینجاست که سیستم باید کارائی آنالین باالئی داشته‬
‫باشد ‪.‬زیرا اغلب ارزیابی سیستم با عمل یادگیری بطور همزمان‬
‫صورت می پذیرد‪.‬‬
‫ با یادگیری با ناظر‬RL ‫مقایسه‬
Supervised Learning:
Example
Class
Reinforcement Learning:
…
Situation Reward
Situation Reward
5
‫یادگیری با ناظر‬
Training Info = desired (target) outputs
Inputs
Supervised Learning
System
Outputs
Error = (target output – actual output)
6
‫یادگیری تقویتی‬
‫)”‪Training Info = evaluations (“rewards” / “penalties‬‬
‫)”‪Outputs (“actions‬‬
‫‪RL‬‬
‫‪System‬‬
‫هدف‪ :‬جمع کردن حداکثر پاداش ممکن‬
‫•هیچگونه اطالعات مربوط به گرادیان خطا موجود نیست‪.‬‬
‫•حالت بعدی از روی عمل فعلی تعیین میشود‪.‬‬
‫•یادگیری مبتنی بر سعی و خطاست‪.‬‬
‫‪7‬‬
‫‪Inputs‬‬
‫مشخصه های اصلی یادگیری تقویتی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫به یادگیر گفته نمی شود که چه عملی را باید انجام دهد‬
‫جستجو بر اساس سعی و خطا انجام میشود‪ .‬یادگیر سعی میکند‬
‫اعمالی را یادبگیرد که بیشترین پاداش را تولید میکنند‪.‬‬
‫پاداش از نوع تاخیری است‪ :‬از اینرو دست آوردهای کوتاه‬
‫مدت فدای مزایای بلند مدت تر میشوند‪.‬‬
‫باید بین کاوش موارد جدید و استفاده از دانش قبلی تناسب ایجاد‬
‫نمود‪explore or exploit .‬‬
‫مسئله را بصورت یک عامل هدفمند که با یک محیط نامعین در‬
‫ارتباط است می بیند‪.‬‬
‫ساختار کلی مسئله یادگیری تقویتی‬
‫در یک مسئله ‪ RL‬استاندارد با اجزای اصلی زیر روبرو‬
‫هستیم‪:‬‬
‫عامل‬
‫‪‬‬
‫‪‬‬
‫که قرار است یادگیری را از طریق تعامل با محیط انجام دهد‪ .‬برای‬
‫اینکار باید‬
‫‪ ‬اعمالی که عامل میتواند در محیط انجام دهد مشخص باشند‪.‬‬
‫‪ ‬محیط‬
‫برای محیط باید مشخصه های زیر تعیین شوند‪:‬‬
‫‪‬‬
‫‪‬‬
‫وضعیت‬
‫پاداش‬
‫عامل میتواند از طریق ورودیهایش تشخیص دهد که در چه‬
‫وضعیتی قرار دارد‪ .‬عامل در وضعیت ‪ St‬عمل ‪ at‬را‬
‫انجام میدهد‪ .‬اینکار باعث میشود وضعیت محیط به ‪St+1‬‬
‫تغییر نماید‪ .‬در اثر این تغییر وضعیت عامل سیگنال‬
‫‪ reinforcement‬و یا پاداش ‪ rt+1‬را از محیط دریافت‬
‫می نماید‪.‬‬
‫عمل یادگیری عبارت است ازیاد گرفتن یک سیاست که در واقع‬
‫نگاشتی از وضعیت به عمل است به نحوی که استفاده از‬
‫این سیاست برای انتخاب اعمال منجر به دریافت پاداش‬
‫حداکثر از محیط گردد‪.‬‬
‫‪9‬‬
‫}‪ t (s, a)  Pr{at  a | st  s‬‬
‫سیاست‬
‫محیط‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪10‬‬
‫در‪ RL‬عامل یادگیر بطور سعی و خطا با یک محیط پویا درگیر شده و‬
‫یاد می گیرد که برای هر موقعیت چه عملی را انجام دهد‪.‬‬
‫این محیط باید قابل مشاهده ویا حداقل تا قسمتی قابل مشاهده برای عامل‬
‫باشد )‪. (partially observable‬‬
‫مشاهده محیط ممکن است از طریق خواندن اطالعات یک سنسور‪،‬‬
‫توضیح سمبلیک و غیره باشد‪.‬‬
‫در حالت ایده ال عامل باید بطور کامل قادر به مشاهده محیط باشد زیرا‬
‫اغلب تئوریهای مربوطه بر اساس این فرض بنا شده اند‪.‬‬
‫محیط‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫محیط مجموعه ای از ‪ S‬حالت ممکن است‪.‬‬
‫در هر لحظه ‪ t‬عامل میتواند یکی از ‪ A‬عمل ممکن را انجام دهد‪.‬‬
‫عامل ممکن است در مقابل عمل و یا مجموعه ای از اعمالی که انجام میدهد پاداش‬
‫‪r‬را دریافت کند ‪.‬این پاداش ممکن است مثبت و یا منفی) تنبیه(باشد‪.‬‬
‫‪‬‬
‫‪‬‬
‫در حالت کلی محیط میتواند غیر قطعی )‪ (non deterministic‬باشد‪ .‬یعنی انجام یک عمل‬
‫مشابه در یک وضعیت یکسان به وضعیت بعدی یکسان و یا مقدار پاداش یکسانی منجر نشود‪.‬‬
‫با این وجود محیط بصورت ‪ stationary‬فرض میشود‪ .‬یعنی احتمال تغییر وضعیت و یا‬
‫دریافت پاداش در طول زمان یکسان فرض میشود‪.‬‬
‫‪+3‬‬
‫‪+50‬‬
‫‪-1 -1‬‬
‫‪11‬‬
‫…‬
‫‪r9‬‬
‫… ‪r4 r5‬‬
‫‪s9‬‬
‫‪a9‬‬
‫… ‪s1 s2 s3 s4 s5‬‬
‫… ‪a1 a2 a3 a4 a5‬‬
‫‪r1‬‬
‫رفتار عامل‬
‫‪‬‬
‫‪‬‬
‫عامل در محیط حرکت کرده و حالتها و پاداشهای مربوطه را به خاطر‬
‫می سپارد‪.‬‬
‫عامل سعی میکند طوری رفتار کند که تابع پاداش را ماکزیمم نماید‪.‬‬
‫‪+3‬‬
‫‪+50‬‬
‫‪-1 -1‬‬
‫‪12‬‬
‫…‬
‫‪r9‬‬
‫… ‪r4 r5‬‬
‫‪s9‬‬
‫‪a9‬‬
‫… ‪s1 s2 s3 s4 s5‬‬
‫… ‪a1 a2 a3 a4 a5‬‬
‫‪r1‬‬
‫‪The Reinforcement Function‬‬
‫‪‬‬
‫‪‬‬
‫‪13‬‬
‫در‪ RL‬وقتی عامل در یک حالت خاص عملی را انجام‬
‫میدهد‪ ،‬در مقابل پاداش )‪(reward or reinforcement‬‬
‫دریافت میکند‪ .‬در این سیستم عامل وظیفه دارد تا پاداش‬
‫دریافتی در دراز مدت را حداکثر نماید‪.‬‬
‫یکی از نکات طراحی یک سیستم ‪ RL‬تعریف یک‬
‫‪reinforcement function‬مناسب با اهداف عامل است ‪.‬‬
‫اینکار به طرق مختلف انجام میشود‪.‬‬
‫پاداش‬
‫‪‬‬
‫اگر دنباله ای از پاداش ها بصورت زیر موجود باشند‪:‬‬
‫‪rt 1 , rt 2 , rt 3...‬‬
‫‪‬‬
‫‪‬‬
‫عامل باید سعی نماید تا پاداشی را که از محیط دریافت میکند حد اکثر‬
‫نماید‪ .‬در واقع امید ریاضی پاداش را به حداکثر میرساند‪.‬‬
‫} ‪E{rt‬‬
‫در بسیاری از مسایل تعامل با محیط بصورت اپیزودی انجام میشود‪.‬‬
‫مثال روباتی که قرار است خروج از اتاق را یاد بگیرد به محض خارج‬
‫شدن از اتاق یک اپیزود یادگیری خاتمه می یابد‪ .‬لذا کل پاداشی که با‬
‫شروع از یک حالت ‪ St‬و رسیدن به حالت نهائی ) خاتمه اپیزود‬
‫یادگیری( ‪ ST‬بدست می آید برابر است با‪:‬‬
‫‪Rt r t 1rt 2  ... rT‬‬
‫در نظر گرفتن پاداشهای آینده‬
‫‪‬‬
‫اگر پاداش ‪ Rt‬مجموع پاداشی باشد که عامل با شروع از زمان ‪t‬‬
‫میتواند جمع کند به طرق مختلف میتوان این پاداش را محاسبه نمود‪.‬‬
‫یک راه بصورت زیر است که در آن به پاداشهای نزدیکتر ارزش‬
‫بیشتری داده میشود‪.‬‬
‫‪0   1‬‬
‫‪t  k 1‬‬
‫‪r‬‬
‫‪k‬‬
‫‪‬‬
‫‪ ...  ‬‬
‫‪k 0‬‬
‫‪t 3‬‬
‫‪r‬‬
‫‪2‬‬
‫‪‬‬
‫‪t 2‬‬
‫‪r‬‬
‫‪‬‬
‫‪t 1‬‬
‫‪R r‬‬
‫‪t‬‬
‫‪+3‬‬
‫‪+50‬‬
‫‪-1 -1‬‬
‫‪r9‬‬
‫‪15‬‬
‫‪r4 r5‬‬
‫‪ 3  ...   1   1  ...   50‬‬
‫‪8‬‬
‫‪r1‬‬
‫‪4‬‬
‫‪1‬‬
‫‪R‬‬
‫‪9‬‬
‫مدلهای عملکرد بهینه‬
‫‪ ‬یکی از نکات مهم در انتخاب عمل نحوه لحاظ کردن رخداد های آینده در تصمیم فعلی‬
‫عامل است‪ .‬برای اینکه یک عامل بتواند تاثیر رخدادهای آینده در انتخاب عمل مناسب‬
‫برای حالت فعلی را در نظر بگیرد مدلهای مختلفی پیشنهاد شده است‪:‬‬
‫‪finite horizon ‬‬
‫ساده ترین مدل این است که عامل برای انتخاب عمل مقادیر پاداشی را که در ‪ h‬مرحله بعد‬
‫میگیرد محاسبه نموده و عملی را انتخاب نماید که مجموع پاداش را حداکثر نماید‪.‬‬
‫‪h‬‬
‫‪t k‬‬
‫‪V (S )   r‬‬
‫‪‬‬
‫‪t‬‬
‫‪k 0‬‬
‫‪(discounted cumulative reward) infinite horizon ‬‬
‫در این روش بجای ‪ h‬مرحله‪ ،‬پاداش درازمدت دریافتی در نظر گرفته میشود‪ .‬این روش‬
‫بسیار مرسوم بوده و به پاداشهائی که در آینده گرفته خواهد شد ارزش کمتری نسبت‬
‫به پاداشهای فوری داده میشود‪.‬‬
‫‪0   1‬‬
‫‪16‬‬
‫‪t k‬‬
‫‪r‬‬
‫‪k‬‬
‫‪‬‬
‫‪ ...  ‬‬
‫‪k 0‬‬
‫‪t 2‬‬
‫‪r‬‬
‫‪2‬‬
‫‪‬‬
‫‪V (S )  r   r‬‬
‫‪‬‬
‫‪t 1‬‬
‫‪t‬‬
‫‪t‬‬
‫مدلهای عملکرد بهینه‬
‫‪average reward ‬‬
‫در این روش فرقی بین پاداشهای نزدیک و دور در نظر گرفته نمیشود‪.‬‬
‫‪1 h‬‬
‫‪( S t )  lim h  r t  k‬‬
‫‪h k 0‬‬
‫‪17‬‬
‫‪‬‬
‫‪V‬‬
‫خط مشی یا سیاست‬
‫‪‬‬
‫‪‬‬
‫فرض می کنیم که اعمال عامل از قانونی مثل ‪ ‬تبعیت میکند‬
‫که آنرا خط مشی و یا ‪ policy‬می نامیم‪.‬‬
‫از آنجائیکه ‪ Rt‬یک متغیر تصادفی است لذا امید ریاضی آن‬
‫تحت یک خط مشی خاص و برای یک حالت معین برابر‬
‫خواهد بود با‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪k‬‬
‫‪‬‬
‫‪‬‬
‫‪E‬‬
‫{‬
‫|‬
‫‪,‬‬
‫‪‬‬
‫}‬
‫‪‬‬
‫‪E‬‬
‫‪‬‬
‫‪‬‬
‫‪r t  k 1|S t , ‬‬
‫‪V S t ‬‬
‫‪R S‬‬
‫‪‬‬
‫‪k 0‬‬
‫‪18‬‬
‫‪t‬‬
‫‪t‬‬
‫هدف یادگیری تقویتی این است که یک خط مشی بهینه ای مثل‬
‫*‪‬پیدا نماید به نحویکه مقدار امید ریاضی فوق را برای تمامی‬
‫حاالت ماکزیمم کند‪.‬‬
‫یادگیری خط مشی یا سیاست‬
‫‪‬‬
‫در واقع ‪ RL‬سعی دارد عامل را وادار کند در اثر تجربه با‬
‫محیط سیاست خود را تغییر داده و طوری رفتار نماید که در‬
‫دراز مدت پاداش بیشتری کسب نماید‪.‬‬
‫الگوریتم کلی یادگیری تقویتی‬
i.
ii.
Initialise learner’s internal state
Do forever (!?):
a. Observe current state s
b. Choose action a using some evaluation
function
c. Execute action a
d. Let r be immediate reward, s’ new state
e. Update internal state based on s,a,r,s’
‫مثال‬
‫هدف‪ :‬پرهیز از افتادن‬
‫افتادن یعنی‪:‬‬
‫افزایش زاویه میله از یک حد مشخص‬
‫برخورد میله با زمین‬
‫یک اپیزود یادگیری با افتادن میله خاتمه یافته و باید اپیزود بعدی را شروع نمود‪.‬‬
‫‪reward = +1 for each step before failure‬‬
‫‪-> return = number of steps before failure‬‬
‫برخی کاربردهای برتر یادگیری تقویتی‬

TD-Gammon and Jellyfish


Crites & Barto
(Probably) world's best down-peak elevator controller
Job-Shop Scheduling


World's best backgammon player
Elevator Control


Tesauro, Dahl
Zhang & Dietterich
World’s best scheduler of space-shuttle payload processing
Dynamic Channel Assignment
Singh & Bertsekas, Nie
& Haykin

World's best assigner of radio channels to mobile telephone
calls
22
‫فرق پاداش و هدف‬
‫‪‬‬
‫آیا یک سیگنال عددی میتواند نشاندهنده دقیقی از یک هدف‬
‫باشد؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪23‬‬
‫ممکن است نباشد! اما در عمل بطرز شگفت آوری خوب عمل کرده‬
‫است‪.‬‬
‫هدف باید خارج از کنترل عامل باشد‪.‬‬
‫هدف باید آنچه که میخواهیم به آن برسیم را مشخص نماید و‬
‫اطالعاتی در مورد نحوه رسیدن به آن را نداشته باشد‪.‬‬
‫عامل باید قادر به اندازه گیری میزان موفقیت خود باشد‪.‬‬
‫‪Dynamic Programming‬‬
‫‪‬‬
‫‪24‬‬
‫یادگیری تقویتی با ترکیب تکنیک ‪Dynamic‬‬
‫‪Programming‬با یادگیری با کمک ناظر به حل مسئله‬
‫میپردازد ‪.‬‬
‫‪Dynamic programming‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بطور کلی کاری که ‪ Dynamic programming‬انجام میدهد عبارت‬
‫است ازحل یک مسئله چند متغیره از طریق حل مجموعه ای مسائل تک‬
‫متغیره‬
‫مبنای ‪ dynamic programming‬بر پایه اصل بهینگی ‪Bellman‬‬
‫بنا شده است‬
‫‪Richard Bellman’s Principle of Optimality‬‬
‫این اصل بسادگی بیان میکند که یک خط مشی بهینه باید دارای این خاصیت‬
‫باشد که بدون توجه به حالت اولیه و تصمیمات اولیه گرفته شده‪ ،‬باقی‬
‫تصمیمات باید با درنظر گرفتن حالت ایجاد شده از تصمیمات اولیه به‬
‫خط مشی بهینه برسند‪.‬‬
‫‪25‬‬
‫‪Dynamic programming‬‬
‫‪‬‬
‫‪26‬‬
‫در واقع ‪ Dynamic programming‬روشی است که برای‬
‫حل یک مسئله از آخرین حالت ممکن شروع کرده و آنچه را‬
‫که در آن حالت امکان پذیر است بررسی مینماید‪ ،‬سپس با‬
‫استفاده از اطالعات بدست آمده از فرض بودن در آخرین حالت‬
‫به حل حالت ماقبل آخر میپردازد و اینکار برای حالت های قبل‬
‫از آن ادامه می یابد‪.‬‬
‫خاصیت مارکف‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪27‬‬
‫وضعیت مرحله ‪ St‬تمامی اطالعات الزم را در اختیار عامل قرار میدهد‪.‬‬
‫یعنی عامل به اطالعات دیگری نیاز ندارد‪.‬‬
‫بعبارت دیگر قرار گرفتن در یک وضعیت به معنای داشتن خالصه گذشته‬
‫عامل است و نیازی نیست تا از گذشته آن چیز دیگری بدانیم‪.‬‬
‫نمایش یک وضعیت میتواند شامل ورودیهای فوری‪ ،‬ورودیهای پردازش شده‬
‫و یا ساختارهای داده ای باشد که در طول زمان از روی ورودی های حس‬
‫شده تشکیل شده باشند‪.‬‬
Markov Decision Processes
‫اگر یک مسئله یادگیری تقویتی دارای خاصیت مارکف باشد میتوان آنرا‬
.‫ دانست‬Markov Decision Process (MDP) ‫یک‬
finite ‫اگر تعداد حالت ها و عملها محدودباشند مسئله بصورت‬
:‫خواهد بود که با اجزای زیر تعریف یشود‬MDP

state and action sets
one-step “dynamics” defined by transition
probabilities:

reward expectations:



28
‫‪Markov Decision Processes‬‬
‫)‪(MDPs‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪29‬‬
‫در مسائل ‪ MDP‬با شرایطی مواجه هستیم که عامل میتواند ‪ S‬حالت‬
‫مجزا را درمحیط تشخیص دهد‪.‬این عامل قادر به انجام ‪ A‬عمل مجزا‬
‫میباشد‪.‬‬
‫در هر لحظه ‪ t‬عامل حالت ‪ st‬را تشخیص داده و عمل ‪ at‬را انجام‬
‫میدهد ‪.‬‬
‫محیط در پاسخ به این عمل پاداش )‪ rt=(st,at‬را به عامل میدهد و به‬
‫حالت بعدی )‪ st+1=d(st,at‬میرود‪.‬‬
‫توابع ‪ r , d‬جزئی از محیط بوده و برای عامل ناشناخته هستند‪.‬‬
‫در ‪ MDP‬توابع فقط به حالت و عمل فعلی بستگی داشته و از حالت‬
‫وعمل های قبلی مستقل است‪.‬‬
An Example Finite MDP
Recycling Robot




At each step, robot has to decide whether it
should (1) actively search for a can, (2) wait for
someone to bring it a can, or (3) go to home
base and recharge.
Searching is better but runs down the battery; if
runs out of power while searching, has to be
rescued (which is bad).
Decisions made on basis of current energy
level: high, low.
Reward = number of cans collected
30
Recycling Robot MDP
31
action node
‫‪Dynamic Programming‬‬
‫‪‬‬
‫در واقع ‪ DP‬روشی برای حل مسایل ‪ MDP‬است‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫میتوان ‪ RL‬را یک تقریب برخط برای ‪ DP‬دانست‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪32‬‬
‫این روش نیازمند دانستن دینامیک کامل سیستم است‪(P and R).‬‬
‫پیاده سازی آن پرهزینه و معموال غیر عملی است‬
‫با مشکل نفرین ابعادی روبروست‬
‫تضمین شده که همگرا خواهد شد‪.‬‬
‫نیازی به دانستن ‪ R,P‬ندارد‬
‫در فضای حالت به نمونه برداری میپردازد‪.‬‬
‫تئوریهائی در مورد همگرائی آن وجود دارد‪.‬‬
Reinforcement learning example
Start
S2
S4
S3
Arrows indicate
strength between
two problem
states
Start maze …
S8
S5
S7
Goal
Start
S2
The first response
leads to S2 …
S4
S3
S8
S7
The next state is
chosen by randomly
sampling from the
possible next states
weighted by their
associative strength
Associative strength
= line width
S5
Goal
Start
S2
S4
S3
S8
S5
Suppose the
randomly sampled
response leads to
S3 …
S7
Goal
Start
S2
At S3, choices lead to
either S2, S4, or S7.
S4
S3
S8
S5
S7 was picked
(randomly)
S7
Goal
Start
S2
By chance, S3 was
picked next…
S4
S3
S8
S5
S7
Goal
Start
S2
Next response is S4
S4
S3
S8
S5
S7
Goal
Start
S2
And S5 was chosen
next (randomly)
S4
S3
S8
S5
S7
Goal
Start
S2
And the goal is
reached …
S4
S3
S8
S5
S7
Goal
Start
S2
S4
S3
S8
S5
S7
Goal is reached,
strengthen the
associative
connection between
goal state and last
response
Next time S5 is
reached, part of the
associative strength
is passed back to
S4...
Goal
Start
S2
Start maze again…
S4
S3
S8
S5
S7
Goal
Start
S2
Let’s suppose after a
couple of moves, we
end up at S5 again
S4
S3
S8
S5
S7
Goal
Start
S2
S4
S3
S8
S5
S7
S5 is likely to lead to
GOAL through
strenghtened route
In reinforcement
learning, strength is
also passed back to
the last state
This paves the way
for the next time
going through maze
Goal
Start
S2
The situation after
lots of restarts …
S4
S3
S8
S5
S7
Goal
‫یادگیری خط مشی‬
‫‪‬‬
‫‪‬‬
‫اگر چه هدف نهائی یادگیری تقویتی یادگیری تابعی بصورت‬
‫‪*:SA‬است با این وجود در عمل انجام آن بسیار مشکل‬
‫است زیرا مثالها بصورت >‪ <s,a‬عرضه نمیشوند‪.‬‬
‫برای یادگیری خط مشی از دو تکنیک زیر استفاده خواهیم‬
‫کرد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪46‬‬
‫‪Value Function‬‬
‫‪Q Value‬‬
‫‪Value Function‬‬
‫‪‬‬
‫‪‬‬
‫‪47‬‬
‫مقدار یک حالت عبارت است ازمجموع مقدار پاداشی که با‬
‫شروع از آن حالت و پیروی از خط مشی مشخصی که به‬
‫حالت نهائی ختم شود‪ ،‬دریافت میگردد‪.‬‬
‫تابع مقدار یا ‪Value Function‬عبارت است از نگاشتی‬
‫از ‪states‬به ‪ state values‬که میتواند توسط هر تقریب‬
‫زننده تابع نظیر یک شبکه عصبی تخمین زده شود‪.‬‬
‫مثال‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪48‬‬
‫یک مسئله ‪ MDP‬با ‪ 16‬حالت‬
‫عامل دارای ‪ 4‬عمل مختلف است ‪:‬حرکت به چپ‪ ،‬به راست‪،‬‬
‫به باالو به پائین‬
‫پاداش برای تمامی حرکتها برابر ‪ -1‬است‪.‬‬
‫هدف رسیدن به دو گوشه سمت راست پائین و یا گوشه سمت‬
‫چپ باالست‬
‫مقادیر نشان داده شده مقدار مورد انتظار برای هر حالت در‬
‫صورت انجام یک حرکت تصادفی برای رسیدن به هدف است‪.‬‬
‫‪The optimal value function‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪49‬‬
‫در شکل مقابل مقادیر بهینه حالتها نشان‬
‫داده شده است‪.‬‬
‫در صورتی که امکان بدست آوردن این‬
‫مقادیر وجود داشته باشد میتوان با انجام‬
‫یک جستجو به ‪ optimal policy‬نیز‬
‫دست یافت‪.‬‬
‫در یادگیری تقویتی بجای یافتن خط مشی‬
‫بهینه که مدل کردن آن میتواند مشکل‬
‫باشد‪ ،‬میتوان تالش نمود تا مقدار تابع‬
‫بهینه حالتها را بدست آورد ‪.‬‬
‫‪The optimal value function‬‬
‫‪The optimal policy‬‬
Value Iteration ‫مثال‬
with primitive actions (cell-to-cell)
V (goal )=1
Iteration #1
Iteration #2
Iteration #3
with behaviors (room-to-room)
V (goal )=1
Iteration #1
Iteration #2
Iteration #3
‫‪Approximating the Value‬‬
‫‪Function‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪51‬‬
‫یادگیری تقویتی میتواند کار بسیار سختی باشد زیرا عامل در مقابل کاری که انجام میدهد‬
‫پاسخ مستقیمی در مورد درست یا نادرستی آن دریافت نمیکند‪.‬‬
‫برای مثال عاملی که میخواهد از طریق شبیه سازی یک هواپیما را هدایت نماید در هر‬
‫لحظه مجبور است تا تصمیم جدید بگیرد و اگر بعد از هزاران عمل هواپیما سقوط نماید‪،‬‬
‫عامل چگونه میتواند عملی که به سقوط هواپیما منجر شده را شناسائی نماید؟‬
‫در اینجا ‪ Dynamic Programming‬با معرفی دو اصل ساده سعی در ارائه راه حل‬
‫مینماید‪:‬‬
‫‪ ‬اگر عملی انجام شود که بالفاصله منجر به نتیجه بدی نظیر سقوط هواپیما گردد عامل‬
‫باید یاد بگیرد که در دفعات بعدی در حالت مشابه آن عمل را تکرار نکند‪ .‬لذا عامل باید‬
‫از عملی که بالفاصله قبل از سقوط هواپیما انجام داده بود پرهیز کند‪.‬‬
‫‪ ‬اگر عملی در یک موقعیت خاص منجر به نتیجه بدی شد‪ ،‬باید از قرار گرفتن در آن‬
‫موقعیت پرهیز نمود‪.‬بنا بر این اگر قرار گرفتن در جهت و موقعیت خاصی منجر به‬
‫سقوط هواپیما میشود‪ ،‬عامل یاد میگیرد که از انجام عملیاتی که منجر به قرار گرفتن‬
‫هواپیما در چنین شرائطی میگردند پرهیر نماید‪.‬‬
‫‪The Essence of Dynamic‬‬
‫‪Programming‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪52‬‬
‫هدف ازبکار گیری ‪Dynamic Programming‬در یادگیری تقویتی‬
‫محاسبه تابع مقدار است‪ .‬روش کلی انجام اینکار بصورت زیر است‪:‬‬
‫‪ V*(St)= Optimal value function‬‬
‫‪ V (St)= approximate of optimal value function‬‬
‫‪ =discount factor‬‬
‫در حالت کلی )‪ V (St‬با مقداری تصادفی عدد دهی میشود که با مقدار‬
‫بهینه فرق دارد‪ .‬در نتیجه خطائی در تقریب بروز کرده ورابطه زیررا‬
‫خواهیم داشت‪.‬‬
‫)‪V (St)= V *(St)+ e(St‬‬
‫این رابطه برای حالت بعدی نیز صادق خواهد بود‬
‫)‪V (St+1)= V *(St+1)+ e(St+1‬‬
‫‪Bellman equation‬‬
‫‪‬‬
‫با توجه به تعریف تابع مقدار بهینه‪ ،‬رابطه بین مقادیر ‪value‬‬
‫‪function‬در حالتهای مختلف را میتوان توسط ‪Bellman‬‬
‫‪equation‬بیان کرد‪:‬‬
‫‪‬‬
‫با بسط این معادله به مقدار تابع تقریب زده شده خواهیم داشت‪:‬‬
‫‪53‬‬
‫‪Bellman equation‬‬
‫‪‬‬
‫‪54‬‬
‫اهمیت رابطه فوق در اینجاست که اگر خطا در مرحله نهائی‬
‫یعنی وقتی که به هدف میرسیم صفر باشد‪ ،‬در صورت انتخاب‬
‫خط مشی بهینه خطا در مراحلی که منجر به مرحله آخر‬
‫میگردد نیز تابعی از آن بوده وصفر خواهد شد‪.‬‬
‫تقریب تابع ‪Value Function‬‬
‫‪‬‬
‫اگربتوان مقادیر تقریبی *‪ V‬را توسط یک جدول نشان داد‪ ،‬در‬
‫اینصورت میتوان برای بدست آوردن آن این جدول را جاروب‬
‫نموده و بطور مدام مقدار حالتها را طبق رابطه زیر تغییر داد ‪.‬‬
‫‪‬‬
‫اینکار تا زمانی که تغییری در جدول رخ ندهد تکرار میشود‪.‬‬
‫برای انجام چنین عملی مدل دینامیکی سیستم الزم خواهد بود‪.‬‬
‫‪‬‬
‫‪55‬‬
‫بدست آوردن سیاست بهینه‬
‫‪‬‬
‫با یادگیری مقادیر میتوان از آن برای جستجوی بهترین عمل‬
‫استفاده نمود‪.‬‬
‫*‬
‫*‬
‫}))‪ (s)  arg max{r (s, a)  V (d (s, a‬‬
‫‪a‬‬
‫‪‬‬
‫‪56‬‬
‫الزمه اینکار دانستن تابع ‪ d‬و مقدار ‪ r‬است‪ .‬که در حالت‬
‫کلی برای عامل ناشناخته هستندو انتخاب عمل را مشکل‬
‫میسازند‪ .‬لذا باید از تکنیک های دیگری استفاده نمود‪.‬‬
‫‪Residual Gradient Algorithms‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪57‬‬
‫دیدیم که چگونه میتوان تقریب تابع را از طریق جدول انجام داد‪.‬‬
‫استفاده از جدول محدودیتهائی را از لحاظ اندازه و پیچیدگی مسائل قابل‬
‫حل بوجود میاورد‪.‬زیرا بسیاری از مسایل عملی دارای فضای حالت‬
‫بسیار بزرگ و یا پیوسته هستند که نمیتوان مقادیر آنها را با جدول نشان‬
‫داد‬
‫در چنین مواقعی میتوان از تخمین زننده ای استفاده نمود که قابلیت تعمیم‬
‫داشته و قادر به درونیابی حالتهائی باشد که مشاهده نشده اند‪.‬‬
‫برای مثال شبکه عصبی میتواند برای تخمین مقدار )‪ V *(St‬بکار رود ‪.‬‬
‫استفاده از شبکه عصبی یرای تخمین تابع‬
‫مقدار‬
‫‪‬‬
‫اگر تقریب )‪ V *(St‬را با )‪ V (St,Wt‬نشان دهیم که در آن ‪Wt‬‬
‫بردار پارامترها باشد در اینصورت برای تغییر این پارامترها میتوان از‬
‫رابطه زیر استفاده نمود‪.‬‬
‫مقدار گرادیان‬
‫‪‬‬
‫‪58‬‬
‫خروجی شبکه عصبی‬
‫خروجی مطلوب‬
‫نرخ یادگیری‬
‫از آنجائیکه خروجی مطلوب نیز تابعی از ‪ Wt‬است با تغییر بردار‬
‫پارامترها خروجی نیز تابعی از این مقدار جدید شده و این احتمال وجود‬
‫خواهد داشت که مقدار ‪ Bellman residual‬کاهش نیابد‪.‬‬
‫‪Residual Gradient Algorithms‬‬
‫‪‬‬
‫یک راه حل این مسئله استفاده از تکنیک ‪residual‬‬
‫‪gradient algorithm‬است که در اینصورت برای تغییر‬
‫پارامترهای شبکه از رابطه زیر استفاده میشود‪:‬‬
‫‪‬‬
‫در این الگوریتم ‪ gradient descent‬بر روی ‪mean‬‬
‫‪squared Bellman residual‬انجام میشود‪.‬‬
‫‪59‬‬
‫[‪]Watkins,1989‬‬
‫‪‬‬
‫‪‬‬
‫‪60‬‬
‫‪Q-learning‬‬
‫‪ Q-learning‬حالت گسترش یافته الگوریتم ‪Value‬‬
‫‪Iteration‬است که برای مسایل ‪nondeterministic‬‬
‫نیز بکار میرود‪.‬‬
‫یادگیری ‪ Q-learning‬نوعی از یادگیری تقویتی بدون مدل‬
‫است که بر پایه برنامه ریزی پویای اتفاقی عمل میکند‪.‬‬
‫‪Q-learning‬‬
‫‪‬‬
‫‪‬‬
‫‪61‬‬
‫در یادگیری ‪ Q –Learning‬بجای انجام یک نگاشت از ‪ States‬به‬
‫مقادیر حالتها‪ ،‬نگاشتی از زوج ‪ state/action‬به مقادیری که‪Q-‬‬
‫‪value‬نامیده میشوند انجام میگردد‪.‬‬
‫‪Q-Function‬‬
‫‪‬‬
‫به هرزوج > حالت ‪ ،‬عمل <یک مقدار )‪ Q(s,a‬نسبت داده میشود ‪.‬این مقدار‬
‫عبارت است از مجموع پاداشهای دریافت شده وقتی که از حالت ‪ S‬شروع و‬
‫عمل ‪ a‬را انجام وبدنبال آن خط مشی موجود را دنبال کرده باشیم‪.‬‬
‫‪‬‬
‫تفاوت این روش با قبلی در اینجاست که نیازی به انجام تمامی اعمال ممکن یک‬
‫حالت نیست‪.‬‬
‫الگوریتم یادگیری ‪Q‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫برای یادگیری تابع ‪ Q‬میتوان از جدولی استفاده کرد که هر ورودی آن‬
‫یک زوج >‪ <s,a‬به همراه تقریبی است که یادگیر از مقدار واقعی ‪Q‬‬
‫بدست آورده است‪.‬‬
‫مقادیر این جدول با مقدار اولیه تصادفی ) معموال صفر (پر میشود‬
‫عامل بطور متناوب وضعیت فعلی ‪ S‬را تشخیص داده و عملی مثل ‪a‬‬
‫را انجام میدهد ‪.‬سپس پاداش حاصله )‪ r(s,a‬و همچنین حالت جدید ناشی‬
‫از انجام عمل )‪s’=d(s,a‬را مشاهده میکند‪.‬‬
‫مقادیر جدول با استفاده از رابطه زیر تغییر میکنند‪:‬‬
‫‪‬‬
‫‪62‬‬
‫'‬
‫'‬
‫‪‬‬
‫‪‬‬
‫‪Q s ,a‬‬
‫‪‬‬
‫‪Q(s,a)r (s,a)  max‬‬
‫'‪a‬‬
‫ قطعی‬MDP ‫ برای‬Q ‫الگوریتم یادگیری‬




For each s,a initialize the table entry
Observe the current state s
Do forever:




Select an action a and execute it
receive immediate reward r
Observe the new state s’ 
update the table entry for Q(s,a) as follows

Q(s,a)r (s,a)  max

Q(s,a) to zero
ss’
a'


'
Q s ,a
'

63
‫مثال‬
‫‪73‬‬
‫‪100‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در این مثال‬
‫مقادیر ‪ Q‬هرعمل‪/‬حالت در‬
‫کنار آن درج شده است‬
‫با هر حرکت عامل به سمت‬
‫راست پاداش صفر به آن تعلق‬
‫میگیرد‪.‬‬
‫اگر عامل از حالت ‪ sl‬شروع‬
‫کرده و به سمت راست حرکت‬
‫کند مقدار جدید ‪ Q‬برابر است‬
‫‪‬‬
‫با‪Q(s,a)r (s,a)  max Qs , a  :‬‬
‫'‬
‫'‬
‫‪‬‬
‫‪64‬‬
‫'‬
‫‪‬‬
‫‪a‬‬
‫‪00 0.9 max66,81,100‬‬
‫‪0 90‬‬
‫‪81‬‬
‫‪sl‬‬
‫‪66‬‬
‫‪90‬‬
‫‪100‬‬
‫‪81‬‬
‫‪66‬‬
‫مثال‬
‫‪65‬‬
‫اپیزود های یادگیری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪66‬‬
‫از آنجائیکه در محیط یک حالت هدف جذب کننده ‪absorbing state‬‬
‫در نظر گرفته میشود که با قرار گرفتن عامل درآن حرکت عامل متوقف‬
‫میشود‪ ،‬عمل یادگیری بصورت اپیزودی انجام میشود‪.‬‬
‫در هر اپیزود عامل در یک محل تصادفی قرار داده میشود و تا رسیدن‬
‫به حالت جذبی به تغییر مقادیر ‪ Q‬ادامه میدهد‪.‬‬
‫اگر مقادیر اولیه ‪ Q‬صفر در نظر گرفته شده باشند‪ ،‬در هر اپیزود فقط‬
‫یکی از مقادیر که به مقدار نهائی نزدیکتر هستند تغییر کرده و بقیه‬
‫صفر باقی میمانند‪.‬‬
‫با افزایش تکرار اپیزود ها این مقادیر غیر صفر به سایر مقادیر جدول‬
‫گسترش پیدا کرده و درنهایت به مقادیر بهینه همگرا خواهند شد‪.‬‬
‫اثبات همگرائی‬
‫‪‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪‬‬
‫‪‬‬
‫‪67‬‬
‫فرض های الزم‪:‬‬
‫محیط ‪ deterministic MDP‬است‪.‬‬
‫پاداش های فوری محدود هستند ‪|r(s,a)|<c :‬‬
‫عامل تمامی حالت‪/‬عمل های موجود را بینهایت بار امتحان‬
‫میکند‬
‫ایده اصلی‪:‬‬
‫اثبات میشود که ورودی با بیشترین مقدار خطا در جدول‬
‫‪Q‬با هربار بازدید به نسبت ‪ ‬از خطای آن کاسته میشود ‪.‬‬
‫اثبات همگرائی‬
‫‪‬‬
‫با توجه به اینکه تمامی عمل‪/‬حالتها بینهایت بار تکرار خواهند‬
‫شد‪ ،‬اگر فاصله ای را در نظر بگیریم که هرکدام حداقل یکبار‬
‫تکرار شده باشند‪ ،‬در اینصورت خطا در مرحله ‪ n‬ام تغییر‬
‫مقدار جدول برابر است با‪:‬‬
‫| )‪  max | Q( s, a)  Q( s, a‬‬
‫‪‬‬
‫مقدار خطا در مرحله ‪ n+1‬ام تغییر برابر خواهد بود با‪:‬‬
‫‪‬‬
‫‪n‬‬
‫‪s ,a‬‬
‫‪‬‬
‫‪‬‬
‫| )) ' ‪| Q n 1 ( s, a)  Q( s, a) || (r   maxQ n ( s ' , a ' )) | (r   maxQ n ( s ' , a‬‬
‫'‪a‬‬
‫'‪a‬‬
‫‪‬‬
‫| ) '‪  | maxQ n ( s ' , a' )  maxQ n ( s ' , a‬‬
‫'‪a‬‬
‫'‪a‬‬
‫‪‬‬
‫‪68‬‬
‫| ) '‪  max | Q n ( s ' , a' )  Q n ( s ' , a‬‬
‫'‪a‬‬
‫‪  n‬‬
‫نحوه انجام آزمایش‬
‫‪‬‬
‫‪‬‬
‫برای اینکه شرط همگرائی برقرار باشد باید هر عمل‪/‬حالت‬
‫بینهایت بار تکرار شود ‪.‬‬
‫در یادگیری ‪ Q‬معموالبرای انتخاب عمل ها از یک رابطه‬
‫احتماالتی استفاده میشود که در آن عمل های با مقادیر ‪Q‬باال با‬
‫احتمال بیشتری انتخاب میشوند‪.‬‬
‫‪‬‬
‫‪Qs ,ai ‬‬
‫‪k‬‬
‫‪Q a ‬‬
‫‪k‬‬
‫‪‬‬
‫‪j‬‬
‫‪s,‬‬
‫‪P ai | s  ‬‬
‫احتمال انتخاب عمل ‪ ai‬وقتی عامل‬
‫در حالت ‪ s‬است‬
‫‪j‬‬
‫‪69‬‬
‫‪K>0‬ثابتی است که میزان ارجحیت عمل های با مقدار بزرگ ‪ Q‬را مشخص میکند‪.‬‬
‫مقادیر بزرگ ‪k‬منجر به استفاده از دانش آموخته شده میگردد ‪exploit‬‬
‫مقادیر کوچک ‪ k‬به بقیه عمل ها شانس بیشتری میدهد ‪. explore‬‬
‫یادگیری ‪ Q‬برای ‪ MDP‬غیرقطعی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪70‬‬
‫در یک سیستم ‪ deterministic MDP‬انجام یک عمل‬
‫مشخص در حالت ‪ St‬همواره به حالت بعدی یکسان ‪St+1‬‬
‫منجر میشود‪.‬‬
‫در حالیکه در یک ‪ non-deterministic MDP‬از یک‬
‫تابع توزیع احتمال برای تعیین حالت بعدی ناشی از انجام یک‬
‫عمل استفاده میشود‪.‬‬
‫در چنین حالتی توابع )‪ d(s,a‬و )‪ r(s,a‬دارای توزیع احتمال‬
‫بوده و بر اساس آن خروجی تصادفی خواهند داشت‪.‬‬
‫یادگیری ‪ Q‬برای ‪ MDP‬غیرقطعی‬
‫‪‬‬
‫برای حالت غیر قطعی تابع ‪ Q‬بصورت زیر بازنویسی میشود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪71‬‬
‫'‬
‫'‬
‫‪‬‬
‫‪Q s ,a‬‬
‫‪Q(s,a) Er (s,a)  P(s'|s,a) max‬‬
‫'‪a‬‬
‫'‪s‬‬
‫در چنین حالتی نیاز به قانون جدیدی برای یادگیری خواهد بود‬
‫زیرا قانون قبلی در صورت تصادفی بودن مقادیر ’‪ r ,s‬قادر‬
‫به همگرائی نخواهد بود‪.‬‬
‫یادگیری ‪ Q‬برای ‪ MDP‬غیرقطعی‬
‫‪ ‬برای رسیدن به همگرائی از قانون زیر استفاده میشود‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪' '‬‬
‫‪Qn (s, a)  (1 n) Q n 1(s, a)   n r (s,a)  max Q n 1s ,a ‬‬
‫'‪a‬‬
‫‪‬‬
‫‪‬‬
‫‪ ‬که در آن‬
‫‪1‬‬
‫)‪1  visitsn ( s, a‬‬
‫‪‬‬
‫‪72‬‬
‫‪‬‬
‫‪n‬‬
‫‪‬‬
‫در این رابطه )‪ visitsn(s,a‬برابر است با مجموع دفعاتی که‬
‫زوج ) ‪ (s,a‬مورد استفاده قرار گرفته اند‪.‬‬
‫‪Temporal difference learning‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫یادگیری ‪ Q‬حالت خاصی از الگوریتم یادگیری ‪Temporal‬‬
‫‪difference learning‬است‪.‬‬
‫در یادگیری ‪ Q‬از اختالف بین مقدار حالت فعلی و حالت بعد‬
‫از آن استفاده میشد ‪.‬این امر را میتوان به اختالف بین حالت‬
‫فعلی و چند حالت بعدی تعمیم داد‪.‬‬
‫اگر الگوریتم یادگیری ‪ Q‬را بصورت زیر نشان دهیم‪:‬‬
‫) ‪Q (s , a )  r   maxQ(s , a‬‬
‫حالت تعمیم یافته آنرا میتوان بصورت زیر نشان داد‪:‬‬
‫‪‬‬
‫‪1‬‬
‫‪t 1‬‬
‫‪t‬‬
‫‪t‬‬
‫‪t‬‬
‫‪a‬‬
‫‪‬‬
‫‪‬‬
‫) ‪rt  n1   maxQ(st  n , a‬‬
‫‪n‬‬
‫‪73‬‬
‫‪a‬‬
‫‪n 1‬‬
‫‪ ... ‬‬
‫‪n‬‬
‫‪Q (s , a )  r  r‬‬
‫‪t 1‬‬
‫‪t‬‬
‫‪t‬‬
‫‪t‬‬
‫الگوریتم)‪TD(l‬‬
‫‪‬‬
‫در این الگوریتم سعی میشود تا با معرفی ثابت ‪0=< l<=1‬‬
‫تخمین حاصله از فواصل مختلف را با هم ترکیب نمود‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪2‬‬
‫‪‬‬
‫‪( st , at )  (1  l ) Q ( st , at )  l Q ( st , at )  l Q ( st , at )  ...‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪74‬‬
‫‪Q‬‬
‫این الگوریتم را میتوان بصورت بازگشتی زیر نوشت‬
‫‪‬‬
‫‪l‬‬
‫‪‬‬
‫‪‬‬
‫‪( st , at )  rt   (1  l ) maxQ(st , at )  l Q (st 1 , at 1 )‬‬
‫‪a‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪l‬‬
‫‪l‬‬
‫‪Q‬‬
‫برای حالت ‪ l=0‬این الگوریتم برابربا الگوریتم یادگیری ‪Q‬‬
‫خواهد بود‪.‬‬
‫الگوریتم)‪TD(l‬‬
‫‪‬‬
‫‪75‬‬
‫در برخی از مسائل استفاده از این روش میتواند سرعت‬
‫یادگیری را افزایش دهد‪.‬‬
‫ترکیب شبکه عصبی با یادگیری ‪Q‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪76‬‬
‫در مواقعی که امکان ذخیره مقادیر‪ Q‬در جدول وجود نداشته باشد‪،‬‬
‫میتوان یک تابع تقریب زننده نظیر شبکه عصبی را جایگزین این جدول‬
‫نمود‪.‬‬
‫برای مثال میتوان مقادیر ‪ s,a‬را بعنوان ورودیهای شبکه عصبی‬
‫درنظرگرفته و شبکه را طوری آموزش داد که مقادیرتقریبی ‪ Q‬را در‬
‫خروجی ایجاد نماید‪.‬‬
‫دربرخی کاربردها استفاده از یک شبکه عصبی جداگانه برای هر یک‬
‫از عمل ها مفید بوده است‪.‬‬
‫باید توجه نمود که در صورت استفاده از شبکه عصبی احتمال عدم‬
‫همگرائی وجود خواهد داشت‪.‬زیرا تغییر در مقادیر وزنهای شبکه در‬
‫هنگام یادگیری میتواند منجر به افزایش خطا در مقادیر ‪ Q‬گردد‪.‬‬
‫مسایل مطرح در یادگیری تقویتی‬
‫‪‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪77‬‬
‫یادگیری تقویتی با دو چالش عمده روبروست‪:‬‬
‫چگونگی توسعه به مسایل بزرگتر‬
‫امکان استفاده در مسایل ‪partially-observable‬‬
‫‪Markov decision‬که در آنها عامل قادر به درک کامل‬
‫محیط نیست‬
‫سیستمهای بزرگ‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪78‬‬
‫وقتی که سیستم خیلی بزرگ میشود‪ ،‬یادگیری ‪ Q‬قادر به نمونه‬
‫برداری از تمامی زوجهای عمل‪/‬حالت نخواهد بود‪.‬‬
‫در چنین حالتی از دسته بندی کننده ها و ترکیب آنها با‬
‫الگوریتمهای ژنتیک استفاده میشود‬
‫استفاده از شبکه عصبی برای تقریب تابع در چنین حالتی‬
‫عملی نبوده و معموال از روشهای رگراسیون دیگری استفاده‬
‫میشود‪.‬‬
‫نتیجه گیری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪79‬‬
‫یادگیری تقویتی را میتوان درهرمسئله ایکه بصورت ‪MDP‬‬
‫قابل بیان باشد‪ ،‬استفاده نمود‪.‬‬
‫برخالف یادگیری با ناظرنیازی به زوج ورودی‪/‬خروجی ندارد‬
‫در صورت ترکیب با شبکه های عصبی میتواند مسایل زیادی‬
‫را حل کند‬