Q обучение: переучивание после изменения среды
Я реализовал Q обучение на сетке размера (n x n) с единственной наградой 100 в середине. Агент учится за 1000 эпох достичь цели следующим агентством: он выбирает с вероятностью 0,8 ход с наибольшим значением состояния-действия и выбирает случайный ход на 0,2. После перемещения значение состояния-действия обновляется правилом обучения Q.
Теперь я выполнил следующий эксперимент: все поля рядом с целью получили вознаграждение -100, кроме соседа внизу. После изучения 1000 эпох агент явно избегает идти верхом и чаще всего достигает цели снизу.
После обучения установите вознаграждение для нижнего соседа равным -100, а для верхнего соседа - 0 и снова начните обучение для 1000 эпох, придерживаясь карты значений действия состояния. Это на самом деле ужасно! Агенту нужно очень долго, чтобы найти цель (на сетке 9x9 до 3 минут). После проверки путей, которые я видел, агент проводит много времени, прыгая между двумя состояниями, такими как (0,0)->(1,0)->(0,0)->(1,0)...
Мне трудно представить, имеет ли такое поведение какой-либо смысл. Кто-нибудь сталкивался с такой ситуацией?
4 ответа
Q-обучение зависит от исследования.
Если вы используете e-жадность и значительно сократили эпсилон, маловероятно, что агент сможет адаптироваться.
Если ваши изменения в пространстве состояний далеки от той траектории, по которой следует изученная политика, вам может быть трудно достичь этих областей.
Я бы посоветовал вам посмотреть на ваши значения эпсилон и как быстро вы уменьшаете их с течением времени.
Можете ли вы предоставить код? Для меня это поведение выглядит удивительно.
Imho Агент должен быть в состоянии отучиться от ранее усвоенных знаний. И не должно быть чего-то вроде "уверенности" в обучении подкреплению. Сетка выглядит как
00000
00--0
0-+-0
0---0
00000
в последней попытке. Вероятность случайного попадания в цель по кратчайшему пути 0.2*1/3 * (0.8+0.2*1/9)
, В основном случайно идет по диагонали, а затем идет вниз. Следовательно, алгоритмы должны медленно обновлять Q
ценность государства (1,1)
, На самом деле значение обновления этого значения в 5%
, Если ваша скорость обучения не слишком низкая, она в конечном итоге обновится. Обратите внимание, что все другие пути, достигающие цели, будут медленно тянуть другой путь к нулю.
Вы заявили, что он прыгает между первыми двумя государствами. Это указывает на то, что у вас нет коэффициента скидки. Это может привести к ситуации, когда два государства (0,0)
а также (1,0)
иметь довольно хороший Q
ценность, но это "само-вознаграждение". В качестве альтернативы вы могли забыть вычесть старое значение в функции обновления
Я полагаю, что больше информации поможет мне быть более уверенным, но то, что вы описываете, - это то, что я ожидал. Агент узнал (и хорошо усвоил) конкретный путь к цели. Теперь вы изменили это. Моя интуиция говорит мне, что агенту будет сложнее, чем просто перемещать цель, потому что вы изменили то, как вы хотите, чтобы она достигла цели.
Вы можете увеличить случайность политики выбора действий для многих итераций после перемещения "стены". Это может сократить время, необходимое агенту для поиска нового пути к цели.
Это довольно типично для стандартного алгоритма Q-обучения. Как указано в Одновременном Q-Learning: Укрепление обучения для динамических целей и сред:
Показано, что методы обучения с подкреплением, такие как временное разностное обучение, показывают хорошую производительность в задачах, связанных с переходом к определенной цели. Однако, если местоположение цели перемещается, ранее извлеченная информация мешает поиску нового местоположения цели, и производительность соответственно снижается.
Однако существуют разные алгоритмы, например, описанный в статье выше, которые в такой ситуации работают намного лучше.