『ゼロから作るDeep Learning ❹(強化学習編)』で学ぶ
- この本の位置づけ(何ができるようになるか)
『ゼロから作るDeep Learning ❹ ―強化学習編』は、外部ライブラリに過度に依存せず、強化学習の基本部品を「理論」と「実装」の両方から積み上げる構成になっている。出版社の説明も「基本的な技術やアイデアをゼロから実装しながら学ぶ」点を強調している。 (O'Reilly Japan)
本書の章立ては次の学習曲線に対応する。
・第1章:探索と推定(バンディット=最小RL)
・第2〜4章:MDP→ベルマン→DP(“正解がある世界”を作る)
・第5〜6章:MC/TD→SARSA/Q学習(“サンプルで学ぶ”へ)
・第7〜8章:NN近似→DQN(Q学習の関数近似・安定化)
・第9章:方策勾配→Actor-Critic(方策ベース)
・第10章+付録:発展(PPO等の位置づけ、理論補強)
- 強化学習の最小定義(MDP)
強化学習は、環境と相互作用しながら「累積報酬(リターン)」を最大化する方策 π を学ぶ枠組みで、基本モデルは MDP(Markov Decision Process)で表す。
MDP の構成要素
・状態:s
・行動:a
・報酬:r
・遷移:P(s’|s,a)
・割引率:γ(0 <= γ < 1)
・方策:π(a|s)
リターン(収益)
G_t = r_{t+1} + γ r_{t+2} + γ^2 r_{t+3} + ...
価値関数
・状態価値:V^π(s) = E[G_t | s_t=s]
・行動価値:Q^π(s,a) = E[G_t | s_t=s, a_t=a]
- ベルマン方程式(“再帰”が強化学習の核)
価値は「1ステップ先+将来価値」で再帰的に書ける。
ベルマン期待方程式(例)
V^π(s) = E[ r + γ V^π(s’) ]
Q^π(s,a) = E[ r + γ Q^π(s’,a’) ] (a’はπでサンプル)
最適性(“最大化”が入る)
V*(s) = max_π V^π(s)
Q*(s,a) = max_π Q^π(s,a)
ベルマン最適方程式(Q版)
Q*(s,a) = E[ r + γ max_{a’} Q*(s’,a’) ]
この「max が入った再帰式」を、サンプルから近似的に解こうとするのが Q学習。
- Q学習(オフポリシーTD制御)
Q学習は「行動選択は探索込み(例:ε-greedy)で行いつつ、更新は greedy 目標で行う」代表的なオフポリシー法。
更新式(表形式Q)
Q(s,a) <- Q(s,a) + α [ r + γ max_{a’} Q(s’,a’) - Q(s,a) ]
ここで
・α:学習率
・角括弧内:TD誤差(ターゲット − 現在推定)
同じTD系列でも、SARSAはオンポリシー(次行動 a’ を実際に取った行動で更新)で、挙動が変わる。
SARSA:
Q(s,a) <- Q(s,a) + α [ r + γ Q(s’,a’) - Q(s,a) ]
- DQN(Q学習+ニューラルネットワーク)で何が起きるか
状態が大きい/連続だとQテーブルが破綻するので、Q(s,a) をニューラルネットで近似する。
Q(s,a;θ) ≈ Q*(s,a)
損失(最小二乗の形)
y = r + γ max_{a’} Q(s’,a’; θ_target)
L(θ) = ( y - Q(s,a;θ) )^2
DQNが不安定になりやすい原因(本質)
(1) ターゲット y 自体が学習中のネットワークに依存して動く
(2) 連続サンプルが相関を持つ(時系列相関)
DQNのコア安定化(第8章の中心)
・経験再生(Experience Replay):相関を薄め、データ効率も上げる
・ターゲットネット(Target Network):ターゲットを一定期間固定して学習を安定化
さらに拡張(第8.4章、付録Cの位置)
・Double DQN:過大評価(overestimation)を抑える(付録Cの理解が効く)
・優先度付き経験再生:学習価値の高い遷移を多く使う
・Dueling DQN:状態価値とadvantageを分離して推定
- 方策勾配(“価値”ではなく“方策”を直接最適化)
価値ベース(Q学習/DQN)は「argmaxで行動を選ぶ」。
一方、方策ベースは π(a|s;θ) を直接最適化する(第9章)。
基本形(REINFORCE)
∇J(θ) = E[ ∇ log π(a|s;θ) * G_t ]
分散低減の要点(ベースライン)
G_t の代わりに (G_t - b(s)) を使って期待値は保ちつつ分散を下げる。
Actor-Critic(第9.4)
・Actor:方策 π(a|s;θ)
・Critic:価値 V(s;w)(またはQ)
・Advantage(例:TD誤差)を使ってActorを更新し、CriticはTDで更新する。
- 学習ロードマップ(章対応つき:最短で「Q学習→DQN→Actor-Critic」)
Week 1:第1章(バンディット)
・探索と推定(平均、非定常、ε-greedyの感覚)
Week 2:第2〜3章(MDP・ベルマン)
・状態/行動/報酬/遷移/価値、ベルマンの再帰
Week 3:第4章(DP)
・モデル既知の“基準解”を作る(価値反復・方策反復)
Week 4:第5〜6章(MC/TD→SARSA→Q学習)
・サンプルで学ぶ、オン/オフポリシー、Q学習実装
Week 5:第7〜8章(NN→DQN)
・関数近似、Replay、Target、DQNが回る条件
Week 6:第9章(方策勾配→Actor-Critic)
・REINFORCE→ベースライン→Actor-Criticの最小実装
Week 7+:第10章+付録(位置づけと理論補強)
・PPO等を「どこが違うか」で読める状態にする(分類の俯瞰)
- 実装チェックリスト(失敗の切り分け用)
共通
・seed固定(再現性)
・平均リターン(移動平均)と分散を同時にログ
・探索率 ε のスケジュールを記録
Q学習(表)
・α が大きすぎる:振動/発散
・ε が小さすぎる:探索不足で停滞
・γ が大きすぎる:推定が膨らみ不安定化(報酬スケールとも絡む)
DQN
・Replayなし:相関で崩れやすい
・Targetなし:ターゲットが動いて学習が暴れる
・更新頻度(target更新間隔、学習ステップ/環境ステップ比)が不適切:停滞 or 発散
・報酬スケーリング/クリッピングの有無で学習難易度が変わる
Actor-Critic
・Advantage(TD誤差)のスケールが大きい:不安定
・Criticが弱い(学習が遅い/過学習):Actor更新がノイズ化
- 関連書籍(この本の前後を埋める)
(1) 理論の標準教科書(最重要)
・Richard S. Sutton & Andrew G. Barto『強化学習(第2版)』森北出版(原著2018の日本語版) (morikita.co.jp)
役割:本書(ゼロつく4)で実装した内容を、理論の体系として再整理できる。
(2) 入門の補助線(概念の導入が欲しい場合)
・『「強化学習」を学びたい人が最初に読む本』日経BP (Amazon Japan)
役割:用語と全体像の導入、実務目線の補助。
(3) 公式情報(正誤表・ダウンロード等の一次ソース)
・オーム社(書誌・目次・正誤等の入口) (オーム社)
・オライリー・ジャパン(内容紹介) (O'Reilly Japan)