1行定義
鞍点とは、ある方向から見ると極小、別の方向から見ると極大になっていて、勾配が0になる点のことです。
くわしく
鞍点は、ある方向から見ると谷底なのに、別の方向から見ると山の頂上になっている点です。名前は、乗馬で使う鞍(くら)の形に由来します。鞍の中央は、馬の前後の方向に見るとくぼんだ底ですが、左右の方向に見ると盛り上がった頂点です。山道でいえば、2つの山の間を越える峠にあたります。
勾配が0になる点
鞍点では、どの方向にも傾きがなく、勾配が0になります。たとえばf(x, y) = x² − y²の原点がそうです。原点からx方向に動くと値は増え、y方向に動くと値は減ります。勾配が0でも、極小ではないので、局所最適解とは区別します。
勾配降下法は勾配を頼りに進むため、鞍点にぴったり乗ると動けなくなります。鞍点の近くでも勾配が小さく、更新がとても遅くなります。このとき損失はほとんど下がらず、学習が止まったように見えます。
高次元では鞍点が多い
ある点が極小になるには、すべての方向で谷底である必要があります。重みが数百万個あるニューラルネットワークで、損失がまだ大きい領域では、すべての方向が同時に谷底になる点はまれです。どこかの方向が下り坂になっている鞍点のほうが、ずっと多く現れます。
2014年のドーファンらの研究は、高次元の学習を難しくしているのは、局所最適解よりも鞍点の多さだと指摘しました。鞍点の周りには損失の高い平らな領域(プラトー)が広がり、学習を大きく遅らせるとしています。
抜け出す工夫
確率的勾配降下法の勾配のばらつきや、モーメンタムの勢いは、鞍点の付近から抜け出す助けになります。AdamやRMSpropのように、勾配の大きさに応じて更新幅を調整する手法では、勾配が小さい方向でも更新が極端に小さくなりにくくなります。
覚え方
「鞍点は峠。一方から見れば底、もう一方から見れば頂上」と覚えます。
G検定での出題
出題のされ方
勾配が0でも極小ではない点であることの理解、局所最適解・大域最適解との区別、高次元で鞍点の周辺が学習の停滞を招くことと、その対策が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 鞍点このページの用語 | ある方向から見ると極小、別の方向から見ると極大になっていて、勾配が0になる点 |
| 局所最適解 | その周辺では損失が最も小さいものの、関数全体で見ると最小とは限らない解 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
勾配降下法で勾配がほぼ0になって学習が停滞したら、その点は局所最適解だと判断してよい。
答えを見る
答え × 誤り
鞍点や平らな領域(プラトー)でも勾配はほぼ0になります。勾配だけでは、局所最適解かどうかは判断できません。
-
重みの数が多い高次元の損失関数では、勾配が0になる点として、局所最適解よりも鞍点のほうが多く現れると考えられている。
答えを見る
答え ◯ 正しい
極小になるには、すべての方向で谷底になる必要があります。次元が高いと、どこかの方向が下り坂になっている鞍点のほうがずっと多くなります。
-
鞍点の周りには損失がほとんど変わらない平らな領域が広がることがあり、学習が長く停滞する原因になる。
答えを見る
答え ◯ 正しい
勾配が小さいと更新もごく小さくなるためです。損失が下がらず、学習が止まったように見えることがあります。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Yann Dauphin, Razvan Pascanu, Caglar Gulcehre, Kyunghyun Cho, Surya Ganguli, Yoshua Bengio, Identifying and attacking the saddle point problem in high-dimensional non-convex optimization (2014)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.2.3 Plateaus, Saddle Points and Other Flat Regions)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (4.3 Gradient-Based Optimization)