ややプログラム紀行

博士1年のプログラムに関する日記

Neural Tangent Kernel

前回の記事はおそらくNeural Tangent Kernelというものから着想を得ていて、このなんちゃらカーネルが最近のover-parametrization流行を加速させたんじゃないかと思う

Neural Tangent Kernel: Convergence and Generalization in Neural Networks

[1806.07572] Neural Tangent Kernel: Convergence and Generalization in Neural Networks

内容をまとめると、DNNのノード数を無限にもっていったときに、その極限がNTKというものを用いて正確に記述できるという論文

DNNといえば非線形性が云々で解析が難しいみたいな印象だけど、無限を考えるとかなり行儀がよくなっているらしい


いつの時代も新規性のある論文は読みにくいものなのか、この論文は関数空間を通して記述されていて、かつ行間もそこそこ広いためにかなり読みづらかった

ただ、この論文の知識を基にして有限での解析をした論文も幾つかあり(例えば前回や今回の記事に貼られてる論文)、その場合は行列での記述になってるからそれらを踏まえてから読むと状況の把握がしやすいかもしれない

media.nips.cc

brynhayder.github.io

もう少し具体的に中身を見てみる

まずニューラルネットのノード数を無限にやったとき、中心極限定理より初期化時の各レイヤーがガウス過程の列になっていることがわかる*1

ところで、コスト汎関数 C最急降下法によって訓練することを考えたとき、通常の(無限でない)DNNの関数空間における挙動はkernel gradientというものを用いて \begin{align} \partial_t f_{\theta (t)} = -\nabla_{\Theta^{(L)}} C |_{f_{\theta(t)}}\end{align} と記述できることがわかる*2

ここで \Theta^{(L)} (\theta) := \sum_{p=1}^P \partial_{\theta_p} F^{(L)} (\theta) \bigotimes \partial_{\theta_p} F^{(L)} (\theta)をNeural Tangent Kernelという(タイトル回収)


当然このままだとNTKが \thetaに依存しているわけだから簡単に解が求まるわけではないが、ノードの数を無限にやると初期化時に決定的*3になるだけでなく、学習中も殆ど変化しないことが示せる*4

以上のことから学習は決定的なNTKによって記述できることが分かり、特にコスト汎関数が残差平方和であれば収束先がガウス過程回帰でのMAP推定に相当するらしい(ここの式変形わかってない)



これがこの論文の概要なわけだけど、こうしてみると前回の論文しかり殆どのover-parametrization系論文はこれの二番煎じでは???みたいな気がしてきてしまう*5


このNeural Tangent Kernelという名前がなぜkernelなのかは実はわかっていない、というのも自分の知ってるkernelとは少し定義が違うからなんだけど、最終的に得られたDNNの収束先とかはまさしくNTKをカーネルとしたカーネル回帰になっていてキツネにつままれたよう

何か自分がわかっていない本質的な意味がNTKにあるのか、それとも結果が一致する&まぁカーネルといっても嘘ではないって理由でカーネルと名付けたのか分からない(修業が圧倒的に足りない)


ところで前回の記事で「DNNの学習軌道が線形っぽいけど何だろう」みたいな事を書いたけど、まさしくそれの答えになる論文があった*6

[1902.06720] Wide Neural Networks of Any Depth Evolve as Linear Models Under Gradient Descent

この論文曰く、ノード数が十分多いときに学習軌道はニューラルネットワークテイラー展開による一次近似、つまり \begin{align} f_0 (x) + \nabla_\theta f_0 (x) |_{\theta = \theta_0} (\theta_t - \theta_0) \end{align} で近似できる

この近似はノード数を無限に増やしたときに一致するらしく、もし、というか恐らくそうなんだけどNTKのtangentの由来がこれ(学習軌道が接平面上にあるという事実)なんだとしたらたいしたもんだなぁ(何様

とまぁNTKに関してはまだまだ学ぶことがありそうって感じだけれど、今から関数解析を勉強していても到底卒論締め切りに間に合わないから、自分としてはなるべくイメージを鮮明に組み立てたうえで非漸近的な状況での何かしらを行列計算によって証明するとか出来たらいいなあって思ってる


(おそらく)open problemとして、NTKは通常(有限ノード数)のDNNより性能が低いというのがある

[1904.11955] On Exact Computation with an Infinitely Wide Neural Net

上の論文では

Since CNTKs exactly correspond to infinitely wide CNNs, this performance gap implies that finite width has its benefits. Therefore, it is likely that recent theoretical work on over-parameterization that operates in the NTK regime cannot fully explain the success of neural networks yet, and we believe it is an interesting open problem to characterize this gap.

また、下の論文では(これまだちゃんと読めてない)

[1811.04918] Learning and Generalization in Overparameterized Neural Networks, Going Beyond Two Layers

..., this is the critical advantage of using three-layer networks compared to two-layer ones or their NTKs. The learnability of this correlation is due to the non-convex interactions between hidden layers. As a comparison, [16] studies the regime where the changes in hidden layers are negligible thus can not show how to learn this concept class with a three-layer network.

なんてことを言っている

これを研究するのは極めて順当な流れだと思うけど、順当すぎるが故競争率も激しそうで卒論向きではないような、、、(弱気

ちなみにNTKのシミュレーションライブラリとして以下のものがあった

github.com

あとは、NTKの研究論文がまとまったサイトもあった

github.com

(奇しくも今回取り上げた論文、Infinite limitのセクションにあるやつと全く同じだった)


これからの方針としては、

  • 一応読みたい論文はいくつかあるからそれを読む
  • 幅方向のover-parametrizationばかりで深さに関しての研究に全然遭遇してないからそれを探す
  • 王道を往く汎化性能の研究だけじゃなくて、少しわき道にそれた研究を探す(探したいけど見つからん

すかね

*1:おそらくこの性質を得るためにNTKの文脈におけるDNNの初期化は通常と少し異なり、 \mathcal{N}(0,1)で初期化する代わりにパラメータがスケーリングされている。"Wide Neural Networks of Any Depth Evolve as Linear Models Under Gradient Descent"では

Unlike the standard parameterization that only normalizes the forward dynamics of the network, the NTK-parameterization also normalizes its backward dynamics. We note that the predictions and training dynamics of NTK-parameterized networks are identical to those of standard networks, up to a width-dependent scaling factor in the learning rate for each parameter tensor.

と書かれているけれど"backward dynamics"の正規化というのは何を指すのかまだ良く把握できていない

*2:ここは本論文では省略されているから他の論文で行列版の式変形を追うといいかもしれない

*3:パラメータ \thetaは確率的に初期化されていたけれど、ノード数無限になると大数の法則を利用して収束することが示せる

*4:この証明で一番本質的なのは前回同様パラメータがほとんど変化しないことなんだと思うけど断言はできない😅

*5:というかどの論文もNTKの非漸近的解析をしただけに思えるような思えないような、短期間にかなり多くのover-parametrization系論文が出たからダブりも仕方ないかもしれないけど

*6:Neural Tangent Kernelの分かりやすい説明もしてるから、これを読むのも十分NTKの理解につながると思う