Я использую алгоритм DQN для обучения агента в своей среде, который выглядит следующим образом:
- Агент управляет автомобилем, выбирая дискретные действия (влево, вправо, вверх, вниз).
- Цель - проехать с желаемой скоростью, не врезаясь в другие машины.
- Состояние содержит скорость и положение машины агента и окружающих машин.
- Награды: -100 за столкновение с другими автомобилями, положительная награда в зависимости от абсолютной разницы с желаемой скоростью (+50 при движении с желаемой скоростью).
Я уже настроил некоторые гиперпараметры (сетевая архитектура, исследование, скорость обучения), которые дали мне некоторые результаты спуска, но все еще не так хороши, как должны / могли бы быть. Награды за эпизод увеличиваются во время тренировки. Q-значения также сходятся (см. Рисунок 1). Однако для всех различных настроек гиперпараметра Q-потери не сходятся (см. Рисунок 2 ). Я предполагаю, что отсутствие сходимости Q-потерь может быть ограничивающим фактором для лучших результатов.
Q-значение одного дискретного действия для тренировки
Я использую целевую сеть, которая обновляется каждые 20 тысяч временных шагов. Q-потери рассчитываются как MSE.
У вас есть идеи, почему Q-потеря не сходится? Должна ли Q-Loss сходиться для алгоритма DQN? Мне интересно, почему Q-потеря не обсуждается в большинстве статей.