勾配降下法で学習を進めていたら、谷底に着いたわけでもないのに勾配がほぼゼロになり、学習がピタリと止まってしまう——。その犯人としてよく挙げられるのが「鞍点」です。ある方向から見れば谷底、別の方向から見れば峠の頂上という奇妙な地形で、高次元のニューラルネットワークの損失地形では至る所に現れます。

📖 ひと言でいうと

鞍点とは、ある次元(方向)では極小値をとり、別の次元(方向)では極大値をとる点のことです。勾配がほぼゼロになるため最適化がそこで停滞しやすく、抜け出しが困難になることがあります。

名前の由来は馬の鞍(くら)です。鞍の中央は、馬の前後方向に沿って見ればいちばん低い点(極小)ですが、馬の胴を左右にまたぐ方向で見ればいちばん高い点(極大)になっています。峠道の頂上も同じ形で、道なりには最高地点なのに、尾根伝いには最低地点です。この「見る方向によって谷にも山にもなる」地形が鞍点です。

🖼 1枚でわかる鞍点

鞍点(saddle point)
  • 定義 — ある次元では極小値、別の次元では極大値をとる点
  • 問題 — 勾配がほぼゼロになり、一度陥ると抜け出しが困難になりうる
  • プラトー — 最適化が進まない状態全般の呼び名。鞍点はその一因
  • 対処① — モーメンタム: 過去の勾配の勢いで通過する
  • 対処② — Adaptive Learning Rate(AdaGrad, Adam等)や2次最適化法(Newton法, L-BFGS)
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

