Я пытаюсь создать агент обучения временной разнице для Отелло. В то время как остальная часть моей реализации, похоже, работает по назначению, мне интересно узнать о функции потерь, используемой для обучения моей сети. В книге Саттона «Обучение с подкреплением: введение» среднеквадратическая ошибка значения (MSVE) представлена как стандартная функция потерь. По сути, это среднеквадратическая ошибка, умноженная на распределение по политике. (Сумма по всем состояниям s ( onPolicyDistribution(s) ) * [V(s) - V'(s,w)]² ))
Теперь у меня вопрос: как мне получить это при распределении политики, если моя политика является электронной жадной функцией функции изученного значения? Это вообще необходимо и в чем проблема, если вместо этого я просто использую MSELoss?
Я реализую все это в pytorch, так что бонусные баллы за простую реализацию есть :)