Actor-Critic從名字上看包括兩部分,參與者(Actor)和評價者(Critic)。其中Actor使用策略函數,負責生成動作(Action)並和環境互動。而Critic使用我們之前講到了的價值函數,負責評估Actor的表現,並指導Actor下一階段的動作。
在基於策略的RL中,最優策略是通過直接操縱策略來計算的,而基於價值的函數通過找到最優值函數來隱式地找到最優策略。 基於策略的RL在高維和隨機的連續動作空間以及學習隨機策略方面非常有效。 同時,基於價值的RL在樣品效率和穩定性方面表現出色。
策略梯度RL的主要挑戰是高梯度方差。 減少梯度估計方差的標準方法是使用基線函數b(st)[4]。 關於新增基線會引起很多關注,這會在梯度估計中引起偏差。 有證據表明,基線不能為梯度估算提供基礎。
REINFORCE演演算法的策略梯度表示式如下所示:
REINFORCE的策略梯度表達的期望形式
我們可以寫出軌跡的獎勵R(τ)如下:
然後新增基線函數,如下所示修改策略梯度表示式:
插入基線功能
我們可以將獎勵和基準期限稱為優勢函數。 可以表示如下:
優勢功能
在上面的等式中要注意的重要一點是基線b是s_t而不是s_t` [4]的函數
我們可以重新排列表示式,如下所示:
上式是等效的E(X-Y)。 由於期望的線性,因此我們可以將E(X-Y)重新排列為E(X)-E(Y)[3]。 因此,對上面的等式進行了如下修改:
如果帶有基線的第二項為零,則可以證明新增基線函數b在梯度估計中未新增偏差。 那意味著
我們可以將期望概括如下:
第二項的證明為零,如下所示:
上面的推論證明,新增基線函數對梯度估計沒有偏差
簡單來說,Actor-Critic是策略梯度的時間差異(TD)版本[3]。它有兩個網路:參與者和評論家。參與者決定應該採取哪種行動,評論家告知參與者該行動有多好,應該如何調整。參與者的學習基於策略梯度方法。相比之下,評論家通過計算價值函數來評估參與者的行動。
這種型別的架構是在生成對抗網路(GAN)中,鑑別器和生成器都參與遊戲[2]。生成器生成偽影象,鑑別器使用其真實影象的表示來評估所生成的偽影象的品質[2]。隨著時間的流逝,生成器可以建立偽造的影象,這些偽造的影象對於鑑別器是無法區分的[2]。同樣,Actor和Critic都參與了遊戲,但是與GAN [2]不同,他們都在不斷改進。
Actor-critic類似於帶有基準的稱為REINFORCE的策略梯度演演算法。強化是MONTE-CARLO的學習,它表示總收益是從整個軌跡中取樣的。但是在參與者評論家中,我們使用載入程式。因此,優勢功能的主要變化。
策略梯度總回報中的原始優勢函數更改為自舉。 資料來源:[3]
最後,b(st)更改為當前狀態的值函數。 可以表示如下:
我們可以為actor-critic編寫新的修改後的優勢函數:
或者,將優勢函數稱為TD錯誤,如Actor-Critic框架所示。 如上所述,參與者的學習是基於策略梯度的。 參與者的策略梯度表示式如下所示:
參與者的政策梯度表達
1、使用來自參與者網路的策略πθ對{s_t,a_t}進行取樣。
2、評估優勢函數A_t。 可以將其稱為TD誤差δt。 在Actor-critic演演算法中,優勢函數是由評論者網路產生的。
3、使用以下表示式評估梯度:
4、更新策略引數θ
5、更新基於評價者的基於價值的RL(Q學習)的權重。 δt等於優勢函數。
6、重複1到5,直到找到最佳策略πθ。
作者:Dhanoop Karunakaran
deephub翻譯組