Расчет обновлений в SARSA с обратной ориентацией

Я работаю над заданием по программированию из курса RL Дэвида Сильвера (после просмотра всех 10 его лекций), сейчас пытаюсь реализовать Sarsa(λ).

В то время как обычные и перспективные версии Sarsa кажутся мне достаточно понятными, у меня возникают проблемы с получением некоторой интуиции за механизмом обновления в Sarsa с обратной ориентацией. Согласно этому слайду (взятому из лекций Дэвида Сильвера), мы вычисляем термин ошибки () с использованием самых последних состояний и действий, но затем обновляем все значения Q для всех прошлых пар состояние-действие в этом эпизоде:

Псевдокод Sarsa (λ) с обратной ориентацией

Какова логика обновления ВСЕХ прошлых пар состояние-действие (в данном эпизоде) в направлении самой последней ошибки TD? Что если они ошибаются, но в противоположном направлении? Например, если мы играем в игру, и в какой-то момент мы должны идти вверх и затем вниз, чтобы перепрыгнуть через препятствие, не попытается ли алгоритм в какой-то момент обновить действие "вверх" в направлении действия "спуска"?

0 ответов

Другие вопросы по тегам