Actor-Criticとは?強化学習の仕組みと活用例をわかりやすく解説

Actor-Criticとは?強化学習の仕組みと活用例をわかりやすく解説

AIの初心者

『行為者-批評家』って難しく聞こえます。Actor-Criticは、何をしている手法なんですか?

AI専門家

Actor-Criticは、行動を選ぶ役と、その行動を評価する役を分けて学習する強化学習の方法です。Actorが行動を決め、Criticが「その行動はどれくらい良かったか」を評価します。

AIの初心者

行動する担当と評価する担当が、協力しながら成長するイメージですね。

AI専門家

その通りです。方策を改善するActorと、価値を見積もるCriticを組み合わせることで、複雑な環境でも効率よく行動を学びやすくなります。

Actor-Criticとは。

Actor-Criticとは、強化学習において行動を選ぶActorと、その行動を評価するCriticを組み合わせた手法です。日本語では「行為者-批評家」や「役者批評家」と呼ばれることがあります。価値関数に基づく方法と方策勾配法に基づく方法の特徴を併せ持ち、ロボット制御やゲームAIなど、行動の選択が重要な問題で使われます。

Actor-CriticでActorとCriticが環境とやり取りする全体像

Actor-Criticとは?強化学習での役割

強化学習では、エージェントが環境の中で行動し、報酬を受け取りながら、より良い行動を学習します。迷路を進むロボットで考えると、ロボットがエージェント、迷路が環境、ゴールに近づくことが報酬にあたります。

Actor-Criticの特徴は、学習の中で担当を分ける点です。Actorは「次にどの行動を選ぶか」を決め、Criticは「その行動が将来の報酬につながりそうか」を評価します。Actorだけで学ぶと更新が不安定になりやすく、Criticだけで行動を決めようとすると連続的な行動や複雑な方策を扱いにくい場合があります。Actor-Criticは、この2つを組み合わせて弱点を補う考え方です。

「行為者」と「批評家」という名前は、舞台の役者と批評家にたとえると理解しやすくなります。役者が演技をし、批評家が良かった点や改善点を伝える。役者はその評価をもとに次の演技を変える。この繰り返しが、Actor-Criticにおける学習の基本的なイメージです。

ActorとCriticの役割

Actorは、現在の状態を見て行動を選ぶ部分です。強化学習では、この行動選択のルールを「方策」と呼びます。方策は「この状態なら右に進む確率が高い」「この速度ならブレーキを少し強める」といった、行動の選び方を表します。

Criticは、Actorが選んだ行動を評価する部分です。評価の基準になるのが価値関数です。価値関数は、ある状態や行動が将来どれくらいの報酬につながるかを見積もる関数です。Criticは報酬と次の状態を観察し、Actorに「今の行動は予想より良かった」「予想より悪かった」というフィードバックを返します。

この関係で重要なのは、Criticが正解を直接教えるわけではないことです。Criticはあくまで評価を返し、Actorはその評価を手がかりに方策を少しずつ更新します。評価が高かった行動は選ばれやすくなり、評価が低かった行動は選ばれにくくなります。

価値関数と方策勾配を組み合わせる理由

価値関数と方策勾配がActor-Criticで組み合わさるイメージ

Actor-Criticを理解するには、価値関数ベースの手法と方策勾配法の違いを押さえると見通しが良くなります。価値関数ベースの手法は、状態や行動の価値を推定し、価値が高い行動を選びます。Q学習は代表的な例です。

一方、方策勾配法は、行動の確率分布である方策を直接更新します。REINFORCEのように、実際に得られた報酬を手がかりに「この状態では行動Aを70%、行動Bを30%で選ぶ」といった分布を調整します。連続的な行動や確率的な行動を扱いやすい反面、評価のばらつきが大きいと学習が不安定になりやすい点があります。

Actor-Criticでは、Actorが方策勾配の考え方で方策を更新し、Criticが価値関数で更新の方向を支えるため、方策勾配法の柔軟性と価値関数ベースの安定性を組み合わせられます。

手法 主な考え方 特徴
価値関数ベース 状態や行動の価値を推定する 比較的安定しやすいが、連続行動や複雑な方策では工夫が必要
方策勾配法 方策を直接更新する 複雑な行動選択を扱いやすいが、更新が不安定になりやすい
Actor-Critic 方策と価値評価を分担する 柔軟な行動選択と評価による安定化を両立しやすい

学習の流れ

Actor-Criticの状態、行動、報酬、評価、更新の学習サイクル

Actor-Criticの学習は、状態の観察、行動の選択、環境からの報酬、Criticによる評価、Actorの更新という流れで進みます。この流れを何度も繰り返すことで、Actorはより良い行動を選ぶ方策を身につけます。

まずActorは、現在の状態をもとに行動を選びます。環境はその行動に反応し、次の状態と報酬を返します。次にCriticが、実際に得られた報酬と、自分が予測していた価値を比べます。この差が、ActorとCriticの両方を更新する手がかりになります。

