Actor-Criticとは?強化学習の仕組みと使いどころをわかりやすく解説

AIの初心者
「行為者-批評家」って難しく感じます。行為者と批評家は、強化学習の中でどう連携するんですか?

AI専門家
「行為者」は状況を見て行動を選び、「批評家」はその行動が良かったかを評価します。行動する役と評価する役を分けるのが大きな特徴です。

AIの初心者
評価を受けたあと、行為者は何を変えるんですか?

AI専門家
批評家の評価を手がかりに、次から選びやすい行動や避けたい行動を調整します。この繰り返しで、より良い方策を学習していきます。
Actor-Criticは、行動を選ぶActorと、その行動を評価するCriticを組み合わせた強化学習の手法です。日本語では「行為者批評家法」「行動者と批評家」などと呼ばれます。
強化学習では、エージェントが環境の中で行動し、報酬を受け取りながら、より良い行動の選び方を学びます。Actor-Criticはこの学習を、行動選択を担当する部分と評価を担当する部分に分けることで、方策勾配法の柔軟さと価値関数ベースの安定性を両立しようとする考え方です。

Actor-Criticとは何か
Actor-Criticを一言でいうと、「どう行動するか」を学ぶActorと、「その行動がどれくらい良いか」を見積もるCriticが協力する仕組みです。Actorは現在の状態を見て、右へ進む、速度を上げる、買う、売るといった行動を選びます。Criticは、その行動によって得られた報酬や次の状態を見て、Actorの選択が良かったかどうかを評価します。
たとえば迷路を進むロボットを考えると、Actorは「右に曲がる」「左に曲がる」「まっすぐ進む」といった選択をします。Criticは、出口に近づいたなら高く評価し、袋小路へ進んだなら低く評価します。Actorはその評価を受けて、次回以降に選びやすい行動の確率を調整します。
この方法の重要な点は、Criticが単に点数をつけるだけでなく、将来得られる報酬の見込みも考えることです。目先の報酬だけでなく、長期的に良い結果につながる行動を選べるようにするため、価値関数という考え方が使われます。
ActorとCriticの役割
Actorは方策、つまり「ある状態でどの行動をどれくらい選びやすくするか」というルールを持ちます。方策は、行動を1つに決める場合もあれば、複数の行動に確率を割り当てる場合もあります。連続的な行動を扱う場合は、ハンドル角度やロボットアームの動きのように、値の分布として表すこともあります。
Criticは価値関数を使って、現在の状態や選んだ行動がどれくらい良いかを推定します。価値関数は、そこから先に得られる報酬の期待値を表す尺度です。Criticの評価が高ければ、Actorはその行動を今後も選びやすくします。評価が低ければ、その行動の選択確率を下げる方向へ更新します。
| 構成要素 | 主な役割 | 迷路ロボットの例 |
|---|---|---|
| Actor | 状態に応じて行動を選ぶ方策を学習する | 右へ進む、左へ進む、直進するなどを選ぶ |
| Critic | 行動や状態の価値を推定し、Actorへ評価を返す | 出口に近づいたか、袋小路に入ったかを評価する |
初心者が混乱しやすいのは、ActorもCriticも同時に学習している点です。Actorだけが賢くなるのではなく、Criticも環境からの報酬を使って、より正確な評価ができるように更新されます。Criticの評価が改善されるほど、Actorもより信頼しやすい方向へ方策を変えられます。
価値関数ベースと方策勾配法の違い
Actor-Criticは、価値関数ベースの手法と方策勾配法の中間的な位置づけで説明されることが多い手法です。価値関数ベースの手法は、状態や行動の価値を推定し、価値が高い選択を行います。Q学習は代表的な例です。一方、方策勾配法は、価値の表を作ることよりも、方策そのものを直接改善することに重点を置きます。

方策勾配法は、確率的な方策や連続値の行動を扱いやすい反面、更新のばらつきが大きくなりやすいという弱点があります。そこでActor-Criticでは、Criticが価値関数を使ってActorの更新方向を補助します。Actorは方策を直接学習し、Criticはその方策を評価するための基準を学習する、という分担です。
| 手法 | 重視するもの | 特徴 |
|---|---|---|
| 価値関数ベース | 状態や行動の価値 | 価値が高い行動を選ぶ。比較的安定しやすい |
| 方策勾配法 | 行動を選ぶ方策 | 方策を直接更新でき、連続行動にも対応しやすい |
| Actor-Critic | 方策と価値評価の両方 | Actorが方策を学び、Criticが更新を評価する |
Actor-Criticの学習手順
Actor-Criticの学習は、状態を観察し、行動を選び、環境から報酬を受け取り、評価に基づいて更新する流れを繰り返します。典型的には、まずエージェントが現在の状態を観察し、Actorが方策に従って行動を選びます。その行動を環境で実行すると、次の状態と報酬が返ってきます。

