バッチノームとレイヤーノームの違い


  深層学習のトレーニングでは、これら 2 つの正規化操作が頻繁に使用されますが、これらの違いは何でしょうか? 簡単に紹介しましょう:

1.バッチノルム:

  深層学習トレーニング中にデータが前処理されていない場合、勾配が消えたり爆発したりする可能性があります。この問題はどのように解決すればよいでしょうか? そのため、トレーニング前およびトレーニング中に標準処理を使用することが多く、これは CV で最も一般的に使用されますBNまずは動画を見てみましょう:
ここに画像の説明を挿入
  上の動画からわかるように、BN は正規化のために同じチャネルbatchのそれぞれの平均と分散を計算することを目的としているため、正規化された結果が大きいほど良い結果が得られます。   BN には、式のα \alphaを除いて、実際には 4 つのパラメータがあることに注意してください。batchbatch
αβ \betaβに加えて、統計的平均と分散という 2 つの「暗黙の」がありますbatchbatchBN の選択とサンプル全体の平均と分散の間にはギャップがあることがわかっています計算中、統計的平均と分散は、最終的な統計的平均と分散として継続的に更新される必要があります。

2.LayerNorm:

  簡単に説明すると、1 つのチャネル間の平均と分散を計算します特徴layernorm行列のチャネルに応じて平均と分散を計算する場合、パラメーターは 2 つだけで、計算式は同じです。したがって、CVではこの正規化は基本的には使用されず、意味がありません。   さらに、次のような他の正規化方法もあります。使用するときは自分で情報を確認し、以下の写真を投稿できます。上記は   簡単な紹介であり、詳細な分析はありません間違いがありますので修正してください。batchbormbatchlayernormBN
GNIN
ここに画像の説明を挿入
batchnormlayernorm

おすすめ

転載: blog.csdn.net/qq_38683460/article/details/129235637