小さなバッチがディープラーニングの一般化を高める理由

小さなバッチがディープラーニングの一般化を高める理由

バッチ サイズは、機械学習における重要なハイパーパラメータの 1 つです。このハイパーパラメータは、内部モデルパラメータを更新する前に処理するサンプルの数を定義します。

上の図は、SGD を使用してさまざまなバッチ サイズをテストする例を示しています。

バッチ サイズは、多くのディープラーニング ベースのニューラル ネットワークのパフォーマンスを決定します。 学習プロセスに最適なバッチ サイズを評価する研究が数多く行われてきました。 たとえば、SGD の場合、バッチ勾配降下法 (すべてのトレーニング例をバッチで使用)、ミニバッチ法 (トレーニング データのサブセットを使用)、または各例の後に更新する法 (確率的勾配降下法) を使用できます。 これらの異なる処理方法によって、モデルトレーニングの有効性が変化する可能性があります。

私たちが重視するパフォーマンス指標は、精度だけではありません。 モデルの一般化能力がより重要になるかもしれません。 なぜなら、私たちのモデルは、目に見えないデータに対してうまく機能しなければ役に立たないからです。バッチ サイズを大きくすると、ネットワークの一般化が悪くなります。 論文「ディープラーニングのための大規模バッチトレーニング:一般化ギャップとシャープミニマ」の著者らは、この現象を調査し、なぜそれが起こるのかを解明しようとしました。 彼らの調査結果は興味深いので、この記事では詳しく説明します。 これを知っておくと、独自のニューラル ネットワークとそのトレーニング方法について、より適切な決定を下すことができます。

論文の前提を理解する

論文を理解するには、まず著者が何を証明しようとしているのかを理解する必要があります。 著者らは、バッチサイズが大きいほど一般化が悪くなる理由を発見したと主張している。 彼らは、「大規模バッチ法はトレーニング関数とテスト関数の鋭い最小値に収束する傾向があり、それが一般化の低さにつながることが知られているという見解を裏付ける数値的証拠を提供しています。小規模バッチ法は一貫して平坦な最小値に収束しており、私たちの実験は、これが勾配推定値に内在するノイズによるものだという一般的な見解を裏付けています。」この投稿ではこれについてさらに詳しく説明しますので、順を追って説明しましょう。 次の図は、鋭い最小値と平坦な最小値の違いを示しています。

鋭い極小値の場合、Xの比較的小さな変化が損失の大きな変化につながる可能性がある。

この違いを理解したら、著者が検証する 2 つの (関連する) 主な主張を理解しましょう。

  • 大きなバッチを使用すると、トレーニング中に非常に急激な損失パターンが発生します。 そして、この急激な損失により、ネットワークの一般化能力が低下します。
  • バッチ サイズが小さいほど、より平坦な損失画像が作成されます。 これは勾配推定値のノイズによるものです。

著者らは論文の中でこの点を強調し、次のように述べています。

次に、彼らが提供する証拠を見てみましょう。 彼らが実験を準備する方法のいくつかは興味深く、実験の準備について私たちに多くのことを教えてくれます。

シャープネスの定義

シャープネスは、理解しやすく視覚化しやすい直感的な概念です。 しかし、いくつか問題もあります。 たとえば、高次元データの機械学習計算/視覚化は、多くのリソースを消費し、時間がかかります。 著者らもこれについて言及しており、より単純なヒューリスティック手法を使用しました。つまり、隣接するポイントを通じて鮮明度をチェックし、関数の最大値を使用して感度を計算できるのです。

元の論文にはこう書かれていた。

私たちは、不完全ではあるものの、大規模なネットワークでも計算上実行可能な感度測定を採用しています。 これは、解の小さな近傍を探索し、その近傍で関数 f が到達できる最大値を計算することに基づいています。 この値を使用して、特定の局所最小値におけるトレーニング関数の感度を測定します。 最大化手順は不正確であり、Rn の小さな部分空間でのみ f の大きな値を取得することで誤解を避けるため、ランダム多様体だけでなく Rn 全体の空間にわたって最大化を実行します。

著者らが手順に一定の相互検証を組み込んだことに注意することが重要です。 ソリューション空間から複数のサンプルを取得することは過度に単純化されているように思えるかもしれませんが、非常に強力なアプローチであり、ほとんどの場合にうまく機能します。 計算式に興味がある方は、次のようになります。

関連する認定を見る