次にCriticが、実際に得られた報酬と、次の状態の価値推定を使って、現在の評価がどれくらいずれていたかを計算します。このずれはTD誤差と呼ばれることがあります。厳密な式は実装によって異なりますが、考え方は次のように整理できます。
\(\delta = r + \gamma V(s’) – V(s)\)ここで、\(\delta\) は評価のずれ、\(r\) は報酬、\(\gamma\) は将来の報酬をどれくらい重視するかを表す割引率、\(V(s)\) は状態 \(s\) の価値推定です。この値が正なら、予想より良い結果だったと考えられ、Actorはその行動を選びやすくする方向へ更新されます。負なら、予想より悪い結果だったと考えられ、選びにくくする方向へ更新されます。
この流れを何度も繰り返すことで、Actorはより良い方策を、Criticはより正確な価値推定を身につけていきます。実務では、学習率、割引率、探索の強さ、報酬設計などが結果に大きく影響します。
Actor-Criticのメリット
Actor-Criticの大きなメリットは、方策を直接学習しながら、Criticの評価によって更新を安定させやすいことです。方策勾配法だけでは、試行ごとの報酬のばらつきによって更新方向が揺れやすくなります。Criticが価値の見積もりを与えることで、Actorはより情報量の多い手がかりを使って学習できます。

また、連続的な行動を扱いやすい点も重要です。ロボットアームの角度、車両の加速度、ゲームキャラクターの細かな移動量のように、選択肢が少数のボタン操作に限られない問題では、方策を確率分布として表すActorの仕組みが役立ちます。
さらに、ActorとCriticをニューラルネットワークで表現しやすいため、画像、センサー値、大量の履歴データなど、複雑な入力を扱う深層強化学習にもつなげやすい構造です。A2C、A3C、DDPG、SAC、PPOなど、多くの発展的な強化学習アルゴリズムもActor-Criticの考え方と関係しています。
使うときの注意点
Actor-Criticは便利な一方で、必ず簡単に学習が成功するわけではありません。まず、Criticの評価が不正確なうちは、Actorも誤った方向へ更新される可能性があります。評価役が間違った助言をすれば、行動役も悪い癖を覚えてしまう、というイメージです。
報酬設計にも注意が必要です。報酬が少なすぎる、遅すぎる、目的とずれていると、ActorもCriticも何を改善すべきか分かりにくくなります。たとえば迷路でゴール到達時だけ報酬を与える場合、最初のうちはほとんど報酬を得られず、学習が進みにくいことがあります。
また、探索と活用のバランスも重要です。既に良さそうな行動だけを選び続けると、もっと良い行動を見つけられません。一方で、ランダムな探索を増やしすぎると、安定した方策の学習が遅くなります。学習率や割引率などのハイパーパラメータも、問題設定に合わせて調整する必要があります。
Actor-Criticの応用例
Actor-Criticは、行動を選び、その結果を評価しながら改善する問題に向いています。ロボット制御では、ロボットアームの動作、歩行制御、障害物を避ける移動などに応用されます。連続的な力や角度を扱う場面では、Actorが滑らかな行動を出力できることが利点になります。
ゲームAIでも、Actor-Criticの考え方はよく使われます。複雑な状態から次の行動を選び、勝敗やスコアを通じて評価を受けるため、強化学習の問題として扱いやすいからです。金融取引では、売買や保有の判断を方策として学び、損益やリスクを評価に使う考え方が取られます。ただし金融では市場変化やリスク管理が重要で、単純な過去データ学習だけでは不十分です。
医療や治療方針の最適化でも、患者の状態に応じた意思決定を扱う研究があります。ただし医療分野では、安全性、説明可能性、倫理、データの偏りなどを慎重に扱う必要があります。Actor-Criticは幅広い可能性を持つ一方、実運用では分野ごとの制約を無視できません。
深層強化学習との関係
近年のActor-Criticは、深層学習と組み合わせて使われることが多くなっています。画像、音声、センサー情報のような高次元データを入力として受け取り、ニューラルネットワークが方策や価値関数を近似します。このような仕組みは、深層強化学習の代表的な構成の一つです。

たとえば自動運転では、カメラやセンサーから周囲の状況を理解し、速度や進行方向を選ぶ必要があります。ロボットでは、視覚情報や関節の状態から次の動作を決めます。こうした複雑な入力をそのまま扱うには、ニューラルネットワークによる表現学習が役立ちます。
ただし、深層強化学習にすると計算量が増え、学習が不安定になることもあります。シミュレーション環境、十分な試行回数、安全な探索、評価指標の設計が重要です。Actor-Criticは強力な枠組みですが、問題設定と検証方法を丁寧に設計してこそ効果を発揮します。
まとめ
Actor-Criticは、Actorが行動を選び、Criticがその行動を評価することで学習を進める強化学習の手法です。価値関数ベースの考え方と方策勾配法を組み合わせるため、安定性と柔軟性の両方を狙える点が特徴です。
初心者はまず、Actorを「行動を決める役」、Criticを「将来の報酬も含めて評価する役」と理解すると全体像をつかみやすくなります。そのうえで、価値関数、方策、TD誤差、報酬設計といった関連概念を順に確認すると、A2C、A3C、PPO、SACなどの発展的な手法も理解しやすくなります。
更新履歴
| 日付 | 内容 |
|---|---|
| 2025年2月1日 | 初回公開 |
| 2026年6月25日 | ActorとCriticの役割、手法比較、学習時の注意点を追記 |
