ややプログラム紀行

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

Double Descent

卒論のスライドを作るときに、over-parametrizationは凄いんだぞ!みたいな軽い気持ちでいわゆるdouble descentのグラフを載せたところ、専門外の人たちには結構衝撃*1だったようで、卒論の内容じゃなくてこれに関する質問が飛んできた

生憎その時はちゃんと論文を読んでた訳でもなく、最先端の話すぎてキチンと現象が解明されてないこともあって質問にうまく答えられたかは微妙なところだったので、これからはスライドによくわからんものを使うのはやめようと思ったのでした、、、

double descent自体結構興味深くて、この方向の研究も面白そうだなぁ、、、ということで少し読んでみた(相変わらず感想文
 

Deep Double Descent: Where Bigger Models and More Data Hurt

[1912.02292] Deep Double Descent: Where Bigger Models and More Data Hurt

この記事を読むのが早いです(完*2
openai.com

従来の統計的学習理論に基づくと、モデルにはbias-variance tradeoffというものが存在して、underfittingとoverfittingのバランスをうまく取りながらモデルの複雑度を選ぶ必要があるというのが定説でした
しかし奇妙なことに、現代用いられるニューラルネットワークは訓練誤差をほぼ0にできるほどリッチでありながら汎化誤差も割と良さげにすることができます(通説
これは統計的学習理論と矛盾してないか??ということで精査してみたところ、"double descent"という、bias-variance tradeoffの続きが存在するのではという指摘がなされました*3
arxiv.org
(↑double descentのような現象は以前から指摘されてきたけれど、double decsentという用語はこの論文が初出らしい)
上の論文では「モデルの複雑さの関数としてみた時の訓練誤差の挙動」としてdouble descentという用語を定義していますが、この現象はモデルの複雑さに限らずエポック数やサンプル数でも起こるねってことを実験を通して指摘しているのがdeep double descentです

deep double descentの内容を要約すると、

  1. "Effective Model Complexity(EMC)"という指標を「アルゴリズムが、訓練誤差ほぼ0を達成できる分類器を出力できる最大のサンプル数」として定義し*4
  2. "Generalized Double Descent Hypothesis"という仮説を提唱し、その仮説の正統性を実験的に確かめた

となります
Generalized Double Descent Hypothesisの内容は、n個のサンプルを用いて分類器を生成することを考えた時、

  • EMCがnより十分大きい、もしくは十分小さいとき、EMCを増加させるようなアルゴリズムの変更を行うと汎化誤差は減少する
  • EMCとnが近い値の時はその限りでない

というものです

EMCというのはdouble descentの挙動を統一的に述べるために導入された指標で、「モデルのパラメータを増やす」「エポック数を増やす」などの操作によって増加します
エポック数を増やすことをモデルの複雑度を上げると解釈するのは初出じゃない*5らしいけれど、中々面白いなぁと思いました、一方でモデルのパラメータを増やすこととエポック数を増やすことを纏めてEMCの増加として扱うのはちょっと乱暴なんじゃないかなぁという気もします
ただ、double descentという挙動はニューラルネットワークに限らず、Random Fourier Featuresや決定木でも確認されてる現象ということで、何か統一的な理論がある気がするのもわかります

また、Generalized Double Descent Hypothesisの2番目、「〜はその限りでない」というのはdouble descentの上昇部分に当たり、場合によっては汎化誤差が上昇ではなく横ばいになる場合もあるのでこのような曖昧な言い方になっている訳ですが、どのような場合に上昇具合に差が生まれるのかも気になります

論文いわく線形モデルでのdouble descentは結構研究されているらしいですが、2020年4月現在どこまで分かっているのかはまだ知らないので、も少し探ってみようかなぁと思います

*1:もちろん自分にとっても衝撃だけど

*2:特に最後のグラフがわかりやすい

*3:ただ、この後に出てくる話を元にすると、ImageNetなどのようにサンプル数がめちゃ多い場合、ニューラルネットのパラメータ数はそれほど多くなく、故にdouble descentの最初のU-shaped curveで話が完結している可能性も多いらしい

*4:データの分布を考慮して(固定して)定義されることに注意

*5:[1905.11604] SGD on Neural Networks Learns Functions of Increasing Complexity