Neural-Networks
在神經網絡中,為什麼使用梯度方法而不是其他元啟發式方法?
在訓練深度和淺層神經網絡時,為什麼通常使用梯度方法(例如梯度下降、Nesterov、Newton-Raphson),而不是其他元啟發式方法?
我所說的元啟發式是指模擬退火、蟻群優化等方法,這些方法是為了避免陷入局部最小值而開發的。
擴展@Dikran Marsupial 的答案….
紐約大學 Yan LeCunn 小組的 Anna Choromanska 和她的同事在他們 2014 年的 AISTATS 論文“多層網絡的損失面”中解決了這個問題。他們使用隨機矩陣理論以及一些實驗,認為:
- 對於大型網絡,大多數局部最小值是等效的,並且在測試集上產生相似的性能。
- 對於小型網絡,找到“壞”(高值)局部最小值的概率不為零,並且隨著網絡規模的增大而迅速降低。
- 努力在訓練集上找到全局最小值(而不是許多好的局部最小值之一)在實踐中沒有用,並且可能導致過度擬合。
[來自論文的第 2 頁]
根據這種觀點,沒有充分的理由部署重量級方法來尋找全局最小值。那段時間最好花在嘗試新的網絡拓撲、功能、數據集等上。
也就是說,很多人都考慮過增加或替換 SGD。對於相當小的網絡(按照當代標準),這些改進的元數據似乎確實起到了一些作用,Mavrovouniotis 和 Yang (2016)表明,蟻群優化 + 反向傳播在幾個基準數據集上擊敗了未修改的反向傳播(儘管幅度不大)。雷雷艾爾。(2015)使用模擬退火來訓練 CNN,並發現它最初在驗證集上表現更好。然而,在 10 個 epoch 之後,性能上只剩下非常小的(且未經測試的顯著性)差異。每個時期更快的收斂優勢也被每個時期顯著增加的計算時間所抵消,因此這對於模擬退火來說並不是一個明顯的勝利。
這些啟發式方法可能在初始化網絡方面做得更好,一旦它指向正確的路徑,任何優化器都可以。Sutskever 等人。Geoff Hinton 小組的(2013 年)在他們2013 年的 ICML 論文中提出了類似的觀點。