勾配降下法

大学コンピューターサイエンス厳密な勾配を用いた、2変数損失関数に対する固定ステップ幅の最適化手法

パスを使ってこの実験を利用する

パスがあれば、授業用のプレゼンテーションモードを含む、サイト上のすべてのシミュレーションを利用できます。以下の指導用ノートは、どなたでも無料でご覧いただけます。

一度限りのお支払いで、サブスクリプションはありません。

この実験について

ニューラルネットワークの学習とは、損失曲面を下っていくことです。勾配降下法は、勾配と反対の方向へ、学習率に応じた大きさの一歩を踏み出します。この単純なルールには、さまざまな挙動が隠れています。歩幅が小さすぎると進みが遅く、大きすぎると振動したり発散したりします。細長い谷ではジグザグに進み、局所最小値から抜け出せなくなることもあります。曲面を選び、開始点をクリックして、通常の勾配降下法、モーメンタム、Adamを、マップと損失曲線上で一歩ずつ比較してみましょう。

学習目標

  • 勾配降下法の更新式を書き、学習率の役割を説明する
  • 二次損失に対する安定限界 η < 2/λ_max を導出し、検証する
  • 悪条件の谷で勾配降下法がジグザグに進む理由と、モーメンタムがどう役立つかを説明する
  • Adamが勾配の移動平均を使って各座標のスケールをどのように調整するかを説明する
  • 大域最小値ではなく局所最小値に収束していることを見分ける

使い方

  1. 1勾配降下法で「丸い谷」を選びます。学習率を 0.1、1、2.1 にして試し、3つの経路を説明してください。
  2. 2「狭い谷」を選びます。収束する最大の学習率を見つけ、スライダーの下に表示されている安定限界と比較してください。
  3. 3「狭い谷」で η を 0.05 に設定します。損失が 1e-6 に達するまでに勾配降下法が必要とするステップ数を数え、次に Momentum に切り替えて β = 0.9 にし、もう一度数えてください。
  4. 4「バナナ谷」(Rosenbrock 関数)を選びます。300ステップ後の勾配降下法、Momentum、Adam を比較してください。
  5. 5「2つの極小値」を選びます。デフォルトの開始点から勾配降下法を実行すると、右側の浅い谷で止まります。尾根の両側に開始点を置いて、どの点から深い谷に到達するか確認してください。
  6. 6デフォルトの開始点に戻り、Momentum に切り替えて β = 0.9、η = 0.1 に設定します。経路が尾根を越えるのはなぜでしょうか?

モデル

学習率 η の勾配降下法
重い球の運動量法:速度が過去の勾配を記憶する
Adam:座標ごとにバイアス補正済みの平均を使い、β₂ = 0.999
ヘッセ行列の固有値が λᵢ である二次関数では、各方向は1ステップごとに 1 − ηλᵢ の係数で縮小します。

前提条件

  • 勾配は正確なものです。実際の学習ではミニバッチから勾配を推定するため、ノイズが加わります(確率的勾配降下法)。
  • 損失曲面は、固定された2変数関数です。丸いボウル ½(x² + y²)、細い谷 ½(0.5x² + 5y²)、Rosenbrock 関数 (1 − x)² + 10(y − x²)²、そして傾いた二重井戸型です。
  • すべての実行は、学習率を固定して300ステップ後に停止します。学習率スケジュールはありません。
  • 実行は決定論的です。同じ初期値と設定なら、常に同じ経路になります。

授業で試してみましょう

  1. Q1細い谷では、安定性の限界は急な方向によって決まりますが、進み具合は緩やかな方向によって制限されます。係数 1 − ηλ を使って説明してください。
  2. Q2各ステップで同じ勾配を使うのに、なぜモメンタムはより速く収束できるのでしょうか?
  3. Q3Adam は、曲面の急峻さにかかわらず、およそ η の大きさのステップを取ります。これはどのような場合に利点となり、どのような場合に問題となるでしょうか?
  4. Q4ニューラルネットワークの損失関数は数百万もの次元を持ちます。局所最小値と鞍点のうち、どちらがより大きな障害になると思いますか?その理由は何ですか?
  5. Q5初期の速い進歩と精度の高い収束を両立できる学習率スケジュールを提案してください。

よくある質問

学習率が大きすぎると、なぜ損失が増加するのですか?

各ステップで谷底を通り越し、反対側の斜面のより高い位置に着地します。二次関数では、オーバーシュートのたびに距離が |1 − ηλ| 倍になります。η が 2/λ より大きいと、この倍率は 1 を超えます。

狭い谷でモメンタムはどのような働きをしますか?

谷を横切るジグザグ方向の勾配は互いに逆向きなので、蓄積される速度の中で打ち消し合います。一方、谷に沿う小さな勾配はすべて同じ方向を向いているため、加算されます。その結果、進路はまっすぐになり、谷底に沿って速く進むようになります。

Adam は常に勾配降下法より優れているのでしょうか?

いいえ。Adamは堅牢で調整の手間が少ないため、ネットワークの学習によく使われます。ただし、単純で条件の良い問題では、通常の勾配降下法やモメンタム法のほうが速く収束したり、より良い解に到達したりすることがあります。