Почему тренажерный зал openai возвращает нулевое вознаграждение за состояние терминала?
В последнее время я много экспериментировал с Gym (и RL), и один интерес к спортзалу вызвал у меня интерес. Почему OpenAI Gym возвращает 0, даже когда игра окончена? Например, в Breakout-v0, когда все пять жизней потрачены, env.step вернется done=True
а также reward=0
, Разве мы не должны уведомлять агента, что такое состояние неблагоприятно, возвращая отрицательное подкрепление / вознаграждение?
Кроме того, за каждый шаг в среде (все еще Breakout-v0) он будет возвращать награду 0, если в это время не было уничтожено ни одного кирпича / блока. Так как же агент сможет отличить нормальное действие от плохого?
1 ответ
Вопрос 1: Награда не имеет значения, когда done == True
, Вы должны сбросить среду, позвонив env.reset()
когда done
,
Вопрос 2: Награды - это дисконтированные суммы за весь срок жизни траектории.