強化学習(Reinforcement Learning)は、エージェントが環境と相互作用しながら、得られる報酬の合計を最大化するように行動を学習していく枠組みです。深層強化学習(Deep Reinforcement Learning)は、この枠組みの中で使われる関数(価値関数や方策)をニューラルネットワークで近似するアプローチを指します。

1. 強化学習の基礎用語

用語 意味
エージェント(Agent) 行動を選択する主体
環境(Environment) エージェントが相互作用する対象(行動を受け取り、次の状態と報酬を返す)
状態(State, $s$) 環境の現在の様子を表す情報
行動(Action, $a$) エージェントが選択できる操作
報酬(Reward, $r$) 行動の結果として環境から得られる評価値(スカラー)
方策(Policy, $\pi$) 状態から行動を選ぶ規則。確率的方策では $\pi(a\vert s)$(状態 $s$ で行動 $a$ を選ぶ確率)として表される
価値関数(Value Function) ある状態(または状態行動対)から先、将来にわたって得られる報酬の期待値
行動価値関数(Q値, $Q(s,a)$) 状態 $s$ で行動 $a$ を取った場合の、将来にわたる報酬の期待値

学習のループは以下のように進みます。

エージェントが状態 s を観測
   ↓
方策 π に従って行動 a を選択
   ↓
環境が次の状態 s' と報酬 r を返す
   ↓
