9  汎化はなぜ起きるのか ── 過剰なパラメータの逆説

前章で、深いネットワークを学習させる技術が揃った。実際、恐ろしくうまくいく。だが、うまくいきすぎている。古典的な学習理論に照らせば、深層学習は動くはずがない。

パラメータの数がデータの数を上回るモデルは、訓練データを丸暗記して、未見のデータではまるで使い物にならない—それが統計学の常識だった。ところが現代のネットワークは、パラメータ数がデータ数の何十倍あっても汎化する。

本章は、この謎を扱う。そして答えは、まだ出ていない。

出ていないからこそ面白い、というだけではない。この謎は「脳を理解するとはどういうことか」という問いに直結している。第8節で扱う Hasson らの主張—脳もネットワークも簡潔な規則を発見しているのではなく、膨大なサンプルの上で内挿しているだけかもしれない—は、本書が第1章第2節で立てた問いに、真正面から挑むものである。

ヒント本章のガイド

第1節が古典理論の復習、第2〜3節がその破綻、第4〜7節が現代的な理論、第8〜9節が視点の転換である。

第5節で、ヤコビアンが三つ目の役目を負う。ただし今度は「パラメータに関する」ヤコビアンである。第11章では「入力に関する」ヤコビアンが表現の幾何を支配する—同じ道具が、微分する変数を替えるだけで別の役目を果たす。

第8〜9節が本章の要である。数式は少ないが、本書全体で最も射程の長い議論になる。急ぐならここだけでもよい。

本章には確定した答えがない。「分かっていない」と書いてある箇所は、本当に分かっていない。

「確かめられた」の四つの意味

本章は「汎化」を主題にする。その前に、何がどの意味で確かめられたのかを分ける言葉を用意しておきたい。第17章で「脳とAIの表現が一致する」という主張を検討するとき、この区別が効いてくる。

言葉 何が同じか 何を変えるか
再生性(reproducibility) 結果そのもの 何も変えない(同じデータ・同じ手続き)
再現性(replicability) 結論 データを取り直す
頑健性(robustness) 結論 分析の仕方や測り方を変える
一般化可能性(generalizability) 結論 対象・集団・課題を変える

同じ語を二つの意味で使うので、二点だけ断っておく。第一に、本章でこれから扱う汎化(generalization)は、訓練していない標本に対する予測がどれだけ当たるかという話であって、研究の知見が別の条件へ広がるかという一般化可能性とは別のことである。英語では語源が同じだが、指しているものが違う。第二に、本書は「頑健」という語を、入力の変動に対して応答が崩れないという意味でも使う(第4章の位置ずれへの頑健性がそれである)。上の表の頑健性は分析の仕方を変えても結論が崩れないことで、別の話である。


1. 学習理論の古典 ── バイアスとバリアンス

何を最小化したいのか

われわれが本当に知りたいのは、未見のデータに対する誤差である。汎化誤差(あるいは期待誤差)という。入力を \mathbf{x}、正解を y、モデルの予測を f(\mathbf{x}) とし、\mathcal{L}(f(\mathbf{x}), y) を予測と正解の食い違いを一つの数で測る損失とする。入力と正解の組が生じる確率分布を p_{\text{data}} と書き、そこから未知の組を取り出したときの損失を平均したものが次の R(f) である。手元の訓練標本は (\mathbf{x}_i, y_i)i = 1, \dots, M)で、M が訓練標本数である。

R(f) = \mathbb{E}_{(\mathbf{x},y)\sim p_{\text{data}}}\big[ \mathcal{L}(f(\mathbf{x}), y) \big]

だが p_{\text{data}} は分からない。手元にあるのは有限個のサンプルだけだ。だから代わりに訓練誤差を最小化する。

\hat{R}(f) = \frac{1}{M}\sum_{i=1}^{M} \mathcal{L}\big(f(\mathbf{x}_i), y_i\big)

問題は、この二つがどれだけずれるかである。

バイアス-バリアンス分解

二乗誤差の場合、汎化誤差はきれいに分解できる。真の関数を g(\mathbf{x})、観測を y = g(\mathbf{x}) + \varepsilon\varepsilon は平均0・分散 \sigma^2 のノイズ)とする。訓練データ D に依存して学習される関数を \hat{f}_D と書く。

ある点 \mathbf{x} を固定して、期待二乗誤差を計算しよう。同じ分布から同じ個数の訓練標本を取り直し、そのたびに学習すれば、予測 \hat f_D(\mathbf{x}) も変わる。\mathbb{E}_D はこの「訓練データの取り直し」についての平均で、\bar{f}(\mathbf{x}) = \mathbb{E}_D[\hat f_D(\mathbf{x})] が平均的な予測である(評価する正解に乗るノイズ \varepsilon は、訓練データ D と独立とする)。予測のずれを「平均的な予測のずれ」と「取り直しによる揺れ」に分けるために、この \bar{f}(\mathbf{x}) を足して引くのが定石である。

\begin{aligned} \mathbb{E}_{D,\varepsilon}\Big[\big(y - \hat{f}_D(\mathbf{x})\big)^2\Big] &= \mathbb{E}\Big[\big(g + \varepsilon - \hat{f}_D\big)^2\Big] \\ &= \mathbb{E}\Big[\big(\underbrace{g - \bar{f}}_{\textsf{定数}} + \underbrace{\bar{f} - \hat{f}_D}_{\textsf{平均0}} + \underbrace{\varepsilon}_{\textsf{平均0・独立}}\big)^2\Big] &&\textsf{(} \bar f \textsf{ を足して引いた)}\\ &= \underbrace{\big(g(\mathbf{x}) - \bar{f}(\mathbf{x})\big)^2}_{\textsf{バイアス}^2} + \underbrace{\mathbb{E}_D\big[(\hat{f}_D - \bar{f})^2\big]}_{\textsf{バリアンス}} + \underbrace{\sigma^2}_{\textsf{ノイズ}} &&\textsf{(交差項が消えた)} \end{aligned}

交差項が消えるのが要点である。三つの項のうち二つが平均0で、しかも互いに独立だから、掛け合わせた期待値がゼロになる。

