1. モデルフリー — 体験のサンプルから直接学ぶ
動的計画法 は遷移確率 P を使って期待値を厳密に計算しました。しかし現実にはPを知りません。代わりに使えるのは、環境の中で実際に動いて得られる体験の断片 (s, a, r, s′) — 「状態 s で a をしたら、報酬 r をもらって s′ に移った」という1行のログだけです。TD学習(Temporal Difference learning)は、この1行が届くたびに価値の推定を少しずつ修正します。
動的計画法(前章) TD学習(本章)
必要なもの 環境モデル P, R 体験 (s, a, r, s′) のみ
期待値の扱い P で厳密に計算 実際に起きたサンプルで近似
更新のタイミング 全状態を一括スイープ 1歩動くたびに、いま居た状態だけ
ブートストラップ する(隣の推定値を使う) する(隣の推定値を使う)
2. TD誤差 — 予測の外れを1歩ごとに直す
状態 s の価値の予測が V(s) だとします。1歩動いて報酬 r をもらい s′ に着いたら、「実際の手応え」は r + γV(s′) (もらった報酬 + 移った先の価値)。この手応えと元の予測との差がTD誤差 δ です。δ が正なら「思ったより良かった」ので V(s) を少し上げ、負なら少し下げる — 修正の幅を決めるのが学習率 α です。
V(s) ← V(s) + α [ r + γ V(s′) − V(s) ]
角かっこの中身が TD誤差 δ。「実際の手応え − 予測」を α の割合だけ取り込む
TD誤差の直感 — 廊下を歩きながら V が育つ
エージェント(丸)は左右ランダムに歩き、右端に着くと r = +1、左端は r = 0 で終了して中央から再開。吹き出しが各ステップの TD誤差で、青=正(予想より良い)、赤=負(予想より悪い) 。棒が推定 V(s)、橙の目盛が真の値です。ゴール側の价値が手前へ染み出すように伝わるのを見てください(γ = 1:必ず終わるエピソードなので割引は不要)。α を大きくすると速く動くが、いつまでもガタガタ揺れます。
POINT — ブートストラップ
TD学習は「隣の状態の推定値 V(s′)」を教師代わりに使う。これをブートストラップ と呼ぶ。エピソードの終わりまで待たずに1歩ごとに学べるのが強み(モンテカルロ法との違い)。ただし序盤は「デタラメな推定がデタラメな推定を教える」状態 — それでも表形式なら真の値に収束することが証明されている。
3. Q学習 — 行動の価値を体験から学ぶ
V(s) が分かっても、モデルなしでは「ではどの行動が良いのか」を選べません(先読みにPが要る)。そこで状態と行動のペアの価値 Q(s, a) を直接学びます。TDと同じ発想で、ただし移動先では「一番良い行動の Q」= max を手応えに使うのがQ学習 です。
Q(s, a) ← Q(s, a) + α [ r + γ maxa′ Q(s′, a′) − Q(s, a) ]
max があるおかげで、動き方(探索込み)とは独立に「最適に動いた場合の価値 Q*」を狙える
下のデモは有名な崖歩き(Cliff Walking) 。S からスタートし、下端の崖に踏み込むと −100、G に着くと +10、1歩ごとに −1 です。行動は ε-greedy(確率 ε でランダム、それ以外は Q が最大の行動)で選びます。
Q学習ライブ — Q値が育ち、方策の矢印が形成される
各マスの4つの三角が Q(s, 上/右/下/左)(緑=高い、赤=低い)、白矢印が現在の貪欲方策。速度を 1〜5 に落とすとエージェントの一歩一歩が見えます。学習カーブは1エピソードの合計報酬:崖に落ちた回(−100前後)が減り、−10 付近に張り付けば学習完了。ε = 0 にすると探索が止まり、たまたま見つけた経路に固執するのも試してみてください(γ を変えると Q は作り直しになるため自動リセットします)。
注意 — 探索をやめると学習も止まる
Q学習は「まだ試していない行動」の価値を知りようがない。ε = 0(常に貪欲)にすると初期の偶然に固定され、より良い経路が永久に見つからないことがある。逆に ε が大きすぎるといつまでもランダム歩き。探索と活用のバランス はバンディットの章から続く、強化学習の一貫したテーマだ。
4. SARSA と Q学習 — 方策オンと方策オフ
Q学習の更新の max を、「実際に次へ取る行動 a′ の Q」に置き換えたのが SARSA です(使う5つ組 s, a, r, s′, a′ が名前の由来)。
Q(s, a) ← Q(s, a) + α [ r + γ Q(s′, a′) − Q(s, a) ]
a′ は ε-greedy が実際に選んだ次の行動。探索でフラつく自分自身の価値を学ぶ
POINT — 方策オン / 方策オフ
SARSA(方策オン) :更新に使う a′ = 実際に従っている方策(探索込み)の行動。「ε-greedy で動く自分」の価値を学ぶので、探索でうっかり崖に落ちるリスクまで価値に織り込まれる。
Q学習(方策オフ) :更新に使うのは max。動き方は探索的でも、学習しているのは「貪欲に動く理想の自分」の価値 Q*。実行と学習対象の方策が分離している。
SARSA vs Q学習 — 同じ崖、違う経路
⏸ 一時停止
リセット
ε = 0.1、α = 0.4、γ = 0.99 固定 | 2エージェントが同時学習
太線=各エージェントが学んだ貪欲経路。Q学習(橙)は崖ぎわの最短路 を学びますが、ε-greedy で実行している間はときどき落ちるので平均リターンは低め。SARSA(緑)は崖から離れた安全路 を学び、平均リターンは高くなります。ε を 0.1 に固定しているのは、この差が「探索で踏み外すリスクを価値に織り込むか否か」から生まれるため — ε → 0 なら両者は同じ最短路に収束し、差は消えます。
5. まとめ
モデルフリー :P も R も知らずに、体験 (s, a, r, s′) のサンプルだけで学ぶ。
TD誤差 δ = r + γV(s′) − V(s) :予測の外れ。δ の向きに学習率 α のぶんだけ修正する。
ブートストラップ :隣の推定値を教師にする。エピソードの途中でも1歩ごとに学べる。
Q学習(方策オフ) :max で更新し、探索しながら最適行動価値 Q* を狙う。
SARSA(方策オン) :実際の次行動で更新し、探索リスク込みの価値を学ぶ。
一歩先へ — TD誤差とドーパミン
1990年代後半、Schultz らはサルの中脳ドーパミン神経の発火が、まさに TD誤差 δ のように振る舞うことを報告した。予期しないジュース(報酬)には強く発火(δ > 0)。光で報酬を予告して学習が進むと、発火は報酬の瞬間ではなく予告の瞬間 に移る(報酬自体は予測どおりなので δ ≈ 0)。そして予告したのにジュースを与えないと、来るはずだった時刻に活動が沈み込む (δ < 0)。この「報酬予測誤差仮説」は、計算理論(TD学習)が脳の実データを説明した代表例として、神経科学と強化学習をつなぐ橋になっている。