等高線を降りる勾配降下
2変数関数の等高線の上を探索点が降りていく x ← x − η∇f(x) を、学習率を変えながら体感します。
0.18
8.0
60
学習率 η
—
ステップ k
—
現在位置 (x, y)
—
値 f(x, y)
—
勾配の大きさ ‖∇f‖
—
状態
—
対象の関数
f(x,y) = x² + a·y²
記号の見かた
- ● 緑の輪 = 等高線(同じ高さの線)
- 中心ほど低い(谷底 = 最小)
- ● 赤点 = 探索点の現在位置
- → 青矢印 = 進んだ向き(−∇f)
- 白い軌跡 = これまでの経路
いま何が起きている?
等高線マップ(クリックで開始点を置く・赤丸をドラッグして移動)
関数の最小値を探すには、その場所での傾き(勾配 ∇f)を計算し、
傾きが下る向きへ少しずつ進めばよい ── これが勾配降下法
地形図の等高線を思い浮かべてください。探索点は等高線に直角に交わりながら、谷底(最小)へ向かって降りていきます。 一歩の大きさを決めるのが学習率 η です。
η が小さすぎるとなかなか着かず、ちょうどよいとすっと谷底へ、大きすぎると谷を挟んで左右に振動、さらに大きいと発散します。スライダーで切り替えて確かめましょう。
x ← x − η∇f(x) です。地形図の等高線を思い浮かべてください。探索点は等高線に直角に交わりながら、谷底(最小)へ向かって降りていきます。 一歩の大きさを決めるのが学習率 η です。
η が小さすぎるとなかなか着かず、ちょうどよいとすっと谷底へ、大きすぎると谷を挟んで左右に振動、さらに大きいと発散します。スライダーで切り替えて確かめましょう。
ここがポイント
- −∇f の向きへ一歩 ── 探索点は等高線に直角に、最も急に下る向きへ進む。
- 学習率 η が決め手 ── 小さい=遅い、大きすぎ=振動・発散。谷底付近で勾配が小さくなり自然に止まる。
- 細長い谷(a 大)は難所 ── y 方向が急で x 方向が緩いと、同じ η でもジグザグして進みにくい。
- 収束=勾配がほぼゼロ ── ‖∇f‖ が小さくなれば谷底に着いたサイン。これが最適化の停止条件。