我想了解用於人工神經網絡的誤差反向傳播算法。神經網絡反向傳播
據我所知,每個神經元都有一個sigmoid函數的結果作爲輸出,該函數將每個權重/輸入對的乘積與「偏差」值的和作爲參數。
一旦計算出網絡的總誤差,就可以使用相對於各種權重的誤差導數來找到誤差函數的「局部最小值」。這些應該是錯誤最小的權重。
但是,導數爲零的點在理論上也可以是局部最大值......我該如何解決這個問題?
乾杯:)
我想了解用於人工神經網絡的誤差反向傳播算法。神經網絡反向傳播
據我所知,每個神經元都有一個sigmoid函數的結果作爲輸出,該函數將每個權重/輸入對的乘積與「偏差」值的和作爲參數。
一旦計算出網絡的總誤差,就可以使用相對於各種權重的誤差導數來找到誤差函數的「局部最小值」。這些應該是錯誤最小的權重。
但是,導數爲零的點在理論上也可以是局部最大值......我該如何解決這個問題?
乾杯:)
神經網絡本身無法從當地最低不出問題。 所以我們需要額外的技術。
減少局部最小問題的一個簡單方法是使用動量。 (但是,這不是聖盃) 更新權重使用歷史移動的三角洲(如移動平均)將是有用的。如果在特定時期,增量爲-1,但最近的增量歷史爲+1,+ 2,+ 4,+ 2。 我們定義了MA大小5.那麼這個時期的實際增量將是(+1 +2 +4 +2 -1)/ 5 = +1.6也許,如果你使用指數衰減函數來移動窗口重量,這種動量方法顯示出更多改進的結果。
乾杯....... :) – pinkpanther
有各種方法可以減少局部最小問題。 [這裏](http://www.paper.edu.cn/scholar/downpaper/lvjiancheng114141-201110-3)是一篇可以幫助的論文。 – user1961213