Professional Documents
Culture Documents
Instructor: Saeed Shiry
Instructor: Saeed Shiry
1
یادگیری تقویتی
در یک مسئله یادگیری تقویتی با عاملی روبرو هستیم که از
طریق سعی و خطا با محیط تعامل کرده و یاد میگیرد تا عملی
بهینه را برای رسیدن به هدف انتخاب نماید.
2
یادگیری تقویتی
یادگیری تقویتی از اینرو مورد توجه است که راهی برای
آموزش عاملها برای انجام یک عمل از طریق دادن پاداش
و تنبیه است بدون اینکه الزم باشد نحوه انجام عمل را برای
عامل مشخص نمائیم.
دو استراتژی اصلی برای اینکار وجود دارد:
یکی استفاده از الگوریتم های ژنتیکی است که در آن در فضای رفتارها .1
عملی جستجو میگردد که در محیط بتواند هدف مورد نظر را بر آورده
نماید.
و دیگری استفاده از روشهای آماری و dynamic .2
programming
در این درس روش دوم مد نظر است. 3
مقایسه RLبا یادگیری با ناظر
یادگیری تقویتی از دو جنبه با یادگیری با ناظر تفاوت دارد:
مثالهائی یادگیری بصورت زوج> ورودی /خروجی <مطرح .1
نمیشوند .بلکه بعد از اینکه عامل عملی را انجام داد پاداشی را
دریافت میکند و به مرحله بعدی میرود.عامل هیچ گونه اطالعی در
مورد اینکه در هر حالت بهترین عمل چیست را ندارد .بلکه این
وظیفه عامل است که در طول زمان تجربه کافی در مورد حالتها،
عمل های ممکن ،انتقال و پاداش جمع آوری نموده و عملکرد بهینه
را یاد بگیرد.
تفاوت دیگر در اینجاست که سیستم باید کارائی آنالین باالئی داشته .2
باشد .زیرا اغلب ارزیابی سیستم با عمل یادگیری بطور همزمان
صورت می پذیرد.
4
با یادگیری با ناظرRL مقایسه
Supervised Learning:
Example Class
Reinforcement Learning:
…
Situation Reward Situation Reward
5
یادگیری با ناظر
Supervised Learning
Inputs System
Outputs
6
یادگیری تقویتی
RL
Inputs System
)”Outputs (“actions
7
مشخصه های اصلی یادگیری تقویتی
به یادگیر گفته نمی شود که چه عملی را باید انجام دهد
جستجو بر اساس سعی و خطا انجام میشود .یادگیر سعی میکند
اعمالی را یادبگیرد که بیشترین پاداش را تولید میکنند.
پاداش از نوع تاخیری است :از اینرو دست آوردهای کوتاه
مدت فدای مزایای بلند مدت تر میشوند.
باید بین کاوش موارد جدید و استفاده از دانش قبلی تناسب ایجاد
نمودexplore or exploit .
مسئله را بصورت یک عامل هدفمند که با یک محیط نامعین در
ارتباط است می بیند.
8
ساختار کلی مسئله یادگیری تقویتی
در یک مسئله RLاستاندارد با اجزای اصلی زیر روبرو
هستیم:
عامل
که قرار است یادگیری را از طریق تعامل با محیط انجام دهد .برای
اینکار باید
اعمالی که عامل میتواند در محیط انجام دهد مشخص باشند.
محیط
برای محیط باید مشخصه های زیر تعیین شوند:
وضعیت
پاداش
عامل میتواند از طریق ورودیهایش تشخیص دهد که در چه
وضعیتی قرار دارد .عامل در وضعیت Stعمل atرا
انجام میدهد .اینکار باعث میشود وضعیت محیط به St+1
تغییر نماید .در اثر این تغییر وضعیت عامل سیگنال
reinforcementو یا پاداش rt+1را از محیط دریافت
می نماید.
عمل یادگیری عبارت است ازیاد گرفتن یک سیاست که در واقع
نگاشتی از وضعیت به عمل است به نحوی که استفاده از
این سیاست برای انتخاب اعمال منجر به دریافت پاداش
حداکثر از محیط گردد.
10
محیط
محیط مجموعه ای از Sحالت ممکن است.
در هر لحظه tعامل میتواند یکی از Aعمل ممکن را انجام دهد.
عامل ممکن است در مقابل عمل و یا مجموعه ای از اعمالی که انجام میدهد پاداش
rرا دریافت کند .این پاداش ممکن است مثبت و یا منفی) تنبیه(باشد.
در حالت کلی محیط میتواند غیر قطعی ) (non deterministicباشد .یعنی انجام یک عمل
مشابه در یک وضعیت یکسان به وضعیت بعدی یکسان و یا مقدار پاداش یکسانی منجر نشود.
با این وجود محیط بصورت stationaryفرض میشود .یعنی احتمال تغییر وضعیت و یا
دریافت پاداش در طول زمان یکسان فرض میشود.
+3 +50
-1 -1
+3 +50
-1 -1
13
پاداش
+3 +50
-1 -1
V (S ) r
t t k
k 0
(discounted cumulative reward) infinite horizon
در این روش بجای hمرحله ،پاداش درازمدت دریافتی در نظر گرفته میشود .این روش
بسیار مرسوم بوده و به پاداشهائی که در آینده گرفته خواهد شد ارزش کمتری نسبت
به پاداشهای فوری داده میشود.
16
مدلهای عملکرد بهینه
average reward
در این روش فرقی بین پاداشهای نزدیک و دور در نظر گرفته نمیشود.
1 h
( S t ) lim h r t k
V h k 0
17
خط مشی یا سیاست
فرض می کنیم که اعمال عامل از قانونی مثل تبعیت میکند
که آنرا خط مشی و یا policyمی نامیم.
از آنجائیکه Rtیک متغیر تصادفی است لذا امید ریاضی آن
تحت یک خط مشی خاص و برای یک حالت معین برابر
خواهد بود با:
V S t r t k 1|S t ,
E{ } E k
R S
|t
, t
k 0
هدف یادگیری تقویتی این است که یک خط مشی بهینه ای مثل
*پیدا نماید به نحویکه مقدار امید ریاضی فوق را برای تمامی
حاالت ماکزیمم کند. 18
یادگیری خط مشی یا سیاست
در واقع RLسعی دارد عامل را وادار کند در اثر تجربه با
محیط سیاست خود را تغییر داده و طوری رفتار نماید که در
دراز مدت پاداش بیشتری کسب نماید.
الگوریتم کلی یادگیری تقویتی
i. Initialise learner’s internal state
ii. Do forever (!?):
a. Observe current state s
23
Dynamic Programming
یادگیری تقویتی با ترکیب تکنیک Dynamic
Programmingبا یادگیری با کمک ناظر به حل مسئله
میپردازد .
24
Dynamic programming
بطور کلی کاری که Dynamic programmingانجام میدهد عبارت
است ازحل یک مسئله چند متغیره از طریق حل مجموعه ای مسائل تک
متغیره
مبنای dynamic programmingبر پایه اصل بهینگی Bellman
بنا شده است
Richard Bellman’s Principle of Optimality
این اصل بسادگی بیان میکند که یک خط مشی بهینه باید دارای این خاصیت
باشد که بدون توجه به حالت اولیه و تصمیمات اولیه گرفته شده ،باقی
تصمیمات باید با درنظر گرفتن حالت ایجاد شده از تصمیمات اولیه به
خط مشی بهینه برسند.
25
Dynamic programming
26
خاصیت مارکف
وضعیت مرحله Stتمامی اطالعات الزم را در اختیار عامل قرار میدهد.
یعنی عامل به اطالعات دیگری نیاز ندارد.
بعبارت دیگر قرار گرفتن در یک وضعیت به معنای داشتن خالصه گذشته
عامل است و نیازی نیست تا از گذشته آن چیز دیگری بدانیم.
نمایش یک وضعیت میتواند شامل ورودیهای فوری ،ورودیهای پردازش شده
و یا ساختارهای داده ای باشد که در طول زمان از روی ورودی های حس
شده تشکیل شده باشند.
27
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
در مسائل MDPبا شرایطی مواجه هستیم که عامل میتواند Sحالت
مجزا را درمحیط تشخیص دهد.این عامل قادر به انجام Aعمل مجزا
میباشد.
در هر لحظه tعامل حالت stرا تشخیص داده و عمل atرا انجام
میدهد .
محیط در پاسخ به این عمل پاداش ) rt=(st,atرا به عامل میدهد و به
حالت بعدی ) st+1=d(st,atمیرود.
توابع r , dجزئی از محیط بوده و برای عامل ناشناخته هستند.
در MDPتوابع فقط به حالت و عمل فعلی بستگی داشته و از حالت
وعمل های قبلی مستقل است.
29
An Example Finite MDP
Recycling Robot
31
action node
Dynamic Programming
در واقع DPروشی برای حل مسایل MDPاست.
این روش نیازمند دانستن دینامیک کامل سیستم است(P and R).
پیاده سازی آن پرهزینه و معموال غیر عملی است
با مشکل نفرین ابعادی روبروست
تضمین شده که همگرا خواهد شد.
32
Reinforcement learning example
Start S2
Arrows indicate
strength between
two problem
S4 S3 states
Start maze …
S8 S7
S5 Goal
Start S2
The first response
leads to S2 …
Associative strength
= line width
S5 Goal
Start S2
Suppose the
randomly sampled
response leads to
S4 S3 S3 …
S8 S7
S5 Goal
Start S2
At S3, choices lead to
either S2, S4, or S7.
S4 S3 S7 was picked
(randomly)
S8 S7
S5 Goal
Start S2
By chance, S3 was
picked next…
S4 S3
S8 S7
S5 Goal
Start S2
Next response is S4
S4 S3
S8 S7
S5 Goal
Start S2
And S5 was chosen
next (randomly)
S4 S3
S8 S7
S5 Goal
Start S2
And the goal is
reached …
S4 S3
S8 S7
S5 Goal
Start S2
Goal is reached,
strengthen the
associative
connection between
S4 S3 goal state and last
response
Next time S5 is
reached, part of the
S8 S7 associative strength
is passed back to
S4...
S5 Goal
Start S2
Start maze again…
S4 S3
S8 S7
S5 Goal
Start S2
Let’s suppose after a
couple of moves, we
end up at S5 again
S4 S3
S8 S7
S5 Goal
Start S2
S5 is likely to lead to
GOAL through
strenghtened route
S4 S3 In reinforcement
learning, strength is
also passed back to
the last state
S5 Goal
Start S2
The situation after
lots of restarts …
S4 S3
S8 S7
S5 Goal
یادگیری خط مشی
اگر چه هدف نهائی یادگیری تقویتی یادگیری تابعی بصورت
*:SAاست با این وجود در عمل انجام آن بسیار مشکل
است زیرا مثالها بصورت > <s,aعرضه نمیشوند.
برای یادگیری خط مشی از دو تکنیک زیر استفاده خواهیم
کرد:
Value Function
46
Value Function
مقدار یک حالت عبارت است ازمجموع مقدار پاداشی که با
شروع از آن حالت و پیروی از خط مشی مشخصی که به
حالت نهائی ختم شود ،دریافت میگردد.
تابع مقدار یا Value Functionعبارت است از نگاشتی
از statesبه state valuesکه میتواند توسط هر تقریب
زننده تابع نظیر یک شبکه عصبی تخمین زده شود.
47
مثال
عامل دارای 4عمل مختلف است :حرکت به چپ ،به راست،
به باالو به پائین
پاداش برای تمامی حرکتها برابر -1است.
V (goal )=1
V (goal )=1
51
The Essence of Dynamic
Programming
هدف ازبکار گیری 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
52
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
الزمه اینکار دانستن تابع dو مقدار rاست .که در حالت
کلی برای عامل ناشناخته هستندو انتخاب عمل را مشکل
میسازند .لذا باید از تکنیک های دیگری استفاده نمود.
56
Residual Gradient Algorithms
دیدیم که چگونه میتوان تقریب تابع را از طریق جدول انجام داد.
57
استفاده از شبکه عصبی یرای تخمین تابع
مقدار
اگر تقریب ) V *(Stرا با ) V (St,Wtنشان دهیم که در آن Wt
بردار پارامترها باشد در اینصورت برای تغییر این پارامترها میتوان از
رابطه زیر استفاده نمود.
از آنجائیکه خروجی مطلوب نیز تابعی از Wtاست با تغییر بردار
پارامترها خروجی نیز تابعی از این مقدار جدید شده و این احتمال وجود
خواهد داشت که مقدار Bellman residualکاهش نیابد.
58
Residual Gradient Algorithms
یک راه حل این مسئله استفاده از تکنیک residual
gradient algorithmاست که در اینصورت برای تغییر
پارامترهای شبکه از رابطه زیر استفاده میشود:
59
Q-learning []Watkins,1989
60
Q-learning
در یادگیری Q –Learningبجای انجام یک نگاشت از Statesبه
مقادیر حالتها ،نگاشتی از زوج state/actionبه مقادیری کهQ-
valueنامیده میشوند انجام میگردد.
Q-Function
به هرزوج > حالت ،عمل <یک مقدار ) Q(s,aنسبت داده میشود .این مقدار
عبارت است از مجموع پاداشهای دریافت شده وقتی که از حالت Sشروع و
عمل aرا انجام وبدنبال آن خط مشی موجود را دنبال کرده باشیم.
تفاوت این روش با قبلی در اینجاست که نیازی به انجام تمامی اعمال ممکن یک
حالت نیست.
61
الگوریتم یادگیری Q
برای یادگیری تابع Qمیتوان از جدولی استفاده کرد که هر ورودی آن
یک زوج > <s,aبه همراه تقریبی است که یادگیر از مقدار واقعی Q
بدست آورده است.
مقادیر این جدول با مقدار اولیه تصادفی ) معموال صفر (پر میشود
عامل بطور متناوب وضعیت فعلی Sرا تشخیص داده و عملی مثل a
را انجام میدهد .سپس پاداش حاصله ) r(s,aو همچنین حالت جدید ناشی
از انجام عمل )s’=d(s,aرا مشاهده میکند.
مقادیر جدول با استفاده از رابطه زیر تغییر میکنند:
Q(s,a)r (s,a) max
Q s ,a
' '
'a 62
قطعیMDP برایQ الگوریتم یادگیری
For each s,a initialize the table entry Q(s,a) to zero
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
' '
a'
ss’
63
73
مثال
100
sl
66 81 در این مثال
مقادیر Qهرعمل/حالت در
کنار آن درج شده است
با هر حرکت عامل به سمت
90 100
راست پاداش صفر به آن تعلق
میگیرد.
اگر عامل از حالت slشروع
66 81
کرده و به سمت راست حرکت
کند مقدار جدید Qبرابر است
باQ(s,a)r (s,a) max Qs , a :
' '
'
a
00 0.9 max 66,81,100 64
0 90
مثال
65
اپیزود های یادگیری
از آنجائیکه در محیط یک حالت هدف جذب کننده absorbing state
در نظر گرفته میشود که با قرار گرفتن عامل درآن حرکت عامل متوقف
میشود ،عمل یادگیری بصورت اپیزودی انجام میشود.
در هر اپیزود عامل در یک محل تصادفی قرار داده میشود و تا رسیدن
به حالت جذبی به تغییر مقادیر Qادامه میدهد.
اگر مقادیر اولیه Qصفر در نظر گرفته شده باشند ،در هر اپیزود فقط
یکی از مقادیر که به مقدار نهائی نزدیکتر هستند تغییر کرده و بقیه
صفر باقی میمانند.
با افزایش تکرار اپیزود ها این مقادیر غیر صفر به سایر مقادیر جدول
گسترش پیدا کرده و درنهایت به مقادیر بهینه همگرا خواهند شد.
66
اثبات همگرائی
فرض های الزم:
مقدار خطا در مرحله n+1ام تغییر برابر خواهد بود با:
| )) '| Q n 1 ( s, a) Q( s, a) || (r max Q n ( s ' , a' )) | (r max Q n ( s ' , a
'a 'a
| ) ' | max Q n ( s' , a' ) max Q n ( s ' , a
'a 'a
| ) ' max | Q n ( s ' , a' ) Q n ( s ' , a 68
'a
n
نحوه انجام آزمایش
برای اینکه شرط همگرائی برقرار باشد باید هر عمل/حالت
بینهایت بار تکرار شود .
در یادگیری Qمعموالبرای انتخاب عمل ها از یک رابطه
احتماالتی استفاده میشود که در آن عمل های با مقادیر Qباال با
احتمال بیشتری انتخاب میشوند.
K>0ثابتی است که میزان ارجحیت عمل های با مقدار بزرگ Qرا مشخص میکند.
مقادیر بزرگ kمنجر به استفاده از دانش آموخته شده میگردد exploit
مقادیر کوچک kبه بقیه عمل ها شانس بیشتری میدهد . explore 69
یادگیری Qبرای MDPغیرقطعی
در یک سیستم deterministic MDPانجام یک عمل
مشخص در حالت Stهمواره به حالت بعدی یکسان St+1
منجر میشود.
در حالیکه در یک non-deterministic MDPاز یک
تابع توزیع احتمال برای تعیین حالت بعدی ناشی از انجام یک
عمل استفاده میشود.
در چنین حالتی توابع ) d(s,aو ) r(s,aدارای توزیع احتمال
بوده و بر اساس آن خروجی تصادفی خواهند داشت.
70
یادگیری Qبرای MDPغیرقطعی
برای حالت غیر قطعی تابع Qبصورت زیر بازنویسی میشود.
71
یادگیری Qبرای MDPغیرقطعی
برای رسیدن به همگرائی از قانون زیر استفاده میشود
' '
Qn (s, a) (1 n) Qn1(s, a) n r(s,a) max Q n1s ,a
حالت تعمیم یافته آنرا میتوان بصورت زیر نشان داد:
n
Q (s , a ) r r
t t t t 1 ... n 1
) rt n 1 max Q( st n , a
n
73
a
الگوریتم)TD(l
در این الگوریتم سعی میشود تا با معرفی ثابت 0=< l<=1
تخمین حاصله از فواصل مختلف را با هم ترکیب نمود
l
( st , at ) (1 l ) Q ( st , at ) l Q ( st , at ) l Q ( st , at ) ...
1 2 3
Q
2
این الگوریتم را میتوان بصورت بازگشتی زیر نوشت
75
ترکیب شبکه عصبی با یادگیری Q
در مواقعی که امکان ذخیره مقادیر Qدر جدول وجود نداشته باشد،
میتوان یک تابع تقریب زننده نظیر شبکه عصبی را جایگزین این جدول
نمود.
برای مثال میتوان مقادیر s,aرا بعنوان ورودیهای شبکه عصبی
درنظرگرفته و شبکه را طوری آموزش داد که مقادیرتقریبی Qرا در
خروجی ایجاد نماید.
دربرخی کاربردها استفاده از یک شبکه عصبی جداگانه برای هر یک
از عمل ها مفید بوده است.
باید توجه نمود که در صورت استفاده از شبکه عصبی احتمال عدم
همگرائی وجود خواهد داشت.زیرا تغییر در مقادیر وزنهای شبکه در
هنگام یادگیری میتواند منجر به افزایش خطا در مقادیر Qگردد.
76
مسایل مطرح در یادگیری تقویتی
یادگیری تقویتی با دو چالش عمده روبروست:
77
سیستمهای بزرگ
وقتی که سیستم خیلی بزرگ میشود ،یادگیری Qقادر به نمونه
برداری از تمامی زوجهای عمل/حالت نخواهد بود.
در چنین حالتی از دسته بندی کننده ها و ترکیب آنها با
الگوریتمهای ژنتیک استفاده میشود
استفاده از شبکه عصبی برای تقریب تابع در چنین حالتی
عملی نبوده و معموال از روشهای رگراسیون دیگری استفاده
میشود.
78
نتیجه گیری
یادگیری تقویتی را میتوان درهرمسئله ایکه بصورت MDP
قابل بیان باشد ،استفاده نمود.
برخالف یادگیری با ناظرنیازی به زوج ورودی/خروجی ندارد
در صورت ترکیب با شبکه های عصبی میتواند مسایل زیادی
را حل کند
79