サドルポイントとは、ある方向では極小値であり別の方向では極大値となる、馬の鞍のような形状の点のことです。ディープラーニングなどの機械学習における損失関数の最適化において、勾配がゼロになるため学習が停滞する原因として注目されます。
サドルポイントとは
一言でいうとサドルポイントとは、周囲の方向によって極小値にも極大値にもなる、数学的な鞍点(あんてん)のことです。
詳しく解説
機械学習やディープラーニングの学習プロセスでは、損失関数の値を最小化するために勾配降下法などの最適化アルゴリズムが使われます。パラメータ空間が高次元になると、真の最適解である大域的最小値だけでなく、局所的最小値やサドルポイントが無数に存在することが知られています。サドルポイント上では勾配がゼロ(または極めて小さく)になるため、勾配降下法を用いた最適化がそこで停滞し、学習が進まなくなるという問題を引き起こします。しかし、近年の研究では、高次元のモデルにおいては真の局所的最小値よりもサドルポイントの方が圧倒的に多く、ランダムな揺らぎやモーメントを用いることでこれらの点から容易に脱出できることが分かっています。
具体例・使われ方
ディープラーニングのモデルを学習させる際、損失関数の値がしばらくの間ほとんど下がらないプラトウ(平坦な領域)や停滞期に入ることがあります。これは多くの場合、高次元空間におけるサドルポイントやその周辺を通過している現象に該当します。確率的勾配降下法(SGD)や、モーメント、Adamといった最適化アルゴリズムを用いることで、勾配の揺らぎを利用してこの停滞を乗り越え、学習を継続させることができます。
似た用語との違い
局所的最小値(ローカルミニマム)と混同されやすいですが、局所的最小値は「どの方向に進んでも値が高くなる点」であるのに対し、サドルポイントは「ある方向へ進むと値が下がり、別の方向へ進むと値が上がる点」という明確な違いがあります。
注意点
サドルポイントは勾配がゼロになるため、収束判定を行う際に真の最適解と誤認する恐れがあります。また、サドルポイント周辺の平坦な領域では勾配が非常に小さくなるため、学習率の設計が適切でないと学習が極端に遅くなったり、途中で停止してしまったりする点に注意が必要です。