Actor-Critic
- 又稱: actor-critic methods, actor-critic algorithm
- 類別: Learning & autonomy › RL & simulation
- 標籤: reinforcement-learning, policy-gradient, value-function, deep-learning, robot-learning
一類強化學習方法,同時訓練兩個部分:演員,即選擇動作的策略;評論家,即用來評估並改進這些動作的學習而來的價值函數。
定義
演員-評論家(actor-critic)方法是一類結合策略學習與價值學習的強化學習演算法。演員(actor)就是策略,也就是把目前的狀態或觀測對應到一個動作或動作分布的函數。評論家(critic)是對狀態或動作有多好的學習估計:狀態價值函數 V(s)、動作價值函數 Q(s, a),或衡量某個動作比策略的平均表現好多少的優勢函數。評論家從經驗中訓練,通常使用時序差分學習;演員則朝評論家指出能提高期望回報的方向更新。
這個構想可追溯到 Barto、Sutton 與 Anderson 於 1983 年關於學習平衡竿子的研究,而 Konda 與 Tsitsiklis 在 2000 年前後為演員-評論家演算法及其收斂性提出了形式化分析。其動機是降低變異數。REINFORCE 等純策略梯度方法以完整的觀測回報為每個動作加權,雜訊非常大;以評論家的估計取代該回報,或減去學習而來的基準線以形成優勢,可得到變異數低得多的更新,代價是評論家的誤差會帶來一些偏差。廣義優勢估計等技術讓使用者能調整這個偏差-變異數取捨。
機器人領域所用的深度強化學習大多是演員-評論家方法。A2C 與近端策略最佳化(PPO)等同策略變體訓練一個隨機性演員,並搭配學習而來的價值基準線,被廣泛用於在大規模平行模擬中學習行走運動。DDPG、TD3 與 soft actor-critic(SAC)等異策略變體從重播緩衝區學習 Q 函數,並沿著評論家的梯度更新演員,能更有效率地利用資料,適合在真實硬體上訓練。由於評論家只在訓練期間需要,它可以使用部署後的演員永遠看不到的資訊,這正是非對稱 actor-critic 訓練的基礎。
為何重要
演員-評論家結構正是讓深度強化學習穩定到足以用於機器人控制的原因。了解各部分的功能,可以解釋大多數實務上的調校決策,從價值損失權重與優勢正規化,到為什麼可以提供特權模擬器狀態給評論家;它也是 PPO、SAC 及其變體背後的共同語彙。
主要應用
- 以 PPO 在模擬中訓練的足式行走運動策略
- 以 SAC 或 TD3 在真實機器手臂上進行樣本效率高的學習
- 使用特權資訊評論家的手內靈巧操作
- 無人機與四旋翼控制策略
- 從獎勵訊號學習的攝影機與視角控制
- 微調以模仿學習預訓練的策略
實際應用
一個團隊在同時平行執行數千個環境的 GPU 模擬器中,以 PPO 訓練四足機器人的行走策略。演員是一個小型多層感知器,輸入本體感知觀測,輸出關節位置目標上高斯分布的平均值。評論家是一個獨立的網路,接收相同的觀測,再加上真實基座速度、地形高度與摩擦等特權項,並預測期望的折扣回報。每次 rollout 之後,廣義優勢估計將評論家的預測與觀測到的獎勵結合,演員以截斷的 PPO 目標更新,評論家則朝計算出的回報迴歸。工程師會觀察評論家的解釋變異數:如果它一直很低,優勢大多只是雜訊,演員就會停止進步。只有演員會被匯出到機器人的機載電腦上。
常見誤解
- 評論家是部署之控制器的一部分 — 只有演員在機器人上執行;評論家的存在是為了訓練演員
- 評論家的價值是任務成功程度的準確量測 — 它們是學習而來的近似值,可能有偏差,而 Q 函數高估是已知的失效情形,TD3 與 SAC 以雙評論家來對抗
- PPO 不是演員-評論家方法 — 標準的 PPO 實作會訓練一個價值函數作為優勢的基準線,這使它們屬於演員-評論家方法
- 演員-評論家指的是單一演算法 — 它是一個家族,包含同策略與異策略、隨機性與確定性的方法
誰需要了解
- 在實體機器人上工作的強化學習實務人員
- 使用學習型控制器的行走運動與操作工程師
- 設計訓練管線的機器人學習研究人員
- 從傳統控制轉向學習型控制的學生
相關技術
- A2C 與 A3C
- DDPG
- TD3
- 廣義優勢估計(Generalized Advantage Estimation)
- Stable-Baselines3
- Isaac Lab
相關術語
- Reinforcement Learning
- Proximal Policy Optimization
- Soft Actor-Critic
- Asymmetric Actor-Critic
- Markov Decision Process (MDP)
相關專案
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- MuJoCo: DeepMind physics engine for robotics and ML research
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
影片
- Actor Critic Algorithms: Siraj Raval
- Everything You Need To Master Actor Critic Methods | Tensorflow 2 Tutorial: Machine Learning with Phil