Пространства действия переменной длины в DQN - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь реализовать (радужный) DQN для игры Hanabi и у меня есть несколько вопросов для работы с пространствами действий переменной длины (на каждом временном шаге только подмножество всех действий являются законными действиями, которые могут быть выбраны агентом).

В документации Ray предлагается установить Q-значения недопустимых действий для -inf в функции пересылки моделей. Это работает, но остальная часть кода теперь имеет дело со значениями -inf, и дуэль DQN больше не работает.

Вопрос: Почему бы просто не изменить политику выбора действий, чтобы выбрать только законные действия?

Стандартная политика:

argmax(Q(s,a)) where a in all_actions

Вместо этого:

argmax(Q(s,a)) where a in legal_actions

Возможные проблемы

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

Какое влияние будетэто делает? Что происходит с оценкой q-значения действий, которые никогда не предпринимаются?

Конечно, можно было бы также изменить расчет потерь. Но нужно ли это вообще?

...