深度學習為什麼不用二階優化

2021-09-25 02:21:09 字數 296 閱讀 1124

a. 牛頓法使用的是目標函式的二階導數,在高維情況下這個矩陣非常大,計算和儲存都是問題。

b. 在小批量的情況下,牛頓法對於二階導數的估計雜訊太大。

c.目標函式非凸的時候,牛頓法容易受到鞍點或者最大值點的吸引。

最大的問題就是計算複雜度。二階一次迭代更新的複雜度是n*n,這在高維的時候是不可行的

穩定性。越簡單的東西往往越robust,對於優化演算法也是這樣。

二階求導不易

二階方法能夠更快地求得更高精度的解,但是在神經網路這類深層模型中,不高的精度對模型還有益處,能夠提高模型的泛化能力。

牛頓法為什麼是二階的

查了很多地方說牛頓法是二階演算法,一直沒找到二階項在哪。花了大半天的時間才弄明白。記錄一下。牛頓法一般應用場景 求方程的根 求解最優化方法 比如要求f x 0f x 0 f x 0 的根。首先,選擇乙個接近函式 f x f x f x 零點的 x 0x 0 x0 計算相應的 f x 0 f x 0 ...

C 深度解析 17 二階構造模式

1.建構函式的回顧 2.面試題 2.在建構函式中執行return語句會發生什麼?3.建構函式執行結束是否意味著物件構造成功?includeclass test int geti int getj int status int main getchar return 0 3.你該知道的真相真相的意義 ...

C 深度解析 17 二階構造模式

2 二階構造 3 小結 首先我們思考乙個問題?在建構函式中執行 return 語句會發生什麼?建構函式執行結束是否意味著物件構造成功?程式設計實驗 異常的建構函式 17 1.cpp include class test intgetx intgety private int x int y intm...