Вопрос

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

Когда мы обновляем наше QValue для данной пары состояние / действие, мы видим, какие действия могут быть выполнены в новом состоянии, и вычисляем, какое максимальное QValue возможно получить там, чтобы мы могли обновить наше значение Q (s, a) для нашего текущего состояния / действия.Это означает, что если у нас есть целевое состояние в точке (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?Разве плохие награды не должны быть так же важны, как и положительные?Каковы "обходные пути" для этого?

Это было полезно?

Решение

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

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

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

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

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top