从概率图角度理解强化学习
一、变分推断(Variational Inference)
1. 概率隐变量模型(Probabilistic Latent Variable Models)
什么是隐变量模型
概率模型的含义便是输入一组数据之后,计算这组数据的概率分布,而条件变量也类似。而这些数据的分布可能十分复杂,并且数据内部之间存在某些关系。那么我们可以找到另一个分布\(P(z)\)来表示这些数据内部的分布情况,而在这个新的分布\(P(z)\)的条件下,原数据的分布就可以得到了一定的简化。
以下图中右图为例:

原数据分布\(P(x)\)比较复杂,但是可以看到数据内部大致形成了三类。因此可以找到一个隐变量z,\(Z={z_1,z_2,z_3}\),在给定\(z_i\)的情况下,原始数据的分布为 \(P(x|z_i)\),这个分布会较为简单。而整体的数据分布可以写为:
\[P(x)=\sum\limits_1^3P(x|z_i)P(z_i)=P(x|z_1)P(z_1)+P(x|z_2)P(z_2)+P(x|z_3)P(z_3) \]
对于连续情况,可以将隐变量写为:\(p(x)=\int p(x|z)dz\)
在下图中,\(p(x|z)\)是多元高斯分布,均值和方差通过神经网络的输出得到,而\(p(z)\)是一个简单的一维高斯分布。

如何训练隐变量模型
一般的机器学习算法训练生成模型的过程中使用的是最大似然函数作为损失函数,在隐变量模型中,我们将该上文中重新定义的目标带入模型中就可以得到新的损失函数,但此时这个损失函数是很难求解的。

那么此时我们的问题便是如何让新的目标函数变得可以求解。可以看到此时目标函数中\(z\)由于是隐变量,因此它是未知的,需要进行一些数学上的代数变形,先得到于\(z\) 相关的一些分布之后,才能得到整体\(x\)的分布。
与\(z\)相关的分布无非就是先验概率\(p(z)\)和后验概率\(p(z|x_i)\),可以将后验概率解释为给定数据\(x_i\)之后,这些数据的所属类别是什么。
为什么会想到使用后验概率\(p(z|x_i)\)?
我们可以从实际的角度出发。在实际操作中,我们是先采样得到\(x\),在得到\(x\)后再计算\(x\)所属的类别\(z\),即\(p(z|x)\),接着基于得到的\(z\)通过神经网络得到\(p(x|z)\),最后计算\(p(x,z)\),进而得到\(p(x)\)
此时上述的损失函数就变成了:
\[\theta \leftarrow \operatorname{argmax}_{\theta} \frac{1}{N} \sum_{i} E_{z \sim p\left(z \mid x_{i}\right)}\left[\log p_{\theta}\left(x_{i}, z\right)\right] \]
2.变分推断原理
我们先推导一般概率模型中\(log\ p_\theta(x_i)\)的下界:
\[\begin{aligned} \log p\left(x_{i}\right) &=\log \int_{z} p\left(x_{i} \mid z\right) p(z) d z \\ &=\log \int_{z} p\left(x_{i} \mid z\right) p(z) \frac{q_{i}(z)}{q_{i}(z)} d z \\ &=\log E_{z \sim q_{i}(z)}\left[\frac{p\left(x_{i} \mid z\right) p(z)}{q_{i}(z)}\right] \geq E_{z \sim q_{i}(z)}\left[\log \frac{p\left(x_{i} \mid z\right) p(z)}{q_{i}(z)}\right] \\ &=E_{z \sim q_{i}(z)}\left[\log p\left(x_{i} \mid z\right)+\log p(z)\right]+\mathcal{H}\left(q_{i}\right) \end{aligned} \]
上式中倒数第二个等号使用了一个不等式:\(log\ E[\cdot]\geq E[log(\cdot)]\),这是由于\(Jenson\)不等式。因此原概率模型中最大似然求解就变成了最大化目前推导出来的下界,将这个下界集为\(\mathcal{L}_i(p,q_i)\) 。我们现在从KL散度的角度来将\(q_i\)和\(p(z|x_i)\)联系起来:
\[\begin{aligned} D_{\mathrm{KL}}\left(q_{i}(z) \| p\left(z \mid x_{i}\right)\right) &=E_{z \sim q_{i}(z)}\left[\log \frac{q_{i}(z)}{p\left(z \mid x_{i}\right)}\right]=E_{z \sim q_{i}(z)}\left[\log \frac{q_{i}(z) p\left(x_{i}\right)}{p\left(x_{i}, z\right)}\right] \\ &=-E_{z \sim q_{i}(z)}\left[\log p\left(x_{i} \mid z\right)+\log p(z)\right]+E_{z \sim q_{i}(z)}\left[\log q_{i}(z)\right]+E_{z \sim q_{i}(z)}\left[\log p\left(x_{i}\right)\right] \\ &=-E_{z \sim q_{i}(z)}\left[\log p\left(x_{i} \mid z\right)+\log p(z)\right]-\mathcal{H}\left(q_{i}\right)+\log p\left(x_{i}\right) \\ &=-\mathcal{L}_{i}\left(p, q_{i}\right)+\log p\left(x_{i}\right) \\ & \log p\left(x_{i}\right)=D_{\mathrm{KL}}\left(q_{i}(z) \| p\left(z \mid x_{i}\right)\right)+\mathcal{L}_{i}\left(p, q_{i}\right) \\ & \log p\left(x_{i}\right) \geq \mathcal{L}_{i}\left(p, q_{i}\right) \end{aligned} \]
从KL散度的角度也能看出,要最大化\(log\ p(x_i)\),最大化下界\(\mathcal{L}_i(p,q_i)\)即可。同时我们想要下界越接近目标,就需要KL散度越接近0,因此需要\(q_i(z)\)接近\(p(z|x_i)\)。
现在来理解一下损失函数的两项分别是什么含义:
\(E_{z \sim q_{i}(z)}\left[\log p\left(x_{i} \mid z\right)+\log p(z)\right]+\mathcal{H}\left(q_{i}\right)\)