鞍点は、ある次元で極小値をとり、別の次元で極大値を取る点のことを指す。一度鞍点付近に陥ると、そこから抜け出すことは困難になる可能性がある。最適化が進まない状態全般をプラトーと呼び、鞍点もこの状態に陥る一因とされる。鞍点問題への対処法として1990年代に提唱されたモーメンタムは、学習の進行方向に過去の勾配を加算することで、局所的な最小値や鞍点から抜け出しやすくする手法の一つである。しかし、Adaptive Learning Rateの手法(AdaGrad, Adamなど)や、2次最適化法(Newton's MethodやL-BFGS)も鞍点問題に対する有用な解決策とされている。

押さえるべき用語の対応は3つです。①鞍点の定義=「ある次元で極小、別の次元で極大」。②プラトー=「最適化が進まない状態全般」の名前で、鞍点はその一因。③対処法=モーメンタム、Adaptive Learning Rate系(AdaGrad, Adamなど)、2次最適化法(Newton法, L-BFGS)の3系統です。

「プラトー(plateau)」は高原・台地という意味で、損失が下がらず平坦に横ばいする様子を指します。鞍点だけでなく、勾配が非常に小さい平坦領域でもプラトーは起こります。

🔍 しっかり理解する

なぜ鞍点で学習が止まるのか

勾配降下法は「勾配(傾き)の指す下り方向へ進む」ことしかできません。鞍点では、極小方向から見ても極大方向から見ても傾きがちょうどゼロになるため、勾配降下法にとっては「どちらへも進む理由がない場所」に見えます。実際には極大になっている方向へ少しでもずれれば下って脱出できるのに、勾配というローカルな情報だけでは、その脱出路の存在に気づけないのです。

さらに鞍点の周辺は勾配が非常に小さい領域が広がっていることが多く、脱出方向がわかっていても歩みは牛の歩みになります。「谷底に着いた」のと「鞍点で止まっている」のは、勾配がほぼゼロという観測だけでは区別がつかない——これが鞍点問題の厄介さです。

高次元では局所最小値より鞍点が主役

2次元のグラフで考えると「局所最小値の穴ぼこ」が学習の敵に見えますが、パラメータが数百万次元におよぶニューラルネットワークでは事情が変わります。停留点(勾配ゼロの点)がすべての方向で同時に「下に凸」になって初めて局所最小値になれますが、次元が増えるほど「どれか1方向くらいは下り坂が残る」可能性が高くなります。つまり高次元の損失地形では、勾配ゼロの点の大半は局所最小値ではなく鞍点だと考えられており、深層学習の最適化で警戒すべき停滞要因として鞍点が強調されるのはこのためです。

🅰 局所最小値
  • すべての方向で「下に凸」の谷底
  • どの方向へ動いても損失が増える
  • 高次元では条件が厳しく相対的に少ない
  • 抜け出すには損失の一時的増加が必要
🅱 鞍点
  • 極小の方向と極大の方向が同居
  • 下れる方向が存在するのに勾配はゼロ
  • 高次元では停留点の大半を占めるとされる
  • 勢いや適応的な歩幅があれば通過できる

3系統の対処法

公式テキストが挙げる対処法は、発想の違いで整理すると覚えやすくなります。

💡 ポイント
  • モーメンタム — 学習の進行方向に過去の勾配を加算する手法です。坂を転がるボールが勢いで小さな窪みを通過するように、勾配がゼロに近い場所でも直前までの「勢い」で進み続けられるため、局所的な最小値や鞍点から抜け出しやすくなります。
  • Adaptive Learning Rateの手法(AdaGrad, Adamなど) — 勾配の履歴からパラメータごとに歩幅を自動調整します。勾配が小さい方向の歩幅が相対的に保たれるため、平坦地帯をだらだら歩き続ける状態を緩和できます。
  • 2次最適化法(Newton法やL-BFGS) — 勾配(1次の情報)だけでなく曲率(2次の情報)まで使う方法です。「その方向が下に凸か上に凸か」を判別できるため、鞍点を鞍点として認識しやすくなります。ただし曲率の計算コストが高く、大規模な深層学習でそのまま使うのは難しいという実務上の制約があります。

💡 具体例で考える

鞍点は式で見るのがいちばん手早い例になります。2変数関数 z = x^2 - y^2 の原点(0, 0)を考えてみましょう。x方向に沿って切れば z = x^2 で原点は谷底(極小)、y方向に沿って切れば z = -y^2 で原点は頂上(極大)です。原点での傾きはどちらの方向でもゼロなので、勾配降下法がぴったり原点に乗ってしまうと動く理由を失います。しかしy方向へほんのわずかでもずれれば、そこからは下り坂で脱出できます。「完全に静止する点だが、安定した谷底ではない」という鞍点の性格が、この最小の例に凝縮されています。

ニューラルネットワークの訓練では、損失曲線が長時間ほぼ横ばいになった後、突然また下がり始めることがあります。この「棚」の区間がプラトーで、鞍点近傍の平坦地帯をゆっくり横断していた、という解釈ができるケースです。モーメンタム付きの手法やAdamが実務で標準になっている背景には、こうした停滞への耐性があります。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 局所最小値との混同 — 局所最小値は「どの方向へ動いても損失が増える」点、鞍点は「極小の方向と極大の方向が同居する」点です。定義の入れ替えが誤答選択肢の定番です。
  • 鞍点=プラトーではない — プラトーは「最適化が進まない状態全般」を指す広い言葉で、鞍点はその一因です。状態の名前と地形の名前を区別しましょう。
  • 「鞍点では絶対に抜け出せない」わけではない — 公式テキストの表現は「困難になる可能性がある」です。実際には勾配のノイズや勢いで通過できることも多く、だからこそ対処法が有効に働きます。
  • 大域最適解との関係 — 鞍点を抜けた先が大域最適解とは限りません。鞍点対策は「停滞を防ぐ」ための工夫であって、最適解への到達を保証するものではありません。

📝 試験でのポイント

💡 ポイント
  • 定義問題では「ある次元で極小値、別の次元で極大値」という言い回しがそのまま正解の目印になります。
  • 「最適化が進まない状態全般を何と呼ぶか」→ プラトー、「その一因となる地形は」→ 鞍点、という用語の対応を問う形式が最頻出です。
  • 対処法の3系統(モーメンタム/Adaptive Learning Rate/2次最適化法)と具体名(AdaGrad, Adam, Newton法, L-BFGS)の組み合わせを問う問題に備えましょう。
  • モーメンタムの説明として「学習の進行方向に過去の勾配を加算する」という記述を選ばせる出題も想定されます。

📚 まとめ

💡 ポイント
  • 鞍点は、ある次元では極小・別の次元では極大となる点で、勾配がゼロになるため勾配降下法が停滞しやすい地形です。
  • 最適化が進まない状態全般はプラトーと呼ばれ、鞍点はその代表的な一因です。
  • 高次元の損失地形では局所最小値よりも鞍点が支配的とされ、深層学習の最適化における主要な停滞要因と考えられています。
  • 対処法はモーメンタム、Adaptive Learning Rate系(AdaGrad, Adamなど)、2次最適化法(Newton法, L-BFGS)の3系統で整理して覚えましょう。