モーメンタムとは、機械学習の最適化アルゴリズムにおいて、過去の勾配(傾き)の情報を「慣性」のように引き継いでパラメータの更新を加速させる手法です。これにより、局所的な最小解(ローカルミニマ)や平坦な領域(サドルポイント)からの脱出を容易にし、ニューラルネットワークの学習速度を向上させることができます。
モーメンタムとは
モーメンタムは、ニューラルネットワークの重みを更新する勾配降下法において、過去の更新量の一部を次の更新に引き継ぐことで、物理的な「慣性(運動量)」のような効果をもたらし、学習の高速化と安定化を図る最適化手法です。
詳しく解説
ニューラルネットワークの学習では、誤差逆伝播法によって得られた勾配を基に重みを更新する勾配降下法(特にミニバッチ勾配降下法や確率的勾配降下法)が用いられます。しかし、標準的な手法は、谷の底へ向かう途中で左右に激しく振動(蛇行)したり、平坦なサドルポイント(鞍点)や浅いローカルミニマ(局所最適解)に囚われて学習が停滞したりする問題がありました。モーメンタムは、前回の更新量を摩擦係数のようなハイパーパラメータで減衰させて加算することで、進行方向への勢いを維持します。これにより、同じ方向への更新が続くと加速し、振動する方向への更新は互いに打ち消し合ってスムーズに進むようになり、収束速度が劇的に向上します。
具体例・使われ方
物理的なイメージとして、お椀の斜面をボールが転がり落ちる様子が挙げられます。通常の勾配降下法が、各地点の傾きだけで一歩ずつ進むのに対し、モーメンタムを導入するとボールが重力と速度(慣性)を得て転がるため、小さな凹凸を飛び越え、より深い谷に早く到達できるようになります。ディープラーニングの代表的なオプティマイザであるSGD with Momentumや、より発展したアダムなどの内部アルゴリズムとして広く利用されています。
似た用語との違い
標準的な確率的勾配降下法との違いは、過去の履歴(慣性)を考慮するか否かです。確率的勾配降下法は現在のステップの勾配のみで更新方向を決めますが、モーメンタムは過去の勾配の移動平均を加味します。また、ネステロフのモーメンタム(NAG)との違いは、モーメンタムが現在の位置での勾配を使用するのに対し、NAGは慣性で移動した先の予測位置での勾配を計算してブレーキをかけるため、より高い安定性を持つという点にあります。
注意点
モーメンタムは学習を高速化させますが、慣性が強すぎると本来留まるべき最適な極小点を飛び越えてしまう(オーバーシュートする)危険性があります。また、過去の勾配の影響度を調整するハイパーパラメータを適切に設定する必要があり、これが不適切だと学習が不安定になります。さらに、局所最適解を完全に回避できるわけではなく、複雑な損失関数の形状によっては依然として最適な解に到達できない場合もあります。