【E資格対策】確率的勾配降下法とモメンタム

最急降下法(Gradient Descent ; GD)

最急降下法は, 目的関数を最小化するパラメータを効率的に見つけるために, 現在のパあrメータ一から目的関数の勾配を計算し, その勾配が最も急な方向にパラメータを更新していく手法である.

しかし, 各ステップで全てのデータを利用するため, 大規模なデータセットに対してはメモリ使用量が大きくなる.

また, 目的関数は単調な増減ではないため, 局所最適解に陥りやすくなる.

確率的勾配降下法(Stochastic Gradient Descent; SGD)

GDの欠点を解決するために, 確率的最急勾配降下法では, 訓練データからランダムに一部のデータを抜き出したミニバッチを用いて勾配を求める. このミニバッチのサイズを調整することで, メモリ効率とモデルの性能のバランスを最適化できる.

ランダムに選ばれたデータからパラメータの勾配を計算するため, 各ステップでの勾配の値が変わり, 局所最適解に陥りにくくなる.

SGDの更新式は以下の形式で定義される.

θ=θηθJ(θ)\theta = \theta - \eta \nabla_{\theta} J(\theta)

ここで, θ\theta はパラメータ, η\eta は学習率, θJ(θ)\nabla_{\theta} J(\theta) は目的関数の勾配である.


学習率が大きすぎると最適解を見逃してしまう可能性がある一方, 小さすぎると学習時間の増大や局所最適解に陥る可能性がある. 一般的には, 最初は大きな学習率で始め, 学習が進むにつれて徐々に学習率を減少させる方法が用いられる.

ミニバッチ勾配降下法

ミニバッチ勾配降下法は, 訓練データを複数の小さなミニバッチに分割し, 各ミニバッチごとに勾配を計算してパラメータを更新する手法である.

これにより, 学習1回当たりの計算時間を短縮することができ, 適切なミニバッチサイズを設定することで, パラメタ更新の安定性を向上できる.

モメンタム(Momentum)

モメンタムはSGDを改良したものであり, 目的関数の形状によって勾配が振動する場合に効果的なアルゴリズムである. モメンタムでは, 過去の勾配情報を利用して振動を抑制し, よりスムーズに最適解に収束させるようにする.

モメンタムは, 特に曲率が高い場合, 小さく一定の勾配の場合, そしてノイズが含まれる勾配に対して効果的である.

モメンタムの更新式は以下の通り :

vt=γvt1+ηθJ(θ)θ=θvt\begin{align*} v_{t} & = \gamma v_{t-1} + \eta \nabla_{\theta} J(\theta) \\ \theta & = \theta - v_{t} \end{align*}

ここで, vtv_{t} はステップ tt における速度ベクトル, γ(0<γ<1)\gamma \: (0 < \gamma < 1) はモメンタム係数, θ\theta はパラメータ, η\eta は学習率, θJ(θ)\nabla_{\theta} J(\theta) は目的関数の勾配である.

NAG(Nesterov Accelerated Gradient)

NAGは, 勾配の計算を行う前にモメンタムを適用することで, 勾配方向でより正確な更新を実行することを目的とした手法である.

NAGの更新式は以下の通り :

vt=γvt1+ηθJ(θγvt1)θ=θvt\begin{align*} v_{t} & = \gamma v_{t-1} + \eta \nabla_{\theta} J(\theta - \gamma v_{t-1}) \\ \theta & = \theta - v_{t} \end{align*}

現在の位置から予測される位置における勾配を計算することに注意すること.

Pathological Curvature

最適化の過程で目的関数の局所的な曲率が異常に小さくなることで, パラメータ空間における最適化が不安定になる, 学習が滞る現象を指す. この現象下では, SGDなどの最適化手法では勾配振動が発生し, 局所的な最適解に陥る可能性が高くなる.

目的関数の局所的な曲率が以上になってしまう要因は, ニューラルネットワークの重みやバイアスの設定によるものである. 特に, 同じ層の二つのユニットが似たような重みやバイアスを持つような場合に発生しやすい.

解決策としては, モメンタムの利用や大きなミニバッチサイズの利用が有効である.

参考文献