レッスン
理論 — 勾配降下法と学習率
勾配降下法は、たった一つの式の反復です。どこかに立ち、傾きを測り、それに比例して下っていく。x ← x − η f′(x)。ステップサイズ η は問題の一部ではありません。損失曲線は与えられたものであり、勾配は計算によって求まるものです。η だけが、人が選ぶことのできる唯一の数値なのです。曲率 a の二次関数であれば、この計算は厳密に解くことができます。このページで二次関数を扱う理由はそこにあります。以降の学習率に関するあらゆる主張は、結局のところ 1 − ηa についての主張なのです。
各記号の意味
η- 学習率。自ら選べる唯一の数値
a- 損失の曲率。問題によって規定される値
- 前提
- 一つの変数、固定のステップサイズ、そして正確に把握された勾配。実際の訓練では、これら三つの前提がすべて同時に崩れ去ります。パラメータは数百万に上り、ステップサイズはスケジュールで変動し、勾配は小さなバッチからの推定値にすぎません。それでもなお、そのままの形で生き残るものが一つだけあります。それが 2/a という境界です。なぜなら、この境界は単一方向の曲率から導かれるものであり、現実の損失曲面であっても、各固有ベクトルに一つずつその曲率が存在するからです。
全プロセスの詳細解説
-
あなたの学習率 0.4 は上手く機能しています。これが機能しなくなる正確な曲率を見つけ、その点の両側で破綻がどのように見えるかを説明してください。 ツールを η = 0.4、a = 1、x₀ = 8 に設定して始めましょう。ステップ乗数 の行には 0.6000 と表示され、経路は片方の壁を静かに下っていきます。
-
このページのすべての問いは、r = 1 − aη としたときの |r| < 1 に関する問いです。学習率は 0.4 に固定されており、動かせるのは曲率のほうなので、η ではなく a を使って条件式を書いてみましょう。
-
|1 − 0.4a| < 1 を展開すると −1 < 1 − 0.4a < 1 となり、そこから 0 < 0.4a < 2、したがって a < 5 となります。この学習率は 5 未満のすべての曲率で生き残りますが、それを超える曲率では一つも生き残りません。これはおなじみの η < 2/a を逆から読み、a < 2/η としたものです。不等式としては同じであり、この二番目の形こそが問われた内容に答えるものとなっています。
-
きっちり a = 5 に設定して表を読んでください。r = −1.0000 となり、20 ステップ後の位置 には開始時の数値である 8.000 が表示されます。初期損失に対する割合は 1.000 です。これこそが境界そのものです。ステップごとに前回と同じだけ最小値から離れた反対側へ着地するため、この経路は放っておく限り 8 と −8 の間を永遠に行ったり来たりします。
-
ここで a = 5.1 へ少し動かしてみます。r = −1.0400 となり、二十ステップ後には x が 8 ではなく 17.529 になっています。これが実際の発散であり、それがどれほど穏やかに見えるかは注目に値します。二十回のステップで距離がだいたい二倍になっただけです。境界のすぐこちら側にある試行は、数値が明らかに不条理なものになるまでの長い間、単にノイズが多いだけのように見えることがあるのです。
-
逆方向に戻ると、a = 4.9 では依然として収束します。r = −0.9600 で |r| は 1 を下回り、表には 飛び越えつつ収束 と表示されます。しかし |x| が 10⁻⁶ を下回るまでのステップ数 は、a = 4 のときの 32 に対して、今度は 390 となっています。かろうじて安定している状態というのは、役に立たない状態に近いのです。
解答
a = 5 であり、これは 2/η です。これを下回れば学習率は収束し、この値では損失が変化せず、上回れば損失は際限なく増大します。 コストがかかるのはそこに近づく部分です。境界付近では、2/a − η の差を g と書くと |r| は 1 − a·g となるため、log|r| ≈ −a·g であり、ステップ数はおおよそ log(|x₀|/許容誤差) を a·g で割ったものになります。これは限界までの距離の逆数に比例して変化します。つまり、差を半分にすれば作業は二倍になるということです。x₀ = 8 で a = 5 に設定したとき、0.05、0.025、0.0125 の差に対してそれぞれ 56、120、247 ステップが必要となり、各ステップ数にそれぞれの差を掛けると 2.8、3.0、3.1 となって、log(8 × 10⁶)/5 = 3.18 に近づいていきます。だからこそ、調整された学習率が安定性のギリギリの端に置かれることは決してないのです。境界の手前にある最後の安全な薄い領域は、軸全体の中で最も遅い場所の一つでもあり、すべてのうちで最も速い学習率は中央の 1/a にあるものなのです。
-
学習の道すじ
データへの直線当てはめ
参考文献 (3)
- Where the method comes from. Two pages, and the idea is already complete: follow the gradient downhill in steps. A.-L. Cauchy, “Méthode générale pour la résolution des systèmes d’équations simultanées.” Comptes Rendus de l’Académie des Sciences 25, 536–538, 1847.
- The tool's central claim, in the form it takes for a real network: with a as the largest eigenvalue of the Hessian, the fastest single learning rate is 1/a and anything past 2/a diverges. This is the source for insight block 3. Y. LeCun, L. Bottou, G. B. Orr and K.-R. Müller, “Efficient BackProp.” In Neural Networks: Tricks of the Trade, Lecture Notes in Computer Science, 9–50. Springer, 1998.
- The convergence analysis behind the step count: why the work needed grows with the ratio of the largest curvature to the smallest, which is the condition number named in insight block 3. S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004.