Newton法

Newton法

執筆済 最適化勾配法Newton法

二階の情報を使い、二次近似の最小点へ直接飛ぶ手法。

xk+1=xk−H(xk)−1∇f(xk)

H がヘッセ行列。

なぜ速いのか#

f をテイラー展開して二次までで打ち切る。

f(xk+d)≈f(xk)+∇f⊤d+12d⊤Hd

この二次関数を厳密に最小化する d が −H−1∇f。 つまり曲がり具合まで考えて一気に底へ行く。 解の近くでは二次収束し、正しい桁数が反復ごとに倍になる。

勾配降下法がジグザグする原因は 座標のスケール差だったが、Newton 法は H−1 を掛けることで 実質的に座標系を正規化している。だから条件数の影響を受けない。

実用上の問題#

問題 対処
H の計算が 𝒪(n2)、逆行列が 𝒪(n3) 準 Newton 法で近似
H が正定値でないと下る方向にならない 修正 Newton 法(H+λI とする)
遠方では二次近似が当てにならない 直線探索、信頼領域法

深層学習でほとんど使われないのは、パラメータ数 n が 数百万〜数十億で H を持てないため。

方程式を解く Newton 法#

g(x)=0 を解くNewton 法と同じもの。 最適化は ∇f(x)=0 を解くことなので、 g=∇f、g′=H と置き換えれば一致する。

参考文献#

ノート一覧を閉じる