井小浩,贠衛(wèi)國,韓世鵬
陀螺儀是一種角速度傳感器,通常用來測量運(yùn)動物體相對于空間轉(zhuǎn)動的角速度或角位移,也可以通過陀螺儀實(shí)現(xiàn)物體姿態(tài)或者運(yùn)動軌跡的測量和控制.陀螺儀作為慣性導(dǎo)航系統(tǒng)的重要組成部分,它的發(fā)展對我國的國防科技,航海業(yè),工業(yè)等具有十分重要的戰(zhàn)略意義[1].目前陀螺儀有激光陀螺、光纖陀螺陀螺儀、微機(jī)電陀螺儀等,在航天、航空、武器裝備、自動駕駛、手機(jī)、娛樂設(shè)備等諸多領(lǐng)域得到廣泛應(yīng)用,但是目前陀螺儀受限于設(shè)備體積、元件材料、環(huán)境因素等,陀螺儀精度差依然是制約其擴(kuò)大應(yīng)用發(fā)展的重要因素.
近年來,國內(nèi)外專家對陀螺儀一直持續(xù)不斷的研究,包括硬件改進(jìn)和軟件算法改進(jìn)兩大部分,硬件改進(jìn)成本高,耗時(shí)久;軟件算法改進(jìn),成本低,耗時(shí)短,大量學(xué)者在算法改進(jìn)方面做了很多工作.從卡爾曼濾波[2]到小波分析、傳統(tǒng)神經(jīng)網(wǎng)絡(luò)[3]、SVM支持向量機(jī)[4]方法,都不同程度地應(yīng)用在陀螺儀信號質(zhì)量提升上,但是這些方法都存在一定的缺陷,卡爾曼濾波優(yōu)點(diǎn)是可以實(shí)時(shí)處理不需要存儲大量數(shù)據(jù),但該方法是在平穩(wěn)序號下建模的,而陀螺儀輸出的大多是不平穩(wěn)信號,無法自適應(yīng)地估計(jì)不同環(huán)境下陀螺儀噪聲特性;小波函數(shù)的優(yōu)點(diǎn)是濾波速度相對較快,然而針對陀螺儀的輸出數(shù)據(jù)變化不明顯導(dǎo)致小波尺度難以界定;支持向量機(jī)的優(yōu)點(diǎn)泛化能力強(qiáng),有效的抑制隨機(jī)噪聲,但支持向量機(jī)對大規(guī)模問題難以實(shí)施,而且消耗機(jī)器內(nèi)存及運(yùn)行時(shí)間;深度循環(huán)神經(jīng)網(wǎng)絡(luò)是一種專門針對時(shí)間序列信號處理的算法,在時(shí)間序列信號處理方面有不可比擬的優(yōu)勢.陀螺儀輸出信號具有時(shí)間序列特點(diǎn),隨著時(shí)間輸出誤差會越來越大,同時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)也是基于大規(guī)模數(shù)據(jù),數(shù)據(jù)模型的訓(xùn)練也不依賴數(shù)據(jù)變化微小和環(huán)境不同,能夠克服以上問題,本文提出采用長短記憶神經(jīng)網(wǎng)絡(luò)(LSTM)[5]結(jié)合門循環(huán)單元(GRU)[6]進(jìn)行陀螺儀輸出信號的濾波降噪,并分析不同網(wǎng)絡(luò)對濾波效果的影響.循環(huán)神經(jīng)網(wǎng)絡(luò)作為一種常用算法,在處理分類[7]和回歸[8]兩大問題上有很好的應(yīng)用,而它的變體LSTM和GRU以其特殊的細(xì)胞結(jié)構(gòu)被廣泛應(yīng)用在處理時(shí)序問題上[9-10].
本文針對陀螺儀的隨機(jī)誤差,先使用Allan方差進(jìn)行預(yù)分析,然后提出了一種不同網(wǎng)絡(luò)層進(jìn)行連接的方式,考慮到臟數(shù)據(jù)影響實(shí)驗(yàn)效果,數(shù)據(jù)經(jīng)預(yù)處理后進(jìn)行補(bǔ)償處理.對比分析幾種不同網(wǎng)絡(luò)的損失函數(shù)、標(biāo)準(zhǔn)差和隨機(jī)誤差,并進(jìn)行了補(bǔ)償.
陀螺儀產(chǎn)生的隨機(jī)誤差主要包括角度隨機(jī)游走ARW、量化噪聲QN、偏差不穩(wěn)定性BI、速度斜坡RR、速度隨機(jī)游走RRW等噪聲.通過Allan方差可以將陀螺儀產(chǎn)生的幾種噪音進(jìn)行分離,利用雙對數(shù)曲線可以直觀的反應(yīng)出幾種不同噪音的大小.
量化噪聲QN是信號經(jīng)過離散化數(shù)字信號與實(shí)際模擬信號的差值.從頻率來看這類噪音屬于高頻噪音,在陀螺儀輸出時(shí),通過電路轉(zhuǎn)換將模擬信號轉(zhuǎn)換為數(shù)字信號而產(chǎn)生的一種隨機(jī)誤差.
量化噪音的Allan方差:
(1)
式中,Q為量化噪音誤差系數(shù):τ為采樣周期.
角度隨機(jī)游走ARW,是對信號積分的結(jié)果.當(dāng)陀螺輸入為零時(shí),輸出的角度隨機(jī)游走為隨機(jī)函數(shù)與白噪聲的疊加.
角度隨機(jī)游走的Allan方差:
(2)
式中,N為角速度隨機(jī)游走誤差系數(shù).
零偏穩(wěn)定性是指低頻零偏抖動,產(chǎn)生的原因是內(nèi)部電路信號不穩(wěn)定形成波動,代表零偏隨時(shí)間變化的情況.
零偏穩(wěn)定性Allan方差
(3)
式中,B為零偏穩(wěn)定性的誤差系數(shù).
速度隨機(jī)游走RRW作為不確定噪聲源的隨機(jī)噪聲,是由于對角速度的功率譜進(jìn)行積分所致,是一種相關(guān)噪聲長時(shí)間的無源隨機(jī)過程.
速度隨機(jī)游走Allan方差
(4)
式中,K為速度隨機(jī)游走系數(shù).
速度斜坡表示的是隨著時(shí)間變化,陀螺儀的信號變化非常緩慢且是一個(gè)單調(diào)的過程,輸出角速度變化也比較小.
速度斜坡Allan方差
(5)
式中,R為速度斜坡誤差系數(shù).
Allan總誤差[11]為
(6)
通過Matlab進(jìn)行曲線擬合可以得到各項(xiàng)系數(shù),然后可計(jì)算各個(gè)隨機(jī)誤差.
長短記憶神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種特殊結(jié)構(gòu),可以學(xué)習(xí)到長期依賴的信息,應(yīng)用在陀螺儀這種隨著時(shí)間漂移誤差越來越大的數(shù)據(jù)建模中,非常切合實(shí)際.
如圖1所示是LSTM結(jié)構(gòu)模型[12],從圖1可以觀察到LSTM相對于RNN其結(jié)構(gòu)上對于每個(gè)細(xì)胞核引入了三個(gè)門,分別是輸入門、遺忘門、輸出門,通過門的開閉和記憶單元的更新,賦予了網(wǎng)絡(luò)可變的記憶長度,通過輸入門可以更新單元值,信號經(jīng)過遺忘門通過神經(jīng)元激活函數(shù)可以把數(shù)值映射在0到1的區(qū)間里,這種結(jié)構(gòu)改進(jìn)來源于人腦的記憶狀態(tài),可以有選擇的保留有用的信號,而忘記那些對網(wǎng)絡(luò)而言作用不大的信號,輸出門作為隱層狀態(tài)用于下一個(gè)單元的輸入.
圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 LSTM network structure diagram
各門的控制信號輸入和更新權(quán)值公式如下[13]:
遺忘門:
ft=σ(wf·[ht-1,xt])+bf
(7)
式中ht-1表示上一個(gè)核的輸出,xt表示當(dāng)前細(xì)胞的輸入,σ表示sigmod函數(shù),bf表示遺忘門的偏置.
輸入門:
it=σ(wi[ht-1,xt]+bi)
(8)
ct=tanh(wc[ht-1,xt]+bc)
(9)
式中,wi表示輸入門的權(quán)重,bi表示輸入門的偏置,wc表示細(xì)胞核的權(quán)重,bc表示細(xì)胞核的偏置.
輸出門:
ot=σ(w0[ht-1,xt]+bo)
(10)
ht=ottanh(ct)
(11)
式中,wo表示輸出門的權(quán)值,b0表示輸出門的偏置.
當(dāng)信號在t時(shí)刻時(shí),接受到當(dāng)前狀態(tài)的xt,和上一時(shí)刻(t-1)的隱層狀態(tài)的輸出ht-1,作為整個(gè)神經(jīng)網(wǎng)絡(luò)單元的輸入,分別與輸入門、輸出門和遺忘門的權(quán)值和偏置結(jié)合,得到輸入門、輸出門、遺忘門的信號,然后根據(jù)當(dāng)前信號,更新記憶細(xì)胞ct,和當(dāng)前時(shí)刻的ht,并將其作為后續(xù)信號的輸入,反復(fù)訓(xùn)練次過程,LSTM網(wǎng)絡(luò)能夠自發(fā)的學(xué)習(xí)到各個(gè)門單元的最佳權(quán)值和偏置項(xiàng),相對于RNN網(wǎng)絡(luò),LSTM能夠選擇性的保留信息,很好的解決了長期依賴信息而產(chǎn)生的梯度爆炸和消失.
GRU不僅很好地解決了神經(jīng)網(wǎng)絡(luò)的梯度消失和梯度爆炸問題,同時(shí)相對較少的參數(shù)使訓(xùn)練過程能夠更快一些.如圖2是GRU單元結(jié)構(gòu)[14],GRU有兩個(gè)門控單元,更新門和重置門,通過一個(gè)更新門就可以同時(shí)進(jìn)行遺忘和選擇記憶.
圖2 GRU網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 GRU network structure
各門的控制信號輸入和更新權(quán)值如下:
重置門門控:
rt=σ(wr[ht-1,xt])
(12)
式中,ht-1表示上一個(gè)核的輸出,xt表示當(dāng)前細(xì)胞的輸入,σ表示sigmod函數(shù),wr表示重置門的權(quán)重.
更新門門控:
Zt=σ(wz[ht-1,xt])
(13)
式中,wz為更新門權(quán)值.
重置表達(dá)式:
h′=tanh(w[rt?ht-1,xt])
(14)
式中,w代表候選狀態(tài)需要記住記憶權(quán)值,
更新表達(dá)式:
ht=(1-z)?ht-1+zt?h′
(15)
式中,zt更新門信號,h′候選狀態(tài)下的信號.
通過上一個(gè)狀態(tài)t-1時(shí)刻的輸出ht-1和當(dāng)前節(jié)點(diǎn)的輸入獲取兩個(gè)門控單元,然后通過重置門控重置之前的數(shù)據(jù),與當(dāng)前信號輸入拼接,通過激活函數(shù)tanh得到當(dāng)前輸入的有效數(shù)據(jù),相當(dāng)于LSTM的記憶單元.更新門的門控是0到1,門控越接近1代表記憶下來的東西越多,接近0遺忘的東西越多.然后通過更新表達(dá)式,就可以得到當(dāng)前時(shí)刻的ht.并將其作為信號輸入,反復(fù)訓(xùn)練可以得到權(quán)值和偏差項(xiàng).
由于陀螺儀的三軸輸出數(shù)據(jù)隨著時(shí)間的變化隨機(jī)誤差會越來越大,所以我們選擇基于時(shí)間序列的循環(huán)神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)信號降噪.本文基于多層的網(wǎng)絡(luò)模型進(jìn)行構(gòu)建,對比幾種不同的神經(jīng)網(wǎng)絡(luò)連接,找到更適合陀螺儀數(shù)據(jù)降噪的神經(jīng)網(wǎng)絡(luò)模型.該算法模型如圖所示,有4個(gè)功能模塊包括輸入層,隱藏層,輸出層,網(wǎng)絡(luò)模型訓(xùn)練層,在輸入層我們對數(shù)據(jù)集進(jìn)行劃分,標(biāo)準(zhǔn)化數(shù)據(jù),定義神經(jīng)網(wǎng)絡(luò)參數(shù).在隱藏層搭建網(wǎng)絡(luò)模型LSTM-LSTM和LSTM-GRU兩種深層神經(jīng)網(wǎng)絡(luò).在網(wǎng)絡(luò)訓(xùn)練層使用均方值求損失函數(shù),梯度下降法更新權(quán)值和偏置.輸出層預(yù)測陀螺儀輸出數(shù)據(jù).
圖3 實(shí)驗(yàn)流程圖Fig.3 Experimental flow chart
2.3.1 LSTM-LSTM網(wǎng)絡(luò)模型
該網(wǎng)絡(luò)模型結(jié)構(gòu)圖如圖4所示,隱藏層用雙層LSTM,經(jīng)過輸入層處理后的原始數(shù)據(jù)進(jìn)入隱藏層把數(shù)據(jù)給第一層LSTM網(wǎng)絡(luò),第一層網(wǎng)絡(luò)的輸出ht-1成為了第二層網(wǎng)絡(luò)的輸入,結(jié)合上述對LSTM單元結(jié)構(gòu)的介紹,該網(wǎng)絡(luò)能夠記住陀螺儀長期的有效特性和短期的有效特性,通過添加網(wǎng)絡(luò)的深度,加深網(wǎng)絡(luò)的學(xué)習(xí)記憶,提到訓(xùn)練效率,進(jìn)而獲取更高的準(zhǔn)確率.
圖4 雙層LSTM網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)Fig.4 Implementation of a double-layer LSTM network structure
2.3.2 LSTM-GRU網(wǎng)絡(luò)模型
LSTM-GRU網(wǎng)絡(luò)結(jié)構(gòu)搭建是對雙層LSTM的一種改進(jìn),與雙層LSTM類似,不同點(diǎn)在于在隱藏層的第二層使用GRU神經(jīng)網(wǎng)絡(luò)單元,這是基于GRU網(wǎng)絡(luò)的LSTM-GRU網(wǎng)絡(luò)算法,如圖5所示,采用兩種不同的網(wǎng)絡(luò)單元對數(shù)據(jù)進(jìn)行訓(xùn)練.
圖5 LSTM-GRU網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)Fig.5 LSTM-GRU network structure implementation
針對本文提出的算法,采用X/Y/Z軸陀螺儀的真實(shí)輸出數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集,利用上述對兩種網(wǎng)絡(luò)描述的相關(guān)理論,并針對不同網(wǎng)絡(luò)進(jìn)行模型搭建.通過對比幾種不同網(wǎng)絡(luò)得到不同的預(yù)測結(jié)果和相應(yīng)的損失函數(shù),進(jìn)一步對循環(huán)神經(jīng)網(wǎng)絡(luò)的幾種變體進(jìn)行研究,最后通過Allan方差辨識陀螺儀的幾種隨機(jī)誤差,找出本實(shí)驗(yàn)中最優(yōu)的解決方案.整體框架如圖6所示:
圖6 整體框架圖Fig.6 Overall frame diagram
本實(shí)驗(yàn)共采集X/Y/Z軸向的陀螺儀數(shù)據(jù)15000組,網(wǎng)絡(luò)迭代次數(shù)100次.圖7為原始數(shù)據(jù)和預(yù)測數(shù)據(jù),圖8為X/Y/Z軸不同網(wǎng)絡(luò)層的損失函數(shù)對比.
圖7 X,Y,Z三軸原始數(shù)據(jù)和預(yù)測數(shù)據(jù)Fig.7 X, Y, Z three-axis raw data and predicted data
圖8 X,Y,Z不同網(wǎng)絡(luò)的損失函數(shù)對比圖Fig.8 Comparison of the loss functions of different networks in X, Y and Z
3.2.1 不同網(wǎng)絡(luò)對陀螺儀數(shù)據(jù)補(bǔ)償?shù)膬?yōu)勢
通過對比三種不同的網(wǎng)絡(luò)層結(jié)構(gòu),可以看出來LSTM-LSTM在進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練中損失函數(shù)相比其他兩種結(jié)構(gòu)有一定的優(yōu)勢,在訓(xùn)練時(shí)間上LSTM-GRU和GRU-LSTM相對于雙層LSTM,訓(xùn)練速度更快.這也驗(yàn)證了GRU在細(xì)胞結(jié)構(gòu)上是LSTM的一種簡單變體,將輸入門、輸出門、遺忘門轉(zhuǎn)變?yōu)橹刂瞄T和更新門.相對原始數(shù)據(jù)標(biāo)準(zhǔn)差(STD)經(jīng)過3種網(wǎng)絡(luò)訓(xùn)練的標(biāo)準(zhǔn)差,都要優(yōu)于原始數(shù)據(jù)的標(biāo)準(zhǔn)差,補(bǔ)償后的陀螺儀輸出更加穩(wěn)定.
3.2.2 陀螺儀隨機(jī)誤差預(yù)測前后對比
在Matlab中,通過Allan方差,然后進(jìn)行曲線擬合,根據(jù)前述的誤差分析,可以在Matlab中畫出Allan方差雙對數(shù)曲線,進(jìn)一步求得隨機(jī)誤差.
由表2和表3可以看出,通過Allan方差得知三種不同算法對隨機(jī)噪聲都有明顯降低,但三種方法之間差別微小,一方面驗(yàn)證了網(wǎng)絡(luò)結(jié)構(gòu)的穩(wěn)定性,另一方面說明了GRU和LSTM在性能上差別不大,本實(shí)驗(yàn)求得陀螺儀的5種隨機(jī)誤差,分析對比發(fā)現(xiàn)LSTM-GRU在輸出信號降噪效果上優(yōu)于LSTM-LSTM和GRU-LSTM的降噪效果,最后分析LSTM-GRU網(wǎng)絡(luò)在原始數(shù)據(jù)上的降噪效果.實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)X軸陀螺儀量化噪音、角度隨機(jī)游走、零偏不穩(wěn)定性、角速度游走、速度斜坡,分別降低了36.6%,21.5%,2.9%,75.9%,93.5%;Y軸陀螺儀降低了14.8%,4.2%,7.16%,66.7%,95%;Z軸陀螺儀降低了34.1%,3.6%,5.8%,80.2%,96.6.從而更加驗(yàn)證了經(jīng)過循環(huán)神經(jīng)網(wǎng)絡(luò)訓(xùn)練可以有效的對陀螺儀輸出數(shù)據(jù)進(jìn)行補(bǔ)償,并且補(bǔ)償效果有明顯的提高.
表1 原始數(shù)據(jù)和3種網(wǎng)絡(luò)損失值、標(biāo)準(zhǔn)差和耗時(shí)Tab.1 Original data and 3 kinds of network loss values, standard deviation and time
表2 5種隨機(jī)誤差的對比Tab.2 Comparison of 5 random errors
表3 隨機(jī)誤差的對比Tab.3 Comparison of random errors
本文針對傳統(tǒng)算法針對陀螺儀精度補(bǔ)償?shù)牟蛔?,提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的陀螺儀降噪方法,既克服了傳統(tǒng)方法的建模困難,又通過引入長短記憶神經(jīng)網(wǎng)絡(luò)和門循環(huán)單元克服了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的梯度消失和梯度爆炸.基于本實(shí)驗(yàn)可以得到的結(jié)論如下:
1)本文驗(yàn)證了LSTM在陀螺儀輸出補(bǔ)償上計(jì)算速度不如GRU,在性能上比GRU有一定優(yōu)勢.
2)驗(yàn)證了深層次網(wǎng)絡(luò)能夠更好的提取信息特征,更好的加深學(xué)習(xí)能力,提高泛化能力.
3)LSTM-GRU、GRU-LSTM、LSTM-LSTM不同網(wǎng)絡(luò)層的結(jié)合,實(shí)驗(yàn)結(jié)果表明LSTM-GRU降噪效果優(yōu)于GRU-LSTM和LSTM-LSTM.
4)實(shí)驗(yàn)結(jié)果驗(yàn)證了深度神經(jīng)網(wǎng)絡(luò)結(jié)合不同層次的網(wǎng)絡(luò)結(jié)構(gòu),對陀螺儀數(shù)據(jù)預(yù)測具有較好的效果,擴(kuò)寬了深度學(xué)習(xí)的應(yīng)用領(lǐng)域.