- 1
- 2
- 3
- 4
- 5
- 6

BP神經(jīng)網(wǎng)絡(luò)在靜態(tài)汽車衡軸自動識別中的應(yīng)用
BP神經(jīng)網(wǎng)絡(luò)在靜態(tài)汽車衡軸自動識別中的應(yīng)用
上海香川電子衡器有限公司
【摘 要】 本文主要探討BP神經(jīng)網(wǎng)絡(luò)在靜態(tài)汽車衡軸自動識別中的應(yīng)用。其方法是利
用最小二乘法對車輛的重量數(shù)據(jù)進行擬合,設(shè)計了一種合適的BP神經(jīng)網(wǎng)絡(luò)模型,用
Matlab編寫模型程序,利用車輛速度與車輛上稱重量建立模型。BP神經(jīng)網(wǎng)絡(luò)在靜態(tài)汽車
衡軸自動識別的預(yù)測中取得了很好的效果。BP神經(jīng)網(wǎng)絡(luò)在靜態(tài)汽車衡軸自動識別中有良
好的應(yīng)用前景。
引言:
靜態(tài)汽車衡軸自動識別是指汽車在稱重的過程中不借助外加的軸識別器,只通過對汽車
本身的上秤的重量信息進行研究,得出汽車的準(zhǔn)確軸數(shù),其一直以來被作為靜態(tài)汽車衡
稱重領(lǐng)域的一個課題被人們所研究。但是由于現(xiàn)場及汽車自身的諸多因素所影響,軸識
別率一直不能達到一個讓人滿意的結(jié)果。近年來,隨著科學(xué)技術(shù)的發(fā)展,各種數(shù)據(jù)處理
方法應(yīng)運而生,用神經(jīng)網(wǎng)絡(luò)去進行靜態(tài)汽車衡軸自動識別的方法引人注目,它有著傳統(tǒng)
處理方法無法比擬的適應(yīng)性、容錯性及自組織性等優(yōu)點,特別是用傳統(tǒng)處理方法效果不
好或不能達到目的時,采用BP神經(jīng)網(wǎng)絡(luò)往往能收到較好的效果。本文論述了采用BP神
經(jīng)網(wǎng)絡(luò)算法實現(xiàn)靜態(tài)汽車衡軸自動識別的建模,通過最小二乘法與LM算法使BP神經(jīng)網(wǎng)
絡(luò)算法在靜態(tài)汽車衡軸自動識別應(yīng)用中軸識別準(zhǔn)確率達到99%以上。
1 BP神經(jīng)網(wǎng)絡(luò)原理與理論分析
BP(Back Propagation)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目
前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)
系,而無需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。它的學(xué)習(xí)規(guī)則是使用最速下降法,
通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。
在靜態(tài)汽車衡稱重的過程中,對軸識別率產(chǎn)生影響的兩個最大的因素就是車速與車
重,因為靜態(tài)秤的特性就使得其稱重精度很高,通過對稱重傳感器的處理,我們可以很
精確的知道車輛上秤的重量;在靜態(tài)稱重的過程中,車輛正常行駛上秤過程我們可以認
為其是一個勻速上秤過程,那通過稱重儀表的AD采集速率與秤自身的有效長度,我們
可以計算出其車速。我們把車速與動態(tài)車重作為輸入層,把車軸與車重作為輸出層就可
以構(gòu)建一個二個節(jié)點的輸入層和兩個節(jié)點的輸出層的多層神經(jīng)網(wǎng)絡(luò)模型。
2 BP網(wǎng)絡(luò)在靜態(tài)汽車衡軸自動識別中的建模過程
BP神經(jīng)網(wǎng)絡(luò)建模的基本流程如圖1所示:首先收集靜態(tài)汽車衡產(chǎn)生汽車軸數(shù)與軸
重的主要影響因素及正確的軸數(shù)與軸重結(jié)果;然后把影響因素及正確的軸數(shù)與軸重結(jié)果
輸入到設(shè)計好神經(jīng)網(wǎng)絡(luò)模型中進行反復(fù)訓(xùn)練,直到網(wǎng)絡(luò)收斂(即達到預(yù)期的訓(xùn)練誤差),
在訓(xùn)練過程中可適當(dāng)采用一定的技巧使網(wǎng)絡(luò)的訓(xùn)練速度最快、誤差最小、模型最優(yōu);最
后用建立好的模型對車軸與軸重進行預(yù)測。下面具體探討網(wǎng)絡(luò)模型的設(shè)計要點。
2.1 確定訓(xùn)練樣本
從理論上講,訓(xùn)練樣本集的容量越大,訓(xùn)練后神經(jīng)網(wǎng)絡(luò)的診斷準(zhǔn)確率就有可能提高,
但會造成訓(xùn)練速度偏慢。由于訓(xùn)練樣本集內(nèi)可能含有信息重復(fù)的冗余樣本,將這些冗余
樣本剔除后也不會影響診斷準(zhǔn)確率,這樣可用較小的典型訓(xùn)練樣本集獲取較高的診斷準(zhǔn)
確率。
2.2 變量值的歸一化處理
歸一化處理的目的是把變量值歸一到區(qū)間[-1,1]內(nèi),主要是因為BP網(wǎng)絡(luò)中非線
性傳遞函數(shù)的值域一般在區(qū)間[-1,1]內(nèi),因此輸入及輸出變量的取值都限于這個區(qū)間
之內(nèi)。二是為了使輸入值(特別是那些比較大的輸入值)均落在Sigmoid傳遞函數(shù)變化
較大的區(qū)間,使網(wǎng)絡(luò)的訓(xùn)練速度最快,改善網(wǎng)絡(luò)的性能。
2.3 BP網(wǎng)絡(luò)的初始化
開始訓(xùn)練時,首先進行參數(shù)的初始化,主要是對最大訓(xùn)練次數(shù)、訓(xùn)練精度、隱節(jié)點
數(shù)、初始權(quán)值、閾值及速率進行初始化。網(wǎng)絡(luò)的初始權(quán)值一般取[-1,1]之間的隨機
數(shù),這樣可保證每個神經(jīng)元的權(quán)值都能夠在 型傳遞函數(shù)變化梯度最大的地方進行調(diào)節(jié)。
2.4 輸入與輸出層的設(shè)計
輸入輸出層主要是接收數(shù)據(jù)以及給出最后需要的處理結(jié)果。在網(wǎng)絡(luò)建設(shè)之前必須要
明確輸入輸出層以及它們之間的聯(lián)系,對于三層BP神經(jīng)網(wǎng)絡(luò)來說,輸入層僅設(shè)一層,
輸入神經(jīng)元的個數(shù)與輸入變量的個數(shù)相同。輸出層也僅有一層,輸出層神經(jīng)元的個數(shù)與
所希望得出的預(yù)測變量數(shù)目相等。
2.5 隱含層數(shù)以及隱含層節(jié)點的設(shè)計
在設(shè)計多層神經(jīng)網(wǎng)絡(luò)時,要考慮到采用幾個隱含層及各層隱含節(jié)點的個數(shù),一般來
說,增加隱含層可增加BP神經(jīng)網(wǎng)絡(luò)的處理能力,但是會引起訓(xùn)練的復(fù)雜化及訓(xùn)練時間
加長。通用的選取隱含層及其節(jié)點的規(guī)則是:對于任意問題首先只使用一個隱含層及少
數(shù)的隱層節(jié)點,然后不斷增加隱含層節(jié)點數(shù),直到得到滿意的結(jié)果為止。最后再考慮增
加隱含層。
2.6 信息反饋
當(dāng)輸出的結(jié)果不正確時,通過修正權(quán)值與閾值,直到其誤差減少到最小。
2.7 模型確認
模型確認后,輸入未知參數(shù),對已建立模型進行確認,得出結(jié)果。
3 靜態(tài)汽車衡軸自動識別的神經(jīng)網(wǎng)絡(luò)模型
3.1 BP神經(jīng)網(wǎng)絡(luò)模型建立
由于我們所研究的基礎(chǔ)為靜態(tài)汽車衡,在車速為40km/h的情況下,其對于車輛的
稱重要求能夠完全滿足要求,所以我們主要是對車軸進行了分析。只要是把車軸準(zhǔn)確率
能夠保證,那么就可以準(zhǔn)確得出車輛的軸重以及車輛的總重。
BP神經(jīng)網(wǎng)絡(luò)算法對靜態(tài)汽車衡數(shù)據(jù)
處理的原理是:構(gòu)建一個二個節(jié)點(汽車
車速V與實時車重W1)的輸入層和兩個
節(jié)點(車軸Axle與車重W2)的輸出層的
多層神經(jīng)網(wǎng)絡(luò)模型。通過實驗獲得的樣本
數(shù)據(jù),在MATLAB上通過多次訓(xùn)練構(gòu)建
的雙輸入雙輸出神經(jīng)網(wǎng)絡(luò)。如果泛化的結(jié)
果達到系統(tǒng)的誤差要求,則輸出各隱層和
輸出層的權(quán)值和閾值,然后可以利用訓(xùn)練
好的網(wǎng)絡(luò)參數(shù),根據(jù)測得的任意速度和動
態(tài)車重,得出當(dāng)前精確的車軸與車重。
V與w1為測得的汽車行駛速度和動態(tài)車重;Axle與w2為輸出的車軸與車重;
輸入層與隱層之間的權(quán)值為wij,閾值i與j;隱層與輸出層之間的權(quán)值為wjk,閾值為j與k;
隱層選用雙曲正切型函數(shù)tansig,函數(shù)原形為:112)()2(.
+=.xexf
輸出層的神經(jīng)元則采用線性傳遞函數(shù)purelin,函數(shù)原形為=)(xfx;
則隱層節(jié)點的輸出為:j=1,2,……j;網(wǎng)絡(luò)訓(xùn)練的函數(shù)設(shè)定為trainlm。 )(
20iiijxwfWjΣ==
3.2 樣本獲取及訓(xùn)練
本實驗是在靜態(tài)汽車衡的平臺上,共采用了2~12軸共12種不同車型的車輛,加
載不同的重量分別在不同的速度下(5~40km/h)進行分組試驗。在車輛重量信息輸入
之前,我們采用了最小二乘法對車輛的重量數(shù)據(jù)進行擬合,對數(shù)據(jù)進行了一次濾波處理,
設(shè)計合適的神經(jīng)網(wǎng)絡(luò)參數(shù)。輸入神經(jīng)元2個,單層隱含層,隱含層神經(jīng)元數(shù)目4~13個
之間,通過靈敏度修剪算法確定隱含層的最佳神經(jīng)元個數(shù),輸出層神經(jīng)元個數(shù)為2;訓(xùn)
練, 次數(shù)1000次,訓(xùn)練目標(biāo)0.01;隱含層采用 型正切函數(shù)tansig,輸出層采用線性傳遞
函數(shù)purelin,網(wǎng)絡(luò)訓(xùn)練的函數(shù)設(shè)定為trainlm。通過反復(fù)訓(xùn)練發(fā)現(xiàn),當(dāng)隱含層神經(jīng)元個數(shù)
為6時,網(wǎng)絡(luò)的訓(xùn)練速度最快,僅需要6次訓(xùn)練便達到到了預(yù)期的訓(xùn)練誤差,訓(xùn)練的速
度也比均勻,網(wǎng)絡(luò)振蕩最小。
4 結(jié)束語
我們把上述訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)模型進行考核,把我們的產(chǎn)品投入到陜西30多個
超限站進行試驗,從客戶中拿到的總計約有10萬組數(shù)據(jù)進行統(tǒng)計,我們的軸識別率可
以達到99%以上,其中重車的識別率達100%,得到了客戶的認可,完全可以滿足現(xiàn)行
超限需求。實驗結(jié)果證明此方法在現(xiàn)實中已經(jīng)取得了很好的效果,并為靜態(tài)汽車衡實現(xiàn)
動態(tài)稱重打下了良好的基礎(chǔ),有著重要的實際意義。