Я получил псевдокод из курса Серебряного Обучения:
Critic Updates w by linear TD(0)
Actor Updates θ by policy gradient
function QAC
Initialise s, θ
Sample a ∼ πθ
for each step do
Sample reward r = R
sample transition s
0 ∼ Pa
Sample action a 0 ∼ πθ(s, a;0)
δ = r + γQw (s0, a0) − Qw (s, a)
θ = θ + α∇θ log πθ(s, a)Qw (s, a)
w ← w + βδφ(s, a)
a ← a0,s ← s0
end for
end function
Но я не понимаю, как вычислить Qw, πθ, сам.
Кроме того, я хочу запрограммировать его в среде gridWorld всего за 4 действия. Я не понимаю, как разделить плавающую политику только на 4 различных действия (вверх, вниз, влево, вправо)