著者らが提示した基本的な用語/定義を理解したところで、提示された証拠のいくつかを見てみましょう。 この投稿では論文/付録のすべての内容を共有することはできないため、すべての詳細に興味がある場合は、元の論文を読むことができます。

上の図では、クロスエントロピー損失とシャープネスの関係をプロットしています。グラフからわかるように、損失は実際には右に行くほど小さくなります。では、このグラフは何を意味しているのでしょうか? モデルが成熟するにつれて (損失が減少するにつれて)、大規模バッチ モデルの明瞭性が増します。著者の言葉を借りれば、「初期点付近の損失関数の値が大きい場合、ミニバッチ法とラージバッチ法は同様のシャープネス値を生成します。損失関数が減少するにつれて、ラージバッチ法に対応する反復のシャープネスは急速に増加しますが、ミニバッチ法の場合、シャープネスは最初は比較的一定のままで、その後減少します。これは、探索フェーズ後に平坦な最小化に収束することを示唆しています。」

著者らは結果を証明するため、他にもいくつかの実験を行っている。さまざまな種類のネットワークでのテストに加えて、小規模および大規模バッチ ネットワークの両方でウォーム スタートも使用しました。結果は私たちが見たものと非常に一致しています。

この論文で私が見つけた興味深い点の 1 つは、この一般化の低下は、バッチ サイズが大きい場合のモデルの過剰適合や過剰トレーニングとは関係がないことが示された点です。 過剰適合が一般化の低さの原因であると想定するのは簡単です (一般的に理解されているように) が、著者らはこれに反論しています。 彼らの主張を理解するには、この表をご覧ください。

通常、バッチを小さくしてトレーニングすると、トレーニング パフォーマンスが向上します。 ミニバッチトレーニングを使用した場合、トレーニング精度が低かったネットワークでも、トレーニング精度が高くなることがわかりました。 著者の次の原文は、キーポイントとして使用できます。「一般化ギャップは、統計ではよくある過剰適合や過剰トレーニングによるものではないことを強調します。この現象は、ある反復でピークに達し、その後モデルがトレーニング データの特性を学習するにつれて減少するテスト精度曲線の形で現れます。これは、実験で観察されたものではありません。F2 ネットワークと C1 ネットワークのトレーニング テスト曲線は、他のネットワークの代表である図 2 に示されています。したがって、モデルの過剰適合を防ぐことを目的とした早期停止のヒューリスティックな方法では、一般化ギャップを狭めることはできません。」

ネットワークがテスト精度にどれだけ早く収束するかを確認する

つまり、これが過剰適合のケースであれば、バッチが大きい方法では一貫してパフォーマンスが低下することはないはずです。 代わりに、早めに停止することで、過剰適合を回避し、パフォーマンスをより近づけることができます。 これは私たちが観察したものではありません。 私たちの学習曲線はまったく異なる様相を描きます。

<<:  AIリップリーディング、騒音環境でも最大75%の音声認識精度

>>:  医療用ロボットの具体的な用途は2つありますか?

ブログ    
ブログ    
ブログ    

推薦する

...

...

...

インターネットの後半、人工知能の春は始まったばかり

最近、インターネット企業における「人員最適化」問題が友人の間で話題になっており、多くの人がパニックに...

企業はどのように AI を活用してビジネスの成長を促進できるのでしょうか?

人工知能 (AI) の導入によって得られる潜在的な利益を考えると、企業は傍観者でいるわけにはいきませ...

...

AIとIoTが交通管理に及ぼす6つの影響

物流と輸送は世界貿易とサプライチェーン管理にとって極めて重要であり、テクノロジーの急速な発展により、...

猫=チューリングマシン? 4つのテストにより、「猫コンピューター」が任意の計算を実行できることが証明された

柔らかくてかわいい猫は、いつも私たちに「猫を撫でたい」「猫を抱きしめたい」という衝動を掻き立てます。...

...

マシンビジョンについて知っておくべきこと

マシンビジョンは急速に発展している人工知能の分野です。簡単に言えば、マシンビジョンとは、測定と判断の...

...

...

...

MITはロボットの構造を自動設計できるコンピュータシステムを発明し、25年で最高の成果を達成した。

研究者にとって、適切な形状を選択することは、ロボットが特定の地形を移動できる能力にとって非常に重要で...

AIとWeb3の出会い: 2023年の技術革命

2023 年には、人工知能 (AI) と Web3 という 2 つの技術現象が引き続き議論の中心にな...