凸と非凸、局所最適の罠
同じ勾配降下でも、地形(コスト関数)と初期値次第で着地点が変わる。非凸では局所最適の罠に落ち、凸なら必ず大域最適へ。x ← x − η f'(x)
地形(コスト関数 f(x))を選ぶ
-4.50
0.050
60
現在の x
—
コスト f(x)
—
勾配 f'(x)
—
収束先の判定
—
コスト地形と降下の軌跡(赤点=ボール、青破線=大域最適 x*)
最適化とは「コスト
凸関数は谷が1つだけ。どこから転がしても必ず同じ底(大域最適)に着きます。
非凸関数は谷が複数。手近な谷(局所最適)にハマると、もっと深い谷があっても出られません。これが局所最適の罠です。
初期値 x0 のスライダーを動かして、同じ地形でも着地点が変わることを確かめましょう。
f(x) が一番低い谷(最小値)を探す」こと。勾配降下法は、いまいる地点の傾き f'(x) と逆向きに少しずつ進みます ── ボールが坂を転がり落ちるイメージです。凸関数は谷が1つだけ。どこから転がしても必ず同じ底(大域最適)に着きます。
非凸関数は谷が複数。手近な谷(局所最適)にハマると、もっと深い谷があっても出られません。これが局所最適の罠です。
初期値 x0 のスライダーを動かして、同じ地形でも着地点が変わることを確かめましょう。
いま何が起きている?
ここがポイント
- 勾配降下は局所的 ── 足元の傾きしか見ないので、近くの谷に向かう。地形全体は見えていない。
- 非凸は初期値依存 ── 同じ η でも x0 を変えると別の局所最適へ。深い谷に着くとは限らない。
- 凸は初期値非依存 ── 谷が1つなので、どこから始めても必ず大域最適に収束する(だから凸最適化は扱いやすい)。
- 学習率 η が大きすぎると谷を飛び越えて振動・発散。小さすぎると遅い。ちょうど良さが必要。