logo

論文レビュー:ゼロトレーニングエラー達成後にゼロトレーニングロスが必要ですか? 📂機械学習

論文レビュー:ゼロトレーニングエラー達成後にゼロトレーニングロスが必要ですか?

論文レビュー

フラッディングfloodingは、ICML 2020で発表されたDo We Need Zero Training Loss After Achieving Zero Training Error?で紹介された正則化技術を指す。この論文の著者によると、過学習が発生する原因は、下の図のように過小なトレーニングロスにあると言っている。

1.png

したがって、下図のように学習過程でトレーニングロスが特定の値以下に下がらないように制御すれば、テストロスを減らすことができるというのが論文の中心的な内容だ。

2.png

このようにトレーニングロスの最小値を定めることをフラッディングという。著者はフラッディング技術がテストロスを減らしながらもそのアルゴリズムが驚くほど簡単だと言っている。元のロスを$L$とすると、フラッディングが適用されたロス$\tilde{L}$は以下のようになる。

$$ \tilde{L}(\boldsymbol{\theta}) = \left| L(\boldsymbol{\theta})-b \right| +b,\quad b>0 $$

$\boldsymbol{\theta}$はモデルのパラメーターだ。ここで$b$をフラッディングレベルと呼ぶ。$\tilde{J}$の勾配は、$J(\boldsymbol{\theta})>b$の時は$J(\boldsymbol{\theta})$と同じ方向、$J(\boldsymbol{\theta})<b$の時は$J(\theta)$と反対方向だ。以下は実際のトレーニング結果だ。

3.png

$W$はWeight decay、$E$はEarly stopping、$F$はフラッディングを意味し、それぞれの技術が適用された時にチェックで表示されている。赤いハイライトは最も良い性能を意味する。右側の結果にはフラッディングが適用された時の結果で、ハイライトされていることが多く分かる。以下のグラフは、CIFAR-10でテストしてフラッディングレベルを調整した結果だ。

4.png

赤い線はフラッディングありのテストロスで、オレンジの線はフラッディングなしのテストロスだ。オレンジの線はトレーニングロスが減るにつれて発散するが、赤い線は発散しないことから過学習が起きていないことを意味する。