其中第一项为我们的目标函数,第二项是熵(熵最大的时候为所有动作的概率都相同)。
如果只考虑第一项,那我们学习到的就是窄的那个分布,这是不利于学习的。考虑两项就能学习到中间黄色的区域。
现在我们就可以得到一个变分推断的最基本的算法流程了:
\[\begin{aligned} &\text { for each }\ x_{i}\ \ (\text { or mini-batch }): \\ &\quad\quad \text { calculate } \nabla_{\theta} \mathcal{L}_{i}\left(p, q_{i}\right): \\ &\quad\quad\quad \text { sample } z \sim q_{i}(z) \\ &\quad\quad\quad \nabla_{\theta} \mathcal{L}_{i}\left(p, q_{i}\right) \approx \nabla_{\theta} \log p_{\theta}\left(x_{i} \mid z\right) \\ &\quad\theta \leftarrow \theta+\alpha \nabla_{\theta} \mathcal{L}_{i}\left(p, q_{i}\right) \\ &\quad\text { update } q_{i} \text { to maximize } \mathcal{L}_{i}\left(p, q_{i}\right) \end{aligned} \]
其中\(q_i\) 的更新流程为:
\[\begin{aligned} &q_{i}(z)=\mathcal{N}\left(\mu_{i}, \sigma_{i}\right) \\ &\nabla_{\mu_{i}} \mathcal{L}_{i}\left(p, q_{i}\right)\ \ \text {and}\ \ \nabla_{\sigma_{i}} \mathcal{L}_{i}\left(p, q_{i}\right) \\ &\text { gradient ascent on } \mu_{i}, \sigma_{i} \end{aligned} \]
可以看到在上述算法中存在一个严重的问题就是需要更新的参数过多,我们为每个样本\(x_i\)都拟合了一个分布\(q_i\):
\[|\theta|+(|\mu_i|+|\sigma_i|)\times N \]
因此接下来我们就需要解决参数量过大的问题。
3.Amortized variational inference(AVI)
3.1 Amortized variational inference
目前遇到的问题是我们为每个样本都拟合了一个分布\(q_i\),因此需要更新的参数才会随着样本的数量增大而增大。所以我们自然而然地想到要对这个 \(q_i\)进行修改,这里想到的方法是使用一个单独的神经网络来输出每个样本需要的\(\mu_i,\sigma_i\),这也就是amortized所表达的意思。