代表的な考え方として、TD誤差があります。

\(\delta_t = r_t + \gamma V(s_{t+1}) – V(s_t)\)

ここで、\(\delta_t\)は予測と実際のずれ、\(r_t\)は得られた報酬、\(\gamma\)は将来の報酬をどれくらい重視するかを表す割引率、\(V(s_t)\)は現在状態の価値、\(V(s_{t+1})\)は次状態の価値です。予想より結果が良ければActorはその行動を選びやすくし、悪ければ選びにくくします。

実装では、ActorとCriticが別々のニューラルネットワークとして用意されることもあれば、一部の層を共有することもあります。いずれの場合も、Criticの評価が更新の土台になるため、Criticの学習が遅すぎたり不正確だったりすると、Actorも誤った方向に進みやすくなります。

利点と欠点

Actor-Criticの利点と欠点をバランスで示すイメージ

Actor-Criticの利点は、方策を直接学べる柔軟性と、価値評価を使った学習の支えを両立できる点です。ロボットアームの角度や自動運転の加減速のように、行動が連続的な問題では、行動を確率分布として扱えるActorの仕組みが役立ちます。

また、Criticが価値を推定することで、単純な方策勾配法よりも学習のばらつきを抑えやすくなります。報酬がすぐに得られない問題でも、将来の価値を推定することで、現在の行動が良かったかどうかを判断しやすくなります。

一方で、欠点もあります。ActorとCriticの両方を学習させるため、学習率、報酬設計、価値関数の近似、探索の強さなど調整すべき要素が多い点です。Criticがまだ十分に学習できていない段階では、評価が不正確になり、Actorが望ましくない方策を強めてしまうことがあります。

項目 内容
利点 連続行動や複雑な方策を扱いやすく、Criticの評価で学習を支えられる
欠点 調整項目が多く、Criticの評価が不正確だとActorの更新も崩れやすい
初心者向けの注意 ActorだけでなくCriticの学習状況も確認し、報酬設計を安易に複雑にしすぎない

応用例

Actor-Criticは、行動を選びながら経験から改善していく問題に向いています。代表例はロボット制御です。ロボットアームが物体をつかむ場面では、Actorが関節の動かし方を選び、Criticが動作の滑らかさや目標への近さを評価します。

ゲームAIでも利用されます。囲碁や将棋のようなゲームでは、Actorが次の手を選び、Criticが盤面の良さを評価します。ゲームは状態数が非常に多いため、すべての可能性を手作業で設計するのではなく、経験から方策と評価を学ぶ方法が有効になります。

交通制御や資源管理にも応用できます。信号制御ではActorが信号の切り替え方を選び、Criticが渋滞の減少や待ち時間の短縮を評価します。電力配分では、需要の変化に応じて供給を調整し、効率や安定性を評価する形で学習できます。

分野 Actorの役割 Criticの役割
ロボット制御 関節や移動の行動を選ぶ 動作の成功度や滑らかさを評価する
ゲームAI 次の手や戦略を選ぶ 局面の有利不利を評価する
交通制御 信号や経路の制御を選ぶ 渋滞や待ち時間の改善を評価する
資源管理 配分や制御の行動を選ぶ 効率、安定性、損失を評価する

今後の展望と学習時の注意点

Actor-Criticの応用分野と今後の展望

Actor-Criticは、深層学習と組み合わせた深層強化学習の中でも重要な考え方です。画像やセンサーデータのような高次元の入力を扱い、複雑な環境で行動を学ぶ場面では、ActorとCriticをニューラルネットワークで表現する手法が使われます。

今後の課題は、学習の安定性をさらに高めること、パラメータ調整の負担を減らすこと、現実世界の複雑な条件に対応することです。現実のロボットや自動運転では、シミュレーションと実環境の差、センサーの誤差、安全性の制約なども考慮しなければなりません。

複数のActorが協力するマルチエージェント強化学習も重要な方向性です。複数のロボット、複数の車両、複数の制御システムが相互作用する環境では、1つのエージェントだけを最適化しても全体として良い結果になるとは限りません。Actor-Criticの考え方は、こうした協調や競争を含む問題にも広がっています。

まとめ

Actor-Criticは、行動を選ぶActorと、行動を評価するCriticを組み合わせて学習する強化学習手法です。価値関数ベースの考え方と方策勾配法の考え方をつなぐため、複雑な行動選択や連続制御に対応しやすいという特徴があります。

ただし、ActorとCriticの両方を適切に学習させる必要があるため、設定の調整やCriticの評価精度には注意が必要です。まずは「Actorは方策を改善する」「Criticは価値を見積もって評価する」という役割分担を押さえると、A2C、A3C、DDPG、SACなどの発展的な手法も理解しやすくなります。

更新履歴

日付 内容
2025年1月31日 初回公開
2026年7月3日 価値関数と方策勾配の関係、TD誤差の読み方を補強