三つの項の意味は次のとおりである。

  • バイアス — モデルが単純すぎて、真の関数を表現できないことによる誤差
  • バリアンス — 訓練データが変わると学習結果が変わってしまうことによる誤差
  • ノイズ — どうやっても減らせない

数で検算しておこう。ある点で真の値が 4 だとする。訓練データを取り直すと、学習後の予測が 13 に半々で変わるとしよう。平均的な予測は 2 なので、バイアスの二乗は (4-2)^2 = 4、バリアンスは ((1-2)^2 + (3-2)^2)/2 = 1 である。評価する観測値には、独立に -1+1 のノイズが半々で乗るとすれば、その分散も 1 だ。三つを足すと 4 + 1 + 1 = 6 になる。いっぽう分解を使わずに直接数えてみると、観測値は 35、予測は 13 なので四通りの組み合わせがあり、二乗誤差の平均は (4 + 0 + 16 + 4)/4 = 6 である。ちゃんと一致した。

トレードオフ

モデルを複雑にするとバイアスは減り、バリアンスは増える。だから汎化誤差は U 字型になる—モデル複雑度に対して、どこかに最適点がある。これがバイアス-バリアンストレードオフであり、統計学の教科書に必ず載っている図である。そして実務上の指針が導かれる。モデルを大きくしすぎてはいけない。交差検証で最適な複雑度を選び、正則化でモデルを抑える—これが正しい作法とされてきた。

容量の理論

「複雑度」を厳密に測ろうという試みもある。いくつかの点を置き、それぞれに二種類のラベルを付けてみよう。ラベルの付け方をどう変えても、そのたびにモデル族の中から全点を正しく分類するものを選べるだろうか。VC 次元 d_{\text{VC}} は「そのモデル族が任意にラベル付けできる点の最大個数」であり、汎化誤差の上界を与える。すべての点配置で可能という意味ではなく、そういう配置が存在するという意味である(第11章第6節で扱う「ランダムに選んだ一つのラベル付けを分けられる確率」とは別の問いである)。次式の O(\cdot) は、定数倍などを省いて依存の仕方だけを示す記号である。

R(f) \le \hat{R}(f) + O\!\left(\sqrt{\frac{d_{\text{VC}}}{M}}\right)

この形の上界は、正解なら損失 0、誤りなら 1 と数える0–1損失の二値分類で、訓練標本が独立同分布に得られたときに、高い確率で、モデル族のどの f についても同時に成り立つ。パラメータが多いほど d_{\text{VC}} が大きく、上界が緩くなる。だからサンプル数 M をパラメータ数より十分多くせよ—これが古典的な処方箋だった。

さて。この処方箋を、現代の深層学習は完全に無視している。


2. 古典的な枠組みの破綻

ランダムラベル実験

Zhang らは2017年、単純だが決定的な実験をした。画像のラベルを、完全にランダムに付け替える。猫の画像に「トラック」、犬の画像に「飛行機」—という具合に、意味のある構造を全部壊す。そのデータで、標準的な CNN を訓練する。

結果:訓練誤差はゼロになった。数万枚の画像に対するランダムなラベルを、ネットワークは完全に記憶した。当然ながらテスト誤差はチャンスレベルである(学ぶべき規則がないのだから)。

何が問題なのか

この結果が突きつけるのは、次のことである。このネットワークの実効的な容量は、データセットを丸暗記できるほど大きい。ならば VC 次元による上界は、まったく役に立たない。上界が「テスト誤差は100%以下」としか言わないなら、何も言っていないのと同じである。そして同じネットワークが、正しいラベルで訓練すると汎化する。

壊れたのが何なのかは、正確に言っておきたい。破綻したのは、パラメータ数のような「モデルの大きさ」だけで容量を測り、最悪の場合を評価するやり方である。学習理論そのものが破綻したわけではない。データやアルゴリズムに依存する形で境界を立て直す試みは、その後も続いている。

同じアーキテクチャ、同じパラメータ数、同じ最適化手法。違うのはデータだけである。ならば汎化を説明するものは、パラメータ数や最悪時の容量ではありえない。同じ容量で、汎化する場合と丸暗記する場合の両方が起きるのだから。

ここは正確に受け取ってほしい。この実験が退けたのは「モデルの大きさだけを見て汎化を語る」立場である。モデル側の性質すべてが無関係だと示したわけではない。学習後の解のノルムやマージン、アーキテクチャが持つ構造—どんな関数を学びやすいか—は、依然として効きうる。実際、第5節で見る NTK はアーキテクチャに強く依存する。説明を求めるべき先は、データの構造・アーキテクチャ・最適化が共同でどの解を選ぶかである。

正則化では説明できない

「正則化が効いているのでは」という反論に対しても、Zhang らは答えている。重みを小さくする方向の更新を加える重み減衰、学習中に一部のユニットを無作為に休ませるドロップアウト、画像の変形などで訓練例を増やすデータ拡張—これらをすべて外しても、正しいラベルなら依然として汎化する。正則化は性能を少し改善するが、汎化の本質的な原因ではない。

では何が汎化させているのか。これが本章の問いである。

ここがポイント

深層ネットワークは、ランダムラベルを丸暗記できるほどの容量を持ちながら、正しいラベルでは汎化する。パラメータ数や最悪時の容量だけでは汎化を説明できない。説明は、データの構造・アーキテクチャ・最適化が共同でどの解を選ぶかの側にある。


3. 二重降下

U 字の先

古典的な描像では、モデル複雑度に対する汎化誤差は U 字型だった。では、U 字の右端よりさらに複雑にしたらどうなるか。

古典理論は「もっと悪くなる」と予測する。実際には、そうならない。

Belkin らが2019年に整理したのが、二重降下(double descent)である。

  1. モデルが小さいうちは、複雑にするほど誤差が減る(古典的な左側)
  2. 補間閾値—訓練誤差がちょうどゼロになる点—の近くで、誤差がピークを打つ
  3. それを超えてさらに大きくすると、誤差が再び減り始める

U 字の右側の先に、もう一度の下降がある。だから「二重」降下である。この様子を描いたのが 図 1 である。

