确定性策略梯度公式推导

确定性策略梯度公式推导

David Silver 在文章 Deterministic Policy Gradient Algorithms 中提出了著名的确定性策略梯度公式 \[ \nabla_{\theta}J(\mu_\theta)=\int_{\mathcal{S}}\rho^{\mu}(s)\nabla_\theta\mu_\theta\nabla_aQ^\mu(s,a)\rvert_{a=\mu_\theta(s)}\mathrm{d}s=\mathbb{E}_{s\sim\rho^\mu}[\nabla_\theta\mu_\theta\nabla_aQ^\mu(s,a)\rvert_{a=\mu_\theta(s)}] \] 其中\(J(\pi)=\mathbb{E}[r^\gamma_1|\pi]\)是折扣奖赏,\(r^\gamma_t=\sum^\infty_{k=t}\gamma^{k-t}r(s_k,a_k)\)\(\rho^\mu(s)\)是折扣态分布 \[ \rho^\pi(s')\equiv\int_\mathcal{S}\sum_{t=1}^\infty\gamma^{t-1}p_1(s)p(s\rightarrow s',t,\pi)\mathrm{d}s \] 其中\(p(s\rightarrow s',t,\pi)\)表示在策略\(\pi\)下从状态\(s\)经过\(t\)步到达状态\(s'\)的概率。我们把它与随机策略梯度公式做个比较 \[ \nabla_\theta J(\pi_\theta)=\int_\mathcal{S}\rho^\pi(s)\int_\mathcal{A}\nabla_\theta\pi_\theta(a|s)Q^\pi(s,a)\mathrm{d}a\mathrm{d}s=\mathbb{E}_{s\sim\rho^\pi,a\sim\pi_\theta}[\nabla_\theta\log\pi_\theta(a|s)Q^\pi(s,a)] \] 发现主要区别有两点,一是对数函数消失了,而是多了对\(Q\)的求导。

因为确定策略可以看成随机策略的某种极限,所以自然可以想到确定策略梯度应是随机策略梯度的特例。没错,David Silver在补充材料中也证明了这一点,即在某个极限下,随机策略梯度退化到确定策略梯度。但是他给的证明实在是。。。。。太数学了,反正我不想看。不过这两个梯度公式表达的概念都很清晰,所以应该有一个比较直观途径把它们联系起来。稍加思考后发现的确如此,如果不追求数学上的严谨性,从SPG得到DPG其实很简单。

想法就是把确定策略看成分布是Dirac \(\delta\)函数的随机策略:\(\pi_{\mathrm{DP}}(a|s)=\delta(a-\mu_\theta(s))\),带入SPG公式: \[ \begin{align*} \nabla_\theta J(\pi_\mathrm{DP}) & = \int_\mathcal{S}\rho^\pi(s)\int_\mathcal{A}\nabla_\theta\delta(a-\mu_\theta(s))Q^\pi(s,a)\mathrm{d}a\mathrm{d}s\\ & = \int_\mathcal{S}\rho^\pi(s)\int_\mathcal{A}\nabla_\mu\delta(a-\mu)\nabla_\theta\mu_\theta(s)Q^\pi(s,a)\mathrm{d}a\mathrm{d}s\\ & = \int_\mathcal{S}\rho^\pi(s)\nabla_\theta\mu_\theta(s)\int_\mathcal{A}\nabla_\mu\delta(a-\mu)Q^\pi(s,a)\mathrm{d}a\mathrm{d}s\\ & = \int_\mathcal{S}\rho^\pi(s)\nabla_\theta\mu_\theta(s)\int_\mathcal{A}-\nabla_a\delta(a-\mu)Q^\pi(s,a)\mathrm{d}a\mathrm{d}s\\ & = \int_\mathcal{S}\rho^\pi(s)\nabla_\theta\mu_\theta(s)\int_\mathcal{A}\delta(a-\mu)\nabla_aQ^\pi(s,a)\mathrm{d}a\mathrm{d}s\\ & = \int_\mathcal{S}\rho^\pi(s)\nabla_\theta\mu_\theta(s)\nabla_aQ^\pi(s,a)\rvert_{a=\mu_\theta(s)}\mathrm{d}s\\ \end{align*} \] 这就得到DPG公式,也就是(1)式了。