Actor-Critic
- 別名: actor-critic methods, actor-critic algorithm
- カテゴリ: Learning & autonomy › RL & simulation
- タグ: reinforcement-learning, policy-gradient, value-function, deep-learning, robot-learning
2 つの部分を一緒に訓練する強化学習手法のファミリー。行動を選ぶポリシーであるアクターと、その行動を評価し改善するために使う学習された価値関数であるクリティックからなる。
定義
アクター・クリティック(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 を使って四足ロボットの歩行ポリシーを訓練する。アクターは小さな多層パーセプトロンで、固有受容の観測を入力とし、関節位置目標上のガウス分布の平均を出力する。クリティックは別のネットワークで、同じ観測に加えて真のベース速度、地形の高さ、摩擦といった特権的な項を受け取り、期待割引収益を予測する。各ロールアウトの後、一般化アドバンテージ推定がクリティックの予測と観測された報酬を組み合わせ、アクターはクリップ付きの PPO 目的関数で更新され、クリティックは計算された収益に向けて回帰される。エンジニアはクリティックの説明分散を監視する。それが低いままなら、アドバンテージはほとんどノイズであり、アクターは改善しなくなる。ロボットのオンボードコンピュータに書き出されるのはアクターだけである。
よくある誤解
- クリティックは配備されるコントローラの一部である — ロボット上で動くのはアクターだけであり、クリティックはアクターを訓練するために存在する
- クリティックの値はタスク成功の正確な尺度である — それは学習された近似であって偏りうるものであり、Q 関数の過大評価は既知の失敗で、TD3 と SAC はツインクリティックでこれに対処する
- PPO はアクター・クリティック法ではない — 標準的な PPO の実装はアドバンテージのベースラインとして価値関数を訓練するので、アクター・クリティック型である
- アクター・クリティックは 1 つのアルゴリズムの名前である — オンポリシーとオフポリシー、確率的と決定論的な手法を含むファミリーである
知っておくべき人
- 物理的なロボットに取り組む強化学習の実務者
- 学習型コントローラを使うロコモーションやマニピュレーションのエンジニア
- 訓練パイプラインを設計するロボット学習の研究者
- 古典制御から学習型制御へ移る学生
関連技術
- 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