Розуміння ролі коефіцієнта знижок у зміцненні навчання


43

Я вчу себе про навчання підкріпленням і намагаюся зрозуміти поняття винагороди зі знижкою. Отже, нагорода необхідна, щоб сказати системі, які пари "держава-дія" є хорошими, а які - поганими. Але я не розумію, чому необхідна винагорода зі знижкою. Чому має значення, чи буде досягнутий хороший стан швидше, ніж пізніше?

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

Але в більшості випадків я не бачу, чому знижка корисна. Наприклад, скажімо, ви хотіли, щоб робот навчився орієнтуватися по кімнаті, щоб дістатися до іншої сторони, де є штрафні санкції, якщо він стикається з перешкодою. Якби не було коефіцієнта знижки, то він би навчився ідеально доходити до іншої сторони, не стикаючись з жодними перешкодами. Може дістати багато часу, щоб дістатися, але зрештою дістанеться.

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

Тож моя інтуїція полягає в тому, що будь-яка форма коефіцієнта знижки насправді призведе до неоптимального рішення. І вибір коефіцієнта знижки часто здається довільним - багато методів, які я бачив, просто встановлюють його на 0,9. Мені це здається дуже наївним і, здається, дає довільну компромісію між оптимальним рішенням та найшвидшим рішенням, тоді як насправді цей компроміс дуже важливий.

Будь ласка, хтось може допомогти мені зрозуміти все це? Дякую :)

Відповіді:


36

TL; DR.

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

На практиці коефіцієнт знижки може бути використаний для моделювання того факту, що особа, яка приймає рішення, не впевнена, якщо в наступний момент мит світу (наприклад, середовище / гра / процес ) закінчиться.

Наприклад:

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

Коефіцієнт знижки менше 1 (Детально)

Для того щоб відповісти точніше, чому ставка дисконтування має бути меншою, ніж одна, я спершу введу Марківські рішення (MDP).

Технології навчального підкріплення можуть бути використані для вирішення МДП. ПДР забезпечує математичну основу для моделювання ситуацій прийняття рішень, коли результати частково випадкові та частково підконтрольні особі, яка приймає рішення. MDP визначається через простір стану S , простір дії A , функцію ймовірностей переходу між станами (зумовлену дією, прийнятою особою, що приймає рішення), і функцію винагороди.

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

Нагорода Rai(sj,sk) отримується при вживанні дій ai в стані sj а середовище / система змінюється на стан sk після того, як ухвалюючий рішення вживає дій ai . Виробник рішення дотримується політики π π():SA , яка для кожного стану sjS здійснює дію aiA. Так що політика - це те, що вказує особі, яка приймає рішення, які дії потрібно вжити в кожній державі. Політика π може бути рандомізованою, але наразі це не має значення.

Мета - знайти політику π таку, що

maxπ:S(n)ailimTE{n=1TβnRxi(S(n),S(n+1))}(1),
ββ<1

Зауважимо, що проблема оптимізації, зазначена вище, має нескінченний часовий горизонт ( ), а мета - максимально збільшити суму винагороди (винагорода множиться на ). Зазвичай це називається проблемою MDP з нескінченними критеріями винагороди, дисконтованими за горизонт .TdiscountedRβn

Проблема називається дисконтованою, оскільки . Якби не проблема зі знижкою сума не збігалася б. Усі політики, які отримують в середньому позитивну винагороду в кожен момент, підсумовують нескінченність. Це були б нескінченними критеріями винагороди суми горизонту , і не є хорошими критеріями оптимізації.β<1β=1

Ось іграшковий приклад, щоб показати вам, що я маю на увазі:

Припустимо, що є лише дві можливі дії і що функція винагороди дорівнює якщо , і якщо (винагорода не залежить від стану).a=0,1R1a=10a=0

Зрозуміло, що політика, яка отримує більше винагороди, полягає в тому, щоб завжди діяти і ніколи не діяти . Я буду називати цю політику . Я порівняю з іншою політикою яка вживає дії з малою ймовірністю , а дія іншому випадку.a=1= 0 π * π * π ' = 1 α < < 1 = 0a=0πππa=1α<<1a=0

У нескінченному горизонті рівняння дисконтованих критеріїв винагороди (1) стає (сума геометричного ряду) для політики а для рівняння рівняння (1) стає . Оскільки , ми говоримо, що є кращою політикою, ніж . Насправді - оптимальна політика.11βππα1β11β>α1βπππ

