JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

演員-評論家:學一個評論家來指引策略

別再等一整段回合。在策略旁邊同時訓練一個價值估計器,讓它能一步步學習——再用 A2C 與 A3C 跨許多平行環境擴展。

演員與評論家

演員-評論家架構(actor-critic architecture)讓兩個學習者並肩運作。演員(actor)是策略——它選擇動作,並由策略梯度來改進。評論家(critic)估計一個價值函數,提供演員所需的基準線(或完整的優勢值)。兩者互相幫助:評論家給演員低變異的學習訊號,而演員的經驗又訓練了評論家。

關鍵在於,評論家讓我們可以用時序差分(temporal-difference)估計取代緩慢的蒙地卡羅報酬。單步的 TD 誤差 δ = r + γ·V(s') − V(s) 本身就是優勢值的一個(期望上無偏的)樣本。如今演員可以從單一步驟學習,不必等到回合結束。

\delta = r + \gamma\, V(s') - V(s)

单步 TD 误差 δ:评论家对结果比预期好多少的估计,用以替代缓慢的蒙特卡洛回报。

優勢演員-評論家(A2C)

優勢演員-評論家(advantage actor-critic)是乾淨、標準的配方:估計優勢值(常用在短回合上做的 GAE)、用優勢值加權的策略梯度更新演員、再用對 TD 或報酬目標的回歸更新評論家。加上前一篇的熵獎勵,你就有了無數深度強化學習智能體賴以建構的主力。

\nabla_{\theta} J(\theta) = \mathbb{E}\!\left[\nabla_{\theta} \log \pi_{\theta}(a \mid s)\, \hat{A}(s,a)\right]

A2C 用优势加权的策略梯度更新演员,提升那些超过评论家基线的动作。

走向平行:A3C 與 A2C

單一智能體連續取得的樣本高度相關,這會傷害梯度估計。A3C(非同步優勢演員-評論家,Asynchronous Advantage Actor-Critic)的解法是讓許多演員-學習者平行運行,各自有一份環境副本,各自非同步地把梯度推送到一組共享參數。同時進行的多樣經驗讓更新去相關,而不需要回放緩衝區。

A3C 与 A2C 并行运行许多份这样的智能体–环境循环,使训练共享演员-评论家的样本去相关。

强化学习循环示意图,此处以多份并行副本同时向一个共享学习器提供数据。

後來發現,非同步並不是祕方——平行資料才是。A2C(同步版本)只是等所有工作者跑完一段回合,把它們的梯度平均,再套用一次乾淨的更新。它更簡單、更能善用 GPU,通常與 A3C 不相上下甚至更好。A2C 是你應該優先採用的預設選項。

當評論家「相容」時

這裡有個漂亮的理論注腳。學出來的評論家會引入偏差,那梯度還會指向正確方向嗎?相容函數近似(compatible function approximation)理論給出條件:若評論家的特徵恰好是策略的分數特徵 ∇θ log π,並以最小平方法擬合,那麼用這個評論家取代真正的優勢值,會得到精確的策略梯度——完全沒有偏差。

兼容评论家的意义:估计的梯度仍然朝着最优点前进,而不会偏离方向。

梯度下降沿弯曲的损失曲面逐步走向最小值。

實務上我們很少嚴格滿足這個條件——深度評論家遠比相容族群更具表達力。但它解釋了為什麼演員-評論家是有原理的,而非僥倖的取巧;它也預示了下一篇的自然梯度方法,在那裡相容性直接連到策略空間的幾何結構。