那么现在的算法流程修改为了:
\[\begin{aligned} &\text { for each } x_{i}(\text { or mini-batch }): \\ &\qquad\text { calculate } \nabla_{\theta} \mathcal{L}\left(p_{\theta}\left(x_{i} \mid z\right), q_{\phi}\left(z \mid x_{i}\right)\right): \\ &\qquad\qquad \text { sample } z \sim q_{\phi}\left(z \mid x_{i}\right) \\ &\qquad\qquad\nabla_{\theta} \mathcal{L} \approx \nabla_{\theta} \log p_{\theta}\left(x_{i} \mid z\right) \\ &\qquad\theta \leftarrow \theta+\alpha \nabla_{\theta} \mathcal{L} \\ &\qquad\phi \leftarrow \phi+\alpha \nabla_{\phi}\mathcal{L} \end{aligned} \]
现在的问题就是,如何计算:\(\nabla_\phi\mathcal{L}\)
此时我们除了原本模型拥有的网络\(p_\theta\),又为隐变量创建了一个新的网络\(q_\phi\)。基于这两个,我们的目标又可以修改为:
\[\mathcal{L}_i=E_{z\sim q_\phi(z|x_i)}[log\ p_\theta(x_i|z)+log\ p(z)]+\mathcal{H}(q_\phi(z|x_i)) \]
可以看到目标函数中第二项是一个熵,求导比较容易。第一项求期望时比较困难,但是我们可以看到它与策略梯度的形式是很类似的(策略梯度:\(J=E_{\tau\sim p_\theta(\tau)}[\sum\limits\ r(s_t,a_t)]\)),因此我们将第一项简写为\(J(\phi)=E_{z\sim q_\phi(z|x_i)}[r(x_i,z)]\)这里的\(r(x_i,z)=log\ p_\theta(x_i|z)+log\ p(z)\),在Monte Carlo采样的基础上得到梯度公式的近似表达式为:
\[\nabla J(\phi) \approx \frac{1}{M} \sum_{j} \nabla_{\phi} \log q_{\phi}\left(z_{j} \mid x_{i}\right) r\left(x_{i}, z_{j}\right)=\frac{1}{M} \sum_{j} \nabla_{\phi} \log q_{\phi}\left(z_{j} \mid x_{i}\right)\left(\log p_{\theta}\left(x_{i} \mid z\right)+\log p(z)\right) \]
3.2 The Reparameterization Trick
由于上式式用策略梯定理导出的,那么它也存在和策略梯度一样的问题,就是方差比较大,导致策略梯度的值波动较大。造成其方差较大的原因在于采样时从\(q_\phi(z|x_i)\)抽样的,而其是一个未知的分布,因此我们想到能不能将其换成一个已知的概率分布来减少方差。由于上文假设\(q_\phi(z|x_i)\)是高斯分布\(\mathcal{N}(\mu_\phi(x),\sigma_\phi(x))\),即\(z\sim\mathcal{N}(\mu_\phi(x),\sigma_\phi(x))\)。
所以进行如下的变形:令\(\frac{z-\mu_\phi(x)}{\sigma_\phi(x)}\sim(\epsilon\sim\mathcal{N}(0,1))\),即\(z=\mu_\phi(x)+\epsilon\sigma_\phi(x)\),并将其带入到上文的损失函数中,即:
\[J(\phi)=E_{z \sim q_{\phi}\left(z \mid x_{i}\right)}\left[r\left(x_{i}, z\right)\right]=E_{z \sim \mathcal{N}(0,1)}\left[r\left(x_{i}, \mu_{\phi}(x)+\epsilon \sigma_{\phi}(x)\right)\right] \]
目前的梯度便比较好求了,利用Reparameterization方法修改上述的目标函数:
\[\begin{aligned} \mathcal{L}_{i} &=E_{z \sim q_{\phi}\left(z \mid x_{i}\right)}\left[\log p_{\theta}\left(x_{i} \mid z\right)+\log p(z)\right]+\mathcal{H}\left(q_{\phi}\left(z \mid x_{i}\right)\right) \\ &=E_{z \sim q_{\phi}\left(z \mid x_{i}\right)}\left[\log p_{\theta}\left(x_{i} \mid z\right)\right]+E_{z \sim q_{\phi}\left(z \mid x_{i}\right)}[\log p(z)]+\mathcal{H}\left(q_{\phi}\left(z \mid x_{i}\right)\right)\\ &=E_{z \sim q_{\phi}\left(z \mid x_{i}\right)}\left[\log p_{\theta}\left(x_{i} \mid z\right)\right]-D_{\mathrm{KL}}\left(q_{\phi}\left(z \mid x_{i}\right) \| p(z)\right) \\ &=E_{\epsilon \sim \mathcal{N}(0,1)}\left[\log p_{\theta}\left(x_{i} \mid \mu_{\phi}\left(x_{i}\right)+\epsilon \sigma_{\phi}\left(x_{i}\right)\right)\right]-D_{\mathrm{KL}}\left(q_{\phi}\left(z \mid x_{i}\right) \| p(z)\right) \\ &\approx \log p_{\theta}\left(x_{i} \mid \mu_{\phi}\left(x_{i}\right)+\epsilon \sigma_{\phi}\left(x_{i}\right)\right)-D_{\mathrm{KL}}\left(q_{\phi}\left(z \mid x_{i}\right) \| p(z)\right) \end{aligned} \]

二、从概率图角度理解强化学习(Control as Inference)
1. Motivation (源自用强化学习对人类或动物行为建模)
之前的强化学习问题的最终目标是获得一个最优的策略或行为,如下图:

如果从人类或动物做决策的过程来看,这种获取到最优的策略或行为其实有些过于理想化了。本课程就以猴子做决策时为例,它并不一定每时每刻都会做出完全最优的策略或动作,而是大概率做出完全最优的行为,小概率情况下会“偷懒”做出并不是最优的动作。这也激发了相关学者对强化学习理论框架改进的思路。
2.用概率图模型改进RL问题的建模方式
之前一般的强化学习中的MDP也是一种概率图模型(在HMM模型上加入了决策部分),这里在此基础上加入了对策略随机性的考虑,引入了一个新的变量,Optimality。该变量在每一个时刻都存在,即:
\[p\left(\mathcal{O}_{t}=1 \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)=\exp \left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \]
这里的\(\mathcal{O}_t=\{0,1\}\),该变量为1代表当前时刻的state-action pair是最优的。完整的概率图模型如下:

