大バッチ学習はなぜ汎化しにくいのか:Sharp Minima 論文から見る最適化と汎化の関係
요약
본 기사는 대규모 배치 학습(Large-Batch Learning)에서 발생하는 '일반화 격차(Generalization Gap)'의 원인을 분석하며, 단순히 낮은 훈련 손실이 좋은 일반화 성능을 보장하지 않음을 지적합니다. Keskar 등의 연구에 따르면, 대규모 배치는 파라미터를 조금만 변경해도 손실이 급격히 증가하는 'Sharp Minima'에 수렴하기 쉽습니다. 반면, 소규모 배치 학습에서 발생하는 노이즈는 탐색성을 제공하여, 주변 변화에도 안정적인 'Flat Minima'에 도달하게 하며 이것이 더 나은 일반화 성능을 가져온다고 설명합니다.
핵심 포인트
- 일반화 성능은 단순히 훈련 손실의 크기만으로 결정되지 않는다.
- 대규모 배치 학습은 계산 효율성은 높지만, 파라미터 변화에 민감한 Sharp Minima에 수렴하여 일반화 성능이 저하될 수 있다.
- 소규모 배치 학습에서 발생하는 노이즈는 탐색성을 제공하여, 안정적이고 넓은 Flat Minima를 찾도록 돕는다.
- 성공적인 모델 학습의 핵심은 낮은 손실 값 자체보다 '근방(neighborhood)에 대한 안정성'을 가진 해를 찾는 것이다.
大バッチ学習はなぜ汎化しにくいのか:Sharp Minima 論文から見る最適化と汎化の関係
深層学習では、訓練データに対する損失を小さくすることが、そのまま未知データへの汎化性能を保証するわけではない。特に興味深いのは、 同じように訓練損失を下げているにもかかわらず、最終的なテスト性能が大きく異なる 場合があることである。
その代表例の一つが、大バッチ学習における汎化ギャップである。バッチサイズを大きくすれば、1 回の更新に使うサンプル数が増えるため、勾配推定の分散は小さくなる。また、GPU や分散計算環境では、大きなバッチを用いることで並列計算効率も高めやすい。したがって、計算効率だけを見れば、大バッチ学習は自然な選択に見える。
しかし実際には、大バッチ学習では訓練損失が十分に下がっているにもかかわらず、小バッチ学習よりテスト性能が悪化することがある。このとき問題になっているのは、「低い訓練損失に到達できるか」ではない。より本質的には、どのような性質をもつ低損失解に到達するか である。
Keskar らの論文 On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima は、この問題を sharp minima と flat minima という損失地形の観点から分析した研究である。論文の中心的な主張は、大バッチ学習はパラメータを少し摂動させただけで損失が急激に増加するような sharp な解に収束しやすく、それが汎化性能の低下と関係している、というものである。一方、小バッチ学習では、ミニバッチ勾配に含まれるノイズが探索性として働き、より flat な解へ到達しやすいと解釈される。
本記事の主張を先にまとめると、深層学習における汎化を考えるうえで重要なのは、単に訓練損失の低い点を探すことではない。重要なのは、 近傍に対して安定な低損失領域を見つけること である。Sharp minima の議論は、この視点を与えてくれる。
1. 問題設定:訓練損失だけでは汎化を説明できない
モデルのパラメータを
を小さくする最適化問題として書ける。
通常の勾配降下法では全データを使って
を計算する。しかし、深層学習では毎回すべてのデータに対して勾配を計算するのは高コストである。そこで、反復
を用いて、
と更新する。ここで、
ミニバッチ勾配は、真の勾配にサンプリング由来のノイズが加わったものとして
と解釈できる。
この関係だけを見ると、大バッチ学習は望ましく見える。勾配推定が安定し、目的関数を効率よく下げられるように思えるからである。しかし、非凸な損失地形では、勾配ノイズが小さいことは必ずしも汎化に有利とは限らない。ノイズが小さいほど探索性が弱まり、初期点近傍の basin にそのまま引き込まれやすくなる可能性がある。
つまり、バッチサイズは単なる計算効率のパラメータではない。バッチサイズを変えることは、勾配推定の精度だけでなく、最適化の軌道、到達する解の種類、ひいては汎化性能を変える操作である。
2. 大バッチ学習の汎化ギャップ
大バッチ学習には明確な利点がある。1 回の更新で多くのサンプルを処理できるため、GPU や分散計算環境で並列化しやすい。小さなバッチでは計算資源を十分に使い切れない場合でも、大きなバッチを用いれば forward / backward 計算をまとめて実行できる。したがって、訓練時間を短縮するという観点では、大バッチ学習は非常に魅力的である。
一方で、大バッチ学習では、訓練データにはよく適合しているにもかかわらず、小バッチ学習よりテスト性能が低くなることがある。ここで重要なのは、大バッチ学習が単に最適化に失敗しているわけではない点である。大バッチでも訓練損失は十分に小さくなり、高い訓練精度を達成する。それにもかかわらず、未知データに対する性能で差が生じる。
この差が generalization gap 、すなわち汎化ギャップである。ここでは特に、同じモデル、同じデータセット、同程度の訓練損失に到達したにもかかわらず、バッチサイズの違いによってテスト性能が変わる現象を指す。
この現象は、単なる過学習としては説明しにくい。典型的な過学習であれば、訓練を進めるにつれて訓練性能は上がる一方、ある時点からテスト性能が悪化する。この場合、early stopping によって悪化前のモデルを選ぶ、という対策が考えられる。しかし、大バッチ学習の汎化ギャップでは、問題は「訓練を進めすぎたこと」だけではない。大バッチと小バッチが同程度の訓練損失に到達していても、最終的なテスト性能に差が出る。
また、悪い停留点に捕まっているという説明だけでも不十分である。もし大バッチ学習が鞍点や質の悪い局所解に捕まり、訓練損失を十分に下げられていないのであれば、それは最適化失敗として理解できる。しかし、論文で問題にされているのは、大バッチでも訓練損失は十分に下がっているにもかかわらず、汎化性能が劣るという状況である。したがって、単に「悪い点に止まったから性能が悪い」という説明では、本質を捉えきれない。
Keskar らの論文が重視するのは、到達した解の 損失値 ではなく、その解の 近傍における安定性 である。大バッチ学習では、ミニバッチ勾配の分散が小さくなるため、更新軌道は安定しやすい。しかし、その安定性は、初期点近傍の basin にそのまま引き込まれやすいことと表裏一体である。もしその basin が sharp な構造を持っていれば、大バッチ学習は、低い訓練損失を持つものの近傍摂動に脆い解へ収束しやすい。
한편, 작은 배치 학습 (small batch learning)에서는 미니배치 기울기 (mini-batch gradient) 에 포함된 노이즈가 탐색성으로 작용한다. 이 노이즈로 인해 좁고 날카로운 최소점 (sharp minima) 으로 들어가는 경우에도そこから 탈출할 가능성이 있다. 그 결과, 더 넓고 평평한 최소점, 즉 flat minima 에 도달하기 쉽다고 해석된다.
이 관점을 한 문장으로 요약하면 다음과 같다.
3. Sharp Minima 와 Flat Minima
대 배치 학습 (large batch learning) 의 일반화 격차를 이해하는 데 핵심적인 것은 sharp minima 와 flat minima이다. 둘 다 훈련 손실이 낮은 국소 최적해일 수 있다. 그러나 그 주변에서의 손실 함수의 행동은 다르다.
직관적으로 flat minimum 은 넓은 평평한 골짜기 바닥에 있는 해이다. 파라미터를 조금 움직여도 손실은 크게 증가하지 않는다. 반면 sharp minimum 은 좁고 급격하게 기울어지는 골짜기 바닥에 있는 해이다. 해 자체에서는 훈련 손실이 작아도, 파라미터를 아주 약간 섭동 (perturb) 시키면 손실이 급격히 증가한다.
그림 1: 평평한 최소점과 날카로운 최소점의 개념도. 세로축은 손실 함수의 값, 가로축은 파라미터 방향을 나타낸다.
이 차이는 국소적으로 헤세 행렬 (Hessian matrix) 의 곡률로 이해할 수 있다. 국소 최적해
이다. 국소 최적해 주변에서는
으로 근사된다.
이 식에서, 헤세 행렬
그러나 sharpness 는 "모든 방향으로 급격하다"는 것을 의미하지는 않는다. 딥러닝 신경망의 파라미터 공간은 매우 고차원적이어서, 어떤 방향에는 sharp 이지만 다른 많은 방향에는 flat 일 수 있는 상황이 자연스럽게 발생한다. 따라서 sharp / flat 의 차이는 단순한 1 차원 골짜기 다이어그램이 아니라, 섭동 방향별 손실 민감도로 이해해야 한다.
| 종류 | 주변에서의 손실 변화 | 섭동에 대한 민감도 | 일반화 성능 기대 |
|---|---|---|---|
| Sharp minimum | 급격히 증가하기 쉬움 | 높음 | 나빠지기 쉬움 |
| Flat minimum | 완만하게 변화함 | 낮음 | 좋아지기 쉬움 |
Sharp minimum 이 일반화가 어렵다고 생각하는 이유는, 훈련 데이터에 대해 과도하게 정밀하게 적합된 해일 가능성이 높기 때문이다. 훈련 데이터는 진정한 데이터 분포에서 얻어진 유한 샘플에 불과하다. 그 유한 샘플에만 성립하는 세밀한 파라미터 조정으로 손실을 낮추는 경우, 알려지지 않은 데이터에 대해 성능이 무너질 수 있다.
반면 flat minimum 은 파라미터를 조금 움직여도 낮은 손실을 유지한다. 이는 훈련 데이터 고유한 미세한 변동에 과도하게 의존하지 않았음을 시사한다. 따라서 flat 한 해는 알려지지 않은 데이터에도 안정적인 성능을 보일 것으로 기대된다.
4. 논문 검증: 해 그 자체보다 주변을 보는 것
Sharp minimum 과 flat minimum 의 차이는 최종 훈련 손실 값만으로는 쉽게 파악하기 어렵다. 따라서 논문에서는 얻어진 해의 주변 구조를 조사하기 위해 주로 두 가지 분석을 수행한다.
첫째는 작은 배치 해와 대 배치 해를 연결하는 직선 위에서 손실을 평가하는 파라메트릭 플롯 (parametric plot) 이다. 둘째는 어떤 해의 주변에서 손실이 얼마나 증가할 수 있는지를 측정하는 sharpness 지표이다.
4.1 파라메트릭 플롯
작은 배치 학습으로 얻어진 해를
이 두 해를 연결하는 직선 위의 점을, 보간 계수
로 정의한다. 이때,
이 되어 작은 배치 해를 나타낸다. 반면,
이 되어 대 배치 해를 나타낸다.
따라서,
이며 이는 대 배치 해를 더 작은 배치 해로부터 멀리 떨어진 인위적인 파라미터이다.
이 직선 위에서 손실
을 평가함으로써, 작은 배치 해에서 대 배치 해로 이동할 때 손실이나 정확도가 어떻게 변화하는지 관찰할 수 있다.
여기서 주의해야 할 점은 그림의 각 점이 학습 순서에 따라 얻어진 모델을 나타내는 것은 아니라는 것이다.
그림 2: 가로축이
그림 2 의 F, C 에 대한 보충
이 실험에서는 6 개의 다 클래스 분류 네트워크 구성을 고려한다.
네트워크 구성은 다음과 같다.
그림 2 에서 Cross Entropy 가 매우 커지거나 Accuracy 가 0 근처까지 감소하는 영역이 보인다. 이는 선형 보간/외삽된 파라미터가 학습으로 얻어진 자연스러운 해가 아니기 때문이다. 분류 문제에서의 Cross Entropy 는 정답 클래스에 할당된 확률을
이 플롯에서 중요한 것은 손실이나 정확도의 절대값 그 자체보다는
이는 대 배치 해가 점적으로는 낮은 훈련 손실을 달성하고 있으나 그 주변에서는 불안정함을 시사한다. 다시 말하면, 대 배치 해는 좁고 날카로운 골짜기 바닥에 있고, 작은 배치 해는 더 넓고 평평한 골짜기 바닥에 있는 것처럼 보인다.
그러나 이 시각화는 고차원 손실 지형의 단면일 뿐이다.
4.2 Sharpness 지표
Sharpness 를 더 정량적으로 평가하기 위해 논문에서는 어떤 해
로 표기한다.
논문에서는 섭동량
여기서, 주변에서의 최악 손실을 보는 지표이다.
이 정의의 의미는 간단하다.
| 항목 | 의미 |
|---|---|
| 현재 점에서의 훈련 손실 | |
| ... |
국소 2 차 근사 하에서는 이 최대화 방향은 헤세 행렬의 큰 고유값 방향과 관련된다. 즉, sharpness 지표는 엄밀한 Hessian spectrum 을 직접 계산하는 대신 주변에서의 손실 민감도를 경험적으로 측정하기 위한 지표로 볼 수 있다.
原論文中では、この指標を用いて小バッチ解と大バッチ解を比較している(原論文 Table 3, 4)。その結果、全空間で評価した場合でも、ランダムな低次元部分空間で評価した場合でも、大バッチ解の sharpness は小バッチ解より大きい傾向が確認された。これは、大バッチ解が小バッチ解より近傍摂動に対して敏感であることを示している。
重要なのは、
は大きく異なりうる点である。したがって、最終的な訓練損失だけでは、解の安定性や汎化特性を十分に評価できない。
5. なぜ小バッチは Flat Minima に行きやすいのか
ここまでの議論をまとめると、大バッチ学習と小バッチ学習の違いは次のように整理できる。
| 観点 | 小バッチ学習 | 大バッチ学習 |
|---|---|---|
| 勾配ノイズ | 大きい | 小さい |
| ... | ||
| 通常、勾配ノイズは最適化を妨げるものとして扱われる。ノイズがあると更新方向が真の勾配からずれ、損失の減少が不安定になるからである。しかし、非凸な損失地形では、このノイズが探索性として機能しうる。 |
大バッチ学習では、勾配ノイズが小さいため、更新軌道は比較的決定論的になる。そのため、初期点から見て近い basin にそのまま引き込まれやすい。もしその basin が sharp minimum に対応していれば、大バッチ学習は鋭い解へ収束しやすい。
一方、小バッチ学習では、各ステップで更新方向が揺らぐ。この揺らぎにより、狭く鋭い basin に入ったとしても、ノイズによって外へ押し出される可能性がある。逆に、広く平坦な basin に入った場合は、多少ノイズがあってもその領域内に留まりやすい。
直感的には、sharp minimum は「狭い谷」であり、flat minimum は「広い谷」である。小バッチ勾配のノイズは、狭い谷からは脱出しやすいが、広い谷からは脱出しにくい。そのため、学習を進めるうちに、最終的には広く平坦な谷に残りやすくなる。
この解釈を補強するのが、論文で示された warm-start 実験である(原論文 Figure 5)。最初から大バッチで学習すると sharp な basin に捕まりやすい。一方、学習初期を小バッチで進め、その後に大バッチへ切り替えると、汎化性能が改善される。これは、小バッチが有効なのは「更新 1 回あたりの効率」ではなく、学習初期の探索性にあることを示唆している。
したがって、大バッチが常に悪いわけではない。問題は、大バッチによって学習初期の探索性が不足し、汎化にとって望ましくない basin に入りやすくなることである。小バッチ学習の勾配ノイズは、この探索性を補う暗黙の正則化として働く。
6. 緩和策と現代的な接続
大バッチ学習の汎化ギャップを緩和するには、単にバッチサイズを小さくするだけではなく、解の安定性を高める方向の工夫が必要になる。論文では、データ拡張、保守的訓練、ロバスト訓練などが検討されている。
| 方法 | 主な作用 | sharpness との関係 |
|---|---|---|
| データ拡張 | 入力空間の揺らぎに対するロバスト性を高める | 入力摂動に対する過適合を抑える |
| ... | ||
| ここで特に現代的な接続として重要なのが、Sharpness-Aware Minimization; SAM である。SAM は、現在のパラメータ点 |
ここで、
また、データ拡張と sharpness-aware な学習は、どちらも汎化性能の向上を狙うという意味では目的が近い。しかし、同じ対象を制御しているわけではない。データ拡張は主に入力空間側の摂動に対するロバスト性を高める。一方、sharp minima の議論は、主にパラメータ空間側の摂動に対する感度を問題にしている。入力を少し変えても予測が安定することと、パラメータを少し変えても損失が安定することは、関連しているが概念としては区別する必要がある。
7. Sharpness 議論の限界
Sharp minima と flat minima の議論は、訓練損失だけでは汎化を説明できないことを示す強力な視点である。しかし、sharpness を絶対的な汎化指標として扱うのは危険である。
第一に、sharpness は近傍の取り方に依存する。どの大きさの摂動を見るか、どの部分空間で評価するかによって、sharpness の値は変わる。論文の sharpness 指標も、
第二に、深層ネットワークには再パラメータ化の自由度がある。たとえば ReLU ネットワークでは、ある層の重みを定数倍し、次の層の重みを逆方向にスケールさせても、関数としては同じ写像を表せる場合がある。このとき、モデルの入出力関係は変わらなくても、パラメータ空間上の sharpness は変化しうる。
したがって、重要なのは「sharpness が大きいから必ず汎化しない」と機械的に判断しないことである。より慎重には、同じモデル、同じデータ、同じ訓練設定のもとで小バッチ解と大バッチ解を比較したとき、大バッチ解のほうが近傍損失に敏感であり、その傾向が汎化ギャップと対応していた、と読むべきである。
また、現代の大規模学習では、単純に「大バッチは悪い」とは言えない。学習率スケーリング、ウォームアップ、正則化、データ拡張、正規化層、EMA、SAM などを適切に組み合わせることで、大バッチでも良い汎化性能を得られる場合がある。したがって、この論文の主張は「大バッチ禁止」ではなく、大バッチ化によって失われる探索性と暗黙の正則化をどう補うか という問題として読むのが適切である。
8. まとめ
대 배치 학습 (Large-batch learning) 은 계산 효율성 측면에서 매력적입니다. 기울기 추정의 분산이 줄어들어 GPU 와 분산 계산 환경을 더 효율적으로 사용할 수 있습니다. 그러나 일반화 성능까지 고려하면, 기울기가 항상 정확할수록 좋은 것은 아닙니다.
본 글에서는 Keskar 등의 On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima 를 바탕으로, 대 배치 학습의 일반화ギャ프를 sharp minima 와 flat minima 의 관점에서 정리했습니다. 핵심적인 견해는 다음과 같습니다.
이 논의에서 얻은 실용적인 시사점은 단순히 훈련 손실을 낮추는 것만으로는 부족하다는 것입니다. 중요한 것은 훈련 손실이 낮고, 또한 주변 섭동에 대해 안정적인 해를 찾는 것입니다.
이 의미에서 sharp minima 의 논의는 현대의 flatness-aware 학습 방법, 특히 SAM 과 같은 방법과 자연스럽게 연결됩니다. SAM 은 현재 점뿐만 아니라 그 주변에서도 손실이 크게 증가하지 않도록 최적화합니다. 이는 '곡면의 한 점'을 찾는 것이 아니라 '넓고 안정적인 저손실 영역'을 찾는 사고입니다.
그러나 sharpness 는 재파라미터화 및 주변 정의에 의존하므로, 절대적인 일반화 지표로 다루어지지 않아야 합니다. 중요한 것은 sharpness 를 만능 설명 변수로 보지 않고, 최적화 알고리즘이 어떤 해를 선택하는지에 대한 관점을 갖는 것입니다.
심층 학습의 일반성을 고려할 때, 최적화는 단순히 손실을 낮추는 작업이 아닙니다. 어떤 경로를 통해, 어떤 basin 으로 들어가고, 어느 정도의 안정성으로 저손실 영역에 도달하는지가 중요합니다. 대 배치 학습의 일반화ギャ프는 이를 보여주는 전형적인 현상입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기