損失削減: 確率的勾配降下法

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

勾配降下法において、バッチは 1 回の反復処理で勾配を計算するために使用するサンプルの総数です。これまでは、バッチはデータセット全体であると想定していました。Google の規模で作業する場合、データセットには多くの場合、数十億から数千億のサンプルが含まれています。さらに、Google のデータセットには膨大な数の特徴が含まれていることがよくあります。その結果、バッチが巨大になる可能性があります。バッチが非常に大きいと、1 回のイテレーションでもコンピューティングに非常に時間がかかることがあります。

ランダムにサンプリングされたサンプルを含む大規模なデータセットには、冗長なデータが含まれている可能性があります。実際には、バッチサイズが大きくなるほど冗長性が高くなります。一部の冗長性は、ノイズの多い勾配を平滑化するのに役立ちますが、巨大なバッチは大きなバッチよりもはるかに多くの予測値を保持する傾向があります。

計算を大幅に削減するために平均で正しい勾配を取得できるとしたらどうでしょうか?データセットからランダムにサンプルを選択することで、はるかに小さなサンプルから大きなノイズまで平均的なサイズを推測できます。確率的勾配降下法SGD)は、この考え方を極限に取り込み、反復ごとに 1 つのサンプル(バッチサイズ 1)のみを使用します。反復回数が十分な場合、SGD は機能しますが、ノイズが多くなります。「確率的」という用語は、各バッチを構成する 1 つの例がランダムに選択されることを示します。

最小バッチ確率的勾配降下法ミニバッチ SGD)は、フルバッチ イテレーションと SGD の妥協点です。通常、ミニバッチは 10 ~ 1,000 のサンプルで、ランダムに選択されます。ミニバッチ SGD は SGD のノイズの量を減らしますが、フルバッチよりも効率的です。

説明をわかりやすくするため、単一の特徴に対する勾配降下法に焦点を当てました。勾配降下法は、複数の特徴を含む特徴セットでも機能します。