ミニバッチ勾配降下法とは、以下の手順で機械学習モデルを最適化する勾配降下法のことです。
1. 機械学習モデルを特徴付けるパラメーター(重みやバイアスなど)の初期値を設定します。
2. 機械学習モデルの性能を評価するために、損失関数を定義します。
3. 訓練データをランダムに分割します。このとき、分割された一つの訓練データをミニバッチと呼ぶこととします。ミニバッチのサイズは一般に10から数100の範囲です。
4. ミニバッチを用いて、損失関数の総和を求めます。
5. この総和を用いて、各パラメーターに対する損失関数の勾配を計算します。
6. この勾配に学習率を掛けた値をパラメーターから引きます。
7. 他のミニバッチに対しても手順4〜6を繰り返します。
8. 損失関数の値の変化が非常に小さくなるまで手順3〜7を繰り返します。
ミニバッチ勾配降下法では、ミニバッチごとにパラメーターを更新するため、バッチ勾配降下法よりも高速に機械学習モデルの最適化ができ、局所的な最適解に陥りにくい傾向があります。
ミニバッチ勾配降下法では、更新の度に、一つのミニバッチに偏ったパラメーター更新がなされるため、バッチ勾配降下法よりも収束が不安定になることがあります。
これにより、バッチ勾配降下法よりも収束までの時間が長くなる可能性があります。