図 1: 二重降下(模式)。テスト誤差は古典的な U 字を描いたあと、訓練誤差がゼロになる補間閾値でピークを打ち、さらにモデルを大きくすると再び下がる。点線は古典理論の予測で、補間閾値の先では誤差が上がり続けるはずだった。

補間閾値で何が起きるか

ピークが立つ理由は、線形回帰で考えるとはっきりする。数で見よう。ある一つの方向について、重みを u、合わせたい観測値を v とする。この方向の特異値が 0.01 なら、当てはめの条件は 0.01\,u = v である。観測値に 0.01 のノイズが乗ると、解の重みは 0.01/0.01 = 1 だけ動く。特異値が 1 の方向なら、同じノイズによる変化は 0.01/1 = 0.01 で済む。小さい特異値で割ることが、観測のわずかな揺れを重みの大きな揺れに変えてしまうのである。補間閾値の近くでは、データを並べた行列(設計行列)が悪条件になる—非常に小さい特異値が現れる。解はその逆数で決まるので、小さい特異値の方向でノイズが激しく増幅される。バリアンスが爆発するのはこのためである。自由度が足りないから、というより、ぎりぎり足りる状態がいちばん危ないのだ。

パラメータをさらに増やすと、訓練データを通す解が無数に存在するようになる。すると「どれを選ぶか」という選択の余地が生まれる。

暗黙のバイアス

そして—無数の解の中から特定のものを選んでいるのは、最適化アルゴリズムである。

小さな例で見よう。重みが二つあり、予測はその和 \theta_1 + \theta_2、訓練標本は一つで正解は 2 とする。(\theta_1,\theta_2) = (2,0) でも (1,1) でも予測は 2 で、訓練誤差はどちらもゼロである。だが重みのノルムの二乗は前者が 4、後者が 2 だ。\theta_2 = 2-\theta_1 を代入すると \theta_1^2 + \theta_2^2 = 2(\theta_1-1)^2 + 2 なので、いちばん小さいのは (1,1) である。では勾配降下法は何を選ぶか。損失を \frac{1}{2}(\theta_1+\theta_2-2)^2 として初期値 (0,0) から歩幅 1/2 で一歩進めると、どちらの重みも 0 - \frac{1}{2}\times(-2) = 1 になる。ノルムへの罰則を一切入れていないのに、最小ノルム解が選ばれた。線形回帰の場合には厳密に示せる。設計行列 X \in \mathbb{R}^{M \times P} の行は訓練標本、列は予測に使う特徴で、重み \theta \in \mathbb{R}^P と正解 \mathbf{y} \in \mathbb{R}^M を並べれば X\theta が全標本の予測になる。\lambda_{\max} は行列の最大固有値、\|\theta\| は重みの各成分の二乗和の平方根である。訓練データを通す解が存在し、学習率を 0<\eta<2/\lambda_{\max}(X^\top X) に取れば、初期値ゼロからの勾配降下は、それらの解のうち最小ノルム解に収束する。

\hat{\theta} = \arg\min_\theta \|\theta\| \quad \text{s.t.}\quad X\theta = \mathbf{y}

誰も「ノルムを小さくせよ」と指示していない。目的関数に正則化項は入っていない。それでも勾配降下法という手続き自体が、暗黙にそういう解を選ぶ。なお「パラメータのノルムが小さい」ことと「関数として滑らかである」ことは同じではない。どんな特徴に対してノルムを測るかで、選ばれる関数の性質は変わる。これを暗黙のバイアス(implicit bias / implicit regularization)と呼ぶ。過剰パラメータ化は、この暗黙のバイアスが働く余地を作る—というのが二重降下の説明の骨子である。

当たりくじを引く

過剰パラメータ化の意味を、別の側から照らす仮説もある。宝くじ仮説(lottery ticket hypothesis)である。Frankle と Carbin (2019) は、訓練したネットワークから重みを刈り込んで得た疎な部分ネットワークを、元の初期値に戻して単独で訓練すると、元のネットワークと同等のテスト精度に、同程度の反復数で届くことを示した。彼らはこれを当たりくじ(winning ticket)と呼ぶ。当たっているのは訓練後の重みではなく、初期値である。MNIST や CIFAR-10 の全結合・畳み込みネットワークでは、元の 10〜20% 未満の大きさの当たりくじが見つかった。

読み方に気をつけたい。これは「大きなネットワークは要らなかった」という話ではない。当たりくじは、大きなネットワークを訓練してみないと見つからない。 過剰パラメータ化は、良い初期値を引く機会を増やしている—そう読むこともできる。ただしこれは経験的な仮説であって、汎化の一般理論ではない。

三つの方向

Nakkiran らは、二重降下がモデルの幅だけでなく、データ量や、訓練データ全体を何巡したかを表すエポック数についても起きることを示した。とくにエポック二重降下は不気味である。学習を続けるとテスト誤差が一度悪化し、さらに続けると再び改善する。「早期打ち切りが常に正しい」という経験則が、単純には成り立たない。

何が説明できていないか

二重降下は現象の記述である。なぜ暗黙のバイアスが「良い」解を選ぶのかは、まだ十分に説明されていない。

最小ノルム解が良いのは、選んだ特徴表現とノルムの意味で真の関数が単純な場合に限る。なぜ自然界のデータに対して、その仮定が当たるのか。これは第8節の Direct Fit の議論と関わってくる。

説明の候補は、ほかにもあった。第5章第6節で紹介した情報ボトルネックである。深層学習についてのこの立場は、三つのことを主張していた。学習は二つの相に分かれること—まず訓練データに当てはめ、そのあとで入力の情報を捨てる。この圧縮相が、汎化の良さを生んでいること。そして圧縮が起きるのは、確率的勾配降下法の揺らぎが拡散のように働くからであること。

Saxe, Bansal ら (2019) は、この三つのどれも一般には成り立たないことを示した。情報平面の上をネットワークがどう動くかは、主として活性化関数で決まる。tanh のように両側で飽和する関数なら、活動が飽和域に入るところで圧縮相が現れる。だが線形の関数や、片側だけ飽和する ReLU では現れない。圧縮と汎化のあいだに因果も見えなかった—圧縮しないネットワークも汎化するし、その逆もある。そして圧縮が起きる場合も、確率的であることのせいではなかった。全データを使う勾配降下法でも同じことが起きる。

