正則化
L1、L2、ドロップアウト、早期停止などの正則化テクニックを使って、オーバーフィッティングを防ぎ、モデルの汎化を改善します。さらに詳しく
正則化とは、機械学習(ML)において、オーバーフィッティングとして知られる一般的な問題を防ぐために使用される一連のテクニックである。モデルがオーバーフィッティングを起こすと、ノイズやランダムな揺らぎを含めて学習データを学習しすぎてしまい、新しい未知のデータに対して汎化して正確な予測を行う能力に悪影響を及ぼす。正則化は、モデルの複雑さに対するペナルティを損失関数に加えることで機能し、モデルが過度に複雑なパターンを学習することを抑制します。これにより、よりシンプルで汎化可能なモデルを作成することができ、訓練データと検証データの両方でより良いパフォーマンスを発揮します。
一般的な正則化テクニック
モデルの性能とロバスト性を向上させるために、広く使われている正則化技術がいくつかある:
- L1およびL2正則化:これらは最も一般的な正則化の形式である。これらはモデルの重みの大きさに基づいて損失関数にペナルティを加えます。L1正則化(Lasso)は、あまり重要でない特徴の重みをちょうどゼロに縮小する傾向があり、特徴選択を効果的に行います。L2正則化(RidgeまたはWeight Decay)は重みを小さくしますが、ゼロになることはほとんどありません。この数学的な違いについては、Stanford CS229のコースノートなどを参照してください。
- ドロップアウト層:このテクニックはニューラルネットワークに特有である。学習中、各更新ステップでニューロンの活性の一部をランダムにゼロにする。これにより、ニューロンが過剰に共同適応するのを防ぎ、ネットワークがよりロバストな特徴を学習するようになる。このコンセプトは、非常に影響力のある研究論文で紹介された。
- データ拡張:学習データのサイズと多様性を人為的に拡大することで、モデルの小さな変化への耐性を高める。一般的な手法には、画像の回転、切り取り、拡大縮小、色のシフトなどがあります。Ultralyticsには、モデルのロバスト性を向上させるYOLOデータ増強法が組み込まれています。
- 早期停止:これは実用的な方法であり、検証セットにおけるモデルの性能を訓練中に監視する。検証セットの性能が向上しなくなった時点で学習プロセスを停止し、後のエポックでモデルがオーバーフィットするのを防ぎます。早期停止を実装するための実践的なガイドがPyTorchのドキュメントにあります。
正則化と他の概念
正則化をMLにおける他の関連概念と区別することは重要である:
- 正則化と正規化の比較:正規化とは、入力特徴量を標準的な範囲(例えば0から1)にスケールするデータ前処理技術である。正規化により、単一の特徴がそのスケールによって学習プロセスを支配することがなくなります。正則化とは対照的に、オーバーフィッティングを防ぐために学習中のモデルの複雑さを制限する手法である。どちらもモデルのパフォーマンスを向上させますが、正規化はデータに焦点を当て、正則化はモデル自体に焦点を当てます。バッチ正規化はレイヤーごとの正規化手法であり、わずかな正則化効果ももたらします。
- 正則化とハイパーパラメータの調整:正則化テクニックには、L1/L2における正則化の強さ(λ)やドロップアウト率など、独自のハイパーパラメータがあります。ハイパーパラメータのチューニングとは、これらの設定の最適値を見つけるプロセスであり、多くの場合、Ultralytics Tunerクラスのようなツールで自動化されます。要するに、ハイパーパラメータチューニングを使って、正則化を適用する最適な方法を見つけるのです。Ultralytics HUBのようなプラットフォームは、このプロセスに必要な実験を管理するのに役立ちます。