як зробити функцію винагороди у підкріпленні навчання


18

Під час вивчення навчання підсиленням я натрапив на багато форм функції винагороди: , і навіть функцію винагороди, яка залежить лише від поточного стану. Сказавши це, я зрозумів, що «зробити» або «визначити» функцію винагороди не дуже просто.R(s,a)R(s,a,s)

Ось мої запитання:

  1. Чи є правила, як зробити функції винагороди?
  2. Чи існують інші форми функції винагороди? Наприклад, поліноміальна форма, можливо, це залежить від стану?

Відповіді:


25

Функції винагороди описують, як агент "повинен" поводитися. Іншими словами, вони мають "нормативний" зміст, який визначає те, що ви хочете виконати агентом. Наприклад, деякий корисне стан s може представляти смак їжі. А може, (s,a) може представляти акт дегустації їжі. Отже, наскільки функція винагороди визначає, які мотивації агента, так, ви повинні це зробити!

Абсолютних обмежень немає, але якщо ваша функція винагороди "краще поводиться", агент навчиться краще. Практично це означає швидкість конвергенції, а не застрявання в локальних мінімумах. Але подальші технічні характеристики сильно залежатимуть від того, який тип підкріплення ви використовуєте. Наприклад, чи простір стану / дії є безперервним чи дискретним? Світ чи вибір дій стохастичний? Чи винагорода постійно збирається, або лише наприкінці?

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

R(s1)=1
R(s2..n)=0
У цьому випадку проблема, яку потрібно вирішити, є досить важкою, порівняно з, скажімо, R(si)=1/i2 , де є градієнт винагороди за станами. Для складних проблем, уточнюючи більш детальну інформацію, наприклад, R(s,a) або R(s,a,s) можуть допомогти деяким алгоритмам, надавши додаткові підказки, але, можливо, за рахунок необхідності більшого вивчення. Вам може знадобитися включити витрати як негативні терміни вR (наприклад,енергетичні витрати), щоб зробити проблему чітко визначеною.

У випадку безперервного простору стану, якщо ви хочете, щоб агент легко навчався, функція нагородження повинна бути безперервною і диференційованою . Тож поліноми можуть добре працювати для багатьох алгоритмів. Далі спробуйте видалити локалізовані мінімуми. Існує ряд прикладів того, як НЕ зробити функцію винагороди - як функція Rastrigin . Сказавши це, кілька алгоритмів RL (наприклад, машини Больцмана ) дещо надійні до них.

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

На абстрактному рівні непідконтрольне навчання повинно було ухилятися від умови виконання "правильних і неправильних" результатів. Але зараз ми бачимо, що РЛ просто перекладає відповідальність з викладача / критика на функцію винагороди. Існує менш круговий спосіб вирішення проблеми: тобто зробити найкращу функцію винагороди . Один метод називається зворотним RL або "учнем навчання" , який генерує функцію винагороди, яка б відтворювала спостережувані поведінки. Пошук найкращої функції винагороди для відтворення набору спостережень також може бути реалізований методами MLE, Bayesian або інформаційно-теоретичними методами - якщо ви використовуєте Google для "навчання зворотного підкріплення".


Привіт, чому проблема гірського автомобіля залежить від часу?
GoingMyWay

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

@SanjayManohar Я не думаю, що проблема гірського автомобіля не є "залежною від часу", якщо тільки залежно від часу ви не говорите про введення обмеженого часового горизонту. Положення та швидкість є достатніми.
користувач76284

Я думаю, що ця відповідь змішує функції винагороди та цінності. Наприклад, мова йде про "пошук" функції винагороди, яка може бути чимось, що ви робите в навчанні зворотного підкріплення, але не в RL, використовуваному для контролю. Крім того, мова йде про необхідність того, щоб функція винагороди була постійною та диференційованою, а це не тільки не потрібно, як правило, це не так. Ви набагато більше шансів знайти простий +1 для успіху або фіксований -1 за кожний крок, зроблений в літературі, ніж знайти якийсь ретельно побудований диференційований евристичний.
Ніл Слейтер

Дякую @NeilSlater, ти маєш рацію, напевно, я мав би сказати "конструювання" функції винагороди, а не пошуку її. Що стосується "значення функції", я зазвичай резервую цей термін для відображення стану-значення або дії-значення, тобто функції, яку агент використовує для оцінювання майбутньої винагороди. Отже, "цінність" пов'язана з "винагородою", але винагорода є частиною проблеми, а не алгоритмом вирішення проблеми. Можливо, акценти в AI були на демонстрації алгоритму навчання, передбачаючи бінарні, дистальні, рідкісні нагороди - але якщо у вас є контроль над функцією винагороди, життя простіше, якщо це "приємно".
Санджай Манохар

4

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

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

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