捨てることが汎化を生むという説明は、こうしていまのところ支持されていない。第5章で「決着していない」と書いたのは、このことである。だが問いのほうは残る—何を捨て、何を保つのか。第11章から先で表現を測るとき、われわれは同じ問いの前に立つ。


4. 必要な数学:カーネル法の最小限

次節への準備として、カーネル法の考え方を最小限だけ導入する。

特徴写像

線形モデルは表現力が足りない。入力の各成分をそのまま足し合わせるだけでは表せない関係がある。たとえば入力の二乗や成分どうしの積も特徴として用意し、それらを重み付きで足せばよい。つまり、入力を高次元に写してから線形にすればよい。

先に、この節でいちばん大事な事実を数で見ておこう。一つの実数の入力 x から \phi(x) = (1, x, x^2)^\top \in \mathbb{R}^3 という三つの特徴を作る。x = 2 なら (1,2,4)^\topx = 3 なら (1,3,9)^\top である。この二つの内積は 1 \times 1 + 2 \times 3 + 4 \times 9 = 43 になる。ところが一般の二入力 x, x' について内積を先に展開しておくと 1 + x x' + (x x')^2 という式になり、これに 23 を直接入れても 1 + 6 + 36 = 43 である。三つの特徴をわざわざ並べなくても、同じ値が出た。この「特徴を作らずに内積だけ計算する」やり方が、以下のカーネル法である。

f(\mathbf{x}) = \mathbf{w}^\top \phi(\mathbf{x})

\phi: \mathbb{R}^n \to \mathbb{R}^DD \gg n)が特徴写像である。n が入力の次元、D が特徴の次元で、どちらも訓練標本数 M とは別の量である(次節では n をネットワークの幅に使うので、そこでも別物と読んでほしい)。重みは \mathbf{w} \in \mathbb{R}^D で、特徴との内積が一つの実数の予測になる。\phi の中身が非線形なら、f\mathbf{x} について非線形になる。

カーネルトリック

D が非常に大きい(あるいは無限次元)と、\phi(\mathbf{x}) を陽に計算できない。だが内積だけなら計算できることがある。

K(\mathbf{x}, \mathbf{x}') = \phi(\mathbf{x})^\top\phi(\mathbf{x}')

この Kカーネルと呼ぶ。

表現定理

なぜ内積だけで足りるのか。表現定理(representer theorem)が保証する。

訓練誤差を小さくしながら、重みの大きさにも罰則を課すことを考える。\lambda > 0 がその罰則の強さ、\|\mathbf{w}\|^2 が重みの各成分の二乗和である。この正則化つきの最小化問題

\min_{\mathbf{w}}\; \sum_{i=1}^{M}\mathcal{L}\big(\mathbf{w}^\top\phi(\mathbf{x}_i), y_i\big) + \lambda\|\mathbf{w}\|^2

の解は、必ず訓練データの特徴ベクトルの線形結合で書ける。

\mathbf{w}^* = \sum_{i=1}^{M}\alpha_i\, \phi(\mathbf{x}_i)

\alpha_i は第 i 訓練標本の特徴に掛ける係数である。\mathbf{w}^*D 次元のベクトルなのに、それを表すのに要る係数は訓練標本数と同じ M 個で済む—ここが効いてくる。

証明の筋

\mathbf{w} を「訓練データが張る空間の成分」と「それに直交する成分」に分ける。直交成分は、どの \phi(\mathbf{x}_i) との内積もゼロなので損失に寄与しない。一方で \|\mathbf{w}\|^2 は増やす。だから最適解では直交成分はゼロである。

これを代入すると、

f(\mathbf{x}) = \sum_i \alpha_i\, K(\mathbf{x}_i, \mathbf{x})

D 次元の \mathbf{w} を求める問題が、M 個の \alpha_i を求める問題になった。高次元の特徴空間を、陽に扱わずに済む。この構図を覚えておいてほしい。次節では、無限幅のニューラルネットワークがまさにこの形に帰着する。


5. Neural Tangent Kernel ── ヤコビアンが学習を支配する

無限幅極限

Jacot、Gabriel、Hongler (2018) は、驚くべきことを示した。幅を無限大にすると、ニューラルネットワークの学習が厳密に解析できる。

線形化

一つのパラメータを少し動かすと、出力はどれだけ変わるか。その変化を全パラメータについて足し合わせれば、初期値の近くで出力を近似できる。ここでは出力 f(\mathbf{x};\theta) は一つの実数とし、P 個のパラメータとその初期値を列ベクトル \theta, \theta_0 \in \mathbb{R}^P に並べる。勾配 \nabla_\theta f(\mathbf{x};\theta_0) \in \mathbb{R}^P も列ベクトルで、第 a 成分が初期値での偏微分 \partial f/\partial\theta_a である。このパラメータ \theta を持つネットワーク f(\mathbf{x};\theta) を、初期値 \theta_0 のまわりで一次近似する。

f(\mathbf{x};\theta) \approx f(\mathbf{x};\theta_0) + \nabla_\theta f(\mathbf{x};\theta_0)^\top(\theta - \theta_0)

ここで \nabla_\theta f が現れた。パラメータに関するヤコビアンである。

J_\theta(\mathbf{x}) = \nabla_\theta f(\mathbf{x};\theta_0) \in \mathbb{R}^{P}

P はパラメータ数。出力がスカラーなので、ここではベクトルである。)この近似は、普通なら乱暴である。学習中にパラメータは大きく動くのだから、初期値のまわりの一次近似が有効なはずがない。

だが無限幅では、これが正当化される。幅 n を大きくすると、各パラメータの変化量は O(1/\sqrt{n}) で小さくなる。パラメータ数は増えるので出力は有限に変わるが、一つ一つはほとんど動かない。だから線形近似が破綻しない。

NTK