この経験 (s, a, r, s') を使ってエージェントが学習(更新)
   ↓
新しい状態 s' から繰り返す

教師あり学習と異なり、強化学習には「正解ラベル」が与えられません。代わりに、行動の結果として得られる報酬という間接的な評価信号だけを頼りに、試行錯誤しながら良い方策を見つけていく点が本質的な違いです。

2. 収益と割引率

エージェントが最大化したいのは、目先の報酬1つだけではなく、将来にわたって得られる報酬の合計(収益、Return)です。

\[G_t = r_{t+1} + \gamma r_{t+2} + \gamma^2 r_{t+3} + \cdots = \sum_{k=0}^{\infty} \gamma^k r_{t+k+1}\]
  • $\gamma \in [0, 1]$ は割引率(discount factor)と呼ばれるパラメータで、将来の報酬をどれだけ重視するかを制御する
  • $\gamma$ が1に近いほど遠い将来の報酬も重視し(長期的視野)、0に近いほど目先の報酬を重視する(近視眼的)
  • 割引率を導入する理由は、無限に続く可能性のある収益の和を有限の値に収束させるため、および「今すぐ得られる報酬」を「将来得られる同じ報酬」より価値が高いと扱うのが自然であるため

3. 価値関数とベルマン方程式

  • 状態価値関数 $V^\pi(s)$:方策 $\pi$ に従って行動したとき、状態 $s$ から得られる収益の期待値
  • 行動価値関数 $Q^\pi(s,a)$:状態 $s$ で行動 $a$ を取り、その後は方策 $\pi$ に従ったときの収益の期待値

これらの価値関数は、「今の価値」を「次の時刻の価値」で再帰的に表現できるという性質を持ちます。これを ベルマン方程式(Bellman Equation) と呼びます。

\[Q^\pi(s,a) = \mathbb{E}\left[ r + \gamma \, \mathbb{E}_{a' \sim \pi}\bigl[Q^\pi(s', a')\bigr] \right]\]

これは「今この状態行動対を選んだときの価値は、即時報酬 $r$ に、割引された次の状態での価値を足したものに等しい」という自己言及的な関係式です。動的計画法や多くの強化学習アルゴリズム(Q学習など)は、この関係式を反復的に満たすように価値関数を更新していくことで最適な価値関数に近づけていきます。

4. DQN(Deep Q-Network)

発想

古典的な Q学習では、すべての状態行動対 $(s,a)$ に対する Q値をテーブル(表)として保持し、更新していました。しかし状態空間が非常に大きい(例:ゲーム画面のピクセル値)場合、すべての状態を表として持つことは現実的ではありません。

DQN は、この Q値の関数をニューラルネットワーク $Q(s,a;\theta)$(パラメータ $\theta$ を持つ)で近似することで、この問題を解決します。

なぜそのままでは学習が不安定になるか

ニューラルネットワークによる Q値の近似は、通常の教師あり学習と違って以下の2つの問題を抱えています。

  1. データの強い相関:エージェントが環境と連続的に相互作用して得る経験 $(s,a,r,s’)$ は、時系列的に強く相関している(直前の状態と非常によく似た状態が次々に得られる)。通常のニューラルネット学習は、データが独立同分布i.i.d.)であることを前提にした確率的勾配降下法に基づいているため、この相関が学習を不安定にする
  2. 目標値自体が動く:Q学習の更新則は、次の状態の Q値(これも同じネットワークで計算される)を「正解」の一部として使う。しかしそのネットワーク自体が学習の途中で常に変化し続けるため、教師あり学習のような固定された正解ラベルとは異なり、目標が常に動いてしまい発散しやすい

安定化のための工夫

手法 目的
経験再生(Experience Replay) 経験 $(s,a,r,s’)$ をリプレイバッファに貯めておき、そこからランダムにミニバッチをサンプリングして学習することで、時系列的な相関を崩し、i.i.d.に近い形でデータを扱えるようにする
Target Network(ターゲットネットワーク) Q値の目標値を計算する専用のネットワークを、学習中のメインネットワークとは別に用意し、一定間隔(例:数千ステップごと)でのみメインネットワークの重みをコピーして更新する。これにより目標値が短期間で頻繁に変動することを防ぎ、学習を安定させる

DQN の派生

  • Double DQN:通常の DQN は「次状態でのベストな行動の選択」と「その行動の価値評価」の両方を同じネットワークで行うため、Q値を過大評価しやすいという偏りがある。Double DQN は行動の選択をメインネットワークで、その評価をターゲットネットワークで行うことで、この過大評価バイアスを緩和する
  • Dueling DQN:Q値を「状態そのものの価値 $V(s)$」と「その状態における各行動の相対的な優位性(アドバンテージ)$A(s,a)$」の2つに分解するネットワーク構造を導入する($Q(s,a) = V(s) + A(s,a)$)。多くの状態では、どの行動を取っても結果にあまり差がないことがあり、そうした状況で状態価値と行動優位性を分離して学習することで、より効率的な学習が可能になる

5. 方策勾配法(Policy Gradient)

DQN のように価値関数(Q値)を経由して間接的に方策を決める(Q値が最大の行動を選ぶ)アプローチに対し、方策勾配法は方策 $\pi_\theta(a\vert s)$ 自体をニューラルネットワークで直接パラメータ化し、期待収益を最大化するように $\theta$ を直接最適化するアプローチです。

方策勾配定理

期待収益 $J(\theta) = \mathbb{E}{\pi\theta}[G_t]$ を $\theta$ について微分すると、次の形になることが知られています(方策勾配定理)。

\[\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\left[ \nabla_\theta \log \pi_\theta(a\vert s) \, Q^\pi(s,a) \right]\]

直感的には、「実際に得られた収益(あるいはQ値)が大きかった行動については、その行動を選択する確率 $\pi_\theta(a\vert s)$ をさらに高める方向に、収益が小さかった行動についてはその確率を下げる方向にパラメータを更新する」という更新則になっています。

方策勾配法は、行動空間が連続的な場合(例:ロボットの関節角度のような連続値の制御)にも自然に適用できる点が、離散的な行動空間を前提とすることが多い Q学習系のアプローチに対する利点です。

Actor-Critic

方策勾配法単体では、収益 $G_t$ をそのまま使うと学習の分散(ばらつき)が大きくなり学習が不安定になりがちです。Actor-Critic はこれを改善する枠組みで、2つの役割を組み合わせます。

役割 内容
Actor(行動器) 方策 $\pi_\theta(a\vert s)$ を持ち、実際に行動を選択する(方策勾配法の主役)
Critic(評価器) 価値関数 $V(s)$ や $Q(s,a)$ を推定し、Actor が選んだ行動がどれだけ良かったかを評価してフィードバックする

Critic が推定する価値関数を使って、方策勾配の更新に使う値を「収益そのもの」ではなく「アドバンテージ(実際の収益と価値関数の期待値との差)」に置き換えることで、学習の分散を抑えつつバイアスの少ない更新が可能になります。

  • A2C(Advantage Actor-Critic):アドバンテージを用いた Actor-Critic 法。複数の環境を同期的に並列実行して学習を安定・高速化する
  • A3C(Asynchronous Advantage Actor-Critic):A2C を非同期化したもの。複数のエージェントが別々の環境インスタンスで非同期に経験を収集し、それぞれが中央のネットワークのパラメータを更新する。非同期に多様な経験を集めることで、経験再生バッファを使わなくても学習データの相関を弱めることができる

6. 応用例

AlphaGo / AlphaZero

囲碁で人間のトップ棋士を破ったことで知られるモデルです。以下の要素を組み合わせています。

  • 方策ネットワーク(Policy Network):現在の盤面から、次に打つべき有望な手の確率分布を出力する
  • 価値ネットワーク(Value Network):現在の盤面から、最終的な勝敗の見込みを評価する
  • モンテカルロ木探索(MCTS):方策・価値ネットワークの評価を使いながら、実際に手を読み進めて探索する

AlphaZero は AlphaGo からさらに発展し、人間の棋譜データを一切使わず、自己対戦(Self-Play)のみによって方策・価値ネットワークをゼロから学習させた点が特徴です。

盤面のように取りうる行動の組み合わせが膨大なゲーム木を、すべて網羅的に探索することは計算量的に不可能です。MCTS は、有望そうな手を優先的に深く探索することで、限られた計算資源で効率的に良い手を見つける探索アルゴリズムです。基本的に以下の4ステップを繰り返します。

  1. 選択(Selection):木の根(現在の局面)から、これまでの探索結果に基づいて「有望かつまだ十分に探索されていない」ノードを選びながら葉ノードまで下る
  2. 展開(Expansion):選択した葉ノードに、新しい子ノード(次の一手の候補)を追加する
  3. シミュレーション(Simulation / Rollout):追加したノードから、方策ネットワークなどを用いて終局(あるいは一定の深さ)まで局面を進め、その結果を評価する
  4. 逆伝播(Backpropagation):シミュレーションで得られた評価値を、選択の際にたどってきた経路上のすべてのノードに反映(統計を更新)する

これを繰り返すことで、探索が進むほど有望な手の周辺がより深く探索されるようになり、限られた計算時間の中で質の高い意思決定が可能になります。

まとめ

  • 強化学習は「状態・行動・報酬」のループの中で、収益(割引された将来報酬の和)を最大化する方策を学習する枠組みである
  • DQN は Q学習をニューラルネットで近似したものだが、そのままでは学習が不安定になるため、経験再生とターゲットネットワークという2つの安定化技法が不可欠になる
  • 方策勾配法は方策自体を直接最適化するアプローチで、連続行動空間にも自然に対応でき、Actor-Critic はその分散を抑える枠組みである
  • AlphaGo/AlphaZero は方策・価値ネットワークとモンテカルロ木探索を組み合わせた代表的な応用例であり、AlphaZero は自己対戦のみで学習した点が特徴的