Soft Q-Learning

Soft Q-Learning(SQL)

在离散的状态空间和动作空间下,基于 Q-Learning 的思想可以利用 TD 差分来更新 Q 表:

q(st, at)q(st, at)+β[rt+1+γsoftmaxαaq(st+1, a)q(st, at)]q(s_{t},\ a_{t}) \leftarrow q(s_{t},\ a_{t}) + \beta \Big[ r_{t + 1} + \gamma \underset{a}{\operatorname{softmax}_{\alpha}} q(s_{t + 1},\ a) - q(s_{t},\ a_{t}) \Big]

在连续状态空间下,基于 DQN 的思想可以使用贝尔曼最优算子下的 TD 误差的平方作为损失函数:

(w)=12ni=1n[qw(si, ai)(ri+γsoftmaxαaqw(si, a))]2\ell(w) = \frac{1}{2n} \sum_{i = 1}^{n} \Big[ q_{w}(s_{i},\ a_{i}) - \Big( r_{i} + \gamma \underset{a}{\operatorname{softmax}_{\alpha}} q_{w^{-}}(s_{i}',\ a) \Big) \Big]^{2}

而在动作空间连续时,TD 目标里的 softmax\operatorname{softmax} 项需要通过重要性采样转化为期望形式来适应随机优化:

v(s)=softmaxαaq(s, a)=αlnA1p~(b)exp[1αq(s, b)]p~(b)db=αlnEbp~()[1p~(b)exp[1αq(s, b)]]v(s) = \underset{a}{\operatorname{softmax}_{\alpha}} q(s,\ a) = \alpha \ln \int_{\mathcal{A}} \frac{1}{\tilde{p}(b)} \exp \left[ \frac{1}{\alpha} q(s,\ b) \right] \tilde{p}(b) db = \alpha \ln \mathcal{E}_{b \sim \tilde{p}(\cdot)} \left[ \frac{1}{\tilde{p}(b)} \exp \left[ \frac{1}{\alpha} q(s,\ b) \right] \right]

其中,p~()\tilde{p}(\cdot) 可以是任意的分布,但一般选做当前的策略分布 p~()=π(s)exp[1αq(s, )]\tilde{p}(\cdot) = \pi(\cdot \mid s) \propto \exp \left[ \dfrac{1}{\alpha} q(s,\ \cdot) \right]。由于动作空间连续,难以直接通过 qw(s, a)q_{w}(s,\ a) 进行采样,因此需要通过随机策略网络 πθ(a=fθ(ξ; s)s)\pi_{\theta} \Big( a = f_{\theta}(\xi;\ s) \mid s \Big) 和重采样来近似:

minθJ(θs)=DKL[πθ(s)exp[1αqw(s, )1αvw(s)]]\min_{\theta} J(\theta \mid s) = D_{\mathrm{KL}} \left[ \pi_{\theta}(\cdot \mid s) \left\| \exp \left[ \frac{1}{\alpha} q_{w}(s,\ \cdot) - \frac{1}{\alpha} v_{w}(s) \right] \right. \right]

利用 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)]\nabla_{\theta} J(\theta \mid s) \propto \mathcal{E}_{\xi} \Big[ \Delta f_{\theta}(\xi;\ s) \nabla_{\theta} f_{\theta}(\xi;\ s) \Big] = \mathcal{E}_{\xi} \Big[ \mathcal{E}_{a \sim \pi_{\theta}(\cdot \mid s)} \Big[ \kappa(a,\ f_{\theta}(\xi;\ s)) \nabla_{a} q_{w}(s,\ a) + \alpha \nabla_{a} \kappa(a,\ f_{\theta}(\xi;\ s)) \Big] \nabla_{\theta} f_{\theta}(\xi;\ s) \Big]


Soft Q-Learning
http://example.com/2024/07/20/SQL/
Author
木辛
Posted on
July 20, 2024
Licensed under