從概率圖角度理解強化學習
一、變分推斷(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中多了一項而已。