У нескінченному горизонті критерії винагороди ( ) рівняння (1) не збігається для жодної з політик (підсумовує до нескінченності). Отже, тоді як політика отримує вищі нагороди, ніж обидві політики рівні за цими критеріями. Це одна з причин, чому критерії винагороди за нескінченну суму горизонту не є корисними.β=1ππ

Як я вже згадував, робить фокус зближення суми в рівнянні (1).β<1

Інші критерії оптимальності

Є й інші критерії оптимальності, які не нав'язують :β<1

У випадку критеріїв кінцевих горизонтів ціль полягає в тому, щоб максимально знизити винагороду до тих пір, поки горизонт часуT

maxπ:S(n)aiE{n=1TβnRxi(S(n),S(n+1))},

для і кінцевих.β1T

У критеріях середнього рівня винагороди для нескінченного горизонту мета -

maxπ:S(n)ailimTE{n=1T1TRxi(S(n),S(n+1))},

Кінцева примітка

Залежно від критеріїв оптимальності, можна використовувати інший алгоритм для пошуку оптимальної політики. Для прикладів оптимальна політика проблем кінцевого горизонту залежатиме як від стану, так і від фактичного моменту часу. Більшість алгоритмів зміцнення навчання (наприклад, SARSA або Q-навчання) сходяться до оптимальної політики лише за критеріями нескінченного горизонту безмежної винагороди (те саме відбувається з алгоритмами програмування динамічного програмування). Для середніх критеріїв винагороди не існує алгоритму, який би показав, що він збігається до оптимальної політики, однак можна використовувати R-навчання, які мають хороші показники, хоча і не хороші теоретичні конвергенції.


1
Будь-яка ідея про те, що я повинен прочитати, щоб зрозуміти всі китайці у вашій відповіді?
thibaut noah

@thibautnoah Це найкраща довідка ІМХО щодо навчального підкріплення: вступ від Саттона та Барто. [ people.inf.elte.hu/lorincz/Files/RL_2006/SuttonBook.pdf]
PolBM

дякую товаришу, напевно, знадобиться ще одна книга з математики, але я думаю, це початок;)
Thibaut

6

Ви маєте рацію, що коефіцієнт знижки (так звана - зауважте, що це відрізняється від від TD- ) діє як "нагальність життя" і тому є частиною проблеми - як і в людське життя: Деякі люди живуть так, ніби вони будуть жити вічно; деякі люди живуть так, ніби завтра помруть.λ λγλλ


2

TL; DR: Коефіцієнти знижок пов'язані з часовим горизонтом. Більш тривалі часові горизонти мають набагато більшу дисперсію, оскільки вони містять більше нерелевантної інформації, тоді як короткочасні горизонти є упередженими лише до короткочасних вигод.

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

То чому б вам не хотілося завжди робити якомога вище? Ну, більшість дій не мають тривалих наслідків. Наприклад, припустимо, що в перший день кожного місяця ви вирішили пригостити себе льстетом, і вам доведеться вирішити, чи отримаєте ви чорничний пюре або полуничний пюре. Як хороший підкріплювач, ви оцінюєте якість свого рішення за тим, наскільки великими будуть ваші наступні винагороди. Якщо ваш часовий горизонт дуже короткий, ви будете враховувати лише негайну винагороду, наприклад, наскільки смачним є ваш льстец. З довшим часовим горизонтом, як, наприклад, кілька годин, ви можете також враховувати такі речі, як у вас розлад шлунку чи ні. Але якщо ваш часовий горизонт триває цілий місяць, то кожна річ, яка змушує вас почувати себе добре чи погано протягом цілого місяцяγврахує, чи ви прийняли правильне рішення льстец чи ні. Ви будете брати до уваги велику кількість невідповідної інформації, а тому ваше судження матиме величезну дисперсію, і це буде важко дізнатися.

Вибір певного значення еквівалентний вибору часового горизонту. Це допомагає переписати знижку винагороди агента як де я ідентифікую і . Значення явно показує часовий горизонт, пов'язаний з коефіцієнтом дисконту; відповідає , і будь-які винагороди набагато більше, ніжγG

Gt=Rt+γRt+1+γ2Rt+2+=k=0γkRt+k=Δt=0eΔt/τRt+Δt
γ=e1/τkΔtτγ=1τ=τчасові кроки у майбутньому експоненціально придушуються. Як правило, слід вибрати коефіцієнт знижки таким чином, щоб часовий горизонт містив усі відповідні винагороди за певну дію, але не більше.

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