Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets #21

Open
yonesuke0716 opened this issue May 22, 2023 · 0 comments
Labels

Comments

@yonesuke0716
Copy link

Power, Alethea, Yuri Burda, Harri Edwards, Igor Babuschkin, and Vedant Misra. 2022. “Grokking: Generalization beyond Overfitting on Small Algorithmic Datasets.” ArXiv:2201.02177 [Cs], January. http://arxiv.org/abs/2201.02177.

  • Attentionモデルでは過学習した先にさらに学習を続けることで汎化し始める現象を確認した。本論文では、この汎化性能の獲得のことを「Grokking」と呼んでいる。
  • データセットが少ないほど、Grokkingするまでの学習回数が増加する。
  • 汎化に有効な手法として確認できたのは、weight_decayの導入と最適化プロセスのノイズ付与。

Abstract

In this paper we propose to study generalization of neural networks on small al- gorithmically generated datasets. In this setting, questions about data efficiency, memorization, generalization, and speed of learning can be studied in great de- tail. In some situations we show that neural networks learn through a process of “grokking” a pattern in the data, improving generalization performance from random chance level to perfect generalization, and that this improvement in general- ization can happen well past the point of overfitting. We also study generalization as a function of dataset size and find that smaller datasets require increasing amounts of optimization for generalization. We argue that these datasets provide a fertile ground for studying a poorly understood aspect of deep learning: generalization of overparametrized neural networks beyond memorization of the finite training dataset.

(DeepL翻訳)

本論文では、アルゴリズムによって生成された小規模なデータセットにおけるニューラルネットワークの汎化について研究することを提案する。この設定では、データ効率、記憶、汎化、および学習速度に関する問題を非常に詳細に研究することができる。ある状況では、ニューラルネットワークがデータ中のパターンを「把握」するプロセスを通じて学習し、汎化性能をランダムな偶然のレベルから完全な汎化へと改善すること、そしてこの汎化の改善はオーバーフィッティングのポイントをはるかに超えて起こり得ることを示した。また、データセットサイズの関数として汎化を研究し、より小さなデータセットでは、汎化のための最適化量が増加することを発見した。我々は、これらのデータセットが、ディープラーニングの理解されていない側面、すなわち、有限のトレーニングデータセットの記憶を超えたオーバーパラメトリックニューラルネットワークの汎化を研究するための肥沃な土壌を提供すると主張する。

先行研究との比較

学習と汎化における先行研究では、ニューラルネットワークが記号・アルゴリズム推論を行う能力を調べるためにアルゴリズムデータセットが用いられてきた。本論文も同様のテーマで取り組んでいる。

ほとんどの先行研究ではモデルのアーキテクチャの選択による影響に焦点を合わせていたのに対して、本論文ではモデルのアーキテクチャを固定した実験として紹介している。

実験条件

データセット:
以下の配列(テーブル)構造の組み合わせから二項演算の方程式を推定させるデータセットとなっている。
スクリーンショット 2023-04-07 17 07 39
他のマス同士の相関関係から方程式を推定させ、「?」の部分に当てはまる数値を予測させる。

二項演算の方程式のパターンは以下。
スクリーンショット 2023-04-07 17 02 18

モデル:
2レイヤー、4つのAttentionヘッドを持つTransformerを使用(パラメータ数:4*10^5)

実験方法

上記実験条件のもと、モデルのアーキテクチャは変えずに以下の項目を変更しながら学習の汎化までの過程を観察した。

  • 学習回数
  • データセットの増減

結果

訓練データを完全に記憶することができる点を超えた汎化の変化点(これをGrokkingと呼んでいる)が存在する現象を発見した。

Grokkingの現象を表すグラフを以下に示す。

スクリーンショット 2023-04-05 10 52 43

左図より、赤(train)が急上昇しているタイミングで緑(val)は変化がないところから過学習していることがわかり、更にステップ数を増やしていくとvalの精度が急激に上昇していることがわかる。

また右図は精度が99%を超えるまでにかかるステップ数を縦軸、データセットの大きさを横軸にした相関を示しているが、データセットが小さいほどステップ数が多くなる傾向であることを示している。

汎化に有効な手法に関する発見

様々な汎化手法を試しており、どの汎化手法がGrokkingに効果的か調べた。
スクリーンショット 2023-04-05 11 14 55

上記の結果から、効果的な技術と考えられるものは以下。

  • weight_decayの導入
  • 最適化プロセスのノイズ付与(ミニバッチ時の勾配ノイズ付与、バッチ処理前後のガウシアンノイズ付与)

残された課題・議論・感想

課題

  • どの程度汎化できるかを予測するための目安(汎化できるかどうかの尺度)の検証調査

感想

  • Attentionを持たないDeep learningモデルでも同様の現象が起こるのは不明。
  • Grokkingに到達するための条件や勘所が不明。(学習回数はどこまでやる?論文内で効果があるもののどれを入れれば良い?etc..)
  • 今回のようなアルゴリズムデータセット以外でも応用が可能なのか?(マルチモーダル化の伏線・・?)

重要な引用

参考情報

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant