Levenberg-Marquardt又稱萊文伯格-馬誇特方法(Levenberg–Marquardt algorithm)能提供數非線性最小化(局部最小)的數值解。
此算法能借由執行時修改參數達到結合高斯-牛頓算法以及梯度下降法的優點,並對兩者之不足作改善(比如高斯-牛頓算法之逆矩陣不存在或是初始值離局部極小值太遠)。
為什么現在的神經網絡訓練很少用到Levenberg Marquardt算法?(來自知乎)
現在的神經網絡Adam算法用的非常多,LM算法和Adam算法在性能上有什么區別?為什么在LM算法只在工程相關的文獻用的比較多?
我看到的一些文獻里幾乎都是采用Levenberg-Marquardt算法訓練NN。。。(土木領域)
Google Brain軟件工程師
Levenberg-Marquardt算法是用來解決最小二乘(least square)問題的,但是當代神經網絡里的很多常用的損失函數,比如cross entropy, 都不是二乘問題。
Levenberg Marquardt 是在矩陣的對角線上加一個weight,來解決least square 或者newton methods的時候矩陣不可逆問題的。LM針對的問題大多都是凸問題。
而神經網絡是用來解決非凸問題的(也可以解決凸問題,但這就等同於拿大炮轟蚊子,還轟不准),Adam是一個optimizer,迭代優化權重的。
LM和Adam兩者本身沒有可比性,就像豐田車和本田發動機一樣,不是一類東西。