線形化されたモデルは、\phi(\mathbf{x}) = J_\theta(\mathbf{x}) を特徴写像とする線形モデルである。ただし線形なのは出力そのものではなく、初期出力からの変化である。\Delta\theta = \theta - \theta_0 \in \mathbb{R}^{P} を学習する重みと見れば、出力の変化は J_\theta(\mathbf{x})^\top \Delta\theta と書ける。正解の側からも各入力での初期出力 f(\mathbf{x};\theta_0) を引いておけば、前節とまったく同じ形になる(予測するときは、学習した変化に初期出力を足し戻す)。こうして前節のカーネル法がそのまま使える。対応するカーネルが Neural Tangent Kernel(NTK)である。

\Theta(\mathbf{x}, \mathbf{x}') = J_\theta(\mathbf{x})^\top J_\theta(\mathbf{x}') = \nabla_\theta f(\mathbf{x})^\top \nabla_\theta f(\mathbf{x}')

読み方

「二つの入力に対する勾配が、どれだけ揃っているか」である。揃っていれば、片方を学習したときもう片方も一緒に動く—汎化はここから生じる。

学習ダイナミクス

訓練点での出力を \mathbf f\in\mathbb R^M、正解を \mathbf y\in\mathbb R^M に並べる。M は訓練標本数である。各点の勾配を転置して行に並べた J_\theta\in\mathbb R^{M\times P} は、行が訓練点、列がパラメータに対応する。訓練点間の NTK 行列は \Theta=J_\theta J_\theta^\top になる。二乗誤差を使い、学習率を無限小にした連続時間の学習では、

\frac{d\mathbf f}{dt}=-\Theta(\mathbf f-\mathbf y)

が成り立つ。ここで t は学習の進行を表す時間である。無限幅の条件のもとでは \Theta が学習中に変わらないので、固有ベクトルの方向ごとに別々に解ける。一つの方向の固有値を \lambda\ge0、その方向の誤差成分を e(t) とすれば、

\frac{de}{dt}=-\lambda e, \qquad e(t)=e(0)e^{-\lambda t}

である。右の式を微分すれば、確かに元の式へ戻る。第2章第1節で解いた指数緩和と同じで、\lambda が大きいほど誤差は速く減り、\lambda=0 の方向は動かない。行列の解へまとめる計算は発展編B.2に置く。

ヤコビアンの三つ目の役目

ここで立ち止まってほしい。J という記号が、三つ目の役目を負う場面である。

何に関する微分か 何を支配するか
3.3 状態 固定点の安定性
5.2 変数 確率密度の変換
9.5(本節) パラメータ 学習ダイナミクス
11.4 入力(刺激) 表現の幾何
15.4 潜在変数 生成モデルの密度

とくに本節と第11章の対比が面白い。どちらも第2章第4節のヤコビ行列を使うが、何から何への変化を見て、どちら側の内積を作るかが違う。本節の J_\theta \in \mathbb{R}^{M \times P} はパラメータから訓練点での出力への微分で、行が訓練点・列がパラメータだから、行どうしの内積 J_\theta J_\theta^\top は訓練点どうしの学習の結びつきを表す。第11章第4節の J_s \in \mathbb{R}^{N \times p} は刺激から応答への微分で、行が応答ユニット・列が刺激の成分だから、列どうしの内積 J_s^\top J_s は刺激の各方向を応答側で測る行列になる。転置の位置が違うのは、比べている辺が違うからである。

\underbrace{\Theta = J_\theta J_\theta^\top \in \mathbb{R}^{M \times M}}_{\textsf{訓練点どうし。学習を支配}} \qquad\text{vs}\qquad \underbrace{G = J_s^\top J_s \in \mathbb{R}^{p \times p}}_{\textsf{刺激の方向どうし。表現を支配}}

同じ形の量が、微分する変数を替えるだけで、まったく違う役目を果たす。これは偶然ではない。「写像が微小な変化をどう伝えるか」という問いが共通しているからである。

ここがポイント

無限幅極限では、学習が NTK \Theta = J_\theta J_\theta^\top によるカーネル回帰に帰着する。パラメータに関するヤコビアンが、学習ダイナミクスを完全に決める。第11章では入力に関するヤコビアンが表現の幾何を決める—同じ道具の二つの顔である。

限界

NTK は美しいが、実際のネットワークを説明しきってはいない。第一に、有限幅では NTK が学習中に変化する。そして実際のネットワークの性能は、しばしば対応する NTK 回帰より良い。特徴を学習していることが、NTK では捉えられない。

第二に、NTK レジームでは表現が変わらない。初期値の特徴写像 J_\theta をそのまま使うので、「深層学習が良い表現を学習する」という現象そのものが起きていない。だから NTK は、深層学習の理論として完成品ではない。「厳密に解ける最初の例」として価値があるが、本質を捉えているとは言い難い。


6. 厳密に解ける例:深層線形ネットワーク

非線形性を取り去っても、層を重ねる意味は残るだろうか。二層の線形ネットワークなら、入力 \mathbf{x} からの予測は \hat{\mathbf{y}}=W_2W_1\mathbf{x} である。W_1 が入力から中間層へ、W_2 が中間層から出力へ写す重み行列だ。積を一つの行列と見れば単なる線形写像なのに、二つの重みを別々に学習すると、進み方が変わる。

一つの成分を追う

Saxe、McClelland、Ganguli は、第6章で学んだ特異値分解を使い、入力と正解の結びつきを、互いに対応する入力方向・出力方向の組に分けた。この一組をモードと呼ぶ。入力の平均をゼロ、共分散を単位行列にそろえ、初期重みを各モードに沿って置き、二層の重みの大きさをそろえると、モードを別々に追える。

一つに注目し、データが要求する結びつきの強さを s>0、ネットワークが学んだ強さを a(t) としよう。t は連続的な学習時間、\tau>0 は学習の速さを決める尺度である。二乗誤差を勾配で減らすと、

\tau\frac{da}{dt}=2a(s-a)

となる。右辺を読んでみよう。s-a は目標までの残りで、これに現在の強さ a が掛かっている。小さな正の値から始めると、最初は a が小さいので遅い。育つと速くなり、目標 s に近づくと再び遅くなる。これが S 字の立ち上がりである。二層の重みの積が a なので、両方が変わる効果が係数 2 に現れている。

同じ小さな初期値から比べれば、大きな特異値に対応するモードほど先に立ち上がる。データの「強い」構造から順に学ぶわけだ。一層だけなら目標との差に比例して近づく単純な指数緩和になり、この停滞と急な立ち上がりは生じない。式の解と層数を増やした場合は、発展編B.3で追える。

意味論的発達との対応

Saxe らは、この結果を子どもの概念発達と結びつけた。まず「生物と無生物」、次に「動物と植物」、さらに「犬と猫」と、区別が段階的に細かくなる。階層的な概念構造を学習させると、大きなカテゴリに対応する強いモードが先に、細かな区別が後に育つ。特別な段階切り替えの仕掛けを入れなくても、学習の進み方から段階が現れるのである。

もちろん、これで発達が説明されたわけではない。線形ネットワークは実際の脳とも深層学習とも遠い。価値があるのは、条件を絞れば学習の全経過を追える模型が手に入ることだ。では実際の分類ネットワークには、どんな規則性が現れるだろうか。


7. Neural Collapse

現象

Papyan、Han、Donoho は2020年、分類ネットワークの学習終盤に起きる、驚くほど規則的な現象を報告した。訓練誤差がゼロになった後も学習を続けると(終末相, terminal phase of training)、最終層の表現が次の四つの性質を示す。

  1. クラス内分散の消失 — 同じクラスのサンプルの表現が、クラス平均に収束する
  2. 単体 ETF への収束 — クラス平均どうしが、互いに最大限離れた対称的な配置(単体等角タイトフレーム)をなす。三つのクラスなら正三角形、四つなら正四面体の頂点のような並びで、全クラス平均の中心を引くと、どのベクトルも長さが等しく、異なる二本のなす角度も等しくなる
  3. 自己双対性 — 分類器の重みベクトルが、クラス平均の方向と一致する
  4. 最近傍クラス平均則 — 分類が「もっとも近いクラス平均を選ぶ」という規則に一致する

多くの標準的な設定—クラスがおおむね均衡していて、交差エントロピー損失で、訓練損失を十分小さくするまで学習を続ける場合—で、アーキテクチャやデータセットを変えても同じことが観察される。任意の設定で必ず起きる定理ではなく、強い傾向として報告されている現象である。

何が起きているのか

分類という目的から考えれば、自然な帰着ではある。クラス内の違いは分類に不要だから捨てられ、クラス間はできるだけ離したい。その極限が Neural Collapse である。だから「良いこと」に見える。実際、この状態は分類性能とロバスト性に関係するとされる。

だが訓練分布限定である

ここが重要である。Neural Collapse は、訓練データについて成り立つ現象である。

訓練分布の外の入力が、表現空間のどこに写るかについては、何の保証もない。そして考えてみれば、これは深刻な話だ。クラス内分散が消えるということは、最終層がそのクラスの中の違いをほとんど区別しなくなるということである(理想化した極限では完全に、実際には近似的に)。

  • 「犬」クラスの中の、犬種の違いは? 最終層では、分類に使われる形で残っていない。ただし途中の層から消えたとは限らない(実際、中間層からは犬種を読み出せることが多い)。
  • 姿勢や照明の違いは? 最終層では、やはり分類に使われる形で残っていない。

分類には要らない。だが他の課題には要る。

表現の次元との関係

第11章第7節で「表現の次元」を扱うとき、この話が戻ってくる。Neural Collapse は、表現次元を極限まで落とす現象である。クラス数を C とすると、最終層の表現は実質 C-1 次元の単体上に潰れる。

分類に最適化すると、最終層では分類以外に必要だった次元が失われていく。これは第11章第7節で述べる「良い表現は課題を指定しないと決まらない」という主張の、鮮明な実例である。そして第17章で「脳とAIの表現は一致するか」を問うとき、モデルがどんな課題で訓練されたかが決定的に効くことの理由にもなる。


8. Direct Fit to Nature ── 汎化観の転換

ここから、本章の性格が変わる。技術的な問いから、認識論的な問いへ移る。

前提を疑う

ここまでわれわれは、暗黙にある前提を置いてきた。「モデルが汎化するのは、データの背後にある規則を発見したからだ。」

科学者にとって、これは自然な前提である。ケプラーは惑星の位置データから楕円軌道の法則を発見した。簡潔な規則を見つけることが、理解であり、汎化の源泉である。

Hasson、Nastase、Goldstein (2020) は、この前提を疑う。

主張

その主張は、こうである。

脳も深層ネットワークも、簡潔な生成規則を発見しているのではない。高次元空間の密なサンプリングの上で、直接的な当てはめ(direct fit)による内挿を行っているにすぎない。

「direct fit」という言葉が指すのは、盲目的な適合である。パラメータを膨大に持ち、データに直接フィットさせる。人間が読める規則を先に書き与える必要はない、という主張である。学習の結果として抽象的な構造が生じる可能性まで、ここで排除したわけではない。

そして進化がまさにこれをやってきた、というのが論の運びである。進化は簡潔な原理を発見しない。膨大な試行の上で、環境に直接適合する。脳の学習も同じ性格を持つのではないか、と。

内挿と外挿

議論の核心は、内挿(interpolation)と外挿(extrapolation)の区別にある。

  • 内挿 — 訓練データに囲まれた領域での予測
  • 外挿 — 訓練データの外での予測

素朴には、深層ネットワークの成功は外挿の成功に見える。見たことのない画像を正しく分類するのだから。

Hasson らはこれを否定する。高次元空間に膨大なサンプルがあれば、「新しい」入力も実は訓練データに囲まれている。外挿しているように見えて、内挿しているだけである。

なぜこれが重要か

三つの含意がある。第一に、汎化の説明が変わる。「良い規則を見つけたから汎化する」のではなく、「サンプルが十分密だから内挿できる」。すると重要なのはモデルの簡潔さではなく、訓練データの被覆の密度になる。

第二に、失敗の予測が変わる。内挿しかできないなら、訓練分布の外では壊れるはずである。そして実際、深層ネットワークは、訓練時と使用時でデータの生じ方が変わる分布シフトに弱い。敵対的例—誤って分類させるように入力にわずかな加工を加えたもの—に騙される。第11章第8節で見る「テクスチャ偏重」も、この文脈で読める。

第三に—これが本節の主題だが—「理解」の意味が変わる。

「理解」への挑戦

Hasson らの主張が正しいなら、次の問いが立つ。脳が簡潔な規則で動いていないなら、われわれが脳の簡潔な理論を作れるはずがあるだろうか。

これは深刻である。神経科学は「脳の計算原理を明らかにする」ことを目指してきた。だが、膨大なパラメータがデータとの長い接触を通じて形作られるなら、その結果を人間が見通せる短い規則に圧縮できる保証はない。学習則が一行で書けることと、何が学ばれたかを一行で説明できることは違う。ただし、そこから「これ以上の説明は原理的にない」と結論するのも早い。どのデータがどの能力に効き、内部のどの部分を変えると何が失われるのかは、なお調べられる。

もっとも Hasson らは「理解できない」と結論しているわけではない。彼らが求めているのは理解の基準を組み替えることであり、その手本として進化論を挙げる—進化論の意義は、生物学に「それまで評価されていなかった種類の説明と理解」をもたらしたことにあった、と。この注文には第9節で答えることになる。

大規模言語モデルは理論になりうるか

同じ問題を、言語の側から突きつけたのが Piantadosi (2024) である。大量の文章から次の語を予測する大規模言語モデルは、文の組み立て方について研究者が書き下した規則を、そのまま組み込まなくても多様な文を扱える。彼はこの成功を、言語の理論は少数の明示的な原理から組み立てなければならない、という研究の進め方への挑戦と捉える。

その核心は「理論を捨ててデータに任せよ」ではない。学習でパラメータを決めること自体が、異なる予測をするモデルの候補を比較することになりうる。さらに、要素ごとの規則を知っても、多数の要素が相互作用した結果を頭の中で見通せるとは限らない。計算機上で動かし、その結果を実験と照合することも、理論を調べる方法なのである。

第1章の Ramachandran は、知覚が少数の包括的な原理から見通せるという期待を疑った。Piantadosi が疑うのは、われわれに直観的に分かるほど簡潔でなければ科学的な理論ではない、という条件である。両者は同じ主張ではないが、対象の理解しやすさを研究の出発点で約束しない点で響き合う。「次の語の予測誤差を減らす」という目標は短く書けても、そこで獲得された言語能力の説明は短くなるとは限らない。

Lillicrap と Kording (2019) は、別の側から、複雑なネットワークを作る学習や発達の規則に理解の足場を求めた。完成後の無数の結合を一つずつ説明するより、それらを生んだ過程のほうが短く記述できるかもしれない。この見方は単純な原理を禁じるものではなく、何を理解しようとしているか—作り方か、作られた能力か—を区別する提案として読める。

もちろん、言語モデルの成功だけで、人間の言語獲得の仕組みや生得的な制約がすべて解明されたわけではない。Piantadosi 自身も、モデルがなぜその能力を示すのかを調べる仕事が終わったとは述べていない。本書が引き受けるのは、簡潔な原理を見つけることだけを理解の入口にせず、複雑なモデルの比較と内部への介入も説明を育てる方法として扱う、という注文である。

反論もある

もちろん、この主張には反論がある。

反論1:構成的汎化の証拠

「紫色のキリン」を見たことがなくても認識できる。属性が独立に処理され組み合わされているなら、これは内挿では説明できない—第13章第10節の議論である。

反論2:内挿と外挿の区別が曖昧

高次元では「データに囲まれている」という概念自体が怪しい。平面上の点を輪ゴムで囲んだときの内側—それを高次元へ広げたものが凸包である(厳密には、訓練点に非負の重みを付け、重みの和を 1 にして足し合わせてできる点の全体をいう)。D 次元で凸包の内部に入る確率は、D が大きいと急速にゼロに近づく。そもそもすべてが外挿かもしれない(Balestriero, Pesenti & LeCun 2021)。

反論3:抽象化の証拠

少数のサンプルから新しいカテゴリを学ぶ(few-shot learning)能力は、単なる内挿では説明しにくい。

決着していない。そしてこの論争を実験的に解決するのは、思われているより難しい。「訓練で見ていない組み合わせ」だと思っていたものが、実は表現空間では訓練データに囲まれていた—ということが起こりうるからだ。


9. では脳の理解とは何か

前節を受けて、本書が第1章第2節で開いた問いに戻る。「説明した」とはどういうことか。

三つの立場

素朴に考えると、次の三つがありうる。

立場1:簡潔さ

短い数式で書けたら理解したことになる。物理学の伝統である。ニュートンの運動方程式、マクスウェル方程式—簡潔さが理解の証だった。だが前節の議論が正しいなら、脳にこの基準は適用できないかもしれない。

立場2:予測

簡潔でなくてもよい。未見の状況での振る舞いを予測できれば理解である。だがこれは「モデルが動く」ことと区別がつかない。十分大きなネットワークで脳の入出力を再現できたとして、それを理解と呼びたいだろうか(第1章第2節の万能近似定理の議論である)。

立場3:介入

介入したときの結果を予測できることが理解である。「この細胞を抑えたらこうなる」と言えて、実際そうなる。因果的な理解であり、実験科学の基準に近い。ただし、ある部位を止めると行動が失われることだけでは、そこでどんな計算が行われていたかは決まらない。Krakauer ら (2017) は、神経への介入と並んで、行動をどんな過程に分けて捉えるかを理論と実験で詰める必要を強調した。介入は説明を育てるが、一度の操作が説明を完成させるわけではない。

本書の立場

判定は下さない。だが本書の構成そのものが、一つの態度を表している。

本書は「同じ数学が何度も現れる」ことを軸にした。畳み込みが第4章と第8章と第13章に現れる。ヤコビアンが五つの役目で現れる。エネルギー関数が第7章から第16章まで貫く。

なぜこの構成を採ったのか。それは、理解とは「異なるものが同じ構造を持つと分かること」だという考えに基づいている。

畳み込みが視覚受容野と CNN の両方に現れるのは、両者が同じ制約(平行移動同変性)に従っているからである。この対応が分かったとき、われわれは片方について知ったことを他方に転用できる。それは簡潔さでも予測でも介入でもない、第四の理解のかたちである。ここまでの三つは科学哲学で名前を持つ立場に対応している(統一による説明・予測を重んじる立場・介入を重んじる立場)。いっぽうこの四つ目は本書の整理であって、既存の分類にそのまま当てはまるものではない。そして—その対応が本物かどうかを確かめるには、何をもって「同じ」と言うかを決めねばならない。これが第11〜13章の主題である。第11章で表現の幾何を測り、第12章で「何を実数に写してよいか」を問い、第13章で「どんな変換のもとで同じと言うか」を群として定式化する。

汎化の謎に答えは出さなかったが、問いの立て方は変わった。「なぜ汎化するのか」から、「何をもって同じ構造と言うのか」へ—本章から第11章への橋は、そこに架かっている。

次章へ

本章は学習をめぐる理論的な山場だった。次章では強化学習を扱う。だがそこには、本書が繰り返し追ってきた構図がもう一度現れる。TD 誤差という一つの量が、アルゴリズムの中核でありながら、ドーパミン細胞の発火として実際に観測される。

確認問題

  1. [導出]バイアス-バリアンス分解を導出せよ。導出のどこで交差項が消えるか、その理由を述べよ。(第1節)

  2. [確認]Zhang らのランダムラベル実験の結果を述べ、それが VC 次元による汎化の説明をどう否定するかを説明せよ。(第2節)

  3. [考える]同じネットワークがランダムラベルを記憶し、正しいラベルでは汎化する。この事実から、汎化を説明するものはどこにあると結論できるか。(第2節)

  4. [確認]二重降下の三つの局面を述べよ。補間閾値でピークが立つ理由を説明せよ。(第3節)

  5. [導出]表現定理を述べ、その証明の筋(直交成分が損失に寄与しないこと)を説明せよ。(第4節)

  6. [考える]無限幅では NTK が学習中に変化しない。このことが「特徴を学習していない」ことを意味する理由を説明せよ。(第5節)

  7. [確認]Direct Fit to Nature の主張を要約せよ。内挿と外挿の区別が、なぜこの議論の核心なのか。(第8節)

  8. [考える]Direct Fit の主張に対する反論を二つ挙げよ。そのうえで、第17章第6節の世界モデルの立場との対立点を整理せよ。(第8節・第17章第6節)


参考文献

  • Krakauer, J. W., Ghazanfar, A. A., Gomez-Marin, A., MacIver, M. A., & Poeppel, D. (2017). Neuroscience needs behavior: Correcting a reductionist bias. Neuron, 93(3), 480–490. https://doi.org/10.1016/j.neuron.2016.12.041 — 神経への介入と行動の理論的・実験的分析の役割を区別する論考[9節]

  • Lillicrap, T. P., & Kording, K. P. (2019). What does it mean to understand a neural network? arXiv, 1907.06374(プレプリント). https://doi.org/10.48550/arXiv.1907.06374 — 学習後の結合と、その結合を作る学習過程を区別する理解論[8節]

  • Piantadosi, S. T. (2024). Modern language models refute Chomsky’s approach to language. In E. Gibson & M. Poliak (Eds.), From fieldwork to linguistic theory (pp. 353–414). Language Science Press. https://doi.org/10.5281/zenodo.12665933 — 大規模言語モデルを理論として扱い、直観的な簡潔さを科学的理解の必要条件とする見方を批判する論考[8節]

  • Zhang, C., et al. (2017). Understanding deep learning requires rethinking generalization. arXiv:1611.03530. https://doi.org/10.48550/arxiv.1611.03530 — ランダムラベル実験[2節]

  • Belkin, M., Hsu, D., Ma, S., & Mandal, S. (2019). Reconciling modern machine-learning practice and the classical bias–variance trade-off. Proceedings of the National Academy of Sciences, 116(32), 15849–15854. https://doi.org/10.1073/pnas.1903070116 — 二重降下[3節]

  • Nakkiran, P., et al. (2019). Deep double descent: where bigger models and more data hurt. arXiv:1912.02292. https://doi.org/10.48550/arxiv.1912.02292 — 二重降下が幅・データ量・エポック数のどれでも起きることを示した[3節]

  • Jacot, A., Gabriel, F., & Hongler, C. (2018). Neural tangent kernel: convergence and generalization in neural networks. arXiv:1806.07572. https://doi.org/10.48550/arxiv.1806.07572 — NTK の原典[5節]

  • Saxe, A. M., McClelland, J. L., & Ganguli, S. (2019). A mathematical theory of semantic development in deep neural networks. Proceedings of the National Academy of Sciences, 116(23), 201820226. https://doi.org/10.1073/pnas.1820226116 — 深層線形ネットワーク[6節]

  • Papyan, V., Han, X. Y., & Donoho, D. L. (2020). Prevalence of neural collapse during the terminal phase of deep learning training. Proceedings of the National Academy of Sciences, 117(40), 24652–24663. https://doi.org/10.1073/pnas.2015509117 — Neural Collapse[7節]

  • Hasson, U., Nastase, S. A., & Goldstein, A. (2020). Direct fit to Nature: an evolutionary perspective on biological and artificial neural networks. Neuron, 105(3), 416–434. https://doi.org/10.1016/j.neuron.2019.12.002 — 本章第8節の主張の出典。第17章第6節と対で読んでほしい

  • Saxe, A. M., Bansal, Y., Dapello, J., Advani, M., Kolchinsky, A., Tracey, B. D., & Cox, D. D. (2019). On the information bottleneck theory of deep learning. Journal of Statistical Mechanics: Theory and Experiment, 2019(12), 124020. https://doi.org/10.1088/1742-5468/ab3985 — 圧縮が汎化を生むという説明を、活性化関数を変えて検証した[3節]

  • Frankle, J., & Carbin, M. (2019). The lottery ticket hypothesis: finding sparse, trainable neural networks. arXiv:1803.03635. https://doi.org/10.48550/arxiv.1803.03635 — 当たりくじ。当たっているのは初期値である[3節]

  • Balestriero, R., Pesenti, J., & Lecun, Y. (2021). Learning in high dimension always amounts to extrapolation. arXiv:2110.09485. — 高次元では内挿がほぼ起きない[8節]