Я учусь Reinforcement Learning
, и я сталкиваюсь с проблемой понимания разницы между SARSA, Q-Learning, ожидаемой SARSA, Double Q Learning и временной разницей. Можете ли вы объяснить разницу и сказать, когда использовать каждый? И как влияет на e-жадный и жадный ход?
САРСА:
Я в состоянии St
, действие выбирается с помощью политики, поэтому оно переводит меня в другое состояние St+1
В зависимости от политики в состоянии St+1
выполняется действие, поэтому мое Reward
в St
будет обновлено из-за ожидаемого Reward
в состоянии просмотра в будущее St+1
.
Q(S, A) ← Q(S, A) + α[ R + γQ(S , A ) − Q(S, A)]
Q-Learning:
Я нахожусь в состоянии St
, действие было выбрано с помощью политики, поэтому оно заставляет меня заявить St+1
, на этот раз оно не будет зависеть от политики, вместо этого оно будет соблюдать максимум ожидаемого Reward
(жадный Reward
) в состоянии St+1
и через него будет обновляться награда состояния St
.
Q(S, A) ← Q(S, A) + α [R + γ max Q(S , a) − Q(S, A)]
Ожидаемая САРСА:
это будет то же самое, что Q-learning вместо обновления моего Reward
с помощью жадного движения в St+1
Я получаю ожидаемое вознаграждение за все действия:
Q(St , At) ← Q(St , At) + α[Rt+1 + γE[Q(St+1, At+1)|St+1] − Q(St , At)]
Временная разница:
Текущий Reward
будет обновлен с использованием наблюдаемого вознаграждения Rt+1
и оценочного значения V(St+1)
При timepoint t + 1
:
V (St) ← V (St) + α[Rt+1 + γV (St+1) − V (St)]
это правда, что я получил или я что-то упустил? А как насчет Double Q Learning?
С вероятностью 0,5:
Q1(S, A) ← Q1(S, A) + α R + γQ2 S , argmaxa Q1(S , a) − Q1(S, A)
остальное:
Q2(S, A) ← Q2(S, A) + α R + γQ1 S , argmaxa Q2(S , a) − Q2(S, A)
Может кто-нибудь объяснить это, пожалуйста !!