2015-11-01 69 views
0

我正在試驗神經網絡。我有8個輸入神經元,5個隱藏和2個輸出的網絡。當我讓網絡學習反向傳播時,有時會在單次迭代訓練之間產生更差的結果。原因是什麼?它不應該是實現錯誤,因爲我甚至嘗試過使用從Neural Networks for Java入門的實現,它也完全一樣。反向傳播使網絡更糟

回答

1

沒有錯。反向傳播只是一種梯度優化,梯度方法不能保證在每次迭代中使誤差更小(您確實保證存在具有這種屬性的非常小的步長/學習速率,但實際上並沒有辦法找到它);此外,您可能在每次訓練樣本後更新權重隨機,這在這個問題上更加「不穩定」(因爲您並沒有真正計算真正的梯度)。但是,如果由於這個原因,你的方法不會收斂 - 考慮適當的數據縮放比例,以及降低學習速度,並可能增加動量項。這些只是基於梯度的優化相關問題,而不是BP。