莫樹培,徐廣允
(貴州工業(yè)職業(yè)技術(shù)學(xué)院圖書與信息中心,貴州 貴陽 550000)
煤礦井下作業(yè)人員安全,關(guān)系煤礦安全保障能力,目前井下人員定位多采用射頻識別技術(shù)(FRID),定位精度不高,無法滿足井下定位需要。近年來有部分國有大中型煤礦開始使用無線網(wǎng)絡(luò)進(jìn)行井下信息傳輸,在不增加設(shè)備的情況下可用其進(jìn)行人員無線定位。
無線定位算法主要有質(zhì)心算法、加權(quán)質(zhì)心算法和神經(jīng)網(wǎng)絡(luò)算法等;質(zhì)心算法基于無線網(wǎng)絡(luò)的連通性,易于實現(xiàn)定位,但定位精度不高;加權(quán)質(zhì)心算法通過設(shè)置權(quán)值提升網(wǎng)絡(luò)中的信息利用率提高定位精度,但在井下復(fù)雜的電磁環(huán)境中,會干擾有用信息從而影響定位精度;神經(jīng)網(wǎng)絡(luò)算法可解決信號模型中參數(shù)不精確問題,提升定位精度,但收斂速度緩慢。針對上述問題,本文提出基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的井下人員定位算法加快收斂速度,并提高定位精度。
改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法是在BP神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上加入動量項,加快收斂速度。該算法實施定位分為離線訓(xùn)練階段和在線定位階段。
根據(jù)實驗條件,本文設(shè)計BP神經(jīng)網(wǎng)絡(luò)分為4層,包含輸入層1層、隱含層2層和輸出層1層。輸入向量矩陣RSSIi(i=1,2,,n)表示目標(biāo)點(diǎn)獲取n個AP節(jié)點(diǎn)的RSSI值。
圖1 BP神經(jīng)網(wǎng)絡(luò)定位模型
神經(jīng)網(wǎng)絡(luò)的激活函數(shù)是用于激活每個神經(jīng)元,隱含層和輸出層采用雙曲正切函數(shù)(sigmoid函數(shù))為激活函數(shù),表達(dá)式為:
對式1求vi(n)導(dǎo)數(shù)為:
式中:yi(n)=φi(vi(n));
當(dāng)神經(jīng)元i位于輸出層時,其局域梯度表示為:
式中:di(n)是神經(jīng)元的輸出響應(yīng);
當(dāng)神經(jīng)元i位于任意隱含層輸出層時,其局域梯度表示為:
式中:k是神經(jīng)元i的下一層網(wǎng)絡(luò)中的所有神經(jīng)元。
BP神經(jīng)網(wǎng)絡(luò)算法實際就是對代價函數(shù)的誤差曲面進(jìn)行梯度下降方式尋找最優(yōu),在修正w(n)時,按n時刻的負(fù)梯度方式進(jìn)行修正,在沒有考慮以前時刻的梯度方向,會使訓(xùn)練過程發(fā)生震蕩收斂慢。
針對此問題提出改進(jìn)BP神經(jīng)網(wǎng)絡(luò)加入動量項,改善收斂性能。動量項表達(dá)式為:
式中:η為學(xué)習(xí)率;α為動量因子,1>α≥0;當(dāng)α為0時,為傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法。
本實驗是在貴州工業(yè)職業(yè)技術(shù)學(xué)院實訓(xùn)樓未啟用負(fù)二層地下停車場進(jìn)行,選取100m*4m的實驗區(qū)域模擬井下巷道環(huán)境,利用電磁干擾器模擬井下機(jī)電設(shè)備工作時產(chǎn)生的電磁干擾。程序編寫使用TensorFlow,編輯環(huán)境用Python,編輯器用Anaconda,編寫出BP神經(jīng)網(wǎng)絡(luò)算法和改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法。
結(jié)合現(xiàn)場環(huán)境安裝4個AP終端間距在25m內(nèi),可滿足400m2無線信號全覆蓋,用CC2530作為采集無線設(shè)備,每個采樣點(diǎn)采集20次RSSI值,求出RSSI的平均值,與采樣點(diǎn)的坐標(biāo)位置一起組成集合{x,y,RSSI1,RSSI2,…,RSSIn}。根據(jù)實驗場地,每隔2m采集1個采樣點(diǎn),共采集153個采樣點(diǎn),組成神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集。
離線訓(xùn)練階段:將訓(xùn)練集中RSSI值作為兩個模型輸入,將訓(xùn)練集中采樣點(diǎn)坐標(biāo)位置作為模型輸出,設(shè)置學(xué)習(xí)率η為0.42;動量因子α為0.58;把訓(xùn)練集分別帶到兩個模型中進(jìn)行訓(xùn)練,經(jīng)過多次迭代計算后,完成訓(xùn)練。
經(jīng)過測試BP神經(jīng)網(wǎng)絡(luò)算法和改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練達(dá)到最優(yōu)時,迭代次數(shù)見表1。
表1 兩種神經(jīng)網(wǎng)絡(luò)算法最優(yōu)迭代次數(shù)
從表1中可看出BP神經(jīng)網(wǎng)絡(luò)算法迭代次數(shù)為2459次,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法迭代次數(shù)為1126次,由此可得改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法迭代次數(shù)較少,算法復(fù)雜度優(yōu)于BP神經(jīng)網(wǎng)絡(luò)算法,從而加快神經(jīng)網(wǎng)絡(luò)收斂速度。
在線定位階段:測試人員從起始位置(0,0)帶上CC2530作為待測點(diǎn),以2m/s的速度做隨機(jī)曲線運(yùn)動,走到終點(diǎn)位置(100,4),經(jīng)過多次反復(fù)行走,共隨機(jī)得到59個待測點(diǎn)數(shù)據(jù)。
將得到帶測點(diǎn)數(shù)據(jù)用質(zhì)心算法、加權(quán)質(zhì)心算法、BP神經(jīng)網(wǎng)絡(luò)算法和改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行定位計算,得到算法定位誤差概率圖,如圖2所示:
圖2 算法定位誤差累計概率圖
由圖2可知,四種算法定位誤差小于1m概率分別為 21.49%,30.21%,42.13%;48.64%,而定位誤差小于3m概率分別提高到 62.87%,69.45%,87.38%,94.54%;而定位誤差小于5m概率分別到87.12%,90.26%,95.87%,97.91%。根據(jù)定位誤差概率,可看出改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法比質(zhì)心算法和加權(quán)質(zhì)心算法定位精度大幅提高,比BP神經(jīng)網(wǎng)絡(luò)算法定位精度略有提高,所以改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法能夠滿足井下人員無線定位的需要。
針對煤礦井下無線定位算法的不足,將BP神經(jīng)網(wǎng)絡(luò)引入到定位方法中,并BP神經(jīng)網(wǎng)絡(luò)加入動量項,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法,通過訓(xùn)練神經(jīng)網(wǎng)絡(luò),得到較好的定位效果。本文中利用動量項優(yōu)化BP神經(jīng)網(wǎng)絡(luò),提出改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法,提升收斂速度,同時提高定位精度。