Функции вознаграждения описывают, как «должен» вести себя агент. Другими словами, они имеют «нормативное» содержание, определяющее, чего вы хотите, чтобы агент выполнил. Например, некоторый полезное состояние s может представлять вкус пищи. Или, возможно, (s,a) может представлять акт дегустации пищи. Таким образом, в той степени, в которой функция вознаграждения определяет мотивацию агента, да, вы должны это придумать!
Нет никаких абсолютных ограничений, но если ваша функция вознаграждения «лучше себя ведет», агент будет учиться лучше. Практически это означает скорость сходимости, а не застревание в локальных минимумах. Но дальнейшие спецификации будут сильно зависеть от вида обучения подкреплению, которое вы используете. Например, пространство состояния / действия непрерывно или дискретно? Мир или действие выбора стохастичны? Получается ли награда непрерывно или только в конце?
R(s1)=1
R(s2..n)=0
R(si) = 1/i2р ( s , a )R ( s , a , s)')р
В случае непрерывного пространства состояний, если вы хотите, чтобы агент легко учился, функция вознаграждения должна быть непрерывной и дифференцируемой . Таким образом, многочлены могут хорошо работать для многих алгоритмов. Далее попробуйте убрать локализованные минимумы. Существует ряд примеров того, как НЕ создавать функцию вознаграждения, например, функцию Растригина . Сказав это, несколько алгоритмов RL (например, машины Больцмана ) несколько устойчивы к ним.
Если вы используете RL для решения реальной проблемы, вы, вероятно, обнаружите, что, хотя поиск функции вознаграждения является самой сложной частью проблемы, она тесно связана с тем, как вы определяете пространство состояний . Например, в зависимости от времени, расстояние до цели часто создает плохую функцию вознаграждения (например, в проблеме с горным автомобилем ). Такие ситуации могут быть решены с помощью пространств состояний более высокой размерности (скрытых состояний или следов памяти) или иерархической RL.
На абстрактном уровне неконтролируемое обучение должно было исключить необходимость «правильного и неправильного» исполнения. Но теперь мы видим, что Р.Л. просто перекладывает ответственность с учителя / критика на функцию вознаграждения. Существует менее круговой способ решения проблемы: вывести наилучшую функцию вознаграждения . Один метод называется Inverse RL или «обучение ученичеству» , который генерирует функцию вознаграждения, которая будет воспроизводить наблюдаемое поведение. Поиск наилучшей функции вознаграждения для воспроизведения набора наблюдений также может быть реализован с помощью MLE, байесовских или информационно-теоретических методов - если вы заглянете в Google для «обучения обратному подкреплению».
Разработка функций вознаграждения - действительно сложная задача. Как правило, функции с редким вознаграждением легче определить (например, получить +1, если вы выиграли игру, иначе 0). Тем не менее, редкие награды также замедляют обучение, потому что агент должен предпринять много действий, прежде чем получить какое-либо вознаграждение. Эта проблема также известна как проблема присвоения кредита .
Вместо того, чтобы иметь табличное представление для вознаграждений, вы также можете использовать непрерывные функции (например, полином). Обычно это тот случай, когда пространство состояний и пространство действий скорее непрерывно, чем дискретно.
источник