深層強化学習アルゴリズムの発展

DQN・Actor-Critic・AlphaGo・Sim2Real
強化学習の数理的基盤
強化学習って数学的にはどう定式化されるの?
強化学習の問題はマルコフ決定過程(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 DQNQ値を過大評価しやすい行動選択とQ値評価を別ネットワークで行い、過大評価を抑制
Dueling Network行動に依存しない状態の価値を分離できないQ値を「状態価値V(s)」と「アドバンテージA(s,a)」に分離して学習
Noisy Networkε-greedyの探索が非効率ネットワークの重みにノイズを加え、探索を自動的かつ効率的に行う
Prioritized Replay経験を均等にサンプリングTD誤差の大きい(学びが多い)経験を優先的にサンプリング
Multi-step Learning1ステップ先の報酬のみで更新n ステップ先の報酬まで考慮して更新(バイアス↓、分散↑のトレードオフ)
Distributional RLQ値の期待値のみ学習報酬の確率分布そのものを学習し、リスクを考慮した意思決定が可能に
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で近似。経験再生+ターゲットNWAtariゲーム
Double DQN価値ベース / モデルフリーQ値の過大評価を防止DQNの改良
Rainbow価値ベース / モデルフリー6つのDQN改良を統合Atari最高性能
REINFORCE方策ベース / モデルフリー方策勾配法の基本形連続行動空間
A3CActor-Critic / モデルフリー非同期並列学習Atari、連続制御
PPOActor-Critic / モデルフリー方策の更新幅をクリッピングで制限し安定化RLHF(ChatGPT等のLLM調整)
AlphaGoActor-Critic + モデルベースCNN + MCTS + 人間の棋譜囲碁
AlphaGo ZeroActor-Critic + モデルベースResNet + MCTS + 完全自己対局囲碁(人間データ不要)
AlphaStar方策ベース + マルチエージェントTransformer + LSTM + リーグ学習StarCraft II
G検定キーポイント