過学習
読み: かがくしゅう
モデルが訓練データに過度に適合し、未知のデータに対する予測精度 (汎化性能) が低下する現象。深層学習における主要な課題の一つ。
過学習 (Overfitting) は、モデルが訓練データのノイズや個別パターンまで記憶してしまい、新しいデータに対する予測性能が劣化する現象である。訓練精度が 99% を超えるのに検証精度が 70% 程度にとどまるような状況が典型例であり、モデルの複雑さに対してデータ量が不足している場合に発生しやすい。
画像認識では、数百万パラメータを持つ CNN を数千枚程度の小規模データセットで学習すると過学習が顕著になる。ResNet-50 は約 2,500 万パラメータを持つため、ImageNet (128 万枚) のような大規模データセットでなければ十分な汎化性能を得にくい。
- データ拡張: 回転、反転、色変換、ランダムクロップなどで訓練データを水増しし、実質的なデータ量を増やす。最も効果的な過学習対策の一つであり、追加のデータ収集コストなしで汎化性能を向上させる
- ドロップアウト: 学習時にランダムにニューロンを無効化 (通常 50%) し、特定のニューロンへの過度な依存を防ぐ。推論時は全ニューロンを使用し、出力をドロップ率で補正する
- 早期終了: 検証損失が改善しなくなった時点で学習を停止する。過学習が進行する前にモデルを保存することで、最良の汎化性能を確保する
- 正則化: L2 正則化 (Weight Decay) で重みの大きさにペナルティを課し、モデルの複雑さを制約する
転移学習は過学習対策としても有効である。大規模データで事前学習したモデルの特徴抽出能力を活用し、少量のタスク固有データでファインチューニングすることで、小規模データセットでも高い汎化性能を実現できる。