BN、LN、IN、GN、SNの違いは何ですか?

ここに画像の説明を挿入

一、BN(バッチ正規化)

バッチ正規化 (BN) は、ディープ ニューラル ネットワークの正則化および最適化手法です。トレーニング サンプルの各バッチの特徴を正規化することで、トレーニング プロセス中のネットワークがより安定し、収束が加速され、勾配消失の問題もある程度克服できます。バッチ正規化の仕組みと手順は次のとおりです。

ここに画像の説明を挿入

  1. バッチ正規化操作:トレーニング サンプルのバッチごとに、畳み込み層または全結合層の出力に対して正規化操作が実行されます。

  2. 平均と分散の計算:特徴チャネルごとに、そのチャネル上のサンプルの現在のバッチの平均と分散を計算します。

  3. 正規化:計算された平均と分散を使用して、現在のバッチの各サンプルに対して正規化操作を実行し、平均が 0、分散が 1 になるように特徴値を調整します。

  4. スケーリングと変換:スケーリング パラメーターと変換パラメーターという 2 つの学習可能なパラメーターを導入します。これらは、ネットワークがある程度の自由度を回復できるように、正規化された特徴をスケーリングおよび変換するために使用されます。

  5. バックプロパゲーション:バッチ正規化では 2 つの学習可能なパラメータが導入されるため、パラメータ更新のためのバックプロパゲーション中にこれら 2 つのパラメータの勾配を計算する必要があります。

バッチ正規化には次のような利点があります。

  • 収束の高速化:バッチ正規化により、トレーニング中の内部共変量シフトが軽減され、モデルの収束が高速化されます。

  • 安定性:バッチ正規化により、各レイヤーの入力を安定した範囲内に維持できるため、勾配の爆発や勾配の消失の問題を回避できます。

  • 正則化:バッチ正規化にはある程度の正則化効果があり、過学習のリスクを軽減します。

  • 学習率に依存しない:バッチ正規化により学習率に対する感度が低下し、より大きな学習率を使用できるようになります。

  • 複数のアーキテクチャに適用可能:バッチ正規化は、畳み込み層と全結合層に適用でき、さまざまなディープ ニューラル ネットワーク アーキテクチャにも適用できます。

バッチ正規化にはニューラル ネットワークのトレーニングにおいて多くの利点がありますが、実際のアプリケーションでは、テスト段階での正規化方法、学習可能なパラメーターを使用するかどうかなど、いくつかの詳細に注意する必要があります。

二、LN(レイヤー正規化)

Layer Normalization (LN) は、Batch Normalization (BN) に似たニューラル ネットワークの正則化手法ですが、計算方法とアプリケーション シナリオが若干異なります。バッチ正規化と同様に、レイヤー正規化はトレーニングの収束を高速化し、勾配の消失の問題を軽減することを目的としています。

レイヤー正規化の主な機能と動作原理は次のとおりです。

  1. 計算方法:レイヤーの正規化では、サンプルごとに、各特徴次元の平均と分散を計算し、各特徴次元を正規化します。バッチ正規化とは異なり、レイヤー正規化はバッチ全体内では正規化されず、サンプル レベルで正規化されます。

  2. 適用可能なシナリオ:適用可能なシナリオでは、レイヤーの正規化はバッチの正規化とは異なります。RNN ではバッチ サイズが制限され、層の正規化がバッチ サイズに依存しないため、リカレント ニューラル ネットワーク (RNN) などのシーケンシャル データ モデリングの場合により適しています。

  3. 変換とスケーリング:バッチ正規化と同様に、レイヤー正規化でも学習可能な変換パラメーターとスケーリング パラメーターが導入されます。これらのパラメーターは、正規化された特徴を調整して特定のモデル表現能力を維持するために使用されます。

  4. 勾配消失の解決:レイヤー正規化の主な目的の 1 つは、勾配消失の問題を軽減することです。RNN などの深部構造では、勾配消失の問題が特に顕著であり、層の正規化によりより安定した勾配流が得られます。

全体として、レイヤー正規化は、シーケンス データを扱う場合など、特定の場合に効果的な正則化方法となる可能性があります。バッチ正規化と同様に、ネットワークのトレーニングと収束のパフォーマンスを向上させるのに役立ち、勾配の消失などの問題に対処するために使用できます。

3、IN(インスタンスの正規化)

