3

Я реализовал Q обучения по сетке размера (n x n) с единственной наградой в 100 посередине. Агент узнает за 1000 эпох, чтобы достичь цели следующим агентством: он выбирает с вероятностью 0,8 ход с наивысшим значением действия состояния и выбирает случайный ход на 0,2. После перемещения значение действия состояния обновляется с помощью правила обучения Q.Изучение Q: Повторное обучение после изменения окружения

Теперь я сделал следующий эксперимент: все поля рядом с целью получили награду -100, за исключением соседнего внизу. После обучения в течение 1000 эпох агент явно избегает идти по верхнему пути и чаще всего достигает цели со дна.

После обучения установите награду нижнего соседа на -100 и верхний сосед обратно на 0 и снова начните обучение за 1000 эпох, придерживаясь карты значений состояния. Это на самом деле ужасно! Агент должен очень долго находить цель (на сетке 9x9 до 3 минут). После проверки путей, которые я видел, агент много времени перескакивает между двумя состояниями, такими как (0,0) -> (1,0) -> (0,0) -> (1,0) ...

Мне трудно представить, имеет ли это значение какой-либо смысл. Кто-то испытывает такую ​​ситуацию?

ответ

0

Я полагаю, что больше информации поможет мне быть более сердитым, но то, что вы описываете, - это то, что я ожидаю. Агент узнал (и узнал хорошо) конкретный путь к цели. Теперь вы изменили это. Моя кишка говорит мне, что это будет сложнее для агента, чем просто перемещение цели, потому что вы изменили , как вы хотите, чтобы цель была достигнута.

Вы можете увеличить случайность политики выбора действий для многих итераций после перемещения «стены». Это может сократить время, необходимое агенту для поиска нового пути к цели.

0

Это довольно типично для стандартного алгоритма Q-обучения. Как указана в Concurrent Q-Learning: ReinforcementLearning for Dynamic Goalsand Environments:

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

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

0

Можете ли вы предоставить код? Для меня это поведение выглядит удивительно.

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, но это «самообслуживание». В качестве альтернативы вы могли забыть вычесть старое значение в функции обновления

1

Q-learning зависит от исследования.

Если вы используете e-greedy, и вы значительно уменьшили эпсилон, маловероятно, что агент сможет адаптироваться.

Если ваши изменения в пространстве состояний находятся далеко от траектории, за которой следует научная политика, может оказаться трудно добраться до этих областей.

Я предлагаю вам взглянуть на ваши значения эпсилона и как быстро вы их уменьшаете с течением времени.