用語集

ドロップアウト層

汎化性、ロバスト性、モデル性能を向上させることで、ニューラルネットワークのオーバーフィッティングを防ぐドロップアウト層の仕組みをご紹介します。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

ドロップアウト層は、ニューラルネットワーク(NN)の学習において、オーバーフィッティングの問題に対処するために用いられる基本的な手法である。Hintonらによって2014年に発表された影響力のある論文で紹介されたドロップアウトは、ディープラーニング(DL)において広く採用される正則化手法となり、特に多くのパラメータを持つ大規模ネットワークで効果を発揮する。その主な目的は、モデルの汎化能力を向上させ、学習データだけでなく、未知のデータに対しても優れた性能を発揮できるようにすることである。

ドロップアウトの仕組み

モデルの学習プロセス中、ドロップアウト層は、各トレーニング・サンプルに対して、その層のニューロン(ユニット)の一部をランダムに「ドロップアウト」または非アクティブにする。これは、これらの選択されたニューロンの出力がゼロに設定され、特定のサンプルのフォワード・パスに寄与せず、バックプロパゲーション・ステップに参加しないことを意味する。ドロップアウトされるニューロンの割合は、通常0.2~0.5の間で設定されるハイパーパラメータであるドロップアウト率によって決定される。

重要なのは、ドロップアウトはトレーニング中にのみアクティブになることである。テストデータに対する推論や予測では、すべてのニューロンがアクティブになる。学習時よりも推論時の方がより多くのニューロンがアクティブになるという事実を補うために、レイヤーの出力は通常、ドロップアウト率によってスケールダウンされる(逆ドロップアウトと呼ばれる手法で、一般的に以下のようなフレームワークで実装されている)。 PyTorchTensorFlow).

ドロップアウトを利用するメリット

ドロップアウトレイヤーを使用する主な利点は、モデルの汎化の改善とオーバーフィッティングの低減である。これはいくつかのメカニズムによって達成される:

  • 共同適応の減少:ニューロンをランダムに脱落させることで、学習中のエラーを修正するために、レイヤー内のユニットが互いに過度に依存(共適応)するのを防ぐ。これにより、各ニューロンはよりロバストで独立した特徴を学習するようになる。
  • 暗黙のアンサンブル:学習中にドロップアウトを適用することは、共有重みを持つ多数の異なる「間引かれた」ニューラルネット ワークを学習することに似ている。推論時に、スケーリングされたアクティブ度を持つ完全なネットワークを使用することで、この大規模なアンサンブルの予測値を平均化することに近似し、一般的にパフォーマンスとロバスト性が向上します。
  • 計算効率:概念的には複数のモデルをトレーニングすることに似ているが、ドロップアウトは1回のモデルトレーニングサイクルでアンサンブル効果を達成するため、明示的なモデルアンサンブルよりも計算コストがはるかに低くなる。

実世界での応用

ドロップアウトは、人工知能(AI)や機械学習(ML)のさまざまな領域で広く使われている:

  1. コンピュータビジョン コンピュータビジョン(CV)では、ドロップアウトは次のようなモデルに役立ちます。 Ultralytics YOLOのようなモデルが、物体検出画像分類インスタンスのセグメンテーションなどのタスクでより優れた性能を発揮するのに役立ちます。例えば、自律走行システムにおいて、ドロップアウトは照明、天候、オクルージョンの変化に対して検出モデルをよりロバストにし、安全性と信頼性を向上させます。このようなモデルのトレーニングは、Ultralytics HUBのようなプラットフォームを使用して効果的に管理することができます。
  2. 自然言語処理(NLP):ドロップアウトは、Transformersや BERTのようなNLPモデルで一般的に適用されている。機械翻訳や 感情分析のようなアプリケーションでは、ドロップアウトにより、モデルが学習データから特定のフレーズや文構造を記憶するのを防ぎ、より優れた理解と新規テキストの生成につながります。これにより、チャットボットやテキスト要約ツールのパフォーマンスが向上する。

関連概念と区別

ドロップアウトは、ディープラーニングで正則化に使われるいくつかのテクニックのひとつである。他には以下のようなものがある:

  • L1およびL2正則化:これらの方法は、モデルの重みの大きさに基づいて損失関数にペナルティを追加し、より小さな重みを推奨します。L1/L2正則化についてもっと読む。
  • バッチ正規化: バッチ正規化(BN)はレイヤー内の活性を正規化することで、学習を安定させ、時にはマイルドな正則化効果をもたらし、強力なドロップアウトの必要性を減らす可能性がある。BNが内部の共変量シフトに対処するのに対して、ドロップアウトは冗長性を強制することでモデルの複雑性を直接ターゲットにする。
  • データの増強:画像を回転させたり、拡大縮小したり、切り取ったりする技術(データ増強)は、学習データセットの多様性を人工的に増加させ、オーバーフィッティングを防ぎ、汎化を向上させるのに役立つ。ドロップアウトとデータ補強はしばしば併用される。

要約すると、ドロップアウト層は、コンピュータビジョンからNLPに至るまで、様々なアプリケーションでロバストなディープラーニングモデルをトレーニングするために不可欠な、シンプルかつ強力な正則化テクニックである。

すべて読む