یادگیری تقویتی 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 1rt 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
یادگیری خط مشی
اگر چه هدف نهائی یادگیری تقویتی یادگیری تابعی بصورت
*:SAاست با این وجود در عمل انجام آن بسیار مشکل
است زیرا مثالها بصورت > <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
ss’
a'
'
Q s ,a
'
63
مثال
73
100
در این مثال
مقادیر Qهرعمل/حالت در
کنار آن درج شده است
با هر حرکت عامل به سمت
راست پاداش صفر به آن تعلق
میگیرد.
اگر عامل از حالت slشروع
کرده و به سمت راست حرکت
کند مقدار جدید Qبرابر است
باQ(s,a)r (s,a) max Qs , a :
'
'
64
'
a
00 0.9 max66,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باال با
احتمال بیشتری انتخاب میشوند.
Qs ,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) Er (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 1s ,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 n1 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
قابل بیان باشد ،استفاده نمود.
برخالف یادگیری با ناظرنیازی به زوج ورودی/خروجی ندارد
در صورت ترکیب با شبکه های عصبی میتواند مسایل زیادی
را حل کند