Отрицательные награды в QLearning - PullRequest
5 голосов
/ 04 декабря 2009

Давайте предположим, что мы находимся в комнате, где наш агент может двигаться вдоль осей xx и yy. В каждой точке он может двигаться вверх, вниз, вправо и влево. Таким образом, наше пространство состояний может быть определено как (x, y), а наши действия в каждой точке заданы (вверх, вниз, вправо, влево). Давайте предположим, что когда наш агент выполняет действие, которое заставит его ударить стену, мы дадим ему отрицательное вознаграждение -1, и вернем его в то состояние, в котором он был раньше. Если он находит в центре комнаты марионетку, он получает +10 к награде.

Когда мы обновляем наше QValue для данной пары состояние / действие, мы видим, какие действия можно выполнить в новом состоянии, и вычисляем, какое максимальное значение QValue можно получить, поэтому мы можем обновить наши Q (s). , а) значение для нашего текущего состояния / действия. Это означает, что если у нас есть целевое состояние в точке (10, 10), то все состояния вокруг него будут иметь QValue, который будет немного меньше и меньше по мере того, как они будут дальше. Теперь, по отношению к стенам, мне кажется, что это не так.

Когда агент попадает в стену (предположим, что он находится в позиции (0, 0) и выполнил действие ВВЕРХ), он получит за это состояние / действие вознаграждение -1, получая, таким образом, QValue -1.

Теперь, если позже я нахожусь в состоянии (0, 1) и предполагаю, что все другие действия состояния (0,0 0) равны нулю, при вычислении значения QValue (0, 1) для действия ВЛЕВО, это будет вычислено следующим образом:

Q([0,1], LEFT) = 0 + gamma * (max { 0, 0, 0, -1 } ) = 0 + 0 = 0

Это означает, что попадание в стену не распространяется на соседние состояния, в отличие от того, что происходит, когда у вас есть положительные состояния вознаграждения.

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

Это ожидаемое поведение QLearning? Разве плохие награды не должны быть такими же важными, как положительные? Каковы «обходные пути» для этого?

Ответы [ 3 ]

5 голосов
/ 04 декабря 2009

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

Является ли это преднамеренным или непреднамеренным, я не знаю.

2 голосов
/ 04 декабря 2009

Вы можете избежать отрицательных наград, увеличив награду по умолчанию с 0 до 1, награду за цель с 10 до 11 и штраф с -1 до 0.

Существует множество научных публикаций по Q-learning, поэтому я уверен, что есть и другие формулировки, которые допускают отрицательную обратную связь.

EDIT: Я исправлен, это не меняет поведение, как я говорил ранее. Мой мыслительный процесс состоял в том, что формулировку с отрицательной обратной связью можно заменить на одну без.

Причина, по которой вы наблюдаете, заключается в том, что у вас нет неопределенности относительно результата ваших действий или состояния, в котором он находится, поэтому ваш агент всегда может выбрать действие, которое, по его мнению, имеет оптимальное вознаграждение (таким образом, максимальное значение Q для всех будущие действия). Вот почему ваш отрицательный отзыв не распространяется: агент просто избежит этого действия в будущем.

Если, однако, ваша модель будет включать неопределенность в отношении результата ваших действий (например, всегда есть вероятность 10% двигаться в случайном направлении), ваше правило обучения должно интегрироваться во все возможные будущие награды (в основном, заменяя максимум на взвешенную сумму). В этом случае отрицательная обратная связь также может распространяться (вот почему я подумал, что это возможно: р). Примерами таких моделей являются POMDP .

0 голосов
/ 15 декабря 2017

Ответ на ваш вопрос содержится в книге «Обучение усилению: введение», в которой есть раздел «Смещение до максимума и двойное обучение».

Алгоритм «Q-Learing» имеет недостаток, в котором максимальное превышение оценочных значений неявно используется в качестве оценки максимального значения, что может привести к значительному положительному смещению.

Алгоритм "двойного Q-обучения" позволяет избежать предвзятости максимизации и решить ваш вопрос, где вам нужно выучить две независимые оценки, называемые Q_1 (a) и Q_2 (a). Здесь я вставляю псевдокод для вас: Двойное Q-Learning

...