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