等高線を降りる勾配降下

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) です。
地形図の等高線を思い浮かべてください。探索点は等高線に直角に交わりながら、谷底(最小)へ向かって降りていきます。 一歩の大きさを決めるのが学習率 η です。
η が小さすぎるとなかなか着かず、ちょうどよいとすっと谷底へ、大きすぎると谷を挟んで左右に振動、さらに大きいと発散します。スライダーで切り替えて確かめましょう。

ここがポイント