L-BFGS法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/05 06:44 UTC 版)
![]() | この項目「L-BFGS法」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:en: Limited-memory BFGS) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2022年11月) |
記憶制限BFGS法(きおくせいげんBFGSほう)またはL-BFGS法(英: Limited-memory BFGS method)とは、準ニュートン法に分類される最適化アルゴリズムであり、BFGS法をより小さな記憶容量を用いて近似的に実行する[1]。機械学習におけるパラメーター推定に広く用いられる[2][3]。L-BFGS法が解く対象は、実数ベクトルxの関数f(x)の非制約最適化問題である。
元になったBFGS法と同様、L-BFGS法は逆ヘッセ行列の推定値を使用して変数空間を探索するが、BFGS法では逆ヘッセ行列の近似値をn×n密行列(nは対象問題の変数の数)として記憶するのに対し、L-BFGS法では少数のベクトルのみを記憶し逆ヘッセ行列の近似値はこれらにより暗黙的に表現される。結果としてメモリ使用量のスケーリングは問題サイズの2乗から1乗ヘ低下するため、多くの変数が関わる最適化問題に特に適する。L-BFGS法では逆ヘッセ行列Hkの代わりに、位置xと勾配∇f(x)の過去m回の更新の履歴を記憶する(多くの場合m < 10)。これらの情報から、Hkとのベクトル積を必要とする操作を暗黙的に実行する。
アルゴリズム
L-BFGS法は、所与の初期推定x0から、反復的により良い推定値x1, x2, …を算出する。目的関数の微分値gk := ∇f(xk)を降下の方向の算出だけでなく、ヘッセ行列(2次微分)の推定値の更新にも用いる。
L-BFGS法は他の準ニュートン法アルゴリズムと多くの部分は共通だが、行列とベクトルの乗算dk = −Hkgkの実行方法が大きく異なる。ここで、dkはニュートン方向の近似値、gkは現在の勾配であり、Hkはヘッセ行列の逆行列である。これまでの履歴を使用してこの方向ベクトルを算出する複数のアプローチが発表されているが、ここでは、「2ループ再帰」と呼ばれる一般的なアプローチを示す[4][5]。
k回目の反復における位置xkおよび勾配gk ≡ ∇f(xk)を所与とする。また、すべてのベクトルは列ベクトルとし、直近m回の更新履歴を次の形式で記憶していることを仮定する。
Optimization computes maxima and minima.
一般 | |
---|---|
微分可能 |
|
凸縮小化 | |||||||
---|---|---|---|---|---|---|---|
線形 および 二次 |
|
系列範例 (Paradigms) | |||||
---|---|---|---|---|---|
グラフ理論 |
| ||||
ネットワークフロー (最大流問題) |
|