Neural-Networks

用於神經網絡訓練的反向傳播與遺傳算法

  • April 11, 2013

我讀過幾篇討論每種方法的優缺點的論文,一些人認為 GA 在尋找最佳解決方案方面沒有任何改進,而另一些人則表明它更有效。似乎 GA 在文獻中通常是首選(儘管大多數人以某種方式對其進行修改以達到他們需要的結果),那麼為什麼大多數軟件解決方案似乎只使用反向傳播?

何時使用一種或另一種是否有一些一般的經驗法則?也許這取決於 NN 的類型,或者存在一些通常優於其他解決方案的最先進的解決方案?

如果可能的話,我正在尋找一般的答案:即“如果 NN 很大,GA 更好”,或者“GA 總是更好,但存在計算性能問題”等……

如果您仔細查看科學文獻,您會發現對比鮮明的結果。顯然,在某些情況下,遺傳算法(更一般地說,進化算法)可能會幫助您找到最佳的神經網絡設計,但通常它們有很多缺點(算法參數的調整、計算複雜性等),並且它們的使用對於現實來說是不可行的。世界應用。當然,您可以找到 GA/EA始終存在的一組問題比反向傳播更好。鑑於找到最佳 NN 設計是一個複雜的多模態優化問題,GA/EAs 可能有助於(作為元啟發式)改進使用“傳統”算法獲得的結果,例如使用 GA/EAs 僅找到初始權重配置或幫助傳統算法逃離局部最小值(如果你有興趣,我寫了一篇關於這個主題的論文)。

我在這個領域做了很多工作,我可以告訴你,有很多關於 GA/EA 的科學著作應用於 NN,因為它們是(或者更好的是,它們曾經是)一個新興的研究領域。

引用自:https://stats.stackexchange.com/questions/55887

comments powered by Disqus