Чому алгоритм ітерації політики переходить до оптимальної функції політики та значення?


10

Я читав конспекти лекцій Ендрю Нґ про навчання підкріплення, і я намагався зрозуміти, чому ітерація політики перейшла до функції оптимального значенняVта оптимальна політика .π

Нагадаємо, ітерація політики:

Initialize π randomlyRepeat{Let V:=Vπ \for the current policy, solve bellman's eqn's and set that to the current VLet π(s):=argmaxaAsPsa(s)V(s)}

Чому жадібний алгоритм призводить до оптимальної політики та функції оптимального значення? (Я знаю, що жадібні алгоритми не завжди гарантують це або можуть застрягти в локальних оптимах, тому я просто хотів побачити доказ його оптимальності алгоритму).

Крім того, мені здається, що ітерація політики є чимось аналогічним кластеризації чи градієнту. До кластеризації, оскільки з поточним налаштуванням параметрів ми оптимізуємо. Схожий на спуск градієнта, оскільки він просто вибирає якесь значення, яке, здається, збільшує деяку функцію. Ці два методи не завжди сходяться до оптимальних максимумів, і я намагався зрозуміти, чим цей алгоритм відрізняється від попереднього, про який я згадував.


Це мої думки поки що:

Скажімо, що ми починаємо з певної політики , після першого кроку для цієї фіксованої політики ми маємо таке:π1

Vπ1(с)=R(с)+γс'Псπ1(с)(с')Vπ1(с')

V(1): =Vπ1(с)

Де V ^ {(1)} функція значення для першої ітерації. Потім після другого кроку ми вибираємо нову політику для збільшення значення . Тепер, з новою політикою , якщо ми робимо другий крок алгоритму, виконується така нерівність:π2Vπ1(с)π2

R(с)+γс'Псπ1(с)(с')Vπ1(с')R(с)+γс'Псπ2(с)(с')Vπ1(с')

Тому що ми вибираємо на другому кроці для збільшення функції значення на попередньому кроці (тобто для поліпшення . Поки зрозуміло, що вибір може збільшити лише V ^ {(1)}, бо то , як ми вибираємо . Тим НЕ менше, моя плутанина відбувається на етапі повторення , тому що , як тільки ми повторимо і повернутися до кроку 1, ми на самому ділі змінити становище речей повністю , тому що ми перерахувати для нової політики . Що дає:π2V(1)π2π2V2π2

Vπ2(с)=R(с)+γс'Псπ2(с)(с')Vπ2(с')

але це НЕ:

Vπ1(с)=R(с)+γс'Псπ2(с)(с')Vπ1(с')

Це, здається, є проблемою, оскільки для покращення було обрано , а не цей новий . В основному проблема полягає в тому, що гарантує поліпшення , роблячи замість з коли функцією значення є . Але на етапі повтору ми змінюємо на , але я не бачу, як це гарантує, що функція значення монотонно покращується при кожному повторенні, оскільки розраховувались для поліпшення функції значення, коли функції значення залишаються уπ2V(1)Vπ2pi2R(с)+γс'Псπ1(с)(с')Vπ1(с')π2pi1Vπ1Vπ1Vπ2π2Vπ1, але крок 1 змінює на (що погано, оскільки я лише покращив попередню функцію значення, яку ми мали).Vπ1Vπ2π2


1
Лише зауваження: жадібний не означає, що алгоритм взагалі не знайде оптимального рішення.
Regenschein

1
Ітерація значення - це алгоритм динамічного програмування, а не жадібний. Вони поділяють деякі схожість, але існують відмінності. Погляньте на stackoverflow.com/questions/13713572/… .
francoisr

@francoisr мені ніколи цього не говорив. Можливо, тому для мене це було так (зайво) загадково. Я добре знаю DP. Дякую, хоча! :)
Піноккіо

Відповіді:


4

Я думаю, що тобі не вистачає тієї частини Vπ2Vπ1 гарантується з тієї ж причини, яку ми можемо замовити π2π1. Це, по суті, визначення того, що одна політика краща за іншу - щоб її ціннісна функція була більшою або рівною у всіх штатах. Ви гарантували це, вибравши максимізуючі дії - жодне значення стану не може бути гіршим, ніж було раніше, і якщо лише один вибір дій змінився, щоб вибрати кращу максимальну дію, то ви вже знаєте (але, можливо, не підрахували), щоVπ2(s) бо ця держава буде вищою, ніж була Vπ1(s).

Коли ми вирішимо максимізувати результати для отримання π2, ми не знаємо, що нового Vπ2(s) буде для будь-якої держави, але ми це знаємо s:Vπ2(s)Vπ1(s).

Тому повернення через цикл і обчислення Vπ2 для нової політики гарантується, що вона матиме ті ж самі або більші значення, що й раніше, і коли мова заходить про оновлення політики знову, π3π2π1.


4

Спочатку розберемося, чому працює алгоритм ітерації політики. Він має два кроки.

Крок оцінки політики:

vн=rгн+γПгнvн є загальною векторіальною формою системи лінійних рівнянь.

Ось умови rгн,Пгн є негайними нагородами та відповідними рядками перехідної матриці.

Ці умови залежать від політики Πн

Розв’язуючи вищевказану систему рівнянь, ми можемо знайти значення vн

Крок вдосконалення політики:

Припустимо, що нам вдалося знайти нову політику Πn+1 такий як

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[IγPdn+1]vnsay this is eqn. 1

Тепер, виходячи з нової політики Πn+1, ми можемо знайти vn+1=rdn+1+γPdn+1vn+1, скажімо, це рівняння 2.

Ми це покажемо vn+1vn ;

тобто по суті для всіх держав, новообрана політика Πn+1 дає кращу цінність порівняно з попередньою політикою Πn

Доказ:

З рівняння 2 маємо,

[IγPdn+1]vn+1=rdn+1

З, 1&2, ми маємо

vn+1vn

По суті, значення монотонно зростають з кожною ітерацією.

Це важливо, щоб зрозуміти, чому інтенсивність політики не буде затримуватися на локальному максимумі.

Політика - це не що інше, як простір дій держави.

На кожному кроці ітерації політики ми намагаємось знайти хоча б одну дію, яка відрізняється між собою Πn+1 і Πn і подивіться, чи rdn+1+γPdn+1vnrdn+γPdnvn. Тільки за умови виконання умови ми обчислимо рішення нової системи лінійних рівнянь.

Припустимо Π і Π# - глобальний та локальний оптимум відповідно.

Наслідки, vv#

Припустимо, що алгоритм дотримується локального оптимуму.

Якщо це так, то крок вдосконалення політики не зупиниться на місцевому оптимальному просторі дії держави Π#, оскільки існує хоча б одна державна дія в Росії Π що відрізняється від Π# і дає більш високе значення v у порівнянні з v#

або, іншими словами,

[IγPd]v[IγPd]v#

rd[IγPd]v#

rd+γPdv#v#

rd+γPdv#rd#+γPd#v#

Отже, ітерація політики не припиняється на локальному оптимальному рівні

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.