此在此框架下的一条最优轨迹的数学表达式为\(p(\tau|\mathcal{O}_{1:T})\),该概率分布的含义就是在\(1\sim T\)所有时刻的state-action pair都是最优的情况下,其整条轨迹的概率分布。该变量描述了某段轨迹选择的optimal程度,概率值越高则说明这段轨迹越是一段合理的轨迹。
我们将这个式子贝叶斯公式展开,经过简单的推导,可以发现它可以表示某段轨迹的概率乘上这段轨迹的总的reward的指数。也就是说,如果这个概率越高,则表示这u但轨迹吹西安的频率大,同时累积reawrd也大,所以它描述的就是一个合理的行为。
首先先写结论:
\[p\left(\tau \mid \mathcal{O}_{1: T}\right)=\frac{p\left(\tau, \mathcal{O}_{1: T}\right)}{p\left(\mathcal{O}_{1: T}\right)} \propto p(\tau) \prod_{t} \exp \left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right)=p(\tau) \exp \left(\sum_{t} r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \]
首先这里的正比符号代表\(p(\tau|\mathcal{O}_{1:T})\)与分子\(p(\tau,\mathcal{O}_{1:T})\)成正比,\(p(\tau,\mathcal{O}_{1:T})\)的表达式展开可以写成
\[p\left(\tau, \mathcal{O}_{1: T}\right)=p(\tau) p\left(\mathcal{O}_{1: T} \mid \tau\right)=p(\tau) \prod_{t} \exp \left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right)=p(\tau) \exp \left(\sum_{t} r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \]
这里的等号之所以成立是因为概率图模型中optimality变量是条件独立的。
3.Exact Inference(Control as Inference)
下面我们来推导该框架需要的两个变量
3.1 Backward Message
\[\beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=p\left(O_{t: T} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) \]
该变量描述的是在每个state采取action对后续的optimal的影响,与RL中的value function类似。
首先,我们现在已知量为:\(p\left(O_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) \propto \exp \left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right)\)和转移概率\(p(s_{t+1}|s_t,a_t)\),接下来便开始推导。
\[\beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=p\left(O_{t: T} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)=\int p\left(O_{t: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) d \mathbf{s}_{t+1} \]
对积分项中的\(p\left(O_{t: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)\)进行展开,可以得到:
\[p\left(O_{t: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)=p\left(O_{t}, O_{t+1: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)=p\left(O_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(O_{t+1: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}, O_{t}\right) \]
由于条件独立性,可以进行以下推导:
\[\begin{aligned} p\left(O_{t+1: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}, O_{t}\right)&=p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}, O_{t}\right) p\left(O_{t+1: T} \mid \mathbf{s}_{t+1}, \mathbf{s}_{t}, \mathbf{a}_{t}, O_{t}\right)\\&=p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(O_{t+1: T} \mid \mathbf{s}_{t+1}\right) \end{aligned} \]
此时剩下的未知量为\(p\left(O_{t+1: T} \mid \mathbf{s}_{t+1}\right)\):
\[\begin{aligned} p\left(O_{t+1: T} \mid \mathbf{s}_{t+1}\right) &=\int p\left(O_{t+1: T}, \mathbf{a}_{t+1} \mid \mathbf{s}_{t+1}\right) d \mathbf{a}_{t+1} \\ &=\int p\left(\mathbf{a}_{t+1} \mid \mathbf{s}_{t+1}\right) p\left(O_{t+1: T} \mid \mathbf{s}_{t+1}, \mathbf{a}_{t+1}\right) d \mathbf{a}_{t+1} \\ &=\int \text { Action Prior } \cdot \beta_{t+1}\left(\mathbf{s}_{t+1}, \mathbf{a}_{t+1}\right) d \mathbf{a}_{t+1} \end{aligned} \]
在这里将action prior视作均匀分布,原因是这里的定义并不是最优策略,即\(p(a_t|s_t,\mathcal{O}_{1:T})\),也就是在对策略最优性位置的情况下,给定observation,智能体做出的行为action的概率分布,所以初步将其视为均匀分布是合理的。
总体的看看Backward Message的推导过程:
\[\begin{aligned} \beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) &=p\left(\mathcal{O}_{t: T} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) \\ &=\int p\left(\mathcal{O}_{t: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) d \mathbf{s}_{t+1} \\ &=\int p\left(\mathcal{O}_{t+1: T} \mid \mathbf{s}_{t+1}\right) p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathcal{O}_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) d \mathbf{s}_{t+1} \\ &=\int \beta_{t}\left(s_{t+1}, a_{t+1}\right) p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathcal{O}_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathbf{a}_{t+1} \mid \mathbf{s}_{t+1}\right) d \mathbf{a}_{t+1} \end{aligned} \]
\[\beta_{t+1}\left(s_{t+1}\right)=p\left(\mathcal{O}_{t+1: T} \mid \mathbf{s}_{t+1}\right)=\int \text { Action Prior } \cdot \beta_{t+1}\left(\mathbf{s}_{t+1}, \mathbf{a}_{t+1}\right) d \mathbf{a}_{t+1} \]
可以看到Backward的更新流程和价值迭代十分相像:

此时我们定义:
\[\begin{aligned} V_{t}\left(\mathbf{s}_{t}\right) &=\log \beta_{t}\left(\mathbf{s}_{t}\right) \\ Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) &=\log \beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \end{aligned} \]
那么我们有:
\[\begin{aligned} V_{t}\left(\mathbf{s}_{t}\right) &=\log \int \exp \left(Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) d \mathbf{a}_{t} \\ Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) &=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\log E\left[\exp \left(V_{t+1}\left(\mathbf{s}_{t+1}\right)\right)\right] \end{aligned} \]
Action Prior
若我们考虑Action Prior的情况:
\[\begin{aligned} \beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) &=p\left(\mathcal{O}_{t: T} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) \\ &=\int p\left(\mathcal{O}_{t: T}, \mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) d \mathbf{s}_{t+1} \\ &=\int p\left(\mathcal{O}_{t+1: T} \mid \mathbf{s}_{t+1}\right) p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathcal{O}_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) d \mathbf{s}_{t+1} \\ &=\int \beta_{t}\left(s_{t+1}, a_{t+1}\right) p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathcal{O}_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathbf{a}_{t+1} \mid \mathbf{s}_{t+1}\right) d \mathbf{a}_{t+1} \end{aligned} \]
Q函数的迭代不变:
\[\begin{aligned} Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) &=\log \beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \\ &=\log p\left(O_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)+\log E\left[\left(\beta_{t+1}\left(\mathbf{s}_{t+1}\right)\right)\right] \\ &=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\log E\left[\left(\beta_{t+1}\left(\mathbf{s}_{t+1}\right)\right)\right] \end{aligned} \]
V函数的迭代改变为:
\[\begin{aligned} V\left(\mathbf{s}_{t}\right) &=\log \beta_{t}\left(\mathbf{s}_{t}\right) \\ &=\log \int p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) d \mathbf{a}_{t} \\ &=\log \int p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \exp \left(Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) d \mathbf{a}_{t} \\ &=\log \int \exp \left(\log p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right) \exp \left(Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) d \mathbf{a}_{t} \\ &=\log \int \exp \left(\log p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) d \mathbf{a}_{t} \\ \end{aligned} \]
此时我们定义\(\tilde{Q}\):
\[\begin{aligned} \tilde{Q}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) &=\log p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \\ &=\log p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\log E\left[\left(\beta_{t+1}\left(\mathbf{s}_{t+1}\right)\right)\right] \end{aligned} \]
那么V函数可以改为:
\[V\left(\mathbf{s}_{t}\right)=\log \int \exp \left(\tilde{Q}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) d \mathbf{a}_{t} \]
3.2 Policy Computation
在求得Backward messages之后,我们就开始讨论如何基于message求policy。类比到知道value fuction求policy就可以知道这部分是比较容易地,推导如下:
\[\begin{aligned} p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}, O_{1: T}\right) &=\pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)=p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}, O_{t: T}\right) \\ &=\frac{p\left(\mathbf{a}_{t}, \mathbf{s}_{t} \mid O_{t: T}\right)}{p\left(\mathbf{s}_{t} \mid O_{t: T}\right)} \\ &=\frac{p\left(\mathbf{a}_{t}, \mathbf{s}_{t}, O_{t: T}\right) / p\left(O_{t: T}\right)}{p\left(\mathbf{s}_{t}, O_{t: T}\right) / p\left(O_{t: T}\right)} \\ &=\frac{p\left(O_{t: T} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) / p\left(O_{t: T}\right)}{p\left(O_{t: T} \mid \mathbf{s}_{t}\right) p\left(\mathbf{s}_{t}\right) / p\left(O_{t: T}\right)} \\ &=\frac{p\left(O_{t: T} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}{p\left(O_{t: T} \mid \mathbf{s}_{t}\right) p\left(\mathbf{s}_{t}\right)}=\frac{\beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}{\beta_{t}\left(\mathbf{s}_{t}\right)} p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \end{aligned} \]
若忽略action-prior,那么此时的策略为:
\[\pi(a_t|s_t)=\frac{\beta_t(s_t,a_t)}{\beta_t(s_t)} \]
根据上述定义,我们有:
\[\begin{aligned} V_{t}\left(\mathbf{s}_{t}\right) &=\log \beta_{t}\left(\mathbf{s}_{t}\right) \\ Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) &=\log \beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \end{aligned} \]
迭代过程为:
\[\begin{aligned} &for\ \ t=T-1\ \ to\ \ 1:\\ &\quad \quad Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\log E\left[\exp \left(V_{t+1}\left(\mathbf{s}_{t+1}\right)\right)\right] \\ &\quad \quad V_{t}\left(\mathbf{s}_{t}\right)=\log \int \exp \left(Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \mathbf{a}_{t} \end{aligned} \]
那么策略可以表示为:
\[\pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)=\frac{\beta_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}{\beta_{t}\left(\mathbf{s}_{t}\right)}=exp(Q_t(s_t,a_T)-V_t(s_t))=exp(A_t(s_t,a_t)) \]
可以加入温度参数:
\[\pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)=exp(\frac{1}{\alpha}Q_t(s_t,a_T)-\frac{1}{\alpha}V_t(s_t))=exp(\frac{1}{\alpha}A_t(s_t,a_t)) \]
4.Approximate Inference(Control as Variational Inference)
4.1 The optimism problem
回顾前面计算backward,我们得到了如下的式子:
\[Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\log E\left[\exp \left(V_{t+1}\left(\mathbf{s}_{t+1}\right)\right)\right] \\ V_{t}\left(\mathbf{s}_{t}\right)=\log \int \exp \left(Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \mathbf{a}_{t} \]
如果是deterministic dynamics的情况下,next state只有一个,所以计算期望的时候可以直接去掉,log与exp抵消,得到与value iteration相似的结果:
\[\begin{gathered} Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+V_{t+1}\left(\mathbf{s}_{t+1}\right) \\ V_{t}\left(\mathbf{s}_{t}\right) \leftarrow \max _{\mathbf{a}_{t}} Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \end{gathered} \]
但是在stochastic dynamic下,由于next state未知,这个期望就不能消掉。因此会先经过指数扩大,在求期望,最后求log。因此在这个过程中,值函数的值被严重的扩大了,导致不同状态的值函数差异遍得非常大。因此虽然有期望,但是agent基本只会选择high reward的next state,这也意味着只要有一定的概率获得high reward,agent都过度重视能获得reward,乐观看待存在得风险,会选择去冒险,这也就是所谓得optimism problem。
那么,为什么会导致这样的问题?我们来看下基于前面的方式是如何生成一段轨迹的:
\[\hat{p}(\tau)=p\left(\mathbf{s}_{1} \mid \mathcal{O}_{1: T}\right) \prod_{t=1}^{T} p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}, \mathcal{O}_{1: T}\right) p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}, \mathcal{O}_{1: T}\right) \]
可以看到这里的转移概率是依赖于我们定义的Optimality的,也就是说它并不是真实的轨迹:
\[p(s_{t+1}|s_t,a_t,\mathcal{O}_{1:T})\neq p(s_{t+1}|s_t,a_t) \]
而是假设在能获得high reward的情况下的转移概率。也就是说,如果在某一步有很小的概率获得high reward,我们的问题就会假定能够利用到这个很小的概率,这也就是为什么optimism的原因了。
这时,如果agent的确是能控制transition都往high reward的方向优化,自然这是很合理的优化目标。而实际是agent可以控制policy,但无法控制transition。所以如果能够保证轨迹足够接近optimality的轨迹,同时又能保证状态转移概率不依赖于optimality的转移,那么这个问题自然就迎刃而解了。
4.2 Contro via variational inference
基于上面的假设,那我们很自然地就可以引入varitional inference来求解这个问题了。
首先假设要求的变量和隐变量分别如下,前者的分布是难求的,后者可以通过采样得到:
\[x=\mathcal{O}_{1:T}\\ z=(s_{1:T},a_{1:T}) \]
因此现在可以令轨迹的表达修改为下述的等式:
\[q\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)=p\left(\mathbf{s}_{1}\right) \prod_{t} p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \]
当前的结构如下图,原本的轨迹是依赖于optimality的,利用变分推断就可以找到不依赖于optimality的q

