2009-12-04 5 views
4

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

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

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

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

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

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

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

Является ли это ожидаемым поведением QLearning? Должны ли плохие награды быть столь же важными, как и положительные? Что такое «обход» для этого?

+0

Это вопрос * Программирование * или * Теория * вопрос? – Sampson

ответ

2

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

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

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

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

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

+0

Это действительно хорошая идея. –

+1

Не могли бы вы рассказать о том, как вы думаете, что это работает? Потому что это не так. В вашем случае max() будет показывать 1 (значение по умолчанию), даже если вы уменьшите некоторые (но не все) компоненты. –

+0

Фактически теперь, когда я думаю об этом, он заставит агента хотеть перейти к (перед) отрицательным состояниям вознаграждения, так как они выше 0 (значение по умолчанию для пустой таблицы qvalue). –

4

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

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

+0

Это хороший вывод, да. –

0

На ваш вопрос ответили в книге «Укрепление обучения: введение», в котором есть раздел «Максимизация и двойное обучение».

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

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

Смежные вопросы