オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】モーメンタム / Momentum

yhayato1320.hatenablog.com

Index

モーメンタム / Momentum

モーメンタム / Momentum は勾配法の(パラメータ空間内での)振動(=無駄な動き)を抑制し、極小値への収束性を改善する.

モーメンタム / Momentum とは「運動量 / 慣性」という意味.
物理学に関連がある. 前時刻での勾配の影響を引きずらせることで振動を防ぐ.

振動の原因は、各更新時ごとの急激な勾配ベクトルの向きの変化にある.
そこで、1つ前の更新での勾配ベクトルを影響させることで、毎回異なる方向ではなく、
前回方向に近い勾配ベクトルをパラメータ更新に影響させることができる.

更新アルゴリズム

更新アルゴリズム

 
\begin{align}
v\ &\leftarrow\ \alpha v\ -\ \mu \displaystyle \frac{\partial L}{\partial W} \tag{1.1} \\
W\ &\leftarrow\ W\ +\ v \tag{1.2}
\end{align}

 \mu は学習率  0 \leq \mu \leq 1
 \alpha は抑制パラメータ  0 \leq \alpha \leq 1


Momentum では、新しく  v という変数が登場させる.

 v の更新 (式1.1) では、パラメータ点の更新ベクトル (移動する速さ・大きさ、移動する方向)を調整しており、
次の W の更新 (式1.2) で、パラメータ点を更新 (パラメータ空間の移動) を行っている.

式(1.1) は、以下のようにも表されることもある.
 v \leftarrow\ \alpha v\ -\ (1\ -\ \alpha)\ \mu\ \displaystyle \frac{\partial L}{\partial W} \tag{1.1.1}
この場合、 (1\ -\ \alpha)\ \mu が学習率のような役割をする.


モーメンタムは、振動を防ぐだけでなく、パラメータ空間の斜面では、パラメータ更新を加速してくれる.

物理学からの観点

この  v は、物理学でいう「速度」に対応していると考えることもできる.
そのように考えると、 (式1.1) では、物体が勾配方向に力を受け、その力によって物体の速度が加算されていくことを表している.
また、 \alpha は、物理学でいる空気抵抗や、摩擦の役割で、徐々に減速させている(移動距離を減らしている)と考える.

参考