最適化の数学 — 谷底へ降りる幾何学
機械学習の学習は、つきつめれば「関数を一番小さくする点を探す」という一点に集約されます。そこで問われるのが、その地形が素直なお椀型(凸)なのか、罠だらけの波打つ地形(非凸)なのか。そして「ここまでしか動けない」という制約があるとき、最適点はどんな幾何的条件を満たすのか。すべて動かして掴みます。
1. 凸性 — なぜ「お椀型」だと安心なのか
最適化がやさしいか難しいかは、地形の形でほぼ決まります。その分かれ目が凸性です。関数が凸であるとは、グラフ上のどの2点を選んでも、その2点を結ぶ弦(直線)が必ずグラフの上側にあること。この一言に、最適化にとって最高の性質が凝縮されています。
f( λx + (1−λ)y ) ≤ λ f(x) + (1−λ) f(y) (0 ≤ λ ≤ 1)
左辺=2点の間の実際の値、右辺=弦の高さ。弦がつねに上(≤)なら凸。下のデモで弦を動かして確かめよう
弦はグラフの上か下か — 凸性の定義を動かす
水色=関数のグラフ、オレンジ=2点 a, b を結ぶ弦。帯の色は各位置で「弦がグラフより上か下か」を表します(緑=上(凸OK) / 赤=下(凸が破れている))。走査線が弦とグラフの隙間をなぞります。お椀型ではどこを選んでも全部緑。波打つ地形では山を跨ぐと赤い区間が現れます。
POINT — 凸なら「局所最小=大域最小」
凸関数では、傾きが 0 になる谷底(局所最小)はただ一つで、それがそのまま世界最小(大域最小)になります。だから「近くを下るだけ」の勾配降下法でも、必ず真の答えにたどり着ける。線形回帰・ロジスティック回帰・SVM・線形計画がいずれも実用的に解けるのは、問題が凸に設計されているからです。
2. 局所最小の罠 — 地形が波打つと何が起きるか
凸でない地形には谷が複数あります。勾配降下法は「今いる場所の傾き」しか見ないので、一番近い谷に落ちたら、それが浅い局所最小でも抜け出せません。同じ「ボールを転がす」でも、地形のうねりが強まるほど、全体の最深部(大域最小)にたどり着けるボールは減っていきます。
転がるボール — うねりが最小値探しを妨げる
同じ高さから一列に落としたボールが、傾きに沿って谷へ転がります。うねり=0 は完全なお椀(全員が中央の大域最小へ集合)。うねりを上げると波の谷=局所最小が生まれ、オレンジのボールがそこに捕まります。緑=大域最小に到達できたボール。上のカウンタで到達率を見てください。
注意 — でも深層学習は「非凸なのに」うまくいく
ニューラルネットの損失は激しく非凸です。それでも学習が成功するのは、① 超高次元では停留点の大半が局所最小ではなく鞍点で、悪い局所最小は意外と少ない、② SGD のノイズが浅い谷から弾き出してくれる、③ 多くの局所最小は性能が似通っている、といった事情が重なるため。「非凸=解けない」は俗説で、正しくは「保証はないが実際は下れることが多い」です。
3. 勾配降下法 — 等高線を斜めに横切って降りる
2次元以上では、地形を真上から見た等高線図で考えると見通しが良くなります。勾配 ∇f は等高線と直交し「最も急な上り」を指すので、その逆向き −∇f に一歩ずつ進めば谷へ降りられます。歩幅を決めるのが学習率 η。下は谷が2つある非凸地形で、出発点しだいで着地する谷が変わる様子です。
xt+1 = xt − η ∇f(xt)
η=学習率(歩幅)。小さすぎれば遅く、大きすぎれば谷を飛び越えて発散する
2つの谷と出発点 — どちらの最小に落ちる?
図をクリックで出発点を変更
明るいほど高い地形。✓ 緑=深い方の谷(大域最小)、○ オレンジ=浅い方の谷(局所最小)。オレンジの軌跡が −∇f に沿って降りていきます。境界のどちら側から出発したかで行き先が決まる — これが非凸最適化の初期値依存性です。η を上げすぎるとジグザグして発散します。
4. 制約付き最適化 — ラグランジュ乗数と「接する」条件
現実の最適化には「予算は一定」「合計は 1」といった制約がつきものです。制約 g(x,y)=0 を満たす範囲(1本の曲線)の上だけで f を最小にしたい。答えは驚くほど幾何的で、f の等高線が制約曲線にちょうど接する点がそれ。そこでは2つの勾配 ∇f と ∇g が同じ向きに揃います。
等高線が制約に接する瞬間 — ∇f ∥ ∇g を探す
白い円=制約 g=0(この上しか動けない)。オレンジ矢印=∇f(f が最も増える向き)、水色矢印=∇g(制約の法線)。点を円周に沿って動かすと、細い等高線が伸び縮みします。2本の矢印が一直線に揃った点=等高線が円に接する点=制約付きの最小/最大。✓が最小、○が最大です。
POINT — ラグランジュ乗数 λ の正体
接点では ∇f と ∇g が平行なので、比例定数 λ を使って ∇f = λ∇g と書けます。この λ がラグランジュ乗数。「制約を 1 だけ緩めたら、最適値がどれだけ改善するか」という制約の影の値段(感度)を表す、経済的にも意味のある量です。等号制約なら符号は自由、不等式制約なら λ ≥ 0 という条件(KKT 条件)に一般化されます。
∇f(x, y) = λ ∇g(x, y) かつ g(x, y) = 0
未知数は x, y, λ の3つ、式も3本。これを解けば制約付き最適解が出る(ラグランジュの未定乗数法)
5. まとめ
- 凸性:弦がつねにグラフの上にある性質。凸なら局所最小=大域最小で、勾配降下だけで最適解に届く。
- 局所最小の罠:非凸地形では近い谷に捕まる。ただし高次元では鞍点が主で、SGD のノイズが救いになる。
- 勾配降下法:x ← x − η∇f の反復。非凸では出発点で行き先が変わり、η が大きすぎると発散する。
- 制約付き最適化:等高線が制約曲線に接する点が最適。そこで ∇f = λ∇g。λ は制約の影の値段。
一歩先へ — 凸最適化と双対性
凸最適化は「最適解が一意・大域的・効率よく解ける」という三拍子が揃う、応用数学の花形分野です。SVM のマージン最大化、線形計画、ロジスティック回帰はすべて凸問題として定式化されます。ラグランジュ乗数を主役に据えると双対問題という双子の最適化が現れ、元の問題(主問題)と最適値が一致する(強双対性)。SVM がカーネルトリックを使えるのも、この双対の世界に移ったおかげ。制約付き最適化は 機械学習 08「サポートベクターマシン」で再登場します。