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

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

バッチ正規化は、ディープラーニング分野における大きな進歩の 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 年間の深い測定学習は無駄になったのでしょうか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

サイバー犯罪者はAIを利用してマルウェア攻撃ソフトウェアにサンドボックスを作成

2020 年に世界中の企業の 42% がサイバー攻撃を受けたことをご存知ですか? サイバー犯罪者が...

Java 開発者のための機械学習の事例

翻訳者 |陳俊レビュー | Chonglou昨年以来、 ChatGPTやBardなどの大規模言語モデ...

ChatGPT「ピクチャートーク」が大変身しました!舞台裏で新型GPT-4Vモデルが公開

ChatGPTに音声・画像機能が加わりました! ChatGPT にログインすると、より直感的なインタ...

アルゴリズム図: 括弧が有効かどうかを判断するにはどうすればよいでしょうか?

[[346613]]この記事はWeChatの公開アカウント「Java Chinese Commun...

ディープラーニング GPU の最も包括的な比較: コスト パフォーマンスの点で最も優れているのはどれですか?

AI に関して言えば、「GPU の混乱」を感じない人はいないでしょう。 Tensor コア、メモリ...

OpenAI が 10 億ドルで Microsoft に売却された後、汎用人工知能にはまだ希望があるのでしょうか?

[[422423]]お金が手に入ったとき、あなたはまだ当初の意図を貫くことができますか? OpenA...

アリババのダブル11は記録破りであるだけでなく、AIショーでもある

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

人工知能時代の雇用問題と解決策

人工知能(AI)は現在、頻繁に使われる言葉であり、一般的には、もう一つの総合的な技術革命、つまり「第...

AIが70年間で急成長した理由が明らかに!タイム誌の4枚の写真がアルゴリズムの進化の謎を明らかにする

過去 10 年間の AI システムの進歩のスピードは驚くべきものでした。 2016年の囲碁対局でアル...

ディープラーニングは自動運転車にとって何を意味するのでしょうか?

[[348074]]自動運転車でディープラーニングを使用すると、歩行者の行動を理解したり、最短ルー...

強化学習と世界モデルにおける因果推論

1. 世界モデル「世界モデル」という用語は認知科学に由来しており、認知科学ではメンタルモデルと呼ばれ...

2ポインタアルゴリズムを学んでLeetCodeをプレイする

[[421659]]みなさんこんにちは。私は梁唐です。今日は、非常に古典的で非常にシンプルなアルゴリ...

DeepMindとハーバード大学がAI「モルモット」を開発:餌探しからバッティングまでニューラルネットワークの謎を探る

マウスを研究するのと同じ方法で AI を研究できるでしょうか?多分。 ICLR 2020 Spotl...

...