Yolo 深圳
深セン
今すぐ参加
用語集

バッチ正規化

バッチ正規化で深層学習のパフォーマンスを向上させましょう!この手法がAIモデルの学習速度、安定性、精度をどのように高めるかを学びます。

バッチ正規化(BatchNormと略されることが多い)は、深層学習(DL)における基礎的な技術である。 ディープラーニング(DL)の基礎技術である。 ディープ・ニューラル・ネットワーク ディープ・ニューラル・ネットワークの学習の安定性と速度を向上させるために考案された。セルゲイ・アイオフェ(Sergey Ioffe)による2015年の研究論文 Sergey IoffeとChristian Szegedyによる2015年の研究論文で紹介されたこの手法は、「内部共分散」という課題に対処する。 この手法は、「内部共変量シフト」という課題に対処する。 ネットワーク層への入力の分布が、先行する層のパラメータが更新されるにつれて連続的に変化する現象である。各層の入力を正規化することで バッチノルムは、ミニバッチ全体で各層の入力を正規化することで、モデルがより高い学習率を利用できるようにし 学習率を向上させ 初期パラメータ重みに対する感度を大幅に低減する。

バッチ・ノーマライゼーションの機能

典型的な 典型的な畳み込みニューラルネットワーク(CNN)では、バッチ正規化層は、畳み込み層または完全接続層の直後で、非線形活性化関数(ReLUやCNNのような)の前に挿入される 非線形活性化関数(ReLUや SiLUなど)の前に挿入される。このプロセスには、次の2つの主要なステップが含まれる モデル学習フェーズで実行される2つの主要なステップがある:

  1. 正規化:この層は、現在のバッチサイズ内のアクティブ度の平均と分散を計算する。 計算する。次にバッチの平均を引き、バッチの標準偏差で割る。 をバッチの標準偏差で割ることで、効果的に入力をゼロ平均と単位分散に標準化する。
  2. スケーリングとシフト:正規化によってネットワークの表現力が制限されるのを防ぐためである、 このレイヤーは2つの学習可能なパラメーターを導入する:スケール・ファクター(ガンマ)とシフト・ファクター(ベータ)である。これらにより ネットワークが最適であれば同一変換を復元し、モデルの重みが複雑な特徴を表現できるようにする。 モデルの重みは依然として複雑な特徴を表すことができる。

推論中、バッチ統計量を利用することは非現実的である。 なぜなら,予測はしばしば1つの項目に対して行われるからである.その代わりに、モデルは訓練中に蓄積された平均と分散の移動平均 の移動平均を使用します。

ディープラーニングの主な利点

バッチ・ノーマライゼーションをアーキテクチャ設計に組み込むことで、以下のような明確な利点が得られる。 現代のAIの標準となっている:

  • 収束の促進:バッチノルムは、レイヤーの入力分布を安定させることで、最適化されたレイヤーの 最適化の景観を滑らかにします。これにより 勾配降下アルゴリズムがより早く収束し 早くなり、総トレーニング時間が短縮されます。
  • 消失勾配の緩和:非常に深いネットワークでは、勾配が著しく小さくなることがある。 学習が停止してしまう。バッチノルムは、非飽和領域での活性化を維持することで、次のような問題に効果的に対処します。 シグモイド やtanhベースのアーキテクチャでよく見られる勾配の消失問題に効果的に対処することができます。
  • 正則化の効果:ミニバッチの統計量を推定することによって導入されるノイズは、マイルドな正則化として機能する。 正則化として作用する.これにより オーバーフィッティングを減少させ、場合によっては、ドロップアウト層のような他の技法への依存を減少させることができる。 ドロップアウト層のような他のテクニックへの依存を減らすことができる。

実際のアプリケーション

バッチ正規化は、コンピュータビジョン(CV)だけでなく、それ以外の分野でもユビキタスです。 コンピュータ・ビジョン(CV)やそれ以外の分野でも、バッチ正規化によって 最先端のモデルの性能を実現します。

  • 高度な物体検出:以下のような最新アーキテクチャ Ultralytics YOLO11のような最新のアーキテクチャは、バッチノルム層に大きく依存している。これらのモデルでは これらのモデルでは、正規化によって、さまざまなスケールで検出された特徴(エッジやテクスチャなど)が、画像のコントラストや照明の変化にもかかわらず、一貫性を保つことができます。 画像のコントラストや照明の変化にもかかわらず一貫性を保つことを保証する。 様々な環境において高い精度を実現します。
  • 医療画像解析:医療分野における ヘルスケアにおけるAIなどの分野では、CTやMRIスキャンを分析するモデルは スキャンを分析するモデルは、強度の範囲が異なる様々な機械からのデータを扱わなければならない。BatchNormはニューラルネットワークを支援します。 を支援し、以下のような重要なタスクをサポートします。 腫瘍検出 絶対的なピクセル強度ではなく、構造的な特徴に注目することで、腫瘍検出のような重要なタスクをサポートします。

関連概念との区別

バッチ正規化を類似の前処理やアーキテクチャ技術と区別することは重要である:

  • 対データ正規化データの正規化とは データの正規化とは、生の入力データセットに適用されるデータ前処理ステップのことである。 例えば、ピクセル値を[0, 1]にスケーリングする)。バッチノルムは逆に はネットワーク全体のレイヤー間で内部的に動作する。
  • 対レイヤー正規化:バッチ正規化(BatchNorm)がバッチ次元全体にわたって正規化するのに対して、レイヤー正規化(Layer Normalization)は、単一サンプルについて特徴次元全体にわたって統計量を計算する、 レイヤ正規化は、1つのサンプルについて特徴次元全体の統計量を計算します。レイヤ 正規化は リカレント・ニューラル・ネットワーク(RNN)や 変換器 自然言語処理(NLP) バッチ依存性が問題になることがある。

実施例

のような人気のあるフレームワーク。 PyTorch そして TensorFlow 組み込みの実装を提供する(例. torch.nn.BatchNorm2d など)は、 tf.keras.layers.BatchNormalization).次の例は は、YOLO11 モデルを検査し、そのアーキテクチャに統合されたBatchNormレイヤーを観察する方法を示している。

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Display the model summary
# Look for 'BatchNorm2d' in the output to see where normalization is applied
model.info()

# Example output line from info():
# 0  -1  1  464  ultralytics.nn.modules.conv.Conv  [3, 16, 3, 2]
# The Conv module in Ultralytics typically includes Conv2d + BatchNorm2d + SiLU

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加