インスタンス正規化 (IN) はニューラル ネットワークの正規化手法であり、バッチ正規化 (Batch Normalization、BN) やレイヤー正規化 (Layer Normalization、LN) に似ていますが、計算方法とアプリケーション シナリオが異なります。インスタンスの正規化は、サンプル内の特徴の一貫性を維持するために、主に画像生成やスタイル転送などのタスクで使用されます。

インスタンス正規化の主な機能と動作原理は次のとおりです。

  1. 計算方法:各サンプルについて、各特徴チャネルの平均値が 0、分散が 1 になるように正規化が各特徴チャネルで実行されます。

  2. 適用可能なシナリオ:インスタンスの正規化は、画像生成、スタイル転送など、サンプル内の機能の一貫性を維持する必要があるタスクに主に適しています。これらのタスクでは、各サンプルは独立したインスタンスであり、バッチ内のサンプル間に大きな違いが存在する可能性があります。

  3. 変換とスケーリング:バッチ正規化やレイヤー正規化と同様に、インスタンス正規化でも、正規化された特徴を調整するための学習可能な変換パラメーターとスケーリング パラメーターが導入されます。

  4. 特徴の一貫性を維持する:インスタンスの正規化の主な目的は、サンプル内の特徴の一貫性を維持し、それによって画像生成などのタスクでより良い結果を達成することです。よりリアルで一貫性のある画像を生成するのに役立ちます。

全体として、インスタンスの正規化は、画像生成やスタイル転送などのタスクにおいて便利な正規化方法となります。バッチ正規化やレイヤー正規化と同様に、トレーニングと収束のパフォーマンスを向上させることができますが、適用可能なシナリオと計算方法が異なります。タスクの要件に応じて、適切な正規化方法を選択することで、ニューラル ネットワークのパフォーマンスを向上させることができます。

四、GN(グループ正規化)

グループ正規化 (GN) は、バッチ正規化 (BN)、レイヤー正規化 (LN)、およびインスタンス正規化 (インスタンス正規化)、IN) に似たニューラル ネットワークの正則化手法ですが、計算方法と適用可能なシナリオが異なります。グループ正規化は、小規模バッチの場合のバッチ正規化の問題をある程度克服でき、さまざまなサイズのバッチに適用できます。

主な機能とグループ正規化の仕組みは次のとおりです。

  1. 計算方法:特徴チャネルをいくつかのグループ (グループ) に分割し、各グループで平均と分散の正規化を実行し、スケーリングと変換パラメーターによってデータを調整します。各グループには、特定の数の機能チャネルを含めることができます。

  2. 適用可能なシナリオ:グループ正規化は、バッチ内のサンプル数によって制限されないため、さまざまなサイズのバッチ、特に小規模なバッチの場合に適しています。計算の複雑さを軽減する必要がある場合にも適しています。

  3. 変換とスケーリング:他の正規化方法と同様に、グループ正規化では、正規化された特徴を調整するための学習可能な変換パラメーターとスケーリング パラメーターが導入されます。

  4. 計算効率:グループ正規化では、機能チャネルをグループにグループ化するため、必要な計算量が少なくなり、計算の複雑さが軽減され、コンピューティング リソースが限られている状況に適しています。

  5. 機能の独立性:バッチ正規化とは異なり、グループ正規化では各グループ内で正規化が実行されるため、機能の独立性が維持され、さまざまな機能への影響が少なくなります。

一般に、グループ正規化は、計算効率が高く、さまざまなバッチ サイズに適用できる正則化方法です。これは小さなバッチに適しており、さまざまなタスクである程度の正規化と最適化の効果を提供できます。実際の状況とタスクの要件に応じて、適切な正規化方法を選択することで、ニューラル ネットワークのパフォーマンスを向上させることができます。

五、SN(切り替え可能な正規化)

切り替え可能な正規化 (Switchable Normalization、SN) は、複数の正規化方法を組み合わせた正則化手法であり、状況に応じて異なる正規化方法を切り替えることができます。SN の目的は、モデルのパフォーマンスと汎化能力を向上させるために、さまざまなタスクまたはさまざまな層で最適な正規化方法を選択することです。

