Функції винагороди описують, як агент "повинен" поводитися. Іншими словами, вони мають "нормативний" зміст, який визначає те, що ви хочете виконати агентом. Наприклад, деякий корисне стан 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 для "навчання зворотного підкріплення".