最適化機械学習

鞍点

あんてん · Saddle Point
1 views

鞍点とは、多次元の損失関数においてある方向からは極小値に見え、別の方向からは極大値に見える点のことです。勾配降下法などの最適化アルゴリズムにおいて、勾配がゼロになるため学習が停滞する原因となります。特に高次元のパラメーターを持つディープラーニングの学習において、局所的極小解よりも頻繁に発生し最適化の阻害要因となるため重要な概念です。

鞍点とは

鞍点とは、関数の勾配がゼロになる停留点のうち、極大値でも極小値でもない点のことを指します。馬の鞍の形に似ていることからこの名が付けられており、ある方向から見ると谷の底ですが、別の方向から見ると山の頂上になっている状態を意味します。

詳しく解説

機械学習におけるモデルの学習は、損失関数の値を最小化する最適化問題として定式化されます。このとき用いられる勾配降下法は、勾配がゼロになる場所を探索します。鞍点ではすべての方向の勾配がゼロになるため、従来の単純な勾配降下法では更新量が極めて小さくなり、学習が途中で進まなくなる停滞が発生します。多次元空間を扱うディープラーニングでは、パラメーターの数が膨大になるため、局所的極小解に陥る確率よりも鞍点に捕まる確率のほうがはるかに高いことが数学的に知られています。鞍点からの脱出や回避を可能にするため、モメンタムなどの手法や、ヘッセ行列の固有値を利用する最適化手法が用いられます。

具体例・使われ方

具体例として、山と山の間にある峠を歩いている場面をイメージできます。東西方向で見れば二つの山に挟まれた最も低い足場ですが、南北方向で見れば谷から上がってきた最も高い尾根にあたります。ディープラーニングのモデルがパラメーターを調整する際、このような峠のような点に到達すると、どの方向に進むべきか判断が難しくなり、学習速度が低下します。

似た用語との違い

鞍点は「局所的極小解」や「局所的極大解」と混同されがちです。局所的極小解はあらゆる方向において値が周囲より小さくなっている点であり、局所的極大解はすべての方向において値が周囲より大きくなっている点です。これに対し、鞍点は方向によって値が増加するか減少するかが異なるという特徴を持ちます。

注意点

鞍点は学習の停滞を引き起こしますが、現代のディープラーニングでは適切な最適化手法やノイズの影響によって、脱出できる場合も多いです。そのため「鞍点に到達すると絶対に学習が不可能になる」という誤解には注意が必要です。また、鞍点の周辺では傾きが極めて緩やかになるため、単に学習速度が遅いだけなのか、鞍点にとどまっているのかを判別することが困難な場合もあります。

更新日時: 2026年8月31日 17:01