摘要:BP算法是非循環多級網絡的訓練算法,對人工神經網絡的發展起到了重大的推動作用,該文介紹了BP算法的基本原理及其缺陷,并提出了改進BP算法的方法。
關鍵詞:BP算法;人工神經網絡;改進的BP算法
1 概述
人工神經網絡(Artificial Neural Networks,ANN),是基于人類大腦的生物活動所提出的,是一個數學模型。它由眾多節點通過一定的方式互聯組成,是一個規模巨大、自適應的系統。其中有一種學習算法是誤差傳遞學習算法即BP算法。BP算法是人工智能最常用到的學習方法,從一定意義上來講,BP算法的提出,終結了多層網絡在學習訓練算法上的空白史,是在實際應用中最有效的網絡訓練方法,對ANN的應用和發展起到了決定性的作用。
BP算法是使用從輸出層得到的誤差來估算前一層的誤差,再利用該誤差估算更前一層的誤差。依次進行,就會獲得其他所有各層的估算誤差。這樣就實現了將從輸出層的得到誤差沿著與輸入信號傳送相反的方向逐級向網絡的輸入端傳遞的過程[1]。但是,BP算法也存在著不可忽視的缺陷。基于此,該文總結介紹了BP的改進方法。
2 BP算法的基本思想
2.1 BP算法的基本原理
BP算法是有監督指導的算法,它的學習訓練過程一般分為兩步:首先是輸入樣本的正向傳遞;第二步誤差的反向傳遞;其中信號正向傳遞,基本思想是樣本值從輸入層輸入,經輸入層傳入隱藏層,最后通過輸出層輸出,中間層對樣本數據進行處理操作,利用各層的權值和激活函數對數據進行操作然后在輸出層獲得輸出[2];接下來就是反向傳遞,算法得到的實際輸出值與期望目標輸出之間必然會有誤差,根據誤差的大小來決定下一步的工作。如果誤差值較小滿足訓練的精度要求,則認為在輸出層得到的值滿足要求,停止訓練;反之,則將該誤差傳遞給隱藏層進行訓練,按照梯度下降的方式,對權值和閾值進行調整,接著進行循環,直到誤差值滿足精度要求停止訓練[3]。
3 BP算法的缺陷
盡管BP算法有著顯著的優點,但是在實際應用過程中,BP算法會出現很多問題。尤其是下面的問題,對BP神經網絡更好的發展有很大影響。有的甚至會導致算法崩潰。
3.1 收斂速度的問題
BP算法在進行訓練學習時,收斂速度慢,特別是在網絡訓練達到一定的精度時,BP算法就會出現一個長時間的誤差“平原”,算法的收斂速度會下降到極慢[4]。如果盲目的加快收斂速度,則會使算法產生震蕩現象。
3.2 局部極小點問題
在一些初始權值的條件下,BP算法在訓練過程中會陷入局部極值。這是由于BP網絡采用最速下降法,誤差曲面非常復雜且分布著許多局部極值點,一旦陷入,BP算法就很難逃脫,進而會使BP網絡的訓練停止。算法可以在某處得到一個收斂值,但是并不能確定取到了誤差曲面的最小值。這樣就會使網絡難以達到事先規定的誤差精度[5]。
3.3 網絡癱瘓問題
在算法的學習訓練過程中,網絡的權值會變得很大,從而使得節點的輸入變大,這就會導致其激活函數的導函數在改點取得的值很小,接著會導致算法的訓練速度變得極低,最終會導致BP網絡停止收斂,網絡癱瘓。
3.4 步長問題
BP的收斂是建立在無窮小權修改量的基礎上,而這就意味著網絡所需要的訓練時間是無窮的,這顯然是不可取的。因此,要限定權值修改量的值。這主要是因為,如果步長太小,那么網絡的收斂速度就會下降,如果步長太大,就會使BP神經網絡產生癱瘓和振蕩。學者們經過研究提出一個較好的方法,就是用自適應的步長代替原來的定值步長,以使權值修改量隨著BP網絡的訓練而不斷變化[6]。
小編推薦同類優秀的電子類期刊 《系統管理學報》期刊論文
《系統管理學報》雜志1994年起被列為“中國科技論文統計與分析”刊源,是管理科學重要期刊。系統科學、系統工程與管理科學等學科在理論上,方法上的最新研究成果,以及實際案例分析?!?/p>
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >