Soft Q-Learning(SQL)
在离散的状态空间和动作空间下,基于 Q-Learning 的思想可以利用 TD 差分来更新 Q 表:
q(st, at)←q(st, at)+β[rt+1+γasoftmaxαq(st+1, a)−q(st, at)]
在连续状态空间下,基于 DQN 的思想可以使用贝尔曼最优算子下的 TD 误差的平方作为损失函数:
ℓ(w)=2n1i=1∑n[qw(si, ai)−(ri+γasoftmaxαqw−(si′, a))]2
而在动作空间连续时,TD 目标里的 softmax 项需要通过重要性采样转化为期望形式来适应随机优化:
v(s)=asoftmaxαq(s, a)=αln∫Ap~(b)1exp[α1q(s, b)]p~(b)db=αlnEb∼p~(⋅)[p~(b)1exp[α1q(s, b)]]
其中,p~(⋅) 可以是任意的分布,但一般选做当前的策略分布 p~(⋅)=π(⋅∣s)∝exp[α1q(s, ⋅)]。由于动作空间连续,难以直接通过 qw(s, a) 进行采样,因此需要通过随机策略网络 πθ(a=fθ(ξ; s)∣s) 和重采样来近似:
θminJ(θ∣s)=DKL[πθ(⋅∣s)∥∥∥∥∥exp[α1qw(s, ⋅)−α1vw(s)]]
利用 SVGD(Stein Variational Gradient Descent)可以得到 KL 散度对策略分布参数的梯度:
∇θJ(θ∣s)∝Eξ[Δfθ(ξ; s)∇θfθ(ξ; s)]=Eξ[Ea∼πθ(⋅∣s)[κ(a, fθ(ξ; s))∇aqw(s, a)+α∇aκ(a, fθ(ξ; s))]∇θfθ(ξ; s)]