強化学習の数理的基盤
強化学習って数学的にはどう定式化されるの?
強化学習の問題はマルコフ決定過程(MDP) として定式化されます。これは「次の状態は現在の状態と行動のみで決まる」というマルコフ性 を前提とした枠組みです。
マルコフ決定過程(MDP)
エージェント(方策 π)
状態sに対して行動aを選択
環境
次の状態 s' と報酬 r を返す
行動 a
状態 s'
報酬 r
マルコフ性
次の状態は
現在の(s, a)のみで決定
MDPの構成要素
S (状態集合)、A (行動集合)、P (遷移確率)、R (報酬関数)、γ (割引率)の5つ組 (S, A, P, R, γ) で定義。目的は累積報酬(割引報酬和)を最大化する方策 π を見つけること。
DQNの仕組みと工夫
DQNってQ学習とどう違うの?
Q学習 は各「状態×行動」の組にQ値(期待報酬)を記録するテーブル形式ですが、状態が膨大(画像入力など)だとテーブルが作れません。DQN はQ値の計算にディープニューラルネットワークを使い、さらに経験再生 とターゲットネットワーク という2つの工夫で学習を安定させました。
DQNの全体構造
状態 s
(画像等)
84×84×4
Q-Network
(DNN)
Conv → Conv → FC
状態sを入力し各行動のQ値を出力
Q値(出力)
↑: Q=2.3
→: Q=5.1 ←最大
↓: Q=1.8
→ Q値最大の行動を選択
経験再生(Experience Replay)
(s, a, r, s') の経験をバッファに蓄積し、
ランダムにサンプリングして学習。
→ データの時間的相関を打ち破り学習を安定化
ターゲットネットワーク
Q値の目標値を計算する別のネットワーク。
重みを一定周期ごとにメインからコピー。
→ 学習目標の変動を抑えて安定化
DeepMind (2013)
Atariゲームで人間超え
Q値とQ学習
Q値 Q(s, a) :状態sで行動aを取ったとき、将来得られる累積報酬の期待値。Q値が高い行動ほど「長期的に有利」。
Q学習 :経験に基づいてQ値を更新し、最適な行動方策を学ぶアルゴリズム。更新式:Q(s,a) ← Q(s,a) + α[r + γ·max Q(s',a') − Q(s,a)]
DQNの発展形
DQNにはどんな改良版があるの?
DQNの弱点を個別に改善する手法が複数提案され、それらをすべて統合したRainbow が最強のDQN系手法として知られています。
DQN → Rainbow への進化
DQN
基本形
Double DQN
Q値の過大評価を防止
Dueling Network
状態価値とアドバンテージを分離
Noisy Network
NNの重みにノイズ→効率的探索
Prioritized Replay
重要な経験を優先的にサンプル
Multi-step Learning
複数ステップ先の報酬で更新
Distributional RL
Q値の期待値でなく分布を学習
Rainbow (2017)
6つの改良を全統合
手法 DQNの弱点 改良内容
Double DQN Q値を過大評価しやすい 行動選択とQ値評価を別ネットワークで行い、過大評価を抑制
Dueling Network 行動に依存しない状態の価値を分離できない Q値を「状態価値V(s)」と「アドバンテージA(s,a)」に分離して学習
Noisy Network ε-greedyの探索が非効率 ネットワークの重みにノイズを加え、探索を自動的かつ効率的に行う
Prioritized Replay 経験を均等にサンプリング TD誤差の大きい(学びが多い)経験を優先的にサンプリング
Multi-step Learning 1ステップ先の報酬のみで更新 n ステップ先の報酬まで考慮して更新(バイアス↓、分散↑のトレードオフ)
Distributional RL Q値の期待値のみ学習 報酬の確率分布そのものを学習し、リスクを考慮した意思決定が可能に
Rainbow — 上記6つの改良をすべて統合。DeepMind(2017年)。各改良の相乗効果で最高性能
強化学習アルゴリズムの分類
強化学習のアルゴリズムってどう整理すればいいの?
大きく2つの軸 で分類できます:① 価値ベース vs 方策ベース (何を学習するか)、② モデルベース vs モデルフリー (環境モデルを使うか)です。
強化学習アルゴリズムの分類
軸①:何を学習するか?
価値ベース
Q値(行動価値関数)を学習し、
Q値が最大の行動を選択
価値反復法
例:Q学習、DQN
方策ベース
方策(行動の確率分布)を
直接学習して最適化
方策勾配法
例:REINFORCE
Actor-Critic(両方)
Actor(方策)+Critic(価値)
を同時に学習
両方のいいとこ取り
例:A3C、PPO
軸②:環境モデルを使うか?
モデルフリー
環境のモデル(遷移確率・報酬関数)を
使わず、試行錯誤のみで学習
例:DQN、A3C、PPO
モデルベース
環境のモデル(環境パラメータ)を
学習・利用し、先読み・計画に活用
例:AlphaGo(モンテカルロ木探索併用)
方策勾配法 vs 価値反復法
方策勾配法(Policy Gradient)
方策を直接パラメータ化し、累積報酬が増える方向に勾配上昇法 (勾配降下法の逆)でパラメータを更新。
利点 :連続行動空間に対応。確率的な方策を自然に学習。
欠点 :勾配の分散が大きく学習が不安定になりやすい。
価値反復法(Value Iteration)
Q値(行動価値関数)を繰り返し更新して最適なQ値に収束させ、Q値最大の行動を選択。
利点 :収束が安定。過去の経験を効率的に再利用可能。
欠点 :離散行動空間に限定。決定的な方策しか得られない。
Actor-Critic と A3C
Actor-Criticって具体的にどう動くの?
Actor (行動者)が方策を学習して行動を選び、Critic (批評家)が価値関数を学習してActorの行動を評価します。CriticのフィードバックでActorの方策を改善するという仕組みです。A3C はこれを非同期 で並列に学習する手法です。
Actor-Critic の仕組み
Actor(行動者)
方策 π(a|s) を学習
「どの行動を選ぶか」を決める
→ 方策勾配法で更新
Critic(批評家)
価値関数 V(s) を学習
「この状態はどれくらい良いか」評価
→ TD誤差で更新
行動 a を選択
TD誤差で方策を評価
A3C(Asynchronous Advantage Actor-Critic)
複数のエージェントが並列に異なる環境で学習し、非同期にグローバルネットワークの重みを更新。
多様な経験を同時に収集 → 経験再生バッファが不要に。探索の多様性↑、学習速度↑
A3Cの非同期学習
グローバルネットワーク
全エージェントの学習結果を集約
Worker 1
環境A で学習
Actor-Critic
Worker 2
環境B で学習
Actor-Critic
Worker 3
環境C で学習
Actor-Critic
Worker N
環境D で学習
Actor-Critic
各Workerが非同期に勾配を計算 → グローバルネットワークに反映 → 最新の重みをコピー
PPO(Proximal Policy Optimization)— OpenAI, 2017年
OpenAIが開発した方策勾配法の改良版 。Actor-Critic系のアルゴリズムで、方策の更新幅をクリッピング(制限) することで学習を安定化させた。
核心アイデア: 方策の更新時に、新旧の方策の比率が一定範囲(1-ε 〜 1+ε)を超えないようにクリップする。これにより、1回の更新で方策が大きく変わりすぎるのを防ぎ、学習の安定性を確保する。
A3Cとの比較: A3Cより実装が簡単で学習が安定しており、ハイパーパラメータの調整も容易。現在最も広く使われる強化学習アルゴリズムの一つ 。
RLHFの基盤: ChatGPT等の大規模言語モデル(LLM)の調整に使われるRLHF(Reinforcement Learning from Human Feedback) の基盤アルゴリズムとして採用されており、AI安全性の観点からも極めて重要。
深層強化学習のゲームへの応用
強化学習はどんなゲームで活躍してきたの?
Atariゲーム → 囲碁(AlphaGo)→ リアルタイム戦略ゲーム(AlphaStar)と、ますます複雑なゲームに挑戦してきました。
深層強化学習のゲーム応用タイムライン
2013
DQN × Atari
DeepMind
画像入力のみで
人間レベルの
ゲームプレイ
2016
AlphaGo
DeepMind
CNN + MCTS +
人間の棋譜で学習
→ 世界チャンプに勝利
2017
AlphaGo Zero
DeepMind
完全自己対局のみ
人間の知識不要
→ AlphaGoを超越
2019
AlphaStar
DeepMind
StarCraft II
不完全情報ゲーム
→ プロゲーマーに勝利
AlphaGo vs AlphaGo Zero
AlphaGo(2016年)
学習データ :人間のプロ棋士の棋譜約16万局 + 自己対局
手法 :CNN(方策ネットワーク+価値ネットワーク)+モンテカルロ木探索(MCTS)
成果 :イ・セドル九段に4勝1敗
AlphaGo Zero(2017年)
学習データ :完全自己対局のみ (人間の棋譜を一切使わない)
手法 :ResNet+MCTS。方策と価値を1つのNNで出力
成果 :AlphaGoに100戦100勝。わずか3日の学習で到達
🧩 AlphaGoの4つのネットワーク
初心者
AlphaGoは「方策ネットワーク」と「価値ネットワーク」を使うんですよね?もう少し詳しく教えてください。
専門家
AlphaGo(2016年版)は実は4つのネットワーク を組み合わせているんだ。それぞれ役割と学習方法が違うよ。
ネットワーク 学習方法 役割 特徴
SLポリシーネットワーク
教師あり学習(SL)
プロ棋士の手を模倣
プロの棋譜約16万局から「次にどこに打つか」を学習。13層CNN。MCTSの探索で有望な手を絞り込むために使用
RLポリシーネットワーク
強化学習(RL)
SLポリシーをさらに強化
SLポリシーを初期値として、過去バージョンの自分と自己対局。「勝てる手」を学習。バリューネットワークの学習データ生成に使用
ロールアウトポリシー
教師あり学習(SL)
高速シミュレーション
線形モデルベースの軽量な方策。SLポリシーより精度は低いが約1000倍高速 。MCTSで終局まで高速にシミュレーションして勝敗を推定
バリューネットワーク
回帰学習
局面の勝率を予測
盤面を入力し、勝率(0〜1のスカラー値)を直接出力。RLポリシーの自己対局データで学習。ロールアウトなしで局面評価が可能
AlphaGoにおける4つのネットワークの関係
SLポリシーNW
教師あり学習
(プロ棋譜で学習)
初期値
RLポリシーNW
強化学習
(自己対局で強化)
学習データ
バリューNW
回帰学習
(局面→勝率を予測)
ロールアウトポリシー
軽量・高速(SLの約1000倍速)
モンテカルロ木探索(MCTS)
① 選択
→
② 展開
→
③ シミュレーション
→
④ 逆伝播
SLポリシーで
有望な手を絞る
ロールアウトポリシーで
高速に終局まで打つ
バリューNW + ロールアウト
の混合で局面評価
AlphaGoの4つのネットワークとMCTSの関係
AlphaGo → AlphaGo Zeroでの変化
AlphaGo(2016年版)は上記の4つのネットワークを使い分けていたが、AlphaGo Zero では大幅に簡略化された:
・SLポリシー・RLポリシー・バリューネットワークを1つのResNet に統合(方策と価値を同時出力)
・ロールアウトを廃止 (バリューネットワークだけで局面評価)
・人間の棋譜を使わず 完全自己対局のみで学習 → それでもAlphaGoに100戦100勝
モンテカルロ木探索(MCTS)
ゲーム木をランダムにシミュレーション(ロールアウト)して勝率の高い手を探索する手法。選択→展開→シミュレーション→逆伝播 の4ステップを繰り返す。AlphaGoでは方策ネットワーク(有望な手を絞る)と価値ネットワーク(局面の評価)でMCTSを強化。
MiniMax法
2人対戦型ゲーム(チェス、将棋など)で使われる探索アルゴリズム。自分は評価値を最大化 する手を選び、相手は評価値を最小化 する手を選ぶと仮定してゲーム木を探索する。完全な探索は計算量が膨大なため、通常はαβ枝刈りなどで効率化する。AlphaGoはMiniMaxではなくMCTSを採用。
AlphaStar(DeepMind, 2019年)
リアルタイム戦略ゲーム「StarCraft II」でプロプレイヤーのグランドマスターレベルに到達。
困難な点 :不完全情報(マップの一部しか見えない)、膨大な行動空間、長期戦略の必要性
手法 :Transformer+LSTM+方策勾配法。マルチエージェント強化学習 で多様な戦略を獲得。まず人間のリプレイで模倣学習→自己対局で強化。
ロボティクスへの応用とSim2Real
ロボットの訓練に強化学習を使うのは難しそう…
現実のロボットで試行錯誤するのは時間もコストもかかり、壊れるリスクもあります。そこでシミュレーション 上で学習し、現実に転移するSim2Real というアプローチが使われます。
Sim2Real パイプライン
シミュレーション環境
高速・安全・大量の試行が可能
オフライン学習(強化学習)
ドメインランダマイゼーション
物理パラメータをランダムに変動
転移
パフォーマンス
ギャップ
現実環境(Real)
シミュレーションと物理特性が異なる
→ 性能が低下(ギャップ)
ギャップ対策
ドメイン
ランダマイゼー
ション
現実環境での
ファイン
チューニング
ドメインランダマイゼーション
シミュレーション上で物理パラメータ(摩擦・重力・物体の大きさ・色・照明など)をランダムに変動 させて学習する手法。様々な条件で学習することで、現実環境の不確実性にも頑健なモデルが得られ、パフォーマンスギャップ (シミュレーションと現実の性能差)を低減できます。
状態表現学習(State Representation Learning)
DQNは画像から直接ゲームをプレイできるんですよね。どうやって画像を「理解」しているんですか?
ここがまさに状態表現学習 のポイントだよ。従来の強化学習では人間が「どの情報が重要か」を手作業で設計していたけど、ディープラーニングを使うことで、エージェント自身が生データから有用な特徴を自動的に学習 できるようになったんだ。
状態表現学習:従来 vs 深層強化学習
❌ 従来の強化学習
生データ
(画像・センサ)
人間が設計
(特徴量抽出)
RL
• 特徴量を人間が手作業で設計
• タスクごとに再設計が必要
• 人間が見落とす重要な特徴がある
• スケーラビリティが低い
✅ 深層強化学習(状態表現学習)
生データ
(画像・センサ)
DNN が自動学習
(表現学習 + RL を統合)
= End-to-End学習
• NNが最適な特徴表現を自動抽出
• タスクに応じて表現が適応
• 人間には気づけないパターンも発見
• 高次元入力にも対応可能
状態表現学習とは?
強化学習において、エージェントが環境から受け取る生の情報(画像やセンサーデータなど)を、意思決定に役立つコンパクトで有用な特徴表現に変換する学習 のこと。
深層強化学習では、ニューラルネットワーク(特にCNN)が「何が重要か」を自動的に学習 する。例えばDQNでは、CNNの畳み込み層がゲーム画面から「敵の位置」「自機の状態」などの重要な情報を自動的に抽出し、全結合層でQ値(行動の価値)を計算する。
World Models — 世界モデル(Ha & Schmidhuber, 2018年)
状態表現学習をさらに発展させたアプローチ。エージェントが環境の内部モデル(世界モデル)を学習 し、「頭の中のシミュレーション」で行動を計画する。
3つの構成要素:
① V(Vision) :VAE(変分オートエンコーダ)で観測データを低次元の潜在表現に圧縮
② M(Memory) :RNN(MDN-RNN)で潜在空間上の時間変化(ダイナミクス)を学習し、未来の状態を予測
③ C(Controller) :学習した潜在表現と予測に基づいて行動を選択する小さなネットワーク
ポイント :エージェントが環境のモデルを学習することで、実際に行動しなくても「想像」の中で試行錯誤が可能になる。モデルベース強化学習の代表例。
World Models の構造
観測
(高次元画像)
V(Vision)
VAE
画像→潜在表現 z に圧縮
z
M(Memory)
RNN(MDN-RNN)
未来の状態を予測
C(Controller)
小型NN
z + 予測 → 行動 a
行動 a
💭 「想像」による計画
M が z の変化を予測 → 実環境なしで試行錯誤が可能
DQNにおける状態表現学習
DQN は状態表現学習の成功例。ゲーム画面(84×84×4ピクセル)を入力として:
① 畳み込み層 (CNN):画像から「敵の位置」「ボールの軌道」などの重要な特徴を自動抽出
② 全結合層 :抽出された特徴表現をもとに各行動のQ値を計算
この一連の処理をEnd-to-End (一気通貫)で学習するため、人間が特徴量を設計する必要がない。
その他の重要概念
用語 説明 補足
オンライン強化学習
エージェントが環境と逐次的にやり取りしながらリアルタイムで方策を更新する学習方式
シミュレーション後のオフライン学習と対比。現実環境での適応に重要
マルチエージェント強化学習
複数のエージェントが同じ環境で同時に学習・行動する強化学習
協調・競争・混合。AlphaStarの自己対局リーグも一種
OpenAI Gym
強化学習の研究用ツールキット。統一インターフェースで様々な環境を提供
OpenAI開発。CartPole、Atari等の標準ベンチマーク環境を含む
一気通貫学習(End-to-End)
入力(生データ)から出力(行動)まで、中間の手作業設計なしに1つのNNで直接学習する手法
DQNは画像→行動をEnd-to-Endで学習。特徴抽出の手間を省き、全体最適化が可能
アルゴリズム全体まとめ
アルゴリズム 分類 特徴 代表的応用
Q学習 価値ベース / モデルフリー Q値テーブルを更新 小規模な離散環境
DQN 価値ベース / モデルフリー Q値をDNNで近似。経験再生+ターゲットNW Atariゲーム
Double DQN 価値ベース / モデルフリー Q値の過大評価を防止 DQNの改良
Rainbow 価値ベース / モデルフリー 6つのDQN改良を統合 Atari最高性能
REINFORCE 方策ベース / モデルフリー 方策勾配法の基本形 連続行動空間
A3C Actor-Critic / モデルフリー 非同期並列学習 Atari、連続制御
PPO Actor-Critic / モデルフリー 方策の更新幅をクリッピングで制限し安定化 RLHF(ChatGPT等のLLM調整)
AlphaGo Actor-Critic + モデルベース CNN + MCTS + 人間の棋譜 囲碁
AlphaGo Zero Actor-Critic + モデルベース ResNet + MCTS + 完全自己対局 囲碁(人間データ不要)
AlphaStar 方策ベース + マルチエージェント Transformer + LSTM + リーグ学習 StarCraft II
G検定キーポイント
マルコフ決定過程(MDP) :マルコフ性を前提に (S, A, P, R, γ) で定式化。強化学習の数理基盤
DQN の2つの工夫:経験再生 (時間的相関を打破)+ ターゲットネットワーク (学習目標の安定化)
Double DQN = Q値の過大評価を防止、Dueling Network = 状態価値とアドバンテージを分離、Rainbow = 6改良の統合
分類軸①:価値ベース (Q値を学習)vs 方策ベース (方策を直接学習)vs Actor-Critic (両方)
分類軸②:モデルフリー (試行錯誤のみ)vs モデルベース (環境モデルで先読み)
方策勾配法 = 勾配上昇法で方策を更新。価値反復法 = Q値を収束させて最適方策を導出
A3C :Actor-Criticを複数ワーカーで非同期並列学習。経験再生バッファが不要
PPO (OpenAI, 2017年):方策の更新幅をクリッピング で制限し学習を安定化。A3Cより簡単で安定。RLHF の基盤アルゴリズムとしてChatGPT等のLLM調整に使用
AlphaGoの4つのNW :SLポリシー (棋譜で教師あり学習)→RLポリシー (自己対局で強化)→バリューNW (勝率予測)+ロールアウトポリシー (高速シミュレーション)
AlphaGo Zero :4NWを1つのResNetに統合 、ロールアウト廃止、完全自己対局のみ で超越
モンテカルロ木探索(MCTS) :ランダムシミュレーションで有望な手を探索。AlphaGo/Zeroの核心
MiniMax法 :自分=最大化・相手=最小化でゲーム木を探索する古典手法
Sim2Real :シミュレーションで学習→現実に転移。ドメインランダマイゼーション でギャップを低減
状態表現学習 :生データから意思決定に有用な特徴表現を自動学習すること。DQNではCNNが画像から重要な特徴を自動抽出
World Models :環境の内部モデルを学習し、「想像」の中で試行錯誤。V(VAEで圧縮)+ M(RNNで予測)+ C(行動選択)の3要素。モデルベース強化学習の代表例
一気通貫学習 (End-to-End):入力から出力まで1つのNNで直接学習