Advantage Actor-Critic/zh

    From Marovi AI
    This page is a translated version of the page Advantage Actor-Critic and the translation is 100% complete.
    Other languages:
    Article
    Topic area Reinforcement Learning
    Prerequisites Policy Gradient, Actor-Critic Methods, Markov Decision Process


    概述

    優勢 Actor-Critic (A2C) 是一種用於 Reinforcement LearningPolicy Gradient 算法,它將參數化的策略(actor)與學習得到的值函數(critic)相結合,並使用優勢函數作為策略更新的信號。通過用優勢替代原始的回報,A2C 在保持梯度估計無偏的同時降低了其方差,這使得訓練比樸素的 REINFORCE 穩定得多。A2C 是 Mnih 等人於 2016 年提出的異步算法 A3C 的同步形式,已成為離散動作基準(如 Atari)和連續控制任務的標準基線。[1]

    核心思想很簡單:與其用噪聲較大的蒙特卡羅回報來縮放每個策略梯度,不如用某個動作相對於該狀態下可用動作的平均水平好多少來縮放。critic 提供這個"平均值",而觀察到的回報與 critic 預測之間的差就是優勢。本文介紹其形式化、使 A2C 區別於 A3C 的同步訓練流程、常見變體,以及與 Proximal Policy OptimizationTrust Region Policy Optimization 等相鄰算法的關係。

    直覺

    Policy Gradient 更新中,梯度方向由某個標量分數加權,該分數表明"該動作是好的"或"該動作是壞的"。最簡單的選擇是軌跡的回報,但回報具有很高的方差:在一個回合開始時採取的某個動作可能會被賦予數百步之後發生的事件的功勞,而其中大多數與該動作無關。所得估計器的方差可能遠超其均值,這會讓學習速度變得極慢。

    A2C 通過引入一個學習得到的基線來解決這個問題。從回報中減去任何依賴狀態的基線都不會引入偏差,因為基線相對於策略參數的期望梯度為零。選擇 Value Function 作為基線會將該分數轉化為優勢,它直觀地衡量了動作相對於策略平均行為的偏離程度。優於基線的動作會被強化;低於基線的動作會被抑制。critic 通過對自舉目標進行 時序差分回歸併行訓練,因此基線會隨着策略的改進而同步更新。

    形式化

    $ \pi_\theta(a \mid s) $ 為由 $ \theta $ 參數化的策略,記 $ V_\phi(s) $ 為由 $ \phi $ 參數化的 critic。當前策略下的狀態值函數為

    $ {\displaystyle V^{\pi}(s) = \mathbb{E}_{\pi}\!\left[\sum_{k=0}^{\infty} \gamma^{k} r_{t+k} \,\middle|\, s_t = s\right],} $

    在狀態 $ s $ 下採取動作 $ a $優勢

    $ {\displaystyle A^{\pi}(s, a) = Q^{\pi}(s, a) - V^{\pi}(s).} $

    以優勢作為分數的策略梯度為

    $ {\displaystyle \nabla_\theta J(\theta) = \mathbb{E}_{\pi}\!\left[\nabla_\theta \log \pi_\theta(a \mid s)\, A^{\pi}(s, a)\right].} $

    在實踐中,優勢是從 rollout 中估計的。最簡單的單步估計器為

    $ {\displaystyle \hat{A}_t = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t),} $

    這正是 TD 誤差。在 $ n $ 個獎勵項之後進行自舉$ n $ 步估計器也被廣泛使用,

    $ {\displaystyle \hat{A}_t = \sum_{k=0}^{n-1} \gamma^{k} r_{t+k} + \gamma^{n} V_\phi(s_{t+n}) - V_\phi(s_t),} $

    現代實現常將其替換為 Generalized Advantage Estimation (GAE),即對 $ n $ 步誤差做帶折扣的指數加權平均,它提供了一個調節偏差與方差權衡的旋鈕。[2]

    critic 通過最小化相對於自舉目標的平方 TD 誤差進行訓練,

    $ {\displaystyle \mathcal{L}_V(\phi) = \mathbb{E}\!\left[\bigl(V_\phi(s_t) - \hat{R}_t\bigr)^2\right], \quad \hat{R}_t = \sum_{k=0}^{n-1} \gamma^{k} r_{t+k} + \gamma^{n} V_\phi(s_{t+n}).} $

    通常會在策略上加入一個小的獎勵項,以避免過早坍縮為確定性動作,從而得到組合損失

    $ {\displaystyle \mathcal{L}(\theta, \phi) = -\mathbb{E}\!\left[\log \pi_\theta(a_t \mid s_t)\, \hat{A}_t\right] + c_v \mathcal{L}_V(\phi) - c_e \mathbb{E}\!\left[\mathcal{H}\bigl(\pi_\theta(\cdot \mid s_t)\bigr)\right],} $

    其中 $ c_v $$ c_e $標量係數,$ \mathcal{H} $ 是策略的熵。

    訓練

    A2C同策略且同步的。一個由並行環境組成的向量同步推進 $ n $ 個轉移,產生大小為 $ n \times N $ 的批次,其中 $ N $ 為 worker 數。利用 critic 的自舉值在該批次上計算優勢,並通過一次梯度步驟同時更新兩個網絡。然後丟棄所收集的轉移並開始新的 rollout,因為梯度估計僅對當前策略有效。

    正是這種同步設計將 A2C 與其前身 A3C 區分開來。在 A3C 中,每個 worker 維護一份參數的本地副本,獨立計算梯度,並異步地將其應用到共享的參數服務器,這意味着 worker 操作的是略微過時的參數。OpenAI baselines 團隊觀察到,在足夠快的 GPU 實現下,將所有 worker 的轉移合併為一個批次並執行一次同步更新,在樣本效率上至少不遜於 A3C,同時顯著更易於實現與調試。[3] 當觀測是高維的(例如 Atari 智能體的卷積主幹)時,actor 和 critic 通常共享較低層,並在接近輸出處分裂為獨立的頭。

    實踐中最關鍵的超參數包括並行環境數量、rollout 長度 $ n $折扣因子 $ \gamma $係數 $ c_e $ 以及學習率。有效批次大小將它們耦合在一起:在固定總環境步數下,將 worker 數加倍會使梯度更新頻率減半,通常需要相應地重新調節學習率。

    變體

    若干變體在基本配方之上進行了擴展。A3C 是原始的異步形式,在沒有 GPU 的情況下使用大量 CPU worker,在通用硬件上歷來較有吸引力。ACKTR 用 Kronecker 因子化的自然梯度步驟替代 SGD 優化器,利用 Fisher Information Matrix 的結構以適度的額外開銷獲得更快的收斂。[4] Proximal Policy Optimization (PPO) 在 A2C 之上引入截斷的代理目標,並在每個 rollout 上進行多個的小批量更新,從而允許更大的有效步長而不會使策略坍縮,在很大程度上取代了 A2C 作為默認的策略梯度基線。Soft Actor-Critic 系列將該框架推廣到帶最大目標的異策略訓練,在配合經驗回放的連續控制中更受青睞。

    比較

    DQN 等基於值的方法相比,A2C 可直接處理連續動作空間,不需要顯式的對動作取最大化的操作——後者在連續空間中難以處理。與樸素的 REINFORCE 相比,A2C 通過學習得到的基線大幅降低了方差,代價是從自舉的 critic 引入偏差,但實踐中該偏差較小且可控。與 PPO 相比,A2C 更簡單,每個 rollout 僅使用一次,因此樣本效率較低但更易於分析;在訓練時間充裕且樣本效率重要時,PPO 通常是更好的默認選擇。與 Soft Actor-CriticDDPG異策略actor-critic方法相比,A2C 無法復用舊轉移,因此在困難的連續控制基準上樣本效率明顯較差,但穩定性和分布式訓練的便利性往往更好。

    局限性

    A2C 繼承了同策略方法的核心弱點:每個轉移在被丟棄前僅用於一次梯度更新,因此樣本效率較異策略方法低。同步設計還意味着 worker 池中最慢的環境會拖慢其他所有環境,當回合長度或耗時差異較大時這會成為問題。該算法對係數和值損失係數較為敏感:熵太小會導致策略過早收斂到確定但次優的策略,熵太大則會阻礙對 critic 學到的結構的利用。最後,由於兩個網絡在共享底層的同時基於相同的軌跡訓練,值損失可能在訓練早期占主導地位,使策略缺乏有用的梯度信號——這也是大多數現代實現傾向於使用具有獨立網絡的 PPO 的原因之一。

    參考文獻

    1. Template:Cite arxiv
    2. Template:Cite arxiv
    3. Template:Cite arxiv
    4. Wu, Y., Mansimov, E., Liao, S., Grosse, R., Ba, J. "Scalable Trust-Region Method for Deep Reinforcement Learning Using Kronecker-Factored Approximation," 2017.