機械学習におけるActor-Criticとは?役割・代表手法を整理
強化学習を学び始めると、比較的早い段階で 方策ベース と 価値ベース という二つの考え方に出会います。方策ベースは、どの状態でどの行動を取りやすくするかという方策そのものを直接学習しようとする立場です。一方で価値ベースは、その状態や行動がどれくらい良いかという価値を推定し、その価値を頼りに行動を選ぼうとします。この二つは対立的に説明されることが多いのですが、実際の強化学習では両者の長所を組み合わせたほうが自然な場面が少なくありません。そこで重要になるのが Actor-Critic です。
ユーザーが示した定義の通り、Actor-Critic は actor が行動を選び、critic が value を推定する構造 です。ただし、この説明だけでは少し短すぎて、なぜそれが強力なのか、何をうまく分担しているのかが見えにくいことがあります。実際には、actor は「どう動くか」を決める役割を持ち、critic は「その動きがどれくらい良いか」を評価する役割を持ちます。そして、この二つが互いに情報を与え合いながら学習することで、方策だけを直接学ぶより安定しやすくなり、価値だけを見るより柔軟な行動選択もしやすくなります。つまり、Actor-Critic は単なる役割分担ではなく、行動決定と評価を別々に持ちながら協調させる設計思想 だと言えます。
また、Actor-Critic は強化学習の中でもかなり重要な位置にあります。A2C、A3C、DDPG、SAC、PPO など、現代的な強化学習アルゴリズムの多くが、広い意味では Actor-Critic 系の発想に乗っています。そのため、この構造を理解することは、個別アルゴリズムを暗記すること以上に大きな意味があります。Actor-Critic の見方が分かると、なぜ方策ネットワークと価値ネットワークが分かれているのか、なぜ advantage が出てくるのか、なぜ学習が安定したり不安定になったりするのかが、一つの流れで見えやすくなります。
この記事では、機械学習における Actor-Critic とは何かを定義から整理し、actor と critic の役割、価値ベースや方策ベースとの関係、学習の流れ、advantage の意味、代表的な派生手法、メリットと難しさ、実務での見方までを体系的に解説していきます。単なる略語説明ではなく、「なぜ actor と critic を分けるのか」が見えるようにまとめます。
1. Actor-Criticとは
Actor-Critic とは、行動を選ぶ主体である actor と、その行動や状態の良さを評価する critic を組み合わせた強化学習アーキテクチャ を指します。actor は現在の状態を見て、どの行動を取るか、あるいはどの行動を取りやすくするかを決めます。これに対して critic は、その状態や行動がどれくらい良い結果につながりそうかを推定します。つまり、actor が「何をするか」を担い、critic が「それがどれくらい良かったか」を担う構造です。
この分け方が重要なのは、強化学習では「動き方」と「評価の仕方」が本質的に別問題だからです。方策だけを直接更新しようとすると、得られる学習信号が不安定になりやすいことがあります。一方で、価値だけを学習してそこから行動を選ぶやり方は、離散行動では扱いやすくても、連続行動や確率的な方策では扱いにくいことがあります。Actor-Critic は、この二つの問題をそれぞれ別の役割として持ち、その間をつなぐことで学習しやすくしようとする考え方です。
さらに言えば、Actor-Critic は単なる「二つのネットワークを置く構造」ではありません。大切なのは、critic の評価結果を actor の更新へ使うことです。つまり、critic は外部の審査員ではなく、actor の学習を助ける内部評価器です。この関係を理解すると、Actor-Critic が単なる役割分担ではなく、学習信号を安定させるための仕組みでもあることが見えてきます。
なぜこの名前なのか
Actor-Critic という名前はかなり直感的です。actor は舞台上で実際に行動する存在であり、critic はその行動に対して評価や批評を与える存在です。強化学習でも同じように、actor は環境へ働きかける役割を持ち、critic はその結果を見て「今の選択はどれくらい良かったか」を推定します。この比喩がうまくはまるため、名前の意味も覚えやすくなっています。
ただし、ここで注意したいのは、critic が人間のように外から絶対評価しているわけではないという点です。critic 自身も学習途中の推定器であり、必ずしも常に正しいわけではありません。つまり、Actor-Critic は「正しい批評家が actor を導く」構図ではなく、「未完成な actor と未完成な critic が相互に学び合う」構図です。このため、両者の学習が噛み合えば強いですが、噛み合わないと不安定さも生まれます。
2. ActorとCriticはそれぞれ何をしているのか
2.1 actorの役割は方策を表すこと
actor の役割は、簡潔に言えば 方策を表現し、行動を選ぶこと です。状態 (s) が与えられたときに、どの行動 (a) をどれくらいの確率で選ぶか、あるいは連続行動空間ならどの行動値を出力するかを決めます。離散行動であればソフトマックスを通して行動確率を出すことが多く、連続行動であれば平均と分散のようなパラメータを出して確率分布を表現することもあります。つまり、actor は「行動規則そのもの」を学習していると考えるのが自然です。
この点が価値ベース手法と大きく異なるところです。価値ベースでは「どの行動が良いか」を Q 値の比較から間接的に決めますが、actor はより直接的に「こう動く」という方策を持ちます。そのため、連続行動空間や確率的な探索を自然に扱いやすいのが強みです。逆に言えば、actor は出力した方策が本当に良いかどうかを自分だけでは判断しにくいため、その評価の補助として critic が必要になります。
また、actor は単に一回の行動を決める装置ではなく、長期的に報酬を増やす方向へ少しずつ更新されていく存在です。その更新の際に、「今の行動が期待より良かったのか悪かったのか」という信号が必要になります。この信号を与えるのが critic であり、ここで二つの役割が結びつきます。
2.2 criticの役割は価値を推定すること
critic の役割は、状態や行動の良さを数値として推定すること です。具体的には、状態価値関数 (V(s)) を学ぶ場合もあれば、行動価値関数 (Q(s,a)) を学ぶ場合もあります。どちらを使うかはアルゴリズムによりますが、本質は同じで、「この状態にいること」あるいは「この行動を取ること」が、将来どれくらいの報酬につながりそうかを見積もることです。つまり、critic は未来を見通した評価器として働きます。
この評価は、単に後から点数を付けるためのものではありません。actor が方策を改善するための学習信号として使われます。もし actor がある行動を取ったときに、critic が「それは期待より良かった」と判断すれば、その行動を取りやすくする方向へ方策を更新します。逆に「それは期待より悪かった」と判断すれば、その行動を取りにくくする方向へ更新します。つまり、critic は actor の教師のように働きますが、その教師自身もまた経験から学習している途中だという点が重要です。
さらに、critic が入ることの利点は、報酬そのものより安定した学習信号を作りやすいことです。強化学習の生の報酬はノイズが大きく、遅れて返ってくることもあります。そのまま actor を更新すると分散が大きくなりやすいのですが、critic を通して価値差分や advantage を使うと、相対的に安定した更新を作りやすくなります。ここが Actor-Critic の中心的な強みの一つです。
3. 価値ベース法と方策ベース法の間でActor-Criticはどう位置づくのか
3.1 価値ベース法だけでは扱いにくい場面がある
強化学習には価値ベース法という考え方があります。これは「各状態や行動の価値を推定し、その価値が最も高い行動を選ぶ」というものです。Q-learning や DQN が代表例です。この考え方はとても強力で、特に離散的な行動空間では直感的で扱いやすいです。しかし、行動が連続値になると、すべての行動候補を比較することが難しくなります。また、最適行動を argmax 的に選ぶ構造は、滑らかな確率的方策をそのまま表現するのには向いていないことがあります。つまり、価値ベース法は強力ですが、万能ではありません。
また、価値ベース法では「どの行動が最善か」は分かっても、「どのくらいの確率で行動を混ぜるべきか」といった方策そのものの設計は直接表しにくいです。これは探索や連続制御、確率的な政策が重要な場面では制約になります。つまり、価値だけに寄せた学習では、行動決定の柔軟さに限界が出ることがあります。
3.2 方策ベース法だけでは学習信号が不安定になりやすい
これに対して方策ベース法は、actor のように方策そのものを直接パラメータ化し、期待報酬が高くなるように更新していく立場です。連続行動を自然に扱いやすく、確率的方策も表現しやすいという強みがあります。しかし、純粋な方策勾配法では、更新に使う信号の分散が大きくなりやすいという問題があります。報酬のばらつきがそのまま更新の不安定さへつながり、学習が遅くなることがあります。
ここで critic が入ると、方策更新の際に「単なる累積報酬」ではなく、「その行動が期待より良かったか悪かったか」という相対的な信号を使えるようになります。これによって更新の分散を抑えやすくなり、学習が安定しやすくなります。つまり、Actor-Critic は価値ベース法の「評価の強さ」と、方策ベース法の「行動表現の柔軟さ」をつなぐ位置にあります。
この意味で、Actor-Critic は両者の中間というより、両者の役割を明確に分けながら協力させる枠組みだと見るほうが本質に近いです。actor は方策ベース、critic は価値ベースの要素を担い、その協調によって単独方式の弱点を和らげています。
4. Actor-Criticの学習はどのように進むのか
4.1 基本の流れは「行動 → 報酬 → 評価 → 更新」である
Actor-Critic の学習を直感的に捉えるなら、流れはかなり明快です。まず actor が現在の状態を見て行動を選びます。環境はその行動に応じて報酬と次状態を返します。次に critic が、その結果を使って「今の状態や行動はどれくらい良かったか」を評価します。そして最後に、その評価をもとに actor と critic の両方を更新します。つまり、actor が動き、critic がそれを評価し、その評価が両者の学習へ戻っていく循環構造になっています。
ここで大切なのは、critic の更新と actor の更新が別々の目的を持っていることです。critic は価値推定をより正確にする方向へ学習します。たとえば TD 誤差を小さくするように更新されます。一方 actor は、critic が出した評価を使って、より良い行動を取りやすくする方向へ方策を更新します。つまり、critic は評価精度を高める学習をし、actor は行動の質を高める学習をしています。この二つが噛み合うことで、より良い方策へ近づいていきます。
4.2 TD誤差やAdvantageが学習信号として重要になる
Actor-Critic でよく登場するのが TD誤差 や advantage です。TD 誤差は、現在の価値推定と、報酬および次状態の価値から作る目標との差を表します。直感的には「思っていたより良かったか、悪かったか」の信号です。この差は critic 自身の学習に使われるだけでなく、actor の更新にも利用されます。つまり、actor はこの差分を見て、自分の行動選択を強めたり弱めたりするのです。
advantage は、ある行動がその状態で平均的に期待される水準よりどれだけ良かったかを表す量です。これを使うことで、単に報酬が大きかったかではなく、「その状態で見てどれだけ特別に良かったか」を評価できます。これが actor の更新信号として非常に有効です。つまり、Actor-Critic の学習は、報酬をそのまま actor に渡すのではなく、critic がその意味を相対化してから actor に伝える構造だと言えます。この構造が、純粋な方策勾配法より安定しやすい理由の一つです。
5. Advantageとは何か
5.1 「その行動が平均よりどれだけ良かったか」を表す
Actor-Critic を理解するとき、advantage の考え方は非常に重要です。advantage は、ある状態 (s) で取った行動 (a) が、その状態での平均的な期待水準よりどれだけ良かったかを表します。式で書けば (A(s,a)=Q(s,a)-V(s)) のように表されることが多く、行動価値から状態価値を引いた差です。つまり、その行動が単に高い価値を持つかどうかではなく、「その状態なら普通これくらいだろう」という基準から見て、どれだけ上振れ・下振れしたかを示しています。
この考え方が役立つのは、actor を更新するときに絶対値より相対値のほうが意味を持ちやすいからです。ある行動の報酬が高く見えても、その状態ではどの行動を取っても報酬が高いなら、その行動だけを特別に強化する必要はありません。逆に、ある行動がとても小さな報酬しかもたらさなかったとしても、その状態では他の行動がもっと悪いなら、相対的には良い選択かもしれません。つまり、advantage は「良かったかどうか」を、その状態に応じて相対評価するための指標です。
5.2 actor更新を安定させるための中心概念である
advantage を使うことで、actor の更新信号はより安定しやすくなります。純粋に累積報酬だけで更新すると、状態によるベースラインの違いまで全部混ざってしまい、更新の分散が大きくなりやすいです。advantage はそのベースラインを引く役割を持つため、「その行動が期待より上だったのか、下だったのか」という本当に欲しい信号だけを強調しやすくなります。つまり、advantage は学習信号をきれいに整えるための仕組みです。
この点が理解できると、なぜ PPO や A2C などで advantage 推定が中心的な役割を持つのかが見えやすくなります。Actor-Critic は actor と critic を置けば終わりではなく、その間をつなぐ情報として何を流すかが重要です。そして、その代表的な形が advantage です。つまり、Actor-Critic の強さは actor と critic の二分構造だけでなく、その間に 「相対的な良さ」 を流し込める点にもあります。
6. 代表的なActor-Critic系手法
6.1 A2C・A3CはActor-Criticの基本形を見やすい
Actor-Critic 系手法の中で、構造を理解する入口として分かりやすいのが A2C や A3C です。A3C は複数の環境で並列に経験を集めながら学習する非同期型の手法で、Actor-Critic の考え方を実装レベルでかなりはっきり見せてくれます。A2C はそれを同期的な形に整理したものとして理解されることが多く、実装や概念の把握がしやすいです。これらの手法では、actor が方策を出し、critic が状態価値を推定し、その差分を使って方策を更新するという Actor-Critic の骨格が比較的そのまま現れます。
これらが重要なのは、Actor-Critic の基本的な学習フローをかなり素直に見せてくれるからです。経験を集める、価値を推定する、advantage を計算する、actor を更新する、critic を更新する、という流れが分かりやすく、後の高度な手法を理解する土台になります。つまり、A2C や A3C は単なる古い手法ではなく、Actor-Critic の考え方を学ぶための基本形でもあります。
6.2 PPOやDDPG、SACも広い意味でActor-Criticに属する
現代の強化学習でよく使われる PPO、DDPG、TD3、SAC なども、広い意味では Actor-Critic 系です。PPO は確率的方策と価値関数推定を組み合わせ、更新が急激になりすぎないよう制約を入れた手法として理解できます。DDPG や TD3 は連続行動空間で deterministic な actor と Q 関数的な critic を使う構造を持ちます。SAC はエントロピー項を取り入れながら、方策と価値推定を同時に学ぶ手法です。つまり、現代の主要アルゴリズムのかなり多くが Actor-Critic 的な分業構造を持っています。
このことは非常に重要で、Actor-Critic を理解することが個別手法の理解へつながるという意味があります。アルゴリズムごとに細部は違っても、「誰が行動を出し、誰が評価し、その評価がどう方策更新へ使われるのか」を見ると共通骨格が見えてきます。つまり、Actor-Critic は特定の一手法というより、強化学習アルゴリズムの大きな設計系統として見るべきです。
7. Actor-Criticのメリット
7.1 方策の柔軟さと価値推定の安定性を両立しやすい
Actor-Critic の大きなメリットは、方策ベース法の柔軟さと、価値ベース的な評価の安定性を同時に持ちやすいことです。actor が方策を直接持つため、連続行動空間や確率的な行動選択を自然に扱いやすくなります。一方で、critic が価値推定を担うことで、actor の更新を単なる生の報酬へ頼るより安定させやすくなります。つまり、Actor-Critic は「行動の表現力」と「学習信号の質」のバランスを取りやすい構造です。
この利点は、純粋な方策勾配法や純粋な価値ベース法を学ぶとよりはっきり見えます。方策だけでは分散が大きく、価値だけでは行動表現に制約がある。その間を橋渡しするのが Actor-Critic です。だからこそ、連続制御や高次元問題で Actor-Critic 系手法が多く使われるようになります。
7.2 現代的な手法へつながりやすい
Actor-Critic のもう一つのメリットは、現代的な強化学習手法の多くを理解する基盤になることです。PPO、A2C、A3C、DDPG、SAC など、名前は違っても根本には actor と critic の分業があります。つまり、Actor-Critic の見方を持つと、個別アルゴリズムをばらばらの暗記対象としてではなく、共通の枠組みの中で理解しやすくなります。
これは学習上だけでなく実務上も重要です。新しい論文や実装を見たときに、「この手法では actor が何を出し、critic が何を評価しているのか」を見れば、かなり構造を把握しやすくなるからです。つまり、Actor-Critic は単なる一テーマではなく、強化学習の設計パターンとして価値があります。
8. Actor-Criticの難しさ
8.1 actorとcriticが同時に未完成であることが難しさを生む
Actor-Critic の難しさは、actor も critic も同時に学習途中だという点にあります。もし critic が常に正しい評価を出せるなら、actor はその指示に従ってうまく改善しやすいでしょう。しかし実際には、critic 自身も不完全な推定器です。そのため、critic の誤った評価が actor を悪い方向へ更新させることがあります。逆に actor の方策が変わると、critic が見ているデータ分布も変わるため、critic 側の学習も揺れやすくなります。つまり、両者が同時に動くことそのものが不安定さの原因になり得ます。
この点が、Actor-Critic を単純に見せかけない理由です。構造だけ見ると役割分担は美しく見えますが、実際には未完成な二つの学習器を相互依存させているため、うまく設計しないとノイズや発散が起きやすくなります。したがって、Actor-Critic は強い反面、学習率、ネットワーク構造、ターゲット更新、advantage 推定など、多くの安定化工夫とセットで語られることが多いのです。
8.2 価値推定の質が悪いと方策更新も悪くなる
Actor-Critic では critic の評価が actor の更新信号になります。そのため、critic の価値推定が悪いと、actor は間違った方向へ学習しやすくなります。たとえば本当は良い行動なのに過小評価されれば、その行動を避けるようになるかもしれませんし、逆に本当は悪い行動を過大評価すれば、それを強化してしまうかもしれません。つまり、critic の質は actor の質へ直結します。
この意味で、Actor-Critic では actor だけ見ていても不十分です。critic がどれくらい安定して学習できているか、TD誤差が暴れていないか、advantage 推定が偏っていないかも重要になります。つまり、Actor-Critic は「方策学習手法」ではありますが、実務上は価値推定の品質管理が非常に大きな意味を持つ構造でもあります。
おわりに
Actor-Critic は、actor が行動を選び、critic がその価値を評価するという分業を持つ強化学習アーキテクチャです。ユーザーの定義にある通り、その本質は「行動を決める役」と「その良し悪しを見積もる役」を組み合わせることにあります。ただし、その意味は単なる役割分担以上であり、方策ベース法の柔軟さと、価値推定による安定した学習信号を両立しようとする設計思想だと言えます。
重要なのは、Actor-Critic を個別アルゴリズムの名前としてだけでなく、強化学習の大きな見方として理解することです。actor が方策を持ち、critic が価値や advantage を通じて更新信号を与える、という構造が分かると、A2C、A3C、PPO、DDPG、SAC など多くの手法の骨格が見えやすくなります。つまり、Actor-Critic を理解することは、個々の手法を暗記する前に、強化学習アルゴリズムの設計原理を理解することでもあります。
その一方で、Actor-Critic は簡単な構造ではありません。actor と critic はどちらも未完成なまま相互に影響し合うため、学習の安定性が課題になります。だからこそ、価値推定の質、advantage の扱い、更新の安定化手法が重要になります。Actor-Critic をそのような視点で理解できるようになると、単なる用語知識を超えて、「なぜこのアルゴリズムはこう作られているのか」が見えるようになっていきます。
EN
JP
KR