解説: 賢い坂の下り方
オプティマイザ(最適化手法)は、深層学習において損失関数という「坂」をいかに賢く下るかを決めるアルゴリズムです。このデモは、代表的な3つのオプティマイザの動きの違いを3Dで可視化したものです。
■ SGD (確率的勾配降下法)
最も基本的な手法。現在地の「傾き(勾配)」だけを見て、最も急な方向にまっすぐ進みます。シンプルですが、2つの大きな弱点
があります。
- 局所最適解の罠: 一番深い谷底(大域的最適解)ではなく、途中の浅い谷(局所最適解)にハマると、そこが一番低いと勘違いして動けなくなります。
- 鞍点(あんてん)での停滞: 谷底ではないが、傾きがほぼゼロになる平坦な場所(鞍点)でも、身動きが取れなくなりがちです。
■ Momentum
SGDに「慣性」の概念を加えた改良版です。下り坂で勢いがつくように、過去に進んだ方向をある程度維持しながら進みます。
- 利点: この「勢い」によって、浅い谷や平坦な場所を乗り越え、より深い谷底にたどり着ける可能性が高まります。
■ Adam (Adaptive Moment Estimation)
Momentumの「慣性」に加え、「過去の勾配の大きさ」も考慮する、非常に高性能で現在最も広く使われている手法の一つです。
- 適応的な学習率: 過去の勾配の大きさに応じて、パラメータごとに学習の歩幅(学習率)を自動で調整します。急な坂では慎重に、緩やかな坂では大胆に進むことができます。
- 利点: 安定して高速に学習が進み、多くの場合で良い性能を発揮します。