深層学習の二重降下が分かったかもしれない
1.はじめに
機械学習では、モデルサイズを大きくしていくとtest誤差が下がったのち上がってしまう(過学習)ことが知られていますが、深層学習ではこれに反し非常に大きなモデルでは、過学習になったのち学習を続けるとtest誤差が下がっていく(最初下がって一回上がってまた下がるので「二重降下」)現象が知られています。
ちょっと調べた結果、なんとなく説明できる理屈を思いついたのでメモしておきます。
2.二重降下現象の直感的説明
二重降下は一度パラメータがtrainingデータを完全に学習(補間)してしまった後で起きる現象であり、過剰パラメータである必要がある。ここでパラメータ数が最小であるとき、線形回帰をイメージすると解は一つと思われる。ここから少しパラメータを増やしていくと、補間できるパラメータ集合はどんどん大きくなると思われる。つまり、trainingデータで正解率100%のパラメータたちがどんどん増えていくことになる。一方で、よくある過学習のイメージ図のように、これはほんの少しデータ点がずれただけで全く外れの予測を行う過学習に他ならない。しかし、さらにパラメータを増やしていくと、補間できるパラメータ集合は(おそらく指数的に)増えていく。うまい学習を行うことで、ちょっとやそっとでは外れない「広い」補間パラメータ集合を少しづつ見つけていけるのではないか。(下図)
こう考えると、モデルサイズについての二重降下(モデルサイズを増やすとtestエラーが減った後増えてまた減る)、学習量についての二重降下を統一的に説明できる。モデルサイズは大きくないと「広い」補間パラメータ集合がないということだろう。学習量は、「点」だらけの補間パラメータ集合の中で激レアな「広い」補間パラメータ集合を見つけるのに時間がかかるということなのだろう。より汎化性能が高いモデルはこうした「広い補間パラメータ集合」を見つけやすいのだと思われる。「広さ」が汎化性能そのものと言えるかもしれない。また、深層学習の宝くじ仮説は最初から広い補間パラメータ集合の周辺を見つけられれば、ほかのネットワークは必要ない、ということを言っているだけなのかもしれない。
ここでは、「なぜ広い補間パラメータ集合を学習時に見つけられるのか」についての議論を割愛したが、これについてもいろいろな研究があるようだ。いずれ誰かが明らかにしてくれるだろう。
3.まとめ
深層学習の二重降下がなんとなくわかったのでメモしました。あくまでなんとなくなので、厳密な議論は本職の研究者の方に期待しましょう。
参考文献
これらの読解にはNotebookLM(参考記事)に大変お世話になりました。