Расчет обновлений в SARSA с обратной ориентацией - PullRequest
0 голосов
/ 13 сентября 2018

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

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

псевдокод Sarsa (λ) с обратной стороны

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

...