崔麗杰
摘 要:首先介紹BP神經網絡的特點,論述其在巖土工程中的實用性,以Matlab神經網絡的作為工具,基于觸探模型作為研究對象,對不同的訓練函數進行了仿真比較,建立黃土旋轉觸探模型,以所采集的實驗參數,進行BP神經網絡的訓練函數研究。結果表明采用不同的訓練函數其存在明顯的差異。綜合考慮干密度誤差,含水量誤差,干密度誤差(樣本順序),含水量誤差(樣本順序)以及迭代次數和性能誤差等因素,選用trainlm作為訓練函數,trainlm函數由于其訓練速度較快且計算精度較高而顯現出一定的優勢。最后采用不同的訓練函數對網絡進行訓練,進行總結其優缺點。
關鍵詞:BP網絡 旋轉觸探儀 神經網絡預測 訓練函數
中圖分類號:TP751 文獻標識碼:A 文章編號:1674-098X(2014)12(c)-0004-02
隨著計算機技術的快速發展,人工神經網絡在數學﹑物理﹑工程﹑巖土等行業得到廣泛應用。Matlab軟件提供了神經網絡的工具箱,提供了多種神經網絡庫函數,為數值計算提供了計算平臺。巖土工程問題的復雜多變性,在運用神經網絡分析和預測時,其結果往往受各種因素的影響,關鍵還是網絡結構的構建和訓練函數的選取。因此,應該對網絡的訓練函數的選取進行深入研究。
該文在大量的旋轉觸探試驗的基礎上,結合土的物理性質指標含水量、干密度,土的強度參數粘聚力和內摩擦角,以及埋深情況,建立土的旋轉觸探模型,建立BP神經網絡,采用不同的訓練函數對網絡進行訓練。
1 BP神經網絡
BP網絡是一種單向傳播的多層前向網絡,具有三層或三層以上的神經網絡,包括輸入層、中間層(隱層)和輸出層。在人工神經網絡的實際應用中,BP網絡廣泛應用于函數逼近、模式識別/分類、數據壓縮等,人工神經網絡模型采用BP網絡或它的變化形式,它是前饋網絡的核心部分,體現了人工神經網絡最精華的部分。BP算法的基本思想[1]是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出不符,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。這種信號正向傳播與誤差反向傳播的各層權值調整過程,是周而復始地進行的。權值不斷調整的過程,也是網絡的學習訓練過程。此過程一直進行到網絡輸出的誤差減少到可以接受的程度,或進行到預先設定的學習次數為止。
2 BP神經網絡的訓練函數
BP神經網絡中的訓練算法函數是根據BP網絡格式的輸入、期望輸出,由函數newff 建立網絡對象,對生成的BP 網絡進行計算,修正權值和閾值,最終達到BP網絡的設計性能,從而完成網絡的訓練和預測。BP 神經網絡幾種主要的訓練函數及其特點分述如下[2]。
(1)traingda、trainrp函數和trainlm函數。
traingda函數是最基本的自適應學習步長函數,其最大優點可以根據誤差容限的性能要求調節函數,彌補標準BP算法中的步長選擇不當問題。trainrp函數可以消除偏導數的大小權值帶來的影響,只考慮導數符號引來的權更新方向,忽略導數大小帶來的影響。trainlm函數。該函數學習速度較快,但占用內存很大,從理論上來說適用于中等規模的網絡。
(2)共軛梯度算法:traincgf函數、traincgp函數、traincgb 函數、trainscg函數。
共軛梯度算法是介于最速下降法與牛頓法之間的一個方法,其利用一階導數信息,但克服了最速下降法收斂慢的缺點,又避免了牛頓法需要存儲和計算Hesse矩陣并求逆的缺點。上述四種共軛梯度算法前三種收斂速度比梯度下降快很多,其需要線性搜索,對于不同的問題會產生不同的收斂速度。而第四種不需要線性搜索,其需要較多的迭代次數,但是每次迭代所需計算量很小。
(3)Newton算法:trainbfg函數、trainoss函數。
trainbfg 算法的迭代次數較少,由于每步迭代都要Hessian矩陣,其每次迭代計算量和存儲量都很大,適合小型網絡。Trainoss為一步割線算法。它是介于共軛梯度法和擬牛頓算法的方法,其需要的存儲和計算量都比trainbfg要小,比共軛梯度法略大。
上述各算法由于采用的訓練函數不同,其計算速度、收斂速度及其迭代次數不盡相同,并且對內存要求依研究對象的復雜程度、訓練集大小、網絡的大小及誤差容限的要求等存在差異。在運用BP網絡解決相關工程性問題時,需要選擇合理的訓練函數。
3 網絡訓練函數的選取
該文著重研究BP神經網絡的訓練函數的選擇,所用數據樣本均來自于實踐中用新型微機控制旋轉觸探儀采集到的數據,經過歸一化處理建立了網絡的樣本數據庫,根據訓練函數的特點選擇其隱含層數為2。文選擇非線性函數為Sigmoid,輸出層的傳遞函數為Purelin,可以用來模擬任何的函數(必須連續有界)。
采用不同的訓練函數對網絡的性能也有影響,比如收斂速度等等,下面采用不同的訓練函數(trainbr、traingd、traingdm、traingdx、traincgf、trainlm、trainb)對網絡進行訓練,并觀察其結果,如表1所示。
對比可知,trainlm訓練函數的收斂效果較好,trainbr、trainlm訓練函數得到的絕對誤差相對較小,其它訓練函數的收斂性能較差。trainbr訓練樣本的絕對誤差比trainlm訓練函數的絕對誤差小,且分布比較均勻,但是trainbr訓練函數的收斂精度卻相對較差,這可能是出現局部最優化的問題,通過測試樣本的進一步分析如表2所示,trainbr訓練以后的網絡對于預測樣本的預測精度較低,偏差較大,進一步驗證了該訓練函數在訓練過程中訓練收斂精度相對較差,并出現局部最優化[3]。
綜合考慮,可以看到trainlm訓練函數具有訓練速度快且預測精度高的特點,所以本文中選用trainlm作為訓練函數。
4 結論
該文以Matlab神經網絡的作為工具,基于觸探模型作為研究對象,對不同的訓練函數進行了仿真比較,結果表明采用不同的訓練函數其存在明顯的差異。綜合考慮干密度誤差,含水量誤差,干密度誤差(樣本順序),含水量誤差(樣本順序)以及迭代次數和性能誤差等因素,選用trainlm作為訓練函數,trainlm函數由于其訓練速度較快且計算精度較高而顯現出一定的優勢。
參考文獻
[1] 葛哲學,孫志強.神經網絡理論與MATLAB R2007實現[M].電子工業出版社,2007.
[2] 施彥,韓立群,廉小親.神經網絡設計方法與實例分析[M].北京郵電大學出版社,2009.
[3] 陳維家,汪火旺.靜力觸探中土層界面效應試驗研究[J].水文地質工程地質, 2003(2):25-27.endprint