A. bp神經網路的缺點
1)局部極小化問題:從數學角度看,傳統的BP神經網路為一種局部搜索的優化方法,它要解決的是一個復雜非線性化問題,網路的權值是通過沿局部改善的方向逐漸進行調整的,這樣會使演算法陷入局部極值,權值收斂到局部極小點,從而導致網路訓練失敗。加上BP神經網路對初始網路權重非常敏感,以不同的權重初始化網路,其往往會收斂於不同的局部極小,這也是很多學者每次訓練得到不同結果的根本原因。
2)BP神經網路演算法的收斂速度慢:由於BP神經網路演算法本質上為梯度下降法,它所要優化的目標函數是非常復雜的,因此,必然會出現「鋸齒形現象」,這使得BP演算法低效;又由於優化的目標函數很復雜,它必然會在神經元輸出接近0或1的情況下,出現一些平坦區,在這些區域內,權值誤差改變很小,使訓練過程幾乎停頓。
3)BP神經網路結構選擇不一:BP神經網路結構的選擇至今尚無一種統一而完整的理論指導,一般只能由經驗選定。網路結構選擇過大,訓練中效率不高,可能出現過擬合現象,造成網路性能低,容錯性下降,若選擇過小,則又會造成網路可能不收斂。而網路的結構直接影響網路的逼近能力及推廣性質。因此,應用中如何選擇合適的網路結構是一個重要的問題。
4)應用實例與網路規模的矛盾問題:BP神經網路難以解決應用問題的實例規模和網路規模間的矛盾問題,其涉及到網路容量的可能性與可行性的關系問題,即學習復雜性問題。
5)BP神經網路預測能力和訓練能力的矛盾問題:預測能力也稱泛化能力或者推廣能力,而訓練能力也稱逼近能力或者學習能力。一般情況下,訓練能力差時,預測能力也差。
B. bp神經網路收斂問題
當然是越慢。因為已經接近最低點,訓練也進入誤差曲面的平坦區,每次搜索的誤差下降速度是減慢的。這一點可以在BP神經網路的誤差調整公式上看出。
事實上收斂速度逐漸減慢,這是正常的,如果一定要避免這種情況,可以自適應改變學習率。
由於傳統BP演算法的學習速率是固定的,因此網路的收斂速度慢,需要較長的訓練時間。對於一些復雜問題,BP演算法需要的訓練時間可能非常長,這主要是由於學習速率太小造成的,可採用變化的學習速率或自適應的學習速率加以改進。
BP演算法可以使權值收斂到某個值,但並不保證其為誤差平面的全局最小值,這是因為採用梯度下降法可能產生一個局部最小值。對於這個問題,可以採用附加動量法來解決。