L-BFGS法の更新式を導出
L-BFGS法の更新式を導出してみる。
ニュートン法の復習
最小化したい損失関数を
ただし、
詳しくは弊ブログのニュートン法の更新式を導出を参照。
BFGS法
まずBFGS法について。
セカント法 (secant method)によるヘッセ行列の近似
割線法ともいう。求根アルゴリズム(root-finding algorithm)の1種である。
関数
として
セカント法を用いて
となる。これは
とヘッセ行列
(TODO: なぜ
の更新
と表される(TODO: 要導出)。
BFGS法ではヘッセ行列を陽に求める必要はなくなったが、
LBFGS法
更新式を再帰的に展開すると、
となる。
つまりステップ数が増えるにつれメモリ使用量も増えてしまう。
そこで、全ステップではなく直近
直近
参考文献・URL
- Nocedal, Jorge. “Updating quasi-Newton matrices with limited storage.” Mathematics of computation 35.151 (1980): 773-782.
- Liu, Dong C., and Jorge Nocedal. “On the limited memory BFGS method for large scale optimization.” Mathematical programming 45.1 (1989): 503-528.
- 2.3 セカント法
- 2.7 準 Newton 法
- L-BFGS法はだからメモリが節約できるのか! - あらびき日記
- 3分でわかるL-BFGS - Kotaro’s blog