LoginSignup
6
8

More than 3 years have passed since last update.

深層学習に関わる驚異の発見:Neural Tangent Kernel

Posted at

自分用メモ

  1. over-parameterisation 幅無限
    • NTK regime
    • mean field regime
  2. 勾配流 (gradient flow)

over-parameterisation

幅を十分広くとってランダム初期化すれば経験誤差0の解へ線形収束する[Du, 2018],[Allen-Zhu, 2018],[Li, 2018]

  • 初期値のごく近傍に最適解が存在
  • 目的関数が凸"的"

  • 宝くじ仮説

ガウス過程

GY「幅の広いランダムなNNは$\mathcal{GP}$という意味は異なる2つの画像を同じNNに食わせると(異なるランダム初期化により)ガウス分布を吐き出す」
mlpasgp_.png

  • ニューラルネット(NN)の重みは例えばXavier初期化ならば$W^{(l)}_{ij} \sim \mathcal{N}(0,\frac{1}{p})$で初期化される. $p$は(一段前の)層のユニット数である. 初期値の分散が$\frac{1}{\sqrt{p}}$でスケールされている. これは入力信号が膨らんでいってしまうことを防ぐ.

  • ガウス過程はガウス分布に従う確率変数の一般化

    ガウス過程とは長さ$N$の平均ベクトルと$N \times N$の$C_{ij} = C(X_i,X_j)$の共分散行列をパラメータとした多変量正規分布

\begin{pmatrix}
f(X_1) \\
f(X_2) \\
\vdots \\
f(X_N)
\end{pmatrix} \sim \mathcal{N}(\mu(X_1,X_2,\cdots,X_N),C(X_1,X_2,\cdots,X_N))
  • 3層の(単一の隠れ層)の全結合NN(入力$\boldsymbol{x}\in\mathbb{R}^{N}$ から出力$y\in\mathbb{R}$への写像$f: \mathbb{R}^N \to \mathbb{R}$) について隠れ層の活性化関数を$\phi$として$y=\sum V^k\phi\left(\sum W^{kj}X^j\right)$で定義できる. 初期状態のとき, $V$と$W$の要素は独立なガウス分布に従い, $V$の分散は$\frac{1}{\sqrt{p}}$でスケールしている ($p$は隠れ層のユニット数).

    • 隠れ層のニューロン$h^k$は各入力$X_i$に対して値を持つ $h^k(X_i)=\phi(\sum W^{kj}X_i^j)$.
    • $W$ はランダムなので各ユニット$k$に対して, $h^k(\vec{X})$は独立なランダムベクトル ($\vec{X} = (X_1,\dots,X_N)$)になる. これらのランダムベクトルは同じ分布に従い, ネットワークの出力$\vec{y}=f(\vec{X})$は単にこれら単変量ガウス分布の$V^k$とi.i.d.の積の和になっている. (多次元の)中心極限定理より, この和は多変量ガウス分布になる.
  • 単一の隠れ層でユニット数$p$が無限の(全結合でガウス分布に従う重みとバイアス項をもつ)ニューラルネット(初期状態)がガウス過程$\mathcal{GP}$で表現できる.[Neal, 1994]
    「ランダム(ガウス)初期値から(多次元の)中心極限定理でカーネルを構成する」

「最終層だけ学習し, ほかの層はランダム初期値のままにすることに対応」

Neural Tangent Kernel (NTK) : 接神経核理論

  • 損失関数
\mathcal{L}(f_t(\mathcal{X})) = \frac{1}{2}\ell^2
\ell := f_t(\mathcal{X}) - y

を減らすようにパラメータを学習していく (勾配降下).

  • パラメータの時間変化
\begin{align}
\frac{\partial \boldsymbol{\theta}}{\partial t} &= -\eta\frac{\partial\mathcal{L}}{\partial \boldsymbol{\theta}} \\ 
&= -\eta\frac{\partial f_t(\mathcal{X})}{\partial \boldsymbol{\theta}}^{\mathsf{T}}\frac{\partial \mathcal{L}}{\partial f_t(\mathcal{X})} \\
&=\eta\nabla_{\boldsymbol{\theta}_t}f_{t}(\mathcal{X})^{\mathsf{T}}\nabla_{f_{t} (\mathcal{X})}\mathcal{L}
\end{align}
  • 関数勾配
\begin{align}
\frac{\partial \ell}{\partial t} = \frac{\partial f_t(\mathcal{X})}{\partial t} &= \frac{\partial f}{\partial \boldsymbol{\theta}_t}\frac{\mathrm{d}\boldsymbol{\theta}_t}{\mathrm{d}t} = - \eta\color{red}{\boxed{\nabla_{\boldsymbol{\theta}_t}f_{t}(\mathcal{X})\nabla_{\boldsymbol{\theta}_t}f_{t}(\mathcal{X})^{\mathsf{T}}}}\nabla_{f_{t}}\mathcal{L}
\end{align}
  • Neural Tangent Kernel (NTK)
\nabla_{\boldsymbol{\theta}_t}f_{t}(\mathcal{X})\nabla_{\boldsymbol{\theta}_t}f_{t}(\mathcal{X})^{\mathsf{T}}
  • lossの一般解
|\ell| = \exp (- t\Theta)

メモ

\begin{align}
\frac{\partial \mathscr{L}[f^{\boldsymbol{\theta}}]}{\partial t}
&= \sum_{i,j} \frac{\mathrm{d}\theta_j}{\mathrm{d}t}\int_{\mathcal{X}} \frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}}(x)_i \frac{\partial f^{\boldsymbol{\theta}}}{\partial \theta_j} (x)_i \mathrm{d}x \\
&=-\sum_{i,j,k}\int_{\mathcal{X}} \frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}}(x^{\prime})_k \frac{\partial f^{\boldsymbol{\theta}}}{\partial \theta_i}(x^{\prime})_k \mathrm{d}x^{\prime}\int_{\mathcal{X}}\frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}}(x)_j\frac{\partial f^{\boldsymbol{\theta}}}{\partial \theta_i}(x)_j \mathrm{d}x \\
&=  - \sum_{j,k = 1}^{N}\int_{\mathcal{X}} \frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}}(x)_j\left(\sum_{i=1}^{P}\frac{\partial f^{\boldsymbol{\theta}}}{\partial \theta_i}(x)_j\frac{\partial f^{\boldsymbol{\theta}}}{\partial \theta_i}(x^{\prime})_k\right)\frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}}(x^{\prime})\mathrm{d}x\mathrm{d}x^{\prime} \\
&= -\int_{\mathcal{X}} \frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}}(x)^{\mathsf{T}} \Theta(x,x^{\prime})\frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}} (x^{\prime})\mathrm{d}x\mathrm{d}x^{\prime} \\
&= -\left\|\frac{\delta \mathscr{L}}{\delta f^{\boldsymbol{\theta}}}\right\|^2 \Theta(x,x^{\prime})
\end{align}
\Theta = \sum_{i=1}^{P}\frac{\partial f^{\boldsymbol{\theta}}}{\partial \theta_i} \otimes\frac{\partial f^{\boldsymbol{\theta}}}{\partial \theta_i}

定理 $n_1,\dots, n_{L-1} \to \infty$ のとき, $t\in [0,T]$に対して, NTKは確率収束して, $\Theta_t \to \Theta_0$

1次元の入出力でユニット数(=層の幅)が$p$の隠れ層(中間層)が2層のMLP.

neural_network.png

$$
f=(\boldsymbol{x},\boldsymbol{\theta})
$$

後続研究(&関連研究)

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8