主な機能と、切り替え可能な正規化がどのように機能するかは次のとおりです。

  1. 複数の正規化方法: SN は、バッチ正規化 (Batch Normalization、BN)、レイヤー正規化 (Layer Normalization、LN)、インスタンス正規化 (Instance Normalization、IN) などのさまざまな正規化方法を組み合わせて、切り替え可能な戦略を形成します。

  2. 重みパラメータ制御: SN は、異なる正規化方法間の切り替えを制御するために重みパラメータを導入します。この重みパラメータを学習することで、ネットワークはさまざまな層でどの正規化方法を使用するかを適応的に選択できます。

  3. 適用性: SN は、さまざまなタスクまたはさまざまなレイヤーで正規化方法を柔軟に選択する必要がある状況に適しています。タスクやレイヤーが異なれば特性も異なる場合があり、異なる正規化方法を選択することでモデルのパフォーマンスを向上させることができます。

  4. タスク適応: SN は、さまざまなタスクでより良い結果を得るために、タスクの特性に応じて適切な正規化方法を適応的に選択できます。

一般に、切り替え可能な正規化は、さまざまな正規化方法を最大限に活用するように設計された正規化手法であり、タスクの要件に応じて最適な正規化方法を選択できます。モデルの適応性と汎化能力を向上させることができ、さまざまなニューラル ネットワーク タスクに適しています。

6、違い

BN (バッチ正規化)、LN (レイヤー正規化)、IN (インスタンス正規化)、GN (グループ正規化)、SN (切り替え可能正規化) は、ニューラル ネットワークの正則化と加速トレーニングのためのさまざまな正規化方法です。計算方法、適用可能なシナリオ、メリットとデメリットなどが異なります。主な違いは次のとおりです。

  1. BN(バッチ正規化):

    • 計算方法: 各バッチでは、各特徴次元の平均と分散が、各特徴の平均が 0、分散が 1 になるように正規化されます。次に、スケーリングと変換パラメーターを使用してデータを調整します。
    • 適用可能なシナリオ: ディープ ネットワークに適しており、勾配消失の問題を軽減し、収束を加速し、トレーニング時間を短縮します。
    • 長所と短所: トレーニング中に小さなバッチ ノイズが発生し、モデルの汎化パフォーマンスが低下する可能性があります。追加のズームおよび変換パラメータが必要です。
  2. LN(レイヤー正規化):

    • 計算方法: 各サンプルにおいて、各特徴次元の平均と分散は、各特徴の平均が 0、分散が 1 になるように正規化されます。次に、スケーリングと変換パラメーターを使用してデータを調整します。
    • 適用可能なシナリオ: バッチ サイズに関係なく、シーケンス データをモデル化する RNN (サイクリック ニューラル ネットワーク) などのシナリオに適しています。
    • 長所と短所: サンプル次元で正規化し、バッチ内ノイズを導入せず、可変長シーケンスの処理に役立ちます。
  3. IN(インスタンス正規化):

    • 計算方法: 各サンプルでは、​​各特徴次元の平均と分散が正規化され、各サンプルの各特徴の平均が 0、分散が 1 になります。次に、スケーリングと変換パラメーターを使用してデータを調整します。
    • 適用可能なシナリオ: サンプル内の特徴の一貫性を維持する必要がある画像生成やスタイル変換などのタスクに適しています。
    • 長所と短所: サンプル内で正規化するため、サンプルレベルの機能を必要とするタスクに適しています。
  4. GN(グループ正規化):

    • 計算方法: 特徴チャネルをいくつかのグループ (グループ) に分割し、各グループで平均と分散の正規化を実行し、スケーリングと変換パラメーターによってデータを調整します。
    • 適用可能なシナリオ: バッチ サイズが小さい場合や機能チャネルが多い状況に適しており、バッチ サイズの影響を受けません。
    • 長所と短所: チャネル次元での正規化は計算オーバーヘッドが小さく、小規模なバッチに適しています。
  5. SN(切替可能正規化):

    • 計算方法: BN、LN、INを組み合わせ、重みパラメータを学習することでこれらの異なる正規化方法を切り替え、タスクの要件に応じて使用する方法を適応的に選択します。
    • 適用可能なシナリオ: さまざまな特性を持つさまざまなタスクに適しており、さまざまなタスクで最高のパフォーマンスを得ることができます。
    • 長所と短所: さまざまな正規化方法の切り替えを制御するために重みパラメータが追加されるため、モデルの複雑さが増加します。

一般に、これらのさまざまな正規化方法には、さまざまな状況での適用性、利点、欠点があります。タスクの要件、データ分散、モデル構造に応じて、適切な正規化方法を選択することで、ニューラル ネットワークのトレーニングと汎化のパフォーマンスを向上させることができます。

おすすめ

転載: blog.csdn.net/m0_47256162/article/details/132175354