用語集 · 強化学習

アクター・クリティック

別名:Actor-critic、actor、critic、アクター、クリティック、アクタークリティック

学習する部品を2つ持つ強化学習の設計です。アクター(方策)が行動を選び、クリティック(価値関数)が今の状況の良し悪しを評価します。

アクター・クリティック法は、2つの関数を同時に学習します。

  • アクターは方策(ポリシー) πθ(a∣s)\pi_\theta(a \mid s) です。何をするかを決めます。
  • クリティックは価値関数 Vϕ(s)V_\phi(s) です。これからどれだけ報酬が得られるかを予測します。

クリティックの予測は、アクターを評価するときの基準(ベースライン)になります。各ステップのあと、実際に起きたこととクリティックの予想との差がアドバンテージです。アドバンテージが正の行動は強化されます。

∇θJ≈E ⁣[∇θlog⁡πθ(at∣st) A^t]\nabla_\theta J \approx \mathbb{E}\!\left[\nabla_\theta \log \pi_\theta(a_t \mid s_t)\, \hat{A}_t\right]

クリティックがなければ、アクターは生のリターン(報酬の合計)で評価されることになります。リターンはエピソードごとに大きくばらつき、その原因の多くはどれか1つの行動とは無関係です。クリティックはそのノイズの大部分を取り除いてくれます。

クリティックが必要なのは学習中だけです。実際に使う方策はアクターだけで動きます。

ネットワークを共有するか、分けるか

2つは層を共有することも、別々のネットワークにすることもできます。別々のネットワークのほうが調整は簡単です。クリティックの回帰の損失が、アクターの特徴を乱すことがないからです。

このプロジェクトでは

アクターとクリティックは別々の 2 × 256 のMLPで、入力は同じ193個です。アクターの最終層はゼロから始まるので、まっさらな方策は補正をゼロと出力し、コーチの参照ポーズにそのまま従います。

関連用語

この用語が出てくる記事

← すべての用語