バッチサイズはSGDの収束にどのように影響しますか?
ミニバッチのサイズが大きくなると、SGDの収束が実際に難しく/悪化するという、多くの議論から同様の結論を見ました。たとえば、このペーパーとこの回答です。また、早い段階で小さな学習率やバッチサイズなどのトリックを使用して、大きなバッチサイズでこの問題に対処する人もいると聞きました。 ただし、ミニバッチの平均損失は、データ分布で予想される損失の近似と考えることができるため、直感に反するように見えます。 バッチサイズが大きいほど、正確になります。なぜ実際にはそうではないのですか?1|X|∑x∈Xl(x,w)≈Ex∼pdata[l(x,w)]1|X|∑x∈Xl(x,w)≈Ex∼pdata[l(x,w)]\frac{1}{|X|}\sum_{x\in X} l(x,w)\approx E_{x\sim p_{data}}[l(x,w)] 以下に、説明しようとする私の(おそらく間違った)考えをいくつか示します。 モデルのパラメーターは相互に大きく依存しています。バッチが大きくなりすぎると、一度に多くのパラメーターに影響を与え、パラメーターが安定した固有の依存関係に達するのが難しくなりますか?(バッチ正規化ペーパーで言及されている内部共変量シフト問題のように) または、ほぼすべてのパラメーターがすべての反復で責任がある場合、冗長な暗黙のパターンを学習する傾向があるため、モデルの容量が減少しますか?(つまり、数字の分類の問題については、いくつかのパターンがドット、エッジの原因となるはずですが、これが発生すると、すべてのパターンがすべての形状を担当しようとします)。 それとも、バッチサイズがトレーニングセットのスケールに近づくと、相関するミニバッチの確率が高くなるため、ミニバッチはデータ分布からiidとして認識できなくなるためですか? 更新 Benoit Sanchezの回答で指摘されているように、1つの重要な理由は、1つの更新を完了するために大きなミニバッチにより多くの計算が必要であり、ほとんどの分析が比較のために一定のトレーニングエポックを使用することです。 しかし、この論文(Wilson and Martinez、2003)は、十分な量のトレーニングエポックが与えられたとしても、バッチサイズを大きくすると依然として不利であることを示しています。一般的にそうですか?