10 強化学習 ── 報酬を予測し、行動を選ぶ
学習を扱う一連の章の締めくくりである。これまでの二つの学習は、性格が違っていた。第7章の教師なし学習は「データの分布を再現する」ことを目指し、第8章の教師あり学習は「正解との差を縮める」ことを目指した。
強化学習は、その中間にある。正解は与えられない。与えられるのは報酬—「良かった」「悪かった」というスカラー値だけである。しかも遅れて来る。将棋で負けたとき、どの手が悪かったのかは教えてもらえない。この設定が、生物にとって自然であることは言うまでもない。動物は誰からも正解を教わらない。
そして本章には、本書のなかでも特別な瞬間がある。TD 誤差という、アルゴリズムの内部で定義された量が、ドーパミン細胞の発火とよく対応することが見つかった。理論が予測した信号に、脳の側の対応物があったのである。数学と生物学が、これ以上ないほど直接に出会った例と言ってよい。どこまで対応しているのか、どこが合っていないのかは第5節で扱う。
TD 誤差というたった一つの量が、アルゴリズムと神経活動の両方で主役を張る—その一点を見てもらえれば十分である。
第1〜2節が設定と道具、第3節が本章の核、第4節がアルゴリズムの分岐、第5節が神経科学との対応、第6〜7節が深層強化学習と世界モデルである。
第7節は本書の他章への結節点になっている。世界モデルは第3章の力学系・第14章の潜在変数モデルと同じ構造をしており、そこで残した問い—「予測誤差をどの空間で測るのか」—は第17章第4節で正面から扱う。
急ぐなら第3節と第5節でよい。
なお、強化学習は独立の教科書がいくつも書かれている分野である。本書は「本書の他の章とどうつながるか」に絞って扱う。体系的に学ぶなら Sutton と Barto の教科書を勧めたい。
1. 問題設定 ── 状態・行動・報酬
マルコフ決定過程
環境を見て行動を選ぶ主体をエージェントと呼ぶ。動物でも、ゲームを操作するプログラムでもよい。各時刻で、
- 環境の状態 s_t を観測する
- 行動 a_t を選ぶ
- 報酬 r_t を受け取る
- 環境が次の状態 s_{t+1} に遷移する
この繰り返しである。将棋なら s_t が現在の局面、a_t が選ぶ指し手、r_t がその結果として受け取る評価にあたる(t は行動を一回選ぶごとに進む時刻である)。状態の集合を \mathcal{S}、行動の集合を \mathcal{A} と書けば s_t \in \mathcal{S}、a_t \in \mathcal{A}、r_t \in \mathbb{R} である。状態や行動は一つの実数とは限らず、局面のような配置や指し手のような候補でもよいが、報酬は一つの実数である。環境は次の二つで規定される。
p(s_{t+1}\mid s_t, a_t) \quad\textsf{(遷移確率)}, \qquad r(s_t, a_t) \quad\textsf{(報酬関数)}
マルコフ性—次の状態が、現在の状態と行動だけで決まり、過去の履歴によらない—を仮定する。この設定をマルコフ決定過程(MDP)と呼ぶ。
方策と収益
エージェントの振る舞いは方策 \pi(a\mid s) で表される。状態を見て行動を選ぶ確率分布である。目標は、将来にわたる報酬の合計を最大化することだ。
ただし「合計」には工夫がいる。いまから順に報酬を 2, 4, 8 と受け取り、その後はゼロだとしよう。一段先の報酬を半分に割り引くことにすれば、合計は 2 + \frac{1}{2}\times 4 + \frac{1}{4}\times 8 = 6 である。二段先の重みが \frac{1}{4} なのは、半分にする操作が二回かかるからだ。この一段ごとの倍率を \gamma と書く。
G_t = r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \cdots = \sum_{k=0}^{\infty}\gamma^k r_{t+k}
これを収益(return)と呼ぶ。G_t は時刻 t から先の報酬を重み付きで合計した一つの数、k は何段先の報酬かを表す。\gamma \in [0,1) が割引率で、一段先へ進むごとに報酬の重みを \gamma 倍する(第8章第6節でバッチ正規化の学習する倍率に使った \gamma とは別物である)。
なぜ割り引くのか。三つの理由がある。
- 遠い将来は不確かなので、割り引くのが合理的
- 無限に続く場合でも、和が収束する(|r| \le r_{\max} なら |G| \le r_{\max}/(1-\gamma))
- 生物にとっても現実的である。動物は目先の報酬を優先する(遅延割引)ことが行動実験で示されている
価値関数
状態 s から始めて方策 \pi に従ったときの、収益の期待値を状態価値関数と呼ぶ。V^\pi: \mathcal{S} \to \mathbb{R} は各状態に一つの実数を返す関数で、上付きの \pi は累乗ではなく「どの方策に従うか」を表す(\mathbb{E}_\pi も、方策による行動の選択と環境の応答のばらつきについて平均するという意味である)。
V^\pi(s) = \mathbb{E}_\pi\big[ G_t \mid s_t = s \big]
最初の行動も指定したものが行動価値関数である。Q^\pi: \mathcal{S} \times \mathcal{A} \to \mathbb{R} は状態と行動の組に一つの実数を返す。状態が N 個、行動が M 個なら、値を並べた表は V^\pi が N 個、Q^\pi が N \times M 個の数になる(行が状態、列が行動である)。
Q^\pi(s,a) = \mathbb{E}_\pi\big[ G_t \mid s_t=s, a_t=a \big]
価値関数が分かれば、良い行動が選べる。各行動の Q を比べて、いちばん大きいものを選べばよい。だから問題は「価値関数をどう推定するか」に帰着する。本章の残りは、ほぼこの一点をめぐる話である。
2. 必要な数学:ベルマン方程式
再帰的な構造
価値関数の定義を、一手先で分解してみよう。
\begin{aligned} V^\pi(s) &= \mathbb{E}\big[ r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \cdots \mid s_t = s\big] \\ &= \mathbb{E}\big[ r_t + \gamma\big(r_{t+1} + \gamma r_{t+2}+\cdots\big) \mid s_t=s\big] &&\textsf{(} \gamma \textsf{ でくくった)}\\ &= \mathbb{E}\big[ r_t + \gamma\, G_{t+1} \mid s_t = s\big] &&\textsf{(括弧の中は } G_{t+1} \textsf{ そのもの)}\\ &= \mathbb{E}\big[ r_t + \gamma\, V^\pi(s_{t+1}) \mid s_t = s\big] &&\textsf{(期待値の入れ子を整理)} \end{aligned}
\boxed{\;V^\pi(s) = \mathbb{E}\big[ r + \gamma V^\pi(s') \big]\;}
これがベルマン方程式である。現在の状態を s に固定したうえで、r は直後の報酬、s' は次の状態の略記であり、期待値は方策 \pi(a \mid s) による行動の選択と、その行動のもとでの環境の応答について取る。このあと出てくる V^*(s) の * は、方策を最適に選んだ場合を表す。
読み方
「いまの状態の価値は、いま得られる報酬と、次の状態の価値の割引和に等しい。」この式の威力は、無限の未来を一手先に畳み込んだ点にある。G_t の定義には無限級数が入っていたが、ベルマン方程式には次の状態の価値しか現れない。再帰的な構造が、問題を有限にした。
最適方策
最適な価値関数は、最適ベルマン方程式を満たす。
V^*(s) = \max_a\, \mathbb{E}\big[ r + \gamma V^*(s') \big]
期待値を取る前に \max が入る。「もっとも良い行動を選んだときの価値」である。
動的計画法
環境(遷移確率と報酬関数)が既知なら、この方程式を反復で解ける。ここでは状態と行動を有限個の候補として並べられる場合を考える。V_k(s) は k 回目の計算での状態 s の推定価値で、k は環境内の時刻 t ではなく反復の回数である。下の和は、次に移りうる状態 s' をすべて足し合わせるものだ。
V_{k+1}(s) \leftarrow \max_a \sum_{s'} p(s'\mid s,a)\big[ r + \gamma V_k(s')\big]
ここで縮小写像という言葉を決めておこう。報酬の絶対値には有限の上限があるとする。二つの価値の表の「隔たり」を、状態ごとに値の差の絶対値を取り、そのうちの最大値で測ることにする。縮小写像とは、どんな二つの入力についても、同じ規則で写したあとの隔たりが、もとの隔たりの一定の割合以下になる写像のことである。その割合は 0 以上 1 未満でなければならない。上の更新規則では、その割合が \gamma になる。
縮小写像なので、必ず収束する。更新のたびに、真の V^* との差が \gamma 倍以下になるからだ。ここでの「差」は、状態ごとに別々に測った誤差ではなく、いま定めた表全体の隔たりを指す。だが、これは使えない。遷移確率 p(s'\mid s,a) を知らないからである。動物も、環境のモデルを最初から持ってはいない。
環境を知らずに価値を学ぶには、どうすればよいか。これが次節の主題である。
3. TD 学習 ── Rescorla–Wagner から TD 誤差へ
動物の条件づけから
歴史的な出発点は、心理学にある。パブロフの条件づけ—ベルを鳴らしてから餌を与えることを繰り返すと、犬はベルの音だけで唾液を出すようになる。動物は予測を学習する。Rescorla と Wagner は1972年、この学習を単純な式で書いた。刺激 i がどれだけ報酬を予測するかを表す連合強度を V_i(第1節の状態価値とは別に、刺激ごとに持たせる数)とし、\Delta V_i を一回の試行での変化量、\alpha > 0 を誤差をどれだけ更新に反映するかを決める学習率(第2章でゲートの開く速さに使った \alpha_x とは別物)とする。下の和は、その試行で一緒に呈示された刺激 j について取る。すると、
\Delta V_i = \alpha\Big( \underbrace{\lambda - \sum_j V_j}_{\textsf{予測誤差}} \Big)
\lambda が実際に得られた報酬、\sum_j V_j が予測である。予測が外れた分だけ学習する。この式は多くの現象を説明した。とくにブロッキング—すでに報酬を予測する刺激があると、同時に呈示された新しい刺激は学習されない—は、この式の直接の帰結である。予測が当たっていれば誤差がゼロで、何も学習されない。
「驚いたときだけ学ぶ」という原理が、ここに定式化されている。
時間を入れる
Rescorla–Wagner 則には、大きな限界があった。時間がない。試行の中でいつ報酬が来るかを扱えない。
Sutton と Barto は、ここにベルマン方程式を持ち込んだ。ここでは評価する方策を固定し、V^\pi の上付きを省いて V と書く。\hat{V}(s) は、真の価値 V(s) に対する現在の推定値である。ベルマン方程式 V(s) = \mathbb{E}[r + \gamma V(s')] は、真の価値関数なら成り立つ等式である。推定 \hat{V} が正しくなければ、両辺がずれる。そのずれを TD 誤差(temporal difference error)と呼ぶ。一回の経験から計算する量なので、推定が正しくても個々の値がゼロになるわけではなく、いまの状態を固定した期待値がゼロになる。なお第8章第3節の \boldsymbol{\delta}^{(\ell)} は層ごとの損失の変化率を並べたベクトルだったが、ここでの \delta_t は一時刻につき一つの数である。
\boxed{\;\delta_t = r_t + \gamma \hat{V}(s_{t+1}) - \hat{V}(s_t)\;}
そして、この誤差の分だけ推定を修正する。
\hat{V}(s_t) \leftarrow \hat{V}(s_t) + \alpha\, \delta_t
何が起きているのか
TD 誤差の読み方を、丁寧に確認しよう。
\delta_t = \underbrace{r_t + \gamma\hat{V}(s_{t+1})}_{\textsf{一手進んでから見た推定}} - \underbrace{\hat{V}(s_t)}_{\textsf{いまの推定}}
「一手進んでから振り返ったときの推定」と「進む前の推定」の差である。
数を入れてみよう。進む前の推定が \hat V(s_t) = 3、受け取った報酬が r_t = 1、次の状態の推定が \hat V(s_{t+1}) = 4、割引率が \gamma = 0.9 だったとする。一手進んでから見た推定は 1 + 0.9 \times 4 = 4.6 なので、TD 誤差は 4.6 - 3 = 1.6 である。ここで注意してほしいのは、この 1.6 をそのまま価値に足すわけではないことだ。学習率を \alpha = 0.1 とすれば、増やす量は 0.1 \times 1.6 = 0.16 で、更新後の推定は 3.16 になる。誤差の大きさと、一回で動かす量は別のものである。
- \delta > 0 — 思ったより良かった。\hat{V}(s_t) を上げる
- \delta < 0 — 思ったより悪かった。下げる
- \delta = 0 — 予測どおり。何もしない
Rescorla–Wagner との対応を見てほしい。\gamma = 0(次の状態の価値を無視)とすると、
\delta_t = r_t - \hat{V}(s_t)
Rescorla–Wagner 則そのものである。TD 学習は、条件づけの理論に「将来の価値」を加えた拡張だったわけだ。
なぜこれが賢いのか
TD 学習の巧妙さは、最終結果を待たずに学習できる点にある。素朴な方法(モンテカルロ法)なら、一回の対局のような、開始から終了までのまとまり(エピソード)が終わって収益 G_t が確定してから、\hat{V}(s_t) \leftarrow \hat V(s_t) + \alpha(G_t - \hat{V}(s_t)) と更新する。将棋なら、勝敗が決まるまで何も学べない。
TD 学習は違う。一手ごとに学習する。次の状態の推定値を「仮の正解」として使うからだ。
推定値を使って推定値を更新する—これをブートストラップと呼ぶ。循環しているようで危うく見えるが、報酬という「外からの錨」があるおかげで機能する。ただし「収束する」と言えるのは条件つきである。価値を表形式で持ち(関数近似を使わず)、評価したい方策を固定し、すべての状態を何度も訪れ、学習率を適切に小さくしていく—この場合に正しい値へ収束することが証明されている。条件が崩れると発散しうる。第6節の深層強化学習で、まさにそれが問題になる。
報酬予測が前に移動する
TD 学習の重要な帰結を一つ。学習が進むと、TD 誤差が時間的に前へ移動する。
ベル → 餌、という系列を学習する場面を考えよう。
学習の初期。ベルの価値はまだゼロ。餌が来たとき \delta > 0 となる(予期しない報酬)。
学習が進むと。餌の直前の状態の価値が上がる。すると餌が来ても \delta \approx 0 になる(予測どおり)。代わりにその一手前で \delta > 0 が立つ。
さらに進むと。それが順に前へ伝播し、最終的にはベルが鳴った瞬間に \delta > 0 が立つ。餌の時点では何も起きない。この「誤差信号の前方移動」が、次の第5節で決定的な意味を持つ。
適格度トレース
ただし、いま見た前方移動には弱点がある。一回の試行で価値が伝わるのは一段だけだ。手がかりと報酬のあいだが十段離れていれば、十回の試行が要る。動物はもっと速く学ぶ。
ではどうするか。報酬が来た時点で「さっき通った状態」をまとめて更新してしまえばよい。そのために、状態ごとに「どれだけ最近訪れたか」を覚える変数を持たせる。これが適格度トレース(eligibility trace)である。状態 s について時刻 t に残っている痕跡を e_t(s) と書く。各状態に一つずつ置く非負の数で、試行の開始前にはすべてゼロにしておく。下の第一式が現在の状態 s_t、第二式がそれ以外の状態に当たる(ここからの \lambda は痕跡を残す割合を決める定数で、上の Rescorla–Wagner 則で報酬を表した \lambda とは別物である)。
\begin{aligned} e_t(s_t) &= \gamma\lambda\, e_{t-1}(s_t) + 1 && \textsf{(いま訪れた状態には 1 を足す)}\\ e_t(s) &= \gamma\lambda\, e_{t-1}(s) && \textsf{(それ以外は減衰するだけ)} \end{aligned}
訪れた瞬間に立ち上がり、あとは \gamma\lambda 倍ずつ減っていく。\lambda\in[0,1] が減衰の速さを決める。そして更新は、TD 誤差をトレースの重みで配る—すべての状態に対してである。
\hat V(s) \leftarrow \hat V(s) + \alpha\,\delta_t\, e_t(s)
二つの状態 A、B を順に初めて訪れる場合で確かめよう。\gamma = 0.9、\lambda = 0.8 とする。A を訪れた時点で A の痕跡は 1 である。次に B を訪れた時点では、A の痕跡は 0.9 \times 0.8 = 0.72 に減り、B の痕跡が 1 になる。この時点の TD 誤差が 2、学習率が 0.1 なら、増える量は A が 0.1 \times 2 \times 0.72 = 0.144、B が 0.1 \times 2 \times 1 = 0.2 である。一つの誤差が、直前の状態だけでなく、その前に通った状態にも配られている。
何が起きたかを言おう。「どの状態の功績なのか」という問いが、「どれだけ最近だったか」という問いに置き換わった。報酬の直前に通った状態は大きく、ずっと前の状態は小さく更新される。功績の配分を、記憶の新しさで代用したわけである。
両端を確かめておくとよい。\lambda=0 なら直前の一段だけが更新される—いま見た TD 学習そのものだ。\lambda=1 ならエピソード全体に配られ、モンテカルロ法に近づく。つまりトレースは、この二つをつなぐ連続した中間を与える。これを TD(λ) と呼ぶ。
これが強化学習の要所である理由は、問題の形にある。報酬は遅れて来るのに、学習は個々の状態(脳ならば個々のシナプス)で起きなければならない。時間のずれをどう埋めるか—これを功績分配問題(credit assignment problem)と呼び、トレースはその最も素直な解答である。第8章のバックプロパゲーションが空間方向の功績分配だったのに対し、こちらは時間方向だと見ると、両者の関係が見えてくる。
脳の側にも対応物がある。局所の活動が数秒だけ痕跡を残し、そこに大域的な報酬信号が重なったときにだけシナプスの変化が確定する—そういう仕組みが実際に見つかっている。第5節でドーパミンを見たあと、第8章のコラム「皮質の可塑性」の内容を具体的に振り返る。
ところで、トレースを持たせると更新は毎ステップで全状態に及ぶ。計算量の面では、何を代償に払っているだろうか。
ここがポイント
TD 誤差 \delta_t = r_t + \gamma\hat V(s_{t+1}) - \hat V(s_t) は、ベルマン方程式のずれである。\gamma=0 とすれば Rescorla–Wagner 則になる。学習が進むと、誤差信号は報酬から手がかり刺激へと前方移動する。適格度トレースを併せて使えば、その伝播を一回の試行で済ませられる。
4. Q 学習と方策勾配
価値を推定できたとして、行動をどう選ぶか。二つの流儀がある。
価値ベース:Q 学習
行動価値 Q(s,a) を学習し、価値が最大の行動を選ぶ。
Q(s_t,a_t) \leftarrow Q(s_t,a_t) + \alpha\Big[ r_t + \gamma\max_{a'} Q(s_{t+1},a') - Q(s_t,a_t)\Big]
TD 誤差の \hat V(s_{t+1}) が \max_{a'}Q(s_{t+1},a') に置き換わっている。Q 学習の重要な性質は off-policy であることだ。更新式に \max が入っているので、行動を選ぶ方策と学習する対象の方策を切り離せる。探索のためにランダムな行動を混ぜても、学習しているのは最適方策の価値である。ただし「どんなデータでもよい」という意味ではない—すべての状態と行動の組を十分な回数試していなければ、その部分の値は正しくならない。探索は必要である。
探索と活用
ここで探索と活用のジレンマが生じる。
- 活用(exploitation)— いま最善と思う行動を取る。目先の報酬は最大化される
- 探索(exploration)— 別の行動を試す。もっと良い選択肢が見つかるかもしれない
両立しない。単純な対処が \varepsilon-greedy である。確率 1-\varepsilon で最善の行動、確率 \varepsilon でランダムな行動を選ぶ。このジレンマは、生物にとっても現実の問題である。いつもの餌場に行くか、新しい場所を探すか。動物の行動にも、この二つのモードの切り替えが観察されている。
方策ベース:方策勾配
価値を経由せず、方策 \pi_\theta(a\mid s) を直接パラメータ化して最適化する流儀もある。たとえば、状態を入れると各行動の確率が出るネットワークを使い、その重みやバイアスを並べたものを \theta \in \mathbb{R}^P(P はパラメータの総数)とする。目的関数を J(\theta) = \mathbb{E}_{\pi_\theta}[G_0](一回の試行で得る割引収益の期待値。ここでの J は実数を返す目的関数で、第9章までのヤコビアンとは別物である)とすれば、\nabla_\theta J \in \mathbb{R}^P は「各パラメータを少し変えたとき、期待収益がどれだけ変わるか」を並べた列ベクトルである。収益は大きくしたいので、この勾配の向きへ \theta を動かす。
仕掛けを、一回だけ行動して報酬を受け取る場合で見よう。状態 s を固定し、行動 a の報酬を r(s,a) とすれば、期待報酬は \sum_a\pi_\theta(a\mid s)r(s,a) である。報酬は \theta に依存しないとして微分する。対数微分の恒等式 \nabla p=p\nabla\log p を使うと、
\begin{aligned} \nabla_\theta\sum_a\pi_\theta(a\mid s)r(s,a) &=\sum_a\pi_\theta(a\mid s)r(s,a)\nabla_\theta\log\pi_\theta(a\mid s)\\ &=\mathbb{E}_{a\sim\pi_\theta}\big[r(s,a)\nabla_\theta\log\pi_\theta(a\mid s)\big] \end{aligned}
確率が前に出たので、最後は期待値として読める。選んだ行動の対数確率の勾配に、得た報酬を掛けて平均すればよい。すべての行動を毎回試さなくても、経験から勾配を推定できるのが利点だ。
行動が続く場合も発想は同じである。一回の試行の状態・行動・報酬の系列を軌道と呼ぶ。初期状態と環境の遷移が \theta に依存しないなら、軌道の対数確率の微分には、各時刻の方策の項だけが残る。さらに、その行動より前の報酬は期待値の中で寄与しない。得られる方策勾配定理は、
\nabla_\theta J = \mathbb{E}\Big[ \sum_t \gamma^t\, G_t\, \nabla_\theta\log\pi_\theta(a_t\mid s_t) \Big]
である。G_t は時刻 t から先の割引収益だった。さらに \gamma^t が付くのは、J が試行の頭から見た収益だからだ。これを落とした更新は、一般にはこの J の勾配ではなく、別の目的関数の勾配になるとも限らない。軌道全体での導出は発展編B.4に置く。
読み方は直感的である。「良い結果につながった行動の確率を上げる」。ただし正確に言うと、G_t が正なら—たとえそれが小さくても—その行動の対数確率は上がる。上がり幅が小さいだけである。「良ければ上げ、悪ければ下げる」という形になるのは、次の Actor-Critic のように基準を差し引いてから重みに使うときだ。
利点
連続的な行動空間を扱える。確率的な方策を自然に表現できる。
欠点
勾配の分散が大きい。G_t そのものを重みに使うので、ばらつきが直接効いてしまう。
Actor-Critic
両者を組み合わせたのが Actor-Critic である。
- Critic(批評家)が価値関数を学習する
- Actor(俳優)が方策を学習する。ただし重みに G_t ではなく TD 誤差 \delta_t を使う
\theta \leftarrow \theta + \alpha\, \gamma^t \delta_t\, \nabla_\theta\log\pi_\theta(a_t\mid s_t)
G_t の代わりに \delta_t を使うと、多くの場合に分散が下がる。平均的な価値を差し引いているからだ(ベースラインの効果)。ただし常に下がるとは限らず、Critic が不正確なら偏りも入る。\gamma^t は上と同じ約束から来ている。これを落とした更新の解釈には、上と同じ注意が要る。そして—この Actor-Critic の構造が、大脳皮質の下にあり、行動の選択や学習に関わる領域の集まり、大脳基底核の構造とよく対応するという主張がある。次節で触れる。
5. ドーパミンと報酬予測誤差
前節までは計算の話だった。ここからは、その計算が脳のどこで行われているらしいかを見る。
実験
Schultz らは1980年代末から1990年代にかけて、サルの中脳—脳幹の上部—にあるドーパミン細胞から記録を取った。記録した領域は、ドーパミンを供給する細胞が集まる腹側被蓋野と黒質緻密部である。サルに手がかり刺激を見せ、少し遅れてジュースを与える課題である。
観察された発火パターンは、次の三つだった。
(1)学習前
ジュースが与えられた瞬間に、ドーパミン細胞が強く発火する。手がかり刺激には反応しない。
(2)学習後
ジュースへの反応が消える。代わりに手がかり刺激に対して発火するようになる。
(3)予測した報酬が来なかったとき。本来ジュースが来るはずだった瞬間に、発火が基線以下に落ちる(一時的な抑制)。
TD 誤差との一致
この三つは、TD 誤差の振る舞いそのものである。
下の表を読む前に、条件を一つ置いておく。報酬を受け取る(あるいは受け取り損ねる)とその試行が終わる、という単純な設定を考える。試行の終わりを表す状態では、それ以降の報酬を数えないので価値をゼロとする。すると第3節の \delta_t = r_t + \gamma\hat V(s_{t+1}) - \hat V(s_t) の第二項が落ちて \delta_t = r_t - \hat V(s_t) になる。表では添字を省き、\hat V は報酬を受け取る直前の状態の推定価値を表している。次の状態にも価値が残る設定では、\gamma\hat V(s_{t+1}) を省かずに計算しなければならない。
| 観察 | TD 誤差の予測 |
|---|---|
| (1)予期しない報酬 → 強い発火 | \delta = r - \hat V \gg 0 |
| (2)予測された報酬 → 反応消失 | \delta = r - \hat V \approx 0 |
| (2)手がかり刺激 → 発火 | 誤差の前方移動(第3節) |
| (3)報酬の省略 → 抑制 | \delta = 0 - \hat V < 0 |
とくに(3)が効いている。「何も起きなかったこと」に対して発火が減る—これは「報酬に反応する細胞」では説明できない。誤差信号だからこそ、負の値を取る。そして(2)の手がかり刺激への移動は、第3節で見た「誤差信号の前方移動」とよく合う。理論が予測した動的な性質が観察されたわけである。ただし、これらの発火パターンだけから、計算が TD 誤差であると一意に決まるわけではない(本章末のコラム)。
Montague、Dayan、Sejnowski らがこの対応を定式化したのが1990年代半ばである。理論神経科学の最大の成功例の一つとされる。
回路との対応
解剖学的な対応も指摘されている。ドーパミン細胞は線条体に広く投射し、そこでのシナプス可塑性を制御する。線条体は、大まかに二つの部分に分かれる。
- 背側線条体 — 行動の選択に関わる → Actor
- 腹側線条体(側坐核) — 価値の評価に関わる → Critic
Actor-Critic 構造が、解剖学的に実装されているという見立てである。そして可塑性の規則も対応する。第8章のコラムで見たとおり、シナプス可塑性は前後の細胞の活動に依存する。そこにドーパミンという第三の因子が加わると、「三項の可塑性」になる。なお下の式で \delta をドーパミンと書くのは、報酬予測誤差仮説を式の段階で仮定していることでもある。
\Delta w \propto \underbrace{(\text{前シナプス活動})\times(\text{後シナプス活動})}_{\textsf{ヘッブ則}} \times \underbrace{\delta}_{\textsf{ドーパミン}}
ただし、この形のままでは第3節の問題—報酬が遅れて来る—が解けない。ドーパミンが届く時点では、前後の活動はもう終わっているからだ。だから第3節の適格度トレースが、ここでも要る。今度は状態ごとではなく、シナプスごとに痕跡を持たせる。前シナプス側の細胞を j、後シナプス側を i とし、その結合の強さを w_{ij}、残っている痕跡を e_{ij}(t)、その時点での結合の変化量を \Delta w_{ij}(t) と書く。
e_{ij}(t) \leftarrow \gamma\lambda\, e_{ij}(t-1) + (\text{前シナプス活動})\times(\text{後シナプス活動}), \qquad \Delta w_{ij}(t) \propto \delta_t\, e_{ij}(t)
局所的な活動が痕跡(トレース)を残し、あとから届いたドーパミンがその痕跡を実際の変化に変える。スパインは、樹状突起の表面にある小さな突起で、シナプス入力を受ける部位である。第8章のコラム C8 で見た「入力の 0.3〜2 秒後にだけスパイン拡大が起こる」窓は、この痕跡に対応しうる分子過程として読める。ただしその実験が示したのは三因子可塑性の時間窓であって、痕跡が TD(\lambda) の減衰を実装していることまでではない。
第8章第9節で問うた「局所的な可塑性と大域的なスカラー信号で学習できるか」—強化学習は、その一つの答えである。ドーパミンは全体に一つのスカラーを配るだけだが、ヘッブ則と組み合わせれば「良かった行動を強化する」ことができる。
分かっていないこと
とはいえ、対応が完全なわけではない。第一に、ドーパミンは報酬予測誤差だけを表していない。新奇性、顕著性(刺激の目立ちやすさ)、運動の開始、努力のコスト—さまざまな要因に反応することが報告されている。単一の信号として整理しきれない。
第二に、ドーパミン細胞は均質でない。近年の研究は、細胞ごとに異なる情報を運んでいることを示している。ある集団は報酬予測誤差を、別の集団は脅威や新奇性を—という具合である。
第三に、分布強化学習という展開がある。価値の期待値ではなく分布を学習するアルゴリズムが提案され、そしてドーパミン細胞の集団が、まさに分布を符号化しているという報告が出た。細胞ごとに楽観度が違うというのである。もし正しければ、標準的な TD 学習の描像は更新されることになる。
「理論の最大の成功例」でさえ、細部では書き換えが進んでいる。これは本書が繰り返し述べてきたこと—モデルと生物学の対応は、思われているより緩い—の、また一つの例である。
6. 深層強化学習
関数近似
これまで、価値関数を表で持つ(状態ごとに値を記録する)ことを暗黙に想定していた。状態が膨大なら不可能である。囲碁の局面は 10^{170} 通りある。そこで関数近似を使う。価値関数をニューラルネットワークで表す。
Q(s,a) \approx Q_\theta(s,a)
一回の経験 (s, a, r, s') ごとに、「報酬+次の状態での最大の推定価値」を目標にして、いまの推定 Q_\theta(s,a) をそこへ近づける。\theta は価値ネットワークの学習するパラメータを並べたもの、Q_\theta(s,a) がその出力する価値である。下の \theta^- は、目標を計算するために一定期間固定しておく別のパラメータで、右肩の - は負号ではなく「固定した組」を区別する印である(なぜ要るかはすぐ後で説明する)。この目標側を固定したまま、TD 誤差の二乗を経験について平均したものを損失とし、第8章の勾配降下法で \theta を学習する。
L(\theta) = \mathbb{E}\Big[\big( r + \gamma\max_{a'}Q_{\theta^-}(s',a') - Q_\theta(s,a)\big)^2\Big]
不安定さと二つの工夫
素朴にやると、学習が発散する。二つの理由がある。
理由1:データが独立でない。連続する時刻の経験は強く相関している。第8章の SGD が前提とする「独立なサンプル」という条件が破れる。
対処:経験再生(experience replay)。過去の経験をバッファに溜め、ランダムにサンプルして学習する。相関が壊れる。
理由2:目標が動く。上の損失で目標側を Q_{\theta^-} と書いたのは、すでにこの問題への対処を入れた形である。素朴に両方を Q_\theta にすると、\theta を更新するたびに目標自体が動いてしまう。自分の尻尾を追いかける状況である。
対処:目標ネットワーク
目標側のパラメータ \theta^- を、一定期間固定する。定期的に \theta からコピーする。目標が止まっていれば、通常の回帰問題になる。この二つを組み合わせたのが DQN(Deep Q-Network)である。Atari のゲームを画面のピクセルだけから学習し、人間並みの成績を出した。
本書の他の章との接点
深層強化学習には、本書の他の主題とつながる論点がある。
表現の問題
ピクセルから直接学習するとき、ネットワークは同時に「良い表現を作ること」と「価値を推定すること」をやっている。表現学習が強化学習の性能を決める—第11章の主題である。
モデルベース強化学習
環境のモデル p(s'\mid s,a) を学習し、それを使って計画する手法がある。これは第14〜15章の生成モデルそのものである。世界モデル(world model)と呼ばれ、近年の主要な方向の一つになっている。次節で扱う。
探索と生成
未知の状態を探索する動機を、内発的報酬として与える研究がある。「予測誤差が大きい状態へ行く」—これは第16章第4節で扱う能動的推論と、構造が似ている。表面上は符号が逆にも見える。自由エネルギー原理は驚きを減らそうとし、こちらは驚きを求めるからだ。
ただし、違いは符号と時間幅だけではない。生の予測誤差は、原理的に予測できない雑音に対しても大きくなる(砂嵐の画面をいつまでも眺めることになる)。能動的推論が探索の価値として使うのは生の驚きではなく、観測によって減らせる不確実性—期待情報利得(expected information gain)である。学習すれば減る不確実性と、いくら見ても減らない雑音を区別するかどうかが、両者の分かれ目になる。時間幅の話は、そのうえで効いてくる。第16章第4節でこの見立てを検討する。
7. 世界モデル ── モデルを持って計画する
前節の最後で触れたモデルベース強化学習を掘り下げる。本書の他の章と広く繋がるからである。
モデルフリーとモデルベース
これまで扱ってきた TD 学習・Q 学習・方策勾配は、いずれもモデルフリーだった。環境がどう動くかを知らないまま、試行錯誤で価値や方策を直接に更新する。モデルベースはそこを変える。環境の動き方そのものを学習し、頭の中で先を読むのである。利点は明快だ。実環境での試行は高価で—ロボットなら壊れるし、時間もかかる—頭の中でなら何千回でも試せる。
世界モデルの骨格
ではモデルとは何か。ゲーム画面から先を読む場面を考えよう。第1節では状態 s_t を観測できるとしたが、ここでは見えている観測 x_t と、その背後にある潜在状態 z_t を分ける。素直に書けば、必要なのは「行動によって内部の状態がどう変わるか」と「その状態から何が見えるか」の二つの部品である(図 1)。ここでは行動の列を外から与え、そのもとで状態と観測がどう生じるかを考える。仮定は二つある。第一に、次の潜在状態の分布は、いまの潜在状態といまの行動だけで決まる—第1節のマルコフ性を、観測できる状態ではなく潜在状態について置くのである。第二に、ある時刻の潜在状態が分かれば、その時刻の観測の分布は他の時刻の状態や観測には依存しない。この二つのもとで、系列全体の確率を、最初の状態の確率・各時刻の遷移の確率・各時刻の観測の確率の積に分けられる。
T を系列の最後の時刻とし、x_{1:T} は x_1, \dots, x_T の略記とする(z_{1:T}、a_{1:T-1} も同じ約束である)。以下の \prod は、指定された範囲の時刻について項を掛け合わせる記号である。
p\big(x_{1:T},\, z_{1:T} \mid a_{1:T-1}\big) = p(z_1) \prod_{t=1}^{T-1} \underbrace{p(z_{t+1} \mid z_t, a_t)}_{\textsf{遷移モデル}}\; \prod_{t=1}^{T} \underbrace{p(x_t \mid z_t)}_{\textsf{観測モデル}}
z_t が潜在状態、x_t が観測、a_t が行動である。最初の状態の分布 p(z_1) を別に置いておくのは、t=1 に「一つ前の状態」がないからだ。潜在状態が行動を受けてどう動くかを決めるのが遷移モデル、その状態から何が見えるかを決めるのが観測モデル。これを世界モデル(world model)と呼ぶ。
計画に使うには、もう一つ部品が要る。報酬がどこで手に入るかを知らなければ、先読みしても良し悪しが判断できない。だから報酬が既知でない場合は、報酬モデル p(r_t\mid z_t, a_t) も学習する。あとで見る MuZero は、観測を潜在状態へ写す表現ネットワーク、次の潜在状態と報酬を予測するダイナミクスネットワーク、方策と価値を予測する予測ネットワークの三つを組み合わせている。
なぜ「潜在」状態なのか。画面のピクセルをそのまま状態にすると、次元が大きすぎて先読みが重い。低次元の潜在空間に畳んでから、その中で時間を進める。これが計算を成立させている。
本書の道具が、ここで三つ揃う。遷移モデルは潜在空間の中の力学系にほかならず、第3章のアトラクター・安定性・ヤコビアンがそのまま使える。上の式は、第14章の潜在変数モデルに時間と行動を足しただけである(学習も変分推論で行う。具体形は第17章第3節)。そしてその潜在空間の中で、本章の方策を学習する。
AlphaGo ── モデルが与えられている場合
遷移モデルを学習する話に入る前に、モデルが最初から手に入っている場合を見ておきたい。深層強化学習のもっとも有名な成果が、ここにある。囲碁ではルールが分かっているので、遷移モデルを学習する必要がない。残るのは、先読みの木が大きすぎるという問題だけである。合法手はおよそ250通り、対局は150手ほど続くから、素朴に全部読めば 250^{150} 通り—宇宙の原子の数を軽く超える。枝を刈らねばならない。
AlphaGo (2016) の解法は、二つのネットワークで木を絞ることだった。方策ネットワーク \pi(a\mid s) — この盤面ではどの手が有望か。探索する枝を絞る(幅を刈る)。
価値ネットワーク V(s) — この盤面はどれくらい有利か。終局まで読まずに評価を打ち切れる(深さを刈る)。この二つをモンテカルロ木探索(MCTS)に組み込む。有望な手を選んで木を伸ばし、価値ネットワークで葉を評価し、結果を根まで戻す。探索と評価が互いを助ける構造である。
ここがポイント
AlphaGo の教訓は、学習と探索は競合しないということだった。
ネットワークだけでも打てる。木探索だけでも打てる。だが組み合わせると、どちらの単体よりはるかに強い。ネットワークが探索を絞り、探索がネットワークの誤りを訂正する。本章の言葉で言えば、モデルフリーの直感とモデルベースの熟慮は、対立する路線ではなく補い合う。
AlphaZero (2017–2018) は、人間の棋譜を捨てた。自己対戦だけで学習し、囲碁・チェス・将棋のいずれでも既存の最強プログラムを超えた。与えられたのはルールだけである。
MuZero ── ルールも与えないとどうなるか
ここで本節の主題に戻る。ルールが与えられていなかったら、どうするのか。
Schrittwieser ら (2020) の MuZero が、この問いに答えた。遷移モデルそのものを学習する。つまり、ここからが世界モデルの話である。そして MuZero の設計には、注目すべき判断がある。学習する遷移モデルは、盤面や画面を再現しない。
普通に考えれば、モデルとは「次に何が見えるか」を当てるものだろう。MuZero はそうしない。潜在状態を動かすだけで、そこから予測するのは方策・価値・報酬の三つだけである。画面は復元しない。計画に必要なのがこの三つだけだからだ。背景の模様を正確に描けても、勝率の推定は良くならない。「世界モデルは世界を写し取るべきか、役に立つ分だけ持てばよいのか」—MuZero は後者に賭けて成功した。この判断は第17章第4節の核心に直結する。
夢の中で学習する
Ha と Schmidhuber (2018) の構成は三つの部品から成る。V(VAE で画像を潜在ベクトルに畳む)、M(再帰ネットワークで潜在状態の遷移を予測する)、C(小さなコントローラ)である。示されたことは印象的だった。学習した M の中だけで—実環境に一切触れずに—コントローラを訓練し、それを実環境に持ち込んで動かせる。著者自身の言葉を借りれば、エージェントは「夢の中で」学習する。Dreamer 系の手法はこれを洗練させ、潜在軌道の上で価値と方策を勾配法で学習する—本章第4節の方策勾配が、潜在空間の中で回っていると読める。
ここがポイント
世界モデルは、試行錯誤のコストを下げる装置である。モデルフリーが「世界に問い合わせる」のに対し、モデルベースは「頭の中で問い合わせる」。
ただしただ乗りではない。モデルが間違っていれば、間違った夢の中で最適な方策を学んでしまう。モデルの誤差が、そのまま方策の誤差に化ける—これがモデルベースの弱点であり、二つの路線が今も併存している理由である。
脳の側 ── 認知地図から内部モデルへ
脳が世界モデルを持つという発想には、長い前史がある。
認知地図
Tolman (1948) は、迷路を走るラットが刺激-反応の連鎖ではなく環境の「地図」を作っていると主張した。行動主義の時代に内部表象を要求した議論であり、モデルフリーとモデルベースの対立はこの論争の子孫だと言ってもよい。
場所細胞とグリッド細胞
その神経的な裏づけとされたのが、海馬の場所細胞(O’Keefe & Dostrovsky, 1971)—特定の場所にいるときだけ発火する細胞—と、嗅内皮質のグリッド細胞(Hafting et al., 2005)—六角格子状の発火パターンを示す細胞—である。第7章のコラムで見た海馬が、ここでも登場する。
運動制御の内部モデル
別系統の証拠が運動制御から来る。Wolpert ら (1995) と Kawato (1999) は、自分の運動の結果を予測する順モデル(forward model)が小脳にあると論じた。感覚フィードバックは遅いので、予測なしに素早い運動は制御できない—これは工学的にほぼ必然の議論である。
分かっていないこと
第一に、これらが一つの「世界モデル」なのかは分からない。場所細胞は空間の地図、小脳の順モデルは身体の力学であり、別々の機構が別々の目的で作られている可能性は十分にある。「脳は世界モデルを持つ」という一文が、これらを束ねる理由になっているとは限らない。
第二に、海馬の表象が「地図」なのかも議論がある。場所細胞は将来訪れる場所を先取りして発火するので、そこから後継者表象(successor representation)という解釈が出た(Stachenfeld et al., 2017)。後継者表象とは、いまの状態からある方策で動くとき、今後どの状態をどれほど訪れるかを、遠い将来ほど割り引いて表したものである。これは地図というより価値計算の部品であり、モデルベースとモデルフリーの境界が思うほど明確でないことを示唆する(第17章第7節)。
第三に、「モデルを持つ」ことを測る方法がない。内部モデルの存在は、たいてい行動から間接的に推論される。潜在状態がデコーディングで読み出せたとしても、第12章第10節の留保—読み出せることは、使われていることを意味しない—がそのまま当てはまる。
残る問い
ここまでは「どう作るか」の話だった。だがもっと厄介な問いが残っている。世界モデルを学習するには、予測が当たったかどうかを測らねばならない—その誤差を、ピクセルを復元して比べるのか、抽象化した表現の上で比べるのか。技術的な選択に見えて、実は第12章の測定理論そのものである。第17章第4節で正面から扱う。
次章へ
これで三つの学習—教師なし(第7章)、教師あり(第8章)、強化(本章)—を見たことになる。その間に汎化の謎(第9章)を挟んだ。
これまでわれわれは「学習によって何ができるようになるか」を見てきた。次に問うのは、「学習の結果、内部に何ができているのか」である。神経集団の活動を高次元空間の点の配置として測り、その形を調べる。そして第9章第9節で開いた問い—何をもって「同じ構造」と言うのか—が、そこで測定と対称性の言葉で扱われることになる。
確認問題
[導出]割引率 \gamma を導入する理由を三つ挙げよ。|r|\le r_{\max} のとき収益が有界になることを示せ。(第1節)
[確認]Rescorla–Wagner 則を書き、ブロッキング現象がなぜ説明できるかを述べよ。(第3節)
[導出]Q 学習が off-policy である理由を、更新式のどこから読み取れるかを示せ。(第4節)
[確認]Schultz らが観察したドーパミン細胞の三つの発火パターンを述べ、それぞれが TD 誤差のどの性質に対応するかを示せ。(第5節)
[考える]「報酬が省略されたときに発火が基線以下に落ちる」という観察が、なぜ決定的な証拠になるのかを述べよ。(第5節)
[確認]三項の可塑性 \Delta w \propto (\text{前})\times(\text{後})\times\delta が、第8章第9節の問い(局所的な可塑性で学習できるか)にどう答えているかを述べよ。(第5節・第8章第9節)
[考える]MuZero が学習する遷移モデルは、盤面や画面を再現しない。なぜそれで計画ができるのか。この判断は第17章第4節のどの論点につながるか。(第7節・第17章第4節)
[考える]好奇心駆動の探索と、第16章第4節の能動的推論の関係を述べよ。両者はどこが緊張関係にあるか。また、第16章第4節が「報酬関数の設計と事前選好の設計は同じ穴だ」と述べることになるのは、どういう意味か(この語は本章には出てこない。第16章を読んでから戻ってきてよい)。(第6節・第16章第4節)
参考文献
- Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. — 標準的な教科書。無料で公開されている。適格度トレースと TD(λ) は同書の第12章に詳しい[3節]
- Tolman, E. C. (1948). Cognitive maps in rats and men. Psychological Review, 55(4), 189–208. https://doi.org/10.1037/h0061626 — 認知地図[7節]
- Wolpert, D. M., Ghahramani, Z., & Jordan, M. I. (1995). An internal model for sensorimotor integration. Science, 269(5232), 1880–1882. https://doi.org/10.1126/science.7569931 — 運動制御の順モデル[7節]
- Kawato, M. (1999). Internal models for motor control and trajectory planning. Current Opinion in Neurobiology, 9(6), 718–727. https://doi.org/10.1016/S0959-4388(99)00028-8 — 同上[7節]
- Yagishita, S., et al. (2014). A critical time window for dopamine actions on the structural plasticity of dendritic spines. Science, 345(6204), 1616–1620. https://doi.org/10.1126/science.1255514 — 適格度トレースの分子的な対応物。ドーパミンがスパインの拡大を促す窓は入力の 0.3〜2 秒後に限られる[3節・5節・第8章コラム C8]
- Schultz, W., Dayan, P., & Montague, P. R. (1997). A neural substrate of prediction and reward. Science, 275(5306), 1593–1599. https://doi.org/10.1126/science.275.5306.1593 — 本章第5節の原典
- Mnih, V., et al. (2015). Human-level control through deep reinforcement learning. Nature, 518(7540), 529–533. https://doi.org/10.1038/nature14236 — DQN[6節]
- Silver, D., et al. (2017). Mastering the game of go without human knowledge. Nature, 550(7676), 354–359. https://doi.org/10.1038/nature24270 — AlphaGo から AlphaZero へ[7節]
- Schrittwieser, J., et al. (2020). Mastering atari, go, chess and shogi by planning with a learned model. Nature, 588(7839), 604–609. https://doi.org/10.1038/s41586-020-03051-4 — MuZero[7節]
- Ha, D., & Schmidhuber, J. (2018). World models. arXiv:1803.10122. — 「夢の中で学習する」[7節]
- Hafner, D., Pasukonis, J., Ba, J., & Lillicrap, T. (2025). Mastering diverse control tasks through world models. Nature, 640(8059), 647–653. https://doi.org/10.1038/s41586-025-08744-2 — Dreamer[7節]