機械学習: バッチ正規化を使用する場合の欠点は何ですか?

機械学習: バッチ正規化を使用する場合の欠点は何ですか?

バッチ正規化は、ディープラーニング分野における大きな進歩の 1 つであり、近年研究者によって議論されているホットなトピックの 1 つでもあります。バッチ正規化は、トレーニングをより高速かつ安定的にする広く採用されている手法であり、ディープラーニングの分野で最も影響力のある方法の 1 つとなっています。ただし、まだ注意すべき問題がいくつかあります。

[[326393]]

バッチ正規化を使用する理由は何ですか?

バッチ正規化とは

ディープラーニング モデルをトレーニングする場合、各中間活性化層の出力分布は、以前の重みを更新するたびに反復ごとに変化します。この現象は内部共変シフト (ICS) と呼ばれます。これを防ぐには、すべてのディストリビューションを修正する必要があります。簡単に言えば、分布シフトの問題が発生した場合は、シフトを解除して勾配の最適化を支援し、勾配消失を防ぐ必要があります。これにより、ニューラル ネットワークのトレーニングが高速化されます。したがって、この ICS を削減することが、バッチ正規化の開発を推進する重要な原則です。

仕組み

バッチ正規化は、バッチ全体の経験的平均を減算し、経験的標準偏差で割ることで、前の出力層の出力を正規化します。これにより、データがガウス分布のように見えるようになります。

ここで、mu と sigma_square はそれぞれバッチ平均とバッチ分散です。

2 つの学習可能なパラメーター γ と β に基づいて、新しい平均と共分散を学習します。

VGG-16ネットワークの中間畳み込み層の特徴分布出力

利点

バッチ正規化を使用する利点をいくつか挙げますが、記事が長くなってしまうため詳細は省略します。

  • より速く収束します。
  • 初期重みの重要性を軽減します。
  • ハイパーパラメータに対する堅牢性。
  • 一般化するために必要なデータは少なくなります。

バッチ正規化の問題

この記事の目的に戻ると、バッチ正規化によってパフォーマンスが低下したり、まったく機能しなくなったりするケースが多くあります。

小さなバッチサイズを使用すると不安定になる

前述のように、バッチ正規化レイヤーは、バッチ全体にわたって以前の出力を正規化するために、平均と分散を計算する必要があります。

ResNet-50 のバッチ正規化検証エラー

上記はResNet-50の検証エラーグラフです。バッチ サイズが 32 のままであれば、最終的な検証エラーは約 23 になり、バッチ サイズが小さくなるにつれてエラーは減少し続けます (バッチ サイズは平均値そのものなので 1 にはなりません)。損失は​​大きく異なります(約10%)。

バッチ サイズが小さいことが問題なら、なぜより大きなバッチ サイズを使用しないのでしょうか? 実際には、すべてのケースでより大きなバッチ サイズを使用できるわけではありません。微調整を行う場合、大きな勾配によってモデルに悪影響が及ぶのを避けるため、大きなバッチ サイズを使用することはできません。分散トレーニングでは、大きなバッチ サイズが最終的に小さなバッチ サイズのセットとしてインスタンス全体に分散されます。

これによりトレーニング時間が長くなります

NVIDIA とカーネギーメロン大学が実施した実験の結果によると、「バッチ正規化は計算コストが高くないにもかかわらず、収束に必要な反復の合計回数は減少します。反復あたりの時間は大幅に増加する可能性があります」と示されており、バッチサイズが大きくなるにつれてトレーニング時間がさらに長くなる可能性があります。

Titan X Pascal を使用した ImageNet 上の ResNet-50 トレーニング時間の分布

ご覧のとおり、バッチ正規化はトレーニング時間全体の 1/4 を消費します。その理由は、バッチ正規化では入力データに対して 2 回の反復処理が必要になるためです。1 回はバッチ統計を計算し、もう 1 回は出力を正規化します。

テスト/推論フェーズでは不安定

