ドロップアウト層が、汎化、ロバスト性、およびモデルのパフォーマンスを向上させることにより、ニューラルネットワークにおける過学習をどのように防ぐかをご紹介します。
ドロップアウト層は、基本的な正則化技術である。 正則化技術である。 ニューラルネットワーク(NN)で使われる基本的な正則化技術である。 を防ぐために使われる基本的な正則化技術である。モデルがデータセットで学習されるとき モデルがデータセット上で学習されるとき、そのモデルは、基礎となる一般的な学習ではなく、学習データのノイズや特定の詳細を学習してしまう危険性がある。 を学習する危険性がある。 を学習する危険性がある。この暗記は、新しい未知のデータに対するパフォーマンスの低下につながる。ドロップアウトは、ランダムに 学習プロセスの各ステップにおいて、レイヤーのニューロンの一部をランダムに不活性化(「ドロップアウト」)することで、この問題を解決する。 このシンプルで効果的な戦略は、1983年に導入された。このシンプルで効果的な戦略は、Geoffrey で紹介された。 ディープラーニング(DL)の分野を大きく前進させた。 ディープラーニング(DL)の分野を大きく前進させた。
ドロップアウト層の背後にあるメカニズムは単純だが強力だ。モデルの学習段階で モデルの学習段階で、この層は マスクを生成する。ドロップアウト率が0.5 に設定されている、 に設定された場合、前方パスと後方パスの間、約50%のニュー ロンは一時的に無視される。これにより これにより、残りのアクティブなニューロンはステップアップし、独立してロバストな特徴を学習するようになり、ネットワークが単一のニューロンに依存しすぎるのを防ぐことができる。 として知られる現象である。 共適応として知られる現象である。
推論中、つまりテスト段階では ドロップアウト層は通常オフにされる。すべてのニューロンがアクティブになり、学習済みモデルの能力をフルに活用する。そのため 総活性化値が訓練段階と一貫性を保つように、重みはしばしばフレームワークによって自動的にスケーリングされる。 フレームワークによって自動的にスケーリングされる。最近の PyTorchのような最新のライブラリは 実装でシームレスに処理します。
をご利用のお客様へ ultralytics パッケージのようなモデルにドロップアウトを適用すると
YOLO11 は、トレーニングの引数を調整するのと同じくらい簡単だ。
from ultralytics import YOLO
# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on a dataset with a custom dropout rate of 0.2
# This helps prevent overfitting on smaller datasets
results = model.train(data="coco8.yaml", epochs=10, dropout=0.2)
ドロップアウトは、人工知能(AI)の様々な領域で不可欠である。 人工知能 モデルは、多数のパラメータや限られたデータのためにオーバーフィッティングしやすい。
ドロップアウトが他の手法とどのように異なるかを理解することは、効果的なハイパーパラメータチューニングのために極めて重要である。 ハイパーパラメータのチューニングに重要である。


