Значение дисконтного фактора при обучении подкреплению

10

После прочтения достижений Google Deepmind в играх Atari , я пытаюсь понять q-learning и q-network, но я немного запутался. Путаница возникает в концепции дисконтного фактора. Краткое резюме того, что я понимаю. Глубокая сверточная нейронная сеть используется для оценки значения оптимального ожидаемого значения действия. Сеть должна минимизировать функцию потерь где равно где - совокупное значение балла, а

Li=Es,a,r[(Es[y|s,a]Q(s,a;θi))2]
Es[y|s,a]
E[r+γmaxaQ(s,a;θi)|s,a]
Qrзначение оценки для выбора действия. и - соответственно, состояние и действие выбирают в момент времени а состояние и действие - в момент времени . суть веса сети на предыдущей итерации. является коэффициент дисконтирования , который учитывает временную разницу значений количественных показателей. Индекс является временным шагом. Проблема в том, чтобы понять, почему не зависит от .s,as,attθiγiγθ

С математической точки зрения является фактором дисконтирования и представляет вероятность достижения состояния из состояния .γss

Я предполагаю, что сеть действительно научится изменять масштаб соответствии с истинным значением , так почему бы не позволить ?Qγγ=1

Emanuele
источник

Ответы:

6

Коэффициент дисконтирования не представляет вероятности достижения состояния из состояния . Это будет , который не используется в Q-Learning, поскольку он не содержит моделей (только методы обучения с подкреплением на основе моделей используют эти вероятности перехода). Коэффициент дисконтирования - это гиперпараметр, настроенный пользователем, который представляет, насколько будущие события теряют свою ценность в зависимости от того, как далеко они находятся во времени. В приведенной формуле вы говорите, что значение для вашего текущего состояния представляет собой мгновенную награду за это состояние плюс то, что вы ожидаете получить в будущем, начиная сssp(s|s,a)γyss, Но этот будущий срок должен быть обесценен, потому что будущие вознаграждения могут не иметь (если ) то же значение, что и получение вознаграждения прямо сейчас (точно так же, как мы предпочитаем получать 100 долларов сейчас вместо 100 долларов завтра). Вы сами решаете, сколько вы хотите амортизировать ваши будущие награды (это зависит от проблемы). Коэффициент дисконтирования 0 будет означать, что вы заботитесь только о немедленном вознаграждении. Чем выше ваш коэффициент дисконтирования, тем дальше ваши награды будут распространяться во времени.γ<1

Я предлагаю вам прочитать книгу Саттона и Барто, прежде чем пробовать Deep-Q, чтобы научиться чистому обучению подкреплению вне контекста нейронных сетей, что может сбить вас с толку.

rcpinto
источник
Спасибо за ваш ответ, но у меня все еще есть некоторые сомнения. Я думаю вслух. Представьте, что на каждом этапе вы получаете оценку и вы должны платить чтобы начать игру. Как рассчитать ожидаемое значение? Ну, потому что вы добавляете значения в разные моменты в будущем, не так ли? dc
Ev=i=1+γidc
d
Эммануил
Хорошо, я сломаюсь, даже если каково правильное значение для ? Правильное значение для - это значение, которое позволяет мне найти компромисс между настоящим и фьючерсным вознаграждением, и это . - вероятность выжить на шаге , поэтому . Проверка - это где - это шансы выжить на каждом этапе и ожидаемая продолжительность жизни.
dγ1γ=c
γgammaγ=ppt0γ1p1p=ττ
Эммануил