DRL Lecture 6:Actor-Critic

介绍了actor-critic的算法,结合了policy gradient和Q-learning。

Actor-Critic

原先policy gradient的算法是直接学习一个policy:

但显然reward是不稳定的,它代表了采取action之后的reward的期望值,当sample次数不够多,其预估的也不准。

因此在这里将Q-learning引入到预估reward中,也即policy gradient和q-learning的结合。

也即我们将reward替换成$E\left[G_{t}^{n}\right]=Q^{\pi_{\theta}}\left(s_{t}^{n}, a_{t}^{n}\right)$。同时根据baseline的定义,我们将其替换成$V^{\pi_{\theta}}\left(s_{t}^{n}\right)$。

所以括号内的$\sum_{t^{\prime}=t}^{T_{n}} \gamma^{t^{\prime}-t} r_{t^{\prime}}^{n}-b$就变成$Q^{\pi \theta}\left(s_{t}^{n}, a_{t}^{n}\right)-V^{\pi_{\theta}}\left(s_{t}^{n}\right)$。

实际上我们不需要分别训练两个网络,直接整合成一个网络即可。也即将$Q^{\pi \theta}\left(s_{t}^{n}, a_{t}^{n}\right)-V^{\pi_{\theta}}\left(s_{t}^{n}\right)$改成$r_{t}^{n}+V^{\pi}\left(s_{t+1}^{n}\right)-V^{\pi}\left(s_{t}^{n}\right)$。

因此整个流程:

形式化也即:

由于$\pi$和$V$的输入都是$s$,在实际操作中可以将这两个网络的前几层参数共享:

同时对$\pi$的输出加以限制,希望有更大的entropy,这样能够探索更多情况。

Pathwise Derivative Policy Gradient

接下来介绍了一种新的方法,直接学习一个$\pi$,输入$s$可以获得能够最大化Q的action。这和GAN的思想很相似。

这样$\pi$天然地能够处理continuous的情况。

所以整个流程:

先交互,学习一个好的$Q$,然后将这个$Q$作为标准,学习$\pi$使得输出的$Q$最大。和GAN很像。