最新の機械学習モデルでは過学習なんて起きない? Deep Double Descent.

3つの要点

✔️モデルが過学習しても、さらに学習を進めると精度が向上する

✔️学習データ,学習回数,学習モデルは大きければ大きいほど良い

✔️なぜこのような現象が生じるのか?

DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT

written by Preetum Nakkiran, Gal Kaplun, Yamini Bansal, Tristan Yang, Boaz Barak, Ilya Sutskever

(Submitted on  4 Dec 2019)

subjects : Machine Learning (cs.LG); Computer Vision and Pattern Recognition (cs.CV); Neural and Evolutionary Computing (cs.NE); Machine Learning (stat.ML)

機械学習は学習量に応じて精度が向上して行きますが、学習量が多すぎると過学習と呼ばれる状態に陥り、精度は悪化すると考えられて来ました。しかし、そこからさらに学習量を増やすと、精度がむしろ向上していく場合があります。
この現象はDeep Double Descentと呼ばれ、特に、モデルが大きい最先端の機械学習モデルで確認されるようになってきた現象です。従来の機械学習の考えでは、モデルが複雑で大きいほど、学習データに対して過剰適応し、テストデータに対してのエラーが増大する。←というのが一般的であったため、大きければ大きいほど悪いモデルであると考えられてきました。

しかし、最新の機械学習研究で用いられるモデルは巨大であるにも関わらず、巨大な学習データを長時間かけて学習しても過学習することなく、未学習データに対しても良好な成績を出しています。

では、このDeep Double Descentはなんなのでしょうか。

Deep Double Descent

機械学習では、モデルサイズ、データサイズ、または学習回数が増えるにつれて精度が向上し、モデルが過学習し始めるとテストデータに対する精度が悪化していきます。Deep Double Descentとは、そこからさらにモデルサイズ、データサイズ、学習回数を増やすと、テストデータに対する精度が再度向上していく現象の事です。

下の図では右がモデルサイズに対するDouble Descentで、横軸のWidth10前後の領域で縦軸のTest Errorが上昇していることがわかります。これが古典的な過学習になります。しかし、ResNet18のWidth Parameterをさらに増やしていくと、過学習状態から脱却し、Test Errorが減少していきます。

過剰適応が生じる場合と、そこから脱却出来る条件は複雑で一通りの傾向ではありません。モデルの複雑度が十分に小さい場合、モデルの複雑さの関数としてのテストエラーは、古典論(モデルが大きい方が悪い)に従います。
モデルが小さい場合、学習データを増やすとテストデータに対する精度が下がります。これは、おそらくデータ量に対してモデルが小さい事が原因と考えられます。モデルが十分に大きくなると、学習データを増やすほど、テストデータに対する精度も向上するようになります。

またここで、effective model complexity (EMC)という概念も導入します。これは学習データに対するエラーを0にできるサンプルの最大数として定義します。

T:学習手法、D:データ分布、Errors(M) :サンプルSのモデルMの平均誤差

EMCはデータの性質とモデルのパラメータだけではなく、学習回数にも影響を受けます。(当然ですが)学習回数が増えるほど、EMCも増えます。

最近の研究で分かってきたこととして、モデルが学習できる量(EMC)よりも少ない学習データ量であれば、Double Descentが生じ、学習すればするほど精度が向上します。モデルが学習できる量(EMC)よりも多い学習データ量であれば、古典的な過学習が生じます。

本研究ではデータセットにラベルノイズを付与しています。この理由として、データセットにラベルノイズを与えると、Double Descentが顕著に発生するからです。このラベルノイズの効果は、単に分類の難易度を上げるためであり、機械学習に真に影響を与えるものではないと考えてください。今回実験に使用したデータセットでは、例えばCIFAR-100でノイズが無いデータセットでもDouble Descentが生じています。

実験に使用したデータセット一覧

Model-wise Double Descent

モデルサイズに対するDouble Descentに関して、モデルがCNN,ResNet18では、データにラベルノイズがある条件で、Double Descentが生じます。

Figure4に示すグラフでは、モデルがResNet18で、データがCIFAR-100,CIFAR-10の場合、モデルの幅(Width)が10前後でDouble Descentが生じています。このくらいの大きさのモデルで過学習が生じます。さらにモデルが大きくなると過学習を解消する事が出来、モデルを大きくするほどテストデータに対する精度も向上します。

Epoch-wise Double Descent

学習回数に対するDouble Descentに関しても、予想に沿う結果が出ています。
十分に大きいモデルでは、1.学習回数とともにエラーは減少し、2.その後過適応状態になり、さらに3.学習を増やすとエラーが減少して行きます。

Figure10では、ラベルノイズ10%の場合でDouble Descentが生じています。

 

Sample-wise Non-monotonicity

学習データ量を増やせばテストエラーは減少しますが、それと同時に、学習データを増やす事はテストエラーのピークを右に移動させる効果があります。

例えば下の図の場合、(学習)サンプル数の増加とともにグラフが下へ(エラーが減る方向へ)移行しますが、それと同時に、過学習でエラーが増大するピークも右へ移動します。

基本的にはデータを増やすほど良いという結論ですが、ある条件下ではこの効果が組み合わさり、データを増やした方がテストエラーが増す場合があります。

 

まとめ

モデルが学習データを覚えきれるほど大きい場合、Double Descentが生じ、学習量を増やすほど精度が上がっていきます。これは、モデルの大きさとデータ量次第では、テストデータへの精度を悪化させる可能性もあることを示しています。

さて、なぜDouble Descentが発生するのか?
その理由ですが、こちらは現在も未解決の問題であり、ディープモデルを学習させるに当たって重要な研究課題です。また、問題に対する最適なモデルサイズ、学習回数、データ量を決定する方法も、関連した重要な未解決問題です。これらは、機械学習の基礎に関わる重要な課題であるため、今後の研究により一層期待したいですね。

サイエンスライター募集中

この記事をシェアする