たとえば、実際のアプリケーション「物体検出」を考えてみましょう。オブジェクト検出器をトレーニングする場合、通常は大きなバッチ サイズを使用します (デフォルトでは、YOLOv4 と Faster-RCNN はどちらもバッチ サイズ = 64 でトレーニングされます)。しかし、これらのディープラーニング モデルを本番環境に導入した後は、トレーニングしたときほど効果的ではありません。これは、大きなバッチ サイズでトレーニングされ、リアルタイムではすべてのフレームを処理する必要があるため、バッチ サイズが 1 になるからです。前述したように、バッチ サイズ 1 を使用すると、本質的に平均正規化されるため、正規化レイヤーはいわゆる「内部共変量シフト」を効果的に処理できなくなります。

オンライン学習には不向き

バッチ学習とは対照的に、オンライン学習は、データインスタンスを順番に(個別に、またはミニバッチと呼ばれる小さなグループで)入力することでシステムを段階的にトレーニングする学習手法です。各学習ステップは高速かつ低コストであるため、システムは新しいデータが到着すると動的に学習できます。

典型的なオンライン学習パイプライン

外部データ ソースに依存しているため、データは個別に、またはバッチで到着する可能性があります。各反復でバッチ サイズが変化するため、入力データのスケールとシフトにうまく一般化できず、最終的にはパフォーマンスに影響します。

リカレントニューラルネットワークには適さない

畳み込みニューラル ネットワークでは、バッチ正規化によってトレーニング速度と一般化が大幅に向上しますが、再帰型アーキテクチャに適用することは困難であることが判明しています。バッチ正規化は、RNN のスタック間に適用できます。この場合、正規化は「垂直方向」(つまり、各 RNN の出力) に適用されますが、「水平方向」(つまり、時間ステップ間) には適用できません。これは、繰り返し再スケーリングすると勾配が爆発する可能性があるためです。

代替案

バッチ正規化が不可能な場合は、いくつかの代替手段を使用できます。

  • レイヤーの正規化。
  • インスタンスの正規化。
  • グループの正規化(+重みの正規化)。
  • 同期バッチ正規化。

やっと

バッチ正規化はディープラーニングの発展における画期的な技術ですが、まだいくつかの問題が残っており、正規化技術にはまだ改善の余地があることがわかります。

<<:  AIは教育の問題を解決できないが、メンターツールにはなり得る

>>:  この 13 年間の深い測定学習は無駄になったのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

金融技術分野における人工知能と機械学習の応用と開発

[[383269]] [51CTO.com クイック翻訳] 過去数年間、金融業界では、業界の絶え間な...

GPTで絵本を作るのはすごく早いですね!

今日は、世界的に人気のAIツール「ChatGPT+Midjourney」を使った絵本の制作過程をご紹...

インタビュアー: よく使用する暗号化アルゴリズムについて教えてください。

[[335623]]暗号化アルゴリズムは、一般的に、可逆暗号化と不可逆暗号化に分けられます。可逆暗...

...

将来の顔認識技術の最大の問題は、それがほぼ間違いのないものであることだ

近年、顔認識技術は、女性や有色人種の誤検出率の高さや、個人の自由やプライバシーへの悪影響など、常に世...

AutoML、AutoKeras... これら 4 つの「自動」自動機械学習手法の違いがわかりますか?

まずは短いおとぎ話から始めましょう...昔々、今では誰も使っていないプログラミング言語を使い、今では...

人工知能の「指紋採取」が検出困難な癌と闘う

検出が難しい膠芽腫などの癌の生存率は1桁ですが、早期治療には検出、治療、監視のための高度な技術が必要...

ライブチャットとチャットボット: どちらの顧客サービス方法が優れているのでしょうか?

[[267030]] [51CTO.com クイック翻訳] ビジネスの世界は大きな変化を遂げてきま...

人工知能はすべての未来でしょうか?

画期的なテクノロジーの年である 2023 年が終わりを迎えるにあたり、AI、特に生成 AI は変革の...

バックエンド開発にとってどれほど恥ずかしいことでしょうか?フロントエンドプログラマーの給与が明らかに

最近、バックエンドで数年間働いてきたプログラマーが、かなり混乱を招く質問をオンラインで提起しました。...

MetaはTransformerアーキテクチャにアクションを起こします。新しい注目メカニズムは推論をよりよく理解します。

大規模言語モデル (LLM) が強力であることは議論の余地のない事実ですが、それでも単純な間違いを犯...

バイオメディカルホログラフィックイメージング用の RNN が 50 倍高速化

[[407014]]デジタル ホログラフィーは、生物医学イメージングでよく使用される顕微鏡技術です。...