方策勾配法と方策勾配定理の意味について解説

1. 方策勾配法とは?
方策勾配法(Policy Gradient)は、強化学習の代表的な手法のひとつです。 AI(エージェント)が「どのように行動すれば報酬を最大化できるか」を学ぶ際、方策勾配法では行動のルール(方策)そのものを少しずつ改良していきます。
方策にパラメータ$\theta$を導入するので、$\pi_\theta(a|s)$と表記されます。


2. 方策ベースと価値ベース
強化学習には大きく2つの考え方があります。
手法 | 学ぶ対象 | 例 |
---|---|---|
価値ベース | 行動の価値(Q値など)を学ぶ | Q学習など |
方策ベース | 行動そのものの確率分布を学ぶ | 方策勾配法 |
方策ベースの手法では、「どの行動をどれくらいの確率で取るか」を表す方策を直接学習します。 この関数には「パラメータ(θ)」があり、AIはこのパラメータを少しずつ更新していくことで方策を改善していきます。
一方、価値ベースの手法では価値関数から方策を決定する。
3. 基本の考え方
エージェントの目標は、得られる報酬の合計(期待収益)を最大化することです。
そのために、まず環境とのやり取りで得られる一連のデータ、すなわちMDP(マルコフ決定過程)のエピソードを次のように表します。
$$ \tau = (S_0,A_0,R_0,S_1,A_1,R_1,S_2,A_2,R_2\cdots,S_t,A_t,R_t,S_{t+1})$$
ここで、
- $S_t$:時刻 tの状態(state)
- $A_t$:その状態で選択した行動(action)
- $R_t$:その行動によって得られた報酬(reward)
方策(policy)$\pi_\theta$は、このエピソード$\tau$に従います
次に、割引率$\gamma$を使って、エピソード全体で得られる収益(return)を考えます。
$$G(\tau) =\sum_{t=0}^{T} \gamma^t R_t$$
収益の期待値を $ J(\theta) $ とすると、
$$J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta}[G(\tau)]$$
方策のパラメータ$\theta$は、勾配(gradient)を使って次のように更新します。
\[ \theta \leftarrow \theta + \alpha \nabla_\theta J(\theta) \]
ここで
- $\alpha$:学習率(どのくらいパラメータを変えるか)
- $\nabla_\theta J(\theta)$:報酬を増やす方向(勾配)
つまり、「報酬が増えた方向」にパラメータ$\theta$を動かします。この方法は勾配上昇法と呼ばれます。
4. 方策勾配法で重要な数式(方策勾配定理)
方策勾配法や方策ベースの手法でよく登場するのが、方策勾配定理と呼ばれる数式です。これは、報酬の期待値を最大化するために、方策パラメータの勾配をどのように求めるかを示しています。
ここで、$b(S)$ はベースラインと呼ばれる値です。この項は期待値が 0 であるため、あってもなくても理論上は変わりません。ただし学習の安定化のために導入され、一般的には平均が使われます。
一応期待値の中にあるので大文字にしてます。
証明はここではしません。別の記事でするかもしれないです。
4.1. 意味
ここでは、数式の意味を考えてみましょう。
いきなりナブラとかでてきてごつい感じですね。
$$\nabla_\theta J(\theta) = E_{\tau \sim \pi_\theta}[\nabla_\theta \log \pi(A|S)(Q(S,A)-b(S))]$$
勾配を計算しているので例えば、偏微分の式で表すと、方策勾配定理は次のように表されます。
$$ \frac{\partial J(\theta)}{\partial \theta_i} = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \frac{\partial}{\partial \theta_i} \log \pi(A|S) \, \big(Q(S,A) – b(S)\big) \right] $$
この勾配を先ほど紹介した勾配上昇法の更新式に代入します。
\[ \theta \leftarrow \theta + \alpha \nabla_\theta J(\theta) \]
ここで符号に注目して考えると、$\nabla_\theta J(\theta) > 0$ であるとき、以下の2つのパターンが見えてきます。
- [1] $q(s,a) – b(s) > 0$ かつ $\nabla_\theta \log \pi(a|s) > 0$
- [2] $q(s,a) – b(s) < 0$ かつ $\nabla_\theta \log \pi(a|s) < 0$
[1] のケースの場合、
$Q(s,a) – b(s) > 0$ ということは、平均(ベースライン)よりも行動価値関数(行動・状態が与えられたときの収益の期待値)が高いことを意味します。
また、$\nabla_\theta \log \pi(a|s) > 0$ ということは、$\pi(a|s)$ が増える方向へ$\theta$を更新、すなわちより良い行動をとりやすくなることを表しています。
[2] のケースの場合、
$Q(s,a) – b(s) < 0$ ということは、平均(ベースライン)よりも行動価値関数が低く、望ましくない行動であることを意味します。
さらに、$\nabla_\theta \log \pi(a|s) < 0$ ということは、$\pi(a|s)$ が減る方向へ$\theta$を更新、つまり良くない行動をとりにくくすることを表しています。
このように、方策勾配定理では「良い行動の確率を上げ、悪い行動の確率を下げる」という仕組みが成り立っています。



5. 派生手法
方策勾配法の流れを改良した手法は多く存在します。
手法 | 特徴 |
---|---|
REINFORCE | 最も基本的な方策勾配法。報酬が直接反映されるが分散が大きい。 |
A2C / A3C | 並列環境を使って学習を安定・高速化。 |
TRPO | 方策を更新しすぎないよう制約を加える。 |
PPO | TRPOをシンプルに改良。現在の主流アルゴリズム。 |
特に PPO(Proximal Policy Optimization) は、強化学習の研究やゲームAI、ロボット制御などで広く使われています。