なぜ適切な学習率の設定が必要なのか理論から考える
非常に重要だから時間を割きたい
わからない点があれば体系的に学習する
一旦粒度を粗く理解した方が良さそう
全体像を把握してからの方が理解が早いはず
実装を通して理解を得る
その後,理論的な地平に戻ってくれば良い
その間に数学の勉強も進めよう
無視できる程度の極小な変化を起こすよう,適切な学習率の設定が必要?
エネルギー関連の話だったか?
この辺りの話をどこかでカバーしていないかな
確かSGDの話だった
統計的な性質を保証するには極小な変化でなければならない,みたいな話
ミニバッチで並行して勾配降下を行う
この時に空間的に影響が出るので,パラメータの変化を極小に,つまり学習率を適切に設定する必要がある
統計とかで,何らかの分布の範疇に収めるために変化が極小でないといけないと理解している
一旦雑に理解した
厳密にどういう議論があるかは分かってない
学習率はそもそも何かの近似らしい
損失関数を勾配降下ほうで最小化することを考える
この時,損失関数は二次関数で近似
あとで読んでまとめる > テイラー展開と二次近似
線形探索は計算コストが重い
損失関数を最小化する$ \etaを探索するのは大変
学習率$ \etaとして定数を設定して計算を簡略化
1. テイラー展開と二次近似:
損失関数 $L(w)$ を現在のパラメータ $w_t$ の周りでテイラー展開することを考えます。簡単のため、1次元のパラメータ $w$ を仮定すると、
$ L(w) \approx L(w_t) + L'(w_t)(w - w_t) + \frac{1}{2} L''(w_t)(w - w_t)^2
ここで、$ w - w_t = \Delta w とおくと、
$ L(w_t + \Delta w) \approx L(w_t) + L'(w_t)\Delta w + \frac{1}{2} L''(w_t)(\Delta w)^2
この近似式で $L(w_t + \Delta w)$ を最小化する $\Delta w$ を探すと、$\frac{\partial L}{\partial (\Delta w)} = 0$ から、
$$L'(w_t) + L''(w_t)\Delta w = 0 \implies \Delta w = - \frac{L'(w_t)}{L''(w_t)}$$
これはニュートン法の更新式に近い形です。勾配降下法は、この二次項の係数 $L''(w_t)$ を定数 $\frac{1}{\eta}$ で近似していると解釈できます。つまり、
$$\Delta w = - \eta L'(w_t)$$
このように、勾配降下法は損失関数を二次関数で近似し、その近似関数の勾配の方向に進むことで最適化を図っている、と考えることができます。学習率 $\eta$ は、この二次近似の「曲率」に関する情報(ヘッセ行列の逆数)を単純な定数で置き換えているため、最適な学習率はこの二次曲面の形状に依存することになります。