Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

(講義ノート)統計的機械学習第10回

前回はこちら。📄Arrow icon of a page link(講義ノート)統計的機械学習第9回 。内容は以下の通り。

Boostingの汎化誤差解析として、以下の式であった。

Image in a image block

決定木の汎化誤差は以下のとおりである。

Image in a image block

最後に、XGBoostの汎化誤差解析も行った。

Neural Network

NNの汎化誤差解析を考える。まずは簡単な3層のNNとする。

  • 隠れ層はmm層ある。
  • 入力はxRd\mathbf{x} \in \mathbb{R}^dであり、nn個存在する。
  • NNのパラメタは、3層なので2種類のみ存在し、第1層の重みはWRd×mW \in \mathbb{R}^{d \times m}であり、2層目の重みはwRm\mathbf{w} \in \mathbb{R}^mである。
  • 活性化関数はa(x)=max(0,x)a(x)=\max(0, x)のReLUとする。
  • これらを踏まえて全体のNNは以下のような関数と定義できる。
fθ:RdR,fθ(x)=wTa(Wx)f_\theta : \mathbb{R}^d \to \mathbb{R}, f_\theta(\mathbf{x}) = \mathbf{w}^T a(W \mathbf{x})

3層NNのRademacher複雑度

重みにはL2ノルムの上限がある。WjW_jは行ベクトルであり意味としては隠れ層の各ノードごとに重みをベクトルとして扱ったときにL2ノルムの上限がある。

w2B2,Wj2B2||\mathbf{w}||_2 \leq B_2, ||W_j||_2 \leq B_2

そして、入力のL2ノルムの期待値の上界も考える。E[x2]=C\mathbb{E}[||\mathbf{x}||_2] = C

そして、以下のように3層NNのRademacher複雑度を抑えられる。

Rn(F)=Ex,σ[supfθF1ni=1nσifθ(xi)]2B1B2CmnR_n(\mathcal{F}) = \mathbb{E}_{\mathbf{x, \boldsymbol \sigma}} [\sup_{f_\theta \in \mathcal{F}} \frac{1}{n} \sum_{i=1}^n \sigma_i f_\theta(\mathbf{x}_i)] \leq 2 B_1 B_2 C \sqrt{\frac{m}{n}}

証明

Image in a image block

Holderの不等式で、w\mathbf{w}についてのノルムを外に出せる。次は、この行列の計算された2乗ノルムを計算したい。

Image in a image block

ベクトルについてのL2ノルムの制約はあるが、行列についてはない。なので、どうにかして行列での評価をベクトルにしたい

こういう時は、一番影響力がある一行(maxj\max_j)をとってきてそれをmm倍するとすることで、上側から押さえられる。

そして、絶対値の外し方として、a=max(a,a)|a| = \max(a, -a)として処理している。

Image in a image block

重みを0にしたら項の値は0にすることができるんで、もし下手にマイナスに行くならば重みを0にすればいい。そして、max(a,b)a+b\max(a,b) \leq a+bと抑えている。

こうすることによって、あとはReLUのリプシッツ定数が1なので普通にa()a()を外すことができ、結局この2つの項は同じ値をとるRademacher複雑度となり、したがって、以下のように評価できる。

Rn(F)B2m(2B1Cn)R_n(\mathcal{F}) \leq B_2 \sqrt{m} (2 \frac{B_1 C}{\sqrt{n}})

古典的にはこれのほうがいいが、最近はOverparameterizationのほうが望ましいということで、m\sqrt{m}も大きく理論的上界の意味があまりなくなる。

ResNetについての評価

ResNetのモデリング

Image in a image block

上のhl(x)h_l(x)では、前のhl1(x)h_{l-1}(x)と、その残差を足し合わせている。残差の計算はΦθl\Phi_\theta ^lで計算できる。この残差の計算自体は、入力に線形変換+活性化関数+線形変換を施したものでVl,UlV_l, U_lが学習対象。

論文に従っての定義である。

Image in a image block