本文へ移動

G検定(ジェネラリスト検定)

あくたーくりてぃっく

アクタークリティック

Actor-Critic

アクタークリティックは、学習される方策(actor、実行者)と、状態価値関数の推定で行動を評価する役割(critic、批評者)を組み合わせた方策勾配法です。1ステップ収益から状態価値関数の推定を差し引いた量で方策のパラメータを更新します。

詳しい説明

actorとcriticという名前が指すもの

アクタークリティック(actor-critic法)は、強化学習の方策勾配法のうち、状態価値関数を使って行動を評価する手法の呼び名です。Sutton & Barto「Reinforcement Learning: An Introduction」第2版(2018年)の第13章§13.5では、次のように説明されています。

  • 状態価値関数を使って行動を評価するとき、その状態価値関数を critic(批評者)と呼びます。
  • 学習される方策を actor(実行者)と呼びます。
  • この2つを組み合わせた方策勾配法の全体を actor-critic法と呼びます。

actorは行動を選ぶ方策そのもので、criticは選んだ行動を状態価値関数の推定で評価する役割です。名前はこの役割の分け方から来ています。

1ステップ収益と状態価値関数のベースラインによる更新

同書が示す1ステップのアクタークリティックでは、方策のパラメータthetaを次の式で更新します(式13.12から13.14)。

theta_(t+1) = theta_t + alpha*(Gt:t+1 - v_hat(St,w))*(grad pi(At|St,theta_t) / pi(At|St,theta_t))

式に出てくる記号の意味は次のとおりです。

  • theta: 方策のパラメータです。
  • alpha: 学習率です。
  • Gt:t+1: 1ステップ収益です。報酬に、割り引いた次の状態の価値の推定を足したものです。
  • v_hat(St,w): 状態Stの状態価値関数の推定で、パラメータwを持ちます。この更新ではベースラインとして使い、Gt:t+1から差し引きます。
  • pi(At|St,theta_t): パラメータtheta_tの方策のもとで、状態Stで行動Atを選ぶ確率です。

REINFORCEとの違い

同書は、1ステップのアクタークリティックを、REINFORCEの完全な収益を1ステップ収益に置き換え、学習された状態価値関数をベースラインとして使う手法だと説明しています。

REINFORCEは、エピソードが終わったあとの完全な収益を使います。1ステップのアクタークリティックは、その代わりに1ステップ収益Gt:t+1を使います。そのうえで、学習された状態価値関数の推定v_hat(St,w)を差し引いた量で方策を更新します。この点が、アクタークリティックに固有の特徴です。

試験で問われること

G検定

  • アクタークリティックでは、学習される方策をactor(実行者)、状態価値関数を使って行動を評価する役割をcritic(批評者)と呼び、両方を組み合わせた方策勾配法をactor-critic法と呼びます。
  • criticの役割を担うのは状態価値関数です。状態価値関数で行動を評価するときに、その状態価値関数をcriticと呼びます。
  • 1ステップのアクタークリティックは、REINFORCEが使うエピソード完了後の完全な収益の代わりに、1ステップ収益Gt:t+1を使います。
  • 1ステップ収益Gt:t+1は、報酬に、割り引いた次の状態の価値の推定を足したものです。
  • 更新では、学習された状態価値関数の推定v_hat(St,w)をベースラインとして1ステップ収益から差し引きます。更新式は theta_(t+1) = theta_t + alpha*(Gt:t+1 - v_hat(St,w))*(grad pi(At|St,theta_t) / pi(At|St,theta_t)) です。
  • アクタークリティックは方策勾配法の一種です。更新するのは方策のパラメータthetaで、alphaは学習率です。

最終更新日: 2026/09/23