接着就自然地进入variational inference的推导部分了,在之前我们得到了一个结论:
\[\begin{aligned} \log p\left(x_{i}\right) &=\log \int_{z} p\left(x_{i} \mid z\right) p(z) d z \\ &=\log \int_{z} p\left(x_{i} \mid z\right) p(z) \frac{q_{i}(z)}{q_{i}(z)} d z \\ &=\log E_{z \sim q_{i}(z)}\left[\frac{p\left(x_{i} \mid z\right) p(z)}{q_{i}(z)}\right] \geq E_{z \sim q_{i}(z)}\left[\log \frac{p\left(x_{i} \mid z\right) p(z)}{q_{i}(z)}\right] \\ &=E_{z \sim q_{i}(z)}\left[\log p\left(x_{i} \mid z\right)+\log p(z)\right]+\mathcal{H}\left(q_{i}\right) \end{aligned} \]
将\(q\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)=p\left(\mathbf{s}_{1}\right) \prod_{t} p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\)和\(x=\mathcal{O}_{1:T},z=(s_{1:T},a_{1:T})\)带入上式可以得到:
\[\log p\left(O_{1: T}\right) \geq E_{\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right) \sim q_{i}\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)}\left[\log p\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}, O_{1: T}\right)-\log q\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)\right] \]
由贝叶斯公式可得:
\[\begin{aligned} p\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}, O_{1: T}\right) &=p\left(O_{1: T} \mid \mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right) p\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right) \\ &=\left(\prod_{t} p\left(O_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)\right)\left(p\left(\mathbf{s}_{1}\right) \prod_{t} p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) p\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right) \end{aligned} \]
省略这里的action prior ,两边取log,可以得到:
\[\log p\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}, O_{1: T}\right)=\sum_{t} \log p\left(O_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)+\log p\left(\mathbf{s}_{1}\right)+\sum_{t} \log p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right) \]
而:
\[\log q\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)=\log p\left(\mathbf{s}_{1}\right)+\sum_{t} \log p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)+\sum_{t} \log q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \]
所以我们得到:
\[\begin{aligned} \log p\left(O_{1: T}\right) & \geq E_{\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right) \sim q_{i}\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)}\left[\sum_{t} \log p\left(O_{t} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)-\sum_{t} \log q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right] \\ &=E_{\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right) \sim q_{i}\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)}\left[\sum_{t}\left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\log q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right] \\ &=\sum_{t} E_{\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right) \sim q_{i}\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\log q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right] \\ &=\sum_{t} E_{\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right) \sim q_{i}\left(\mathbf{s}_{1: T}, \mathbf{a}_{1: T}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+H\left(q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right] \end{aligned} \]
4.3 soft optimality RL algorithm
为什么说这样久解决了上面的问题呢?我们进行策略的推导:
Terminal state
\[\begin{aligned} q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right) &=\arg \max E_{\mathbf{s}_{T} \sim q\left(\mathbf{s}_{T}\right)}\left[E_{\mathbf{a}_{T} \sim q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)}\left[r\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)\right]+\mathcal{H}\left(q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)\right)\right] \\ &=\arg \max E_{\mathbf{s}_{T} \sim q\left(\mathbf{s}_{T}\right)}\left[E_{\mathbf{a}_{T} \sim q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)}\left[r\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)-\log q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)\right]\right] \end{aligned} \]
最优时有:\(q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right) \propto \exp \left(r\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)\right)\)
此时我们有:
\[V\left(\mathbf{s}_{T}\right)=\log \int \exp \left(Q\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)\right) d \mathbf{a}_{T}\\ E_{\mathbf{s}_{T} \sim q\left(\mathbf{s}_{T}\right)}\left[E_{\mathbf{a}_{T} \sim q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)}\left[r\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)-\log q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)\right]\right]=E_{\mathbf{s}_{T} \sim q\left(\mathbf{s}_{T}\right)}\left[E_{\mathbf{a}_{T} \sim q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)}\left[V\left(\mathbf{s}_{T}\right)\right]\right]\\ q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right)=\frac{\exp \left(r\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)\right)}{\int \exp \left(r\left(\mathbf{s}_{T}, \mathbf{a}\right)\right) d \mathbf{a}}=\exp \left(Q\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)-V\left(\mathbf{s}_{T}\right)\right) \]
No Terminal state
\[\begin{aligned} q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) &=\arg \max E_{\mathbf{s}_{t} \sim q\left(\mathbf{s}_{t}\right)}\left[E_{\mathbf{a}_{t} \sim q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+E_{\mathbf{s}_{t+1} \sim p\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[V\left(\mathbf{s}_{t+1}\right)\right]\right]+\mathcal{H}\left(q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right] \\ &=\arg \max E_{\mathbf{s}_{t} \sim q\left(\mathbf{s}_{t}\right)}\left[E_{\mathbf{a}_{t} \sim q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left[Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]+\mathcal{H}\left(q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right] \\ &=\arg \max E_{\mathbf{s}_{t} \sim q\left(\mathbf{s}_{t}\right)}\left[E_{\mathbf{a}_{t} \sim q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left[Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\log q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right]\right] \end{aligned} \]
最优时有:\(q\left(\mathbf{a}_{T} \mid \mathbf{s}_{T}\right) \propto \exp \left(Q\left(\mathbf{s}_{T}, \mathbf{a}_{T}\right)\right)\)
此时我们的迭代目标修改为:
\[\begin{aligned} &Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+E\left[\left(V_{t+1}\left(\mathbf{s}_{t+1}\right)\right]\right. \\ &V_{t}\left(\mathbf{s}_{t}\right)=\log \int \exp \left(Q_{t}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) d \mathbf{a}_{t} \end{aligned} \]
此时V值函数的仍然时soft-max,但是上方的Q值函数的log和exp都消去了,因此前面的optimistic问题也就解决了。
此时我们看看整个算法的流程:

可以看到和原本的价值函数迭代来说,只有max修改为了soft-max
4.4 soft Q-learning
对于上面的V和Q进行扩展,就可以得到Q-leanring对应的算法,此时soft-DQN的算法差异仅仅在于计算target value

4.5 Soft policy gradient
对于策略梯度来说,前面得到的最大化目标是这个:
\[J(\theta)=\sum_{t} E_{\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \sim q}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\mathcal{H}\left(q\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right] \]
进行一些推导可以得到:
\[\begin{aligned} J(\theta) &=\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]+E_{\pi\left(\mathbf{s}_{t}\right)}\left[H\left(\pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right] \\ &=\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]-E_{\pi\left(\mathbf{s}_{t}\right)}\left[E_{\pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left(\log \pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right] \\ &=\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]-E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left(\log \pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)=\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\log \pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right] \end{aligned} \]
进行求导:
\[\begin{aligned} \nabla_{\theta} J(\theta) &=\nabla_{\theta}\left[\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]+E_{\pi\left(\mathbf{s}_{t}\right)}\left[H\left(\pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right)\right]\right] \\ &=\nabla_{\theta}\left[\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]\right]-\nabla_{\theta}\left[\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right]\right] \end{aligned} \]
可以知道第一部分的就是正常的策略梯度的求导:
\[\nabla_{\theta}\left[\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]\right]=E\left[\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \cdot \sum_{t} r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right] \]
第二部分的求导为:
\[\begin{aligned} \nabla_{\theta}\left[\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right]\right.&=\sum_{t} \nabla_{\theta} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right] \\ &=\sum_{t} \nabla_{\theta} \int \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) d \mathbf{s}_{t} d \mathbf{a}_{t} \\ &=\sum_{t} \int \nabla_{\theta}\left(\pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right) d \mathbf{s}_{t} d \mathbf{a}_{t} \\ &=\sum_{t} \int \nabla_{\theta} \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+\pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) d \mathbf{s}_{t} d \mathbf{a}_{t} \\ &=\sum_{t} \int \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+\pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) d \mathbf{s}_{t} d \mathbf{a}_{t} \\ &=\sum_{t} \int \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\left(\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+1\right) d \mathbf{s}_{t} d \mathbf{a}_{t} \\ &=\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[\nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\left(\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+1\right)\right]\\ &=E\left[\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\left(\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+1\right)\right] \\ &=E\left[\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \cdot \sum_{t}\left(\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+1\right)\right] \end{aligned} \]
联立两部分公式有:
\[\begin{aligned} \nabla_{\theta} J(\theta) &=\nabla_{\theta}\left[\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]\right]-\nabla_{\theta}\left[\sum_{t} E_{\pi\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)}\left[\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right]\right] \\ &=E\left[\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \cdot \sum_{t} r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]-E\left[\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \cdot \sum_{t}\left(\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)+1\right)\right] \\ &=E\left[\left(\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \cdot\left(\sum_{t} r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\sum_{t} \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)-T\right)\right] \\ & \approx \frac{1}{N} \sum_{i}\left(\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right)\left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\left(\sum_{t^{\prime}=t+1}^{T} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-\log \pi_{\theta}\left(\mathbf{a}_{t^{\prime}} \mid \mathbf{s}_{t^{\prime}}\right)\right)-\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)-T\right) \end{aligned} \]
继续推导:
\[\begin{aligned} \nabla_{\theta} J(\theta) & \approx \frac{1}{N} \sum_{i}\left(\sum_{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right)\left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\left(\sum_{t^{\prime}=t+1}^{T} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-\log \pi_{\theta}\left(\mathbf{a}_{t^{\prime}} \mid \mathbf{s}_{t^{\prime}}\right)\right)-\log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)-T\right) \\ &=\frac{1}{N} \sum_{i} \sum_{t}\left(\nabla_{\theta} Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\nabla_{\theta} V\left(\mathbf{s}_{t}\right)\right)\left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+V\left(\mathbf{s}_{t+1}\right)-Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+V\left(\mathbf{s}_{t}\right)\right) \\ &=\frac{1}{N} \sum_{i} \sum_{t}\left(\nabla_{\theta} Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\nabla_{\theta} V\left(\mathbf{s}_{t}\right)\right)\left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+V\left(\mathbf{s}_{t+1}\right)-Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \end{aligned} \]
和soft Q-leanirng Update对比:
\[-\frac{1}{N} \sum_{i} \sum_{t} \nabla_{\theta} Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\operatorname{soft} \max _{\mathbf{a}_{t+1}} Q\left(\mathbf{s}_{t+1}, \mathbf{a}_{t+1}\right)-Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right) \]
我们发现只是Policy gradient中多了一项而已。