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


18

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

Вот мои вопросы:

  1. Существуют ли правила для того, чтобы сделать функции вознаграждения?
  2. Существуют ли другие формы функции вознаграждения? Например, полиномиальная форма, возможно, зависит от государства?

Ответы:


25

Функции вознаграждения описывают, как «должен» вести себя агент. Другими словами, они имеют «нормативное» содержание, определяющее, чего вы хотите, чтобы агент выполнил. Например, некоторый полезное состояние s может представлять вкус пищи. Или, возможно, (s,a) может представлять акт дегустации пищи. Таким образом, в той степени, в которой функция вознаграждения определяет мотивацию агента, да, вы должны это придумать!

Нет никаких абсолютных ограничений, но если ваша функция вознаграждения «лучше себя ведет», агент будет учиться лучше. Практически это означает скорость сходимости, а не застревание в локальных минимумах. Но дальнейшие спецификации будут сильно зависеть от вида обучения подкреплению, которое вы используете. Например, пространство состояния / действия непрерывно или дискретно? Мир или действие выбора стохастичны? Получается ли награда непрерывно или только в конце?

R(s1)=1
R(s2..n)=0
R(si)=1/я2р(s,a)р(s,a,s')р

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

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

На абстрактном уровне неконтролируемое обучение должно было исключить необходимость «правильного и неправильного» исполнения. Но теперь мы видим, что Р.Л. просто перекладывает ответственность с учителя / критика на функцию вознаграждения. Существует менее круговой способ решения проблемы: вывести наилучшую функцию вознаграждения . Один метод называется Inverse RL или «обучение ученичеству» , который генерирует функцию вознаграждения, которая будет воспроизводить наблюдаемое поведение. Поиск наилучшей функции вознаграждения для воспроизведения набора наблюдений также может быть реализован с помощью MLE, байесовских или информационно-теоретических методов - если вы заглянете в Google для «обучения обратному подкреплению».


Привет, почему проблема горного автомобиля зависит от времени?
GoingMyWay

Я полагаю, что проблема с горным автомобилем "зависит от времени" в том смысле, что проблема требует, чтобы сеть предоставила соответствующую последовательность команд или политику, которая определяет последовательность. Идея состоит в том, что если вы рассматриваете только «положение» как ваше состояние, тогда проблему трудно решить - вам также необходимо учитывать вашу скорость (или кинетическую энергию и т. Д.). Это действительно все, что я хотел сказать, в отношении выбора вашего пространства состояний с умом в зависимости от времени.
Санджай Манохар

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

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

Спасибо @NeilSlater, вы правы, я бы, наверное, сказал "создание" функции вознаграждения, а не ее нахождение. Что касается «функции стоимости», я обычно резервирую этот термин для отображений значения состояния или действия, то есть функции, которую агент использует для оценки оценки будущего вознаграждения. Таким образом, «ценность» связана с «вознаграждением», но вознаграждение является частью проблемы, а не алгоритма, решающего проблему. Возможно, акцент в искусственном интеллекте был сделан на том, чтобы продемонстрировать свой алгоритм обучения, предусмотрев двоичное, дистальное и редкое вознаграждение, но если у вас есть контроль над функцией вознаграждения, жизнь становится проще, если она «хороша».
Санджай Манохар

4

Разработка функций вознаграждения - действительно сложная задача. Как правило, функции с редким вознаграждением легче определить (например, получить +1, если вы выиграли игру, иначе 0). Тем не менее, редкие награды также замедляют обучение, потому что агент должен предпринять много действий, прежде чем получить какое-либо вознаграждение. Эта проблема также известна как проблема присвоения кредита .

Вместо того, чтобы иметь табличное представление для вознаграждений, вы также можете использовать непрерывные функции (например, полином). Обычно это тот случай, когда пространство состояний и пространство действий скорее непрерывно, чем дискретно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.