老建偉 張國(guó)良
摘 要:為了解決“基于卡爾曼濾波的神經(jīng)網(wǎng)絡(luò)算法”由于目標(biāo)模型不確定性而出現(xiàn)的預(yù)測(cè)信息不準(zhǔn)確,甚至發(fā)散的問題以及由于傳感器誤差而造成的估計(jì)誤差偏大導(dǎo)致跟蹤失效的問題,提出將強(qiáng)跟蹤濾波(STF)應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)算法中,以神經(jīng)網(wǎng)絡(luò)中各層連接權(quán)值構(gòu)成STF濾波的狀態(tài)向量,引入時(shí)變漸消因子,強(qiáng)迫殘差具有正交性或近似正交性,以克服上述問題。實(shí)驗(yàn)仿真證明,改進(jìn)后的算法提高了網(wǎng)絡(luò)訓(xùn)練速度、濾波精度、數(shù)值穩(wěn)定性以及對(duì)目標(biāo)的跟蹤性能。
關(guān)鍵詞:數(shù)據(jù)融合;神經(jīng)網(wǎng)絡(luò);卡爾曼濾波;強(qiáng)跟蹤濾波
中圖分類號(hào):TP183文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004 373X(2009)02 059 04
Neural Network Algorithm Based on STF Filter
LAO Jianwei,ZHANG Guoliang
(Second Institute of Artillery Engineering,Xi′an,710025,China)
Abstract: Algorithm for feedforward neural network based on Kalman filter has some problems,the prediction information is inaccurate,even emanative because of the target model′s inaccuracy,and the larger estimate error makes tracking-disable because of sensors′ error.Aiming at these shortcomings,a learning algorithm based on Strong Tracking Filtering (STF) filter is proposed for training a neural network,it regards all the weight values as the states.The fading factor is introduced,and residuals are forced to have orthogonality or approximately orthogonality to solve these problems.Simulation results show that the new algorithm improves rapidity of network′s convergence,data′s accuracy,stability and target tracking performance.
Keywords:data fusion;neural network;Kalman filter;STF filter
0 引 言
移動(dòng)機(jī)器人是機(jī)器人學(xué)領(lǐng)域中的一個(gè)重要研究分支,它是一個(gè)集環(huán)境感知、動(dòng)態(tài)決策與規(guī)劃、行為控制與執(zhí)行等多種功能于一體的綜合系統(tǒng)。移動(dòng)智能機(jī)器人通過傳感器感知環(huán)境和自身狀態(tài),而傳感器受本身精度以及外界環(huán)境干擾等限制,所提供給上層決策系統(tǒng)的數(shù)據(jù)的可靠性十分有限,不足以滿足控制系統(tǒng)的要求。移動(dòng)機(jī)器人多傳感器信息融合濾波技術(shù)彌補(bǔ)了傳感器數(shù)據(jù)采集所固有的缺陷,現(xiàn)已成為移動(dòng)機(jī)器人智能化研究領(lǐng)域的關(guān)鍵技術(shù)[1,2]。
針對(duì)不同應(yīng)用問題,提出了多種數(shù)據(jù)融合算法,如加權(quán)平均法,貝葉斯方法、Dempster-Shafer證據(jù)推理理論(D-S證據(jù)理論)、模糊集理論、估計(jì)理論、卡爾曼濾波、概率統(tǒng)計(jì)決策理論和神經(jīng)網(wǎng)絡(luò)等。
文獻(xiàn)[3]提出根據(jù)各傳感器噪聲方差,對(duì)各傳感器實(shí)時(shí)測(cè)量值進(jìn)行最優(yōu)加權(quán)融合的濾波方法。該算法復(fù)雜度低,但濾波效果不是很明顯。文獻(xiàn)[4]提出的應(yīng)用誤差反向傳播算法在實(shí)際應(yīng)用中收斂速度慢,容易陷入局部最小等問題。文獻(xiàn)[5]提出應(yīng)用離散卡爾曼濾波對(duì)數(shù)據(jù)進(jìn)行融合處理,但是,由于足球機(jī)器人系統(tǒng)是一個(gè)復(fù)雜、時(shí)變的非線性系統(tǒng),傳感器的輸出信息沒有規(guī)律性,所以突變狀態(tài)的預(yù)測(cè)能力顯得尤為重要,并且卡爾曼最優(yōu)預(yù)測(cè)估計(jì)對(duì)目標(biāo)運(yùn)動(dòng)模型依賴很大,當(dāng)系統(tǒng)的建模與所研究的真實(shí)系統(tǒng)不相匹配時(shí),會(huì)出現(xiàn)預(yù)測(cè)信息不準(zhǔn)確,甚至發(fā)散等現(xiàn)象。
這里根據(jù)神經(jīng)網(wǎng)絡(luò)理論及強(qiáng)跟蹤濾波器(STF)的特點(diǎn),將STF濾波應(yīng)用于神經(jīng)網(wǎng)絡(luò)方法中,提出基于STF濾波的神經(jīng)網(wǎng)絡(luò)算法對(duì)位置信息進(jìn)行濾波和預(yù)測(cè),改進(jìn)的算法提高了濾波精度和數(shù)值穩(wěn)定性,同時(shí)也提高了網(wǎng)絡(luò)訓(xùn)練速度,以及對(duì)目標(biāo)的跟蹤性能。
1 基于STF濾波的神經(jīng)網(wǎng)絡(luò)算法
1.1 實(shí)驗(yàn)平臺(tái)
該文實(shí)驗(yàn)平臺(tái)為第二炮兵工程學(xué)院獨(dú)立設(shè)計(jì)并研發(fā)制造的“東風(fēng)Ⅱ代”足球機(jī)器人,如圖1所示。
足球機(jī)器人比賽是近年來國(guó)際上興起的一種高科技活動(dòng)。其集機(jī)器人學(xué)、智能控制、數(shù)據(jù)融合、計(jì)算機(jī)技術(shù)、無線通信、圖像處理、機(jī)械學(xué)等多種學(xué)科于一體,為控制理論提供了一個(gè)比較好的實(shí)驗(yàn)平臺(tái)。
1.2 基于自適應(yīng)卡爾曼濾波的神經(jīng)網(wǎng)絡(luò)算法
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)存在收斂速度慢,容易陷入局部最小,數(shù)據(jù)穩(wěn)定性差等問題。文獻(xiàn)[6]提出將自適應(yīng)卡爾曼濾波應(yīng)用于神經(jīng)網(wǎng)絡(luò)。得到基于自適應(yīng)卡爾曼濾波的神經(jīng)網(wǎng)絡(luò)算法,其中:
狀態(tài)方程:
(k+1)=(k+1|k)+K(k+1)·
{Y璭(k)-h(k),Y璻(k)〗}(1)
狀態(tài)一步預(yù)測(cè)方程:
(k+1|k)=(k|k)(2)
增益方程:
K(k+1)=P(k+1|k)hT(k+1)·
-1(3)
誤差協(xié)方差一步預(yù)測(cè)方程:
P(k+1|k)=P(k|k)(4)
誤差協(xié)方差更新方程:
P(k+1)=P(k+1|k)(5)
圖1 “東風(fēng)Ⅱ代”足球機(jī)器人
1.3 基于STF濾波的神經(jīng)網(wǎng)絡(luò)算法
卡爾曼最優(yōu)預(yù)測(cè)估計(jì)對(duì)目標(biāo)運(yùn)動(dòng)模型依賴很大,當(dāng)系統(tǒng)的建模和所研究的真實(shí)系統(tǒng)不相匹配時(shí),會(huì)出現(xiàn)預(yù)測(cè)信息不準(zhǔn),甚至發(fā)散等現(xiàn)象。應(yīng)用于神經(jīng)網(wǎng)絡(luò)的卡爾曼濾波算法在公式推算時(shí)進(jìn)行了泰勒展開,忽略高階項(xiàng)的數(shù)學(xué)方法,因此,其狀態(tài)方程的準(zhǔn)確性在工程實(shí)踐中很可能帶來不確定的影響。
STF是一種非線性自適應(yīng)濾波器,它可以用于一大類非線性系統(tǒng)的狀態(tài)估計(jì)和狀態(tài)與參數(shù)的聯(lián)合估計(jì)。STF使用正交性原理,引入時(shí)變漸消因子,強(qiáng)迫殘差具有正交性或近似正交性;這樣目標(biāo)模型不確定性對(duì)狀態(tài)估計(jì)造成的影響就可以得到解決,同時(shí)通過實(shí)時(shí)調(diào)節(jié)增益,促使測(cè)量殘差近似正交,克服由于傳感器誤差而造成的估計(jì)誤差偏大導(dǎo)致跟蹤失效的現(xiàn)象,從而提高了對(duì)目標(biāo)的跟蹤性能。
STF采用在線選擇適當(dāng)?shù)臅r(shí)變?cè)鲆鍷(k+1),使:
E{(k+1|k+1)〗·
(k+1|k+1)〗T}=min(6)
E=0,
k=1,2,…,i=1,2,…(7)
式(6)是卡爾曼濾波的性能指標(biāo);式(7)要求不同時(shí)刻的殘差序列處處保持正交。已經(jīng)證明,當(dāng)模型與實(shí)際系統(tǒng)完全匹配時(shí),卡爾曼濾波的輸出殘差序列是不自相關(guān)的高斯白噪聲序列,式(7)滿足這一要求,因而其不減弱卡爾曼濾波的性能。但在實(shí)際問題中,選擇的模型不可避免地存在不確定性,因此卡爾曼濾波的輸出殘差不可能白化。建立在性能指標(biāo)式(6)和式(7)基礎(chǔ)上的STF,引進(jìn)漸消因子λ(k+1),實(shí)時(shí)調(diào)節(jié)增益K(k+1),強(qiáng)迫輸出殘差近似為高斯白噪聲,最大程度地提取輸出殘差中一切有效信息。漸消因子由下式計(jì)算:
λ(k+1)=λ0,λ0≥1
1,λ0<1(8)
式中,λ0=tr r;tr為矩陣的跡(對(duì)角線元素之和)。其中:
N(k+1)=S(k+1)-η R(k+1)(9)
M(k+1)=P(k|k)hT(k+1)h(k+1)(10)
S(k+1)=γ(1)γT(1),k=0
ρS(k)+γ(k+1)γT(k+1)1+ρ,k≥1(11)
γ(k+1)=Y璭(k+1)-h(k+1)(k+1|k)(12)
式中,0≤ρ≤1為遺忘因子,一般取ρ=0.95。弱化次優(yōu)因子η≤1是為了使?fàn)顟B(tài)估計(jì)值更加平滑,可憑經(jīng)驗(yàn)選定。
應(yīng)用于傳感器信息濾波的STF神經(jīng)網(wǎng)絡(luò)算法只需調(diào)整卡爾曼濾波基本方程(4)為:
P(k+1|k)=λ(k+1)P(k)(13)
結(jié)合式(8)~式(12)、式(1)~式(3)、式(5)、式(13)便構(gòu)成基于STF濾波的神經(jīng)網(wǎng)絡(luò)算法。
W(k+1|k)=W(k|k)(14)
W(k+1)=W(k+1|k)+K(k+1)·
{Y璭(k+1)-h}(15)
K(k+1)=P(k+1|k)hT(k+1)·
{h(k+1)P(k+1|k)hT(K+1)+P(k+1)〗-1(16)
P(k+1|k)=λ(k+1)P(k)(17)
P(k+1)=·P(k+1|k)(18)
基于離散系統(tǒng)的卡爾曼最優(yōu)預(yù)測(cè)估計(jì),其借鑒STF解決問題的方法,在卡爾曼最優(yōu)預(yù)測(cè)估計(jì)過程中引進(jìn)漸消因子,促使測(cè)量殘差近似正交,最大程度地提取測(cè)量殘差中一切有效信息。
基于STF的預(yù)測(cè)估計(jì)算法如下:
首先,計(jì)算最優(yōu)增益矩陣:
K(k)=P(k|k-1)hT hT+R(k)〗-1(19)
由此得到狀態(tài)的最優(yōu)預(yù)測(cè)估計(jì)值:
(k+1|k)=(k|k-1)+K(k)·
(k|k-1)〗(20)
引入漸消因子,調(diào)整估計(jì)誤差方差陣:
P(k+1|k)=λ(k+1)P(k|k-1)-λ(k+1)
K(k)h(k)P(k|k-1)(21)
將STF理論應(yīng)用于最優(yōu)預(yù)測(cè)估計(jì),克服了一般預(yù)測(cè)方法對(duì)目標(biāo)運(yùn)動(dòng)模型的依賴性,并對(duì)目標(biāo)的突變狀態(tài)增強(qiáng)適應(yīng)性,提高對(duì)目標(biāo)的跟蹤控制性能。通過對(duì)前一時(shí)刻觀測(cè)值的測(cè)量,可以得到運(yùn)動(dòng)目標(biāo)的狀態(tài)預(yù)測(cè),便于實(shí)現(xiàn)對(duì)目標(biāo)的準(zhǔn)確跟蹤。
2 實(shí)驗(yàn)與分析
2.1 網(wǎng)絡(luò)初始化
首先構(gòu)建神經(jīng)網(wǎng)絡(luò),然后設(shè)置網(wǎng)絡(luò)層數(shù)、各層節(jié)點(diǎn)數(shù)、各層作用函數(shù)、各層初始權(quán)值矩陣、評(píng)價(jià)函數(shù)goal、最大循環(huán)次數(shù)epoch、學(xué)習(xí)速率η和動(dòng)量a。
在“東風(fēng)Ⅱ代”機(jī)器人傳感神經(jīng)網(wǎng)絡(luò)中,傳感器信息輸入源包括:
(1) 視覺系統(tǒng)傳感器,圖像采集處理輸出的足球橫坐標(biāo),以及根據(jù)采樣頻率計(jì)算得到的足球速度、加速度信號(hào)3組;
(2) 機(jī)器人自定位信息3組,神經(jīng)網(wǎng)絡(luò)輸入層有6組輸入信息源。
考慮根據(jù)機(jī)器人與足球的不同狀態(tài),采集機(jī)器人靜止、方位角0°、足球橫向運(yùn)動(dòng)狀態(tài)為實(shí)驗(yàn)狀態(tài),采集400組“東風(fēng)Ⅱ代”運(yùn)動(dòng)過程中傳感器輸出值作為訓(xùn)練樣本,機(jī)器人定位信息皆為0;足球定位采樣如圖2所示。
隱層神經(jīng)元作用函數(shù)采用tansig函數(shù),如圖3所示。根據(jù)訓(xùn)練效果和經(jīng)驗(yàn)值,隱含層神經(jīng)元設(shè)計(jì)為4組,初始權(quán)值為(-1,1)之間的隨機(jī)數(shù)。輸出層神經(jīng)元激活函數(shù)為線性函數(shù)purelin,如圖4所示。學(xué)習(xí)步長(zhǎng)取為0.1,目標(biāo)誤差取為0.000 1。
2.2 濾波訓(xùn)練過程
該算法的實(shí)質(zhì)是將問題轉(zhuǎn)化為狀態(tài)參數(shù)估計(jì)的問題,在輪訓(xùn)練過程中,網(wǎng)絡(luò)的權(quán)值與閾值作為濾波器的狀態(tài),而網(wǎng)絡(luò)的輸出作為濾波器的觀測(cè),即將神經(jīng)網(wǎng)絡(luò)中各層連接權(quán)值構(gòu)成卡爾曼濾波的狀態(tài)向量;網(wǎng)絡(luò)輸出作為濾波器的觀測(cè),其系統(tǒng)狀態(tài)方程和觀測(cè)方程分別為:
W(k+1|k)=W(k|k)+ΔW
Y璭(k)=h[W(k),X(k),k]+V(k)=Y璻(k)+V(k)
式中,ΔW為狀態(tài)更新量;Y璭(k)為期望輸出;X(k)為輸入向量;Y璻(k)為實(shí)際輸出;V(k)為高斯白噪聲,其統(tǒng)計(jì)特性為E=0,E=R(k);h(·)為輸入/輸出及權(quán)值、閾值間的非線性映射關(guān)系。
圖2 部分傳感器輸出采樣值
圖3 tansig函數(shù)
圖4 purelin函數(shù)
隱含層各神經(jīng)元輸入為:
I璱=∑nj=1w1璱jx璲,i=1,2,3,4
w1璱j為輸入到隱含層連接權(quán)。
隱層神經(jīng)元作用函數(shù)為tansig函數(shù):
y=2/(1+e-2x)-1
則隱層輸出為:
o璱=y(I璱)
輸出層作用函數(shù)為線性函數(shù):
y=x
則輸出層輸出為:
y璷=∑4i=1w2璱o璱,i=1,2,3,4
w2璱為輸入到隱含層連接權(quán)。
隱層作用函數(shù)求偏導(dǎo)得:
祔/祒=(1+y)(1-y)
輸出層作用函數(shù)求偏導(dǎo)得:
祔/祒=1
則觀測(cè)方程中的傳遞矩陣h為:
h=o璱,w為輸出層連接權(quán)
(1+o璱)(1-o璱)w2璱x璲,w為隱含層連接權(quán)
0,其他
圖5為普通神經(jīng)網(wǎng)絡(luò)訓(xùn)練曲線、基于卡爾曼濾波的神經(jīng)網(wǎng)絡(luò)曲線與基于STF濾波的神經(jīng)網(wǎng)絡(luò)訓(xùn)練曲線的誤差變化對(duì)比。由圖可以看出普通神經(jīng)網(wǎng)絡(luò)末段收斂速度緩慢,訓(xùn)練迭代次數(shù)最多,基于STF濾波的神經(jīng)網(wǎng)絡(luò)收斂速度快,輸出精度高。
圖5 訓(xùn)練過程
為了比較濾波處理效果,分別應(yīng)用卡爾曼濾波和STF神經(jīng)網(wǎng)絡(luò)對(duì)狀態(tài)觀測(cè)值進(jìn)行濾波預(yù)測(cè)處理。取圖像傳感器測(cè)量誤差的協(xié)方差矩陣R=0.005I,濾波相對(duì)誤差由下式求得:
d=|(k)-X(k)||X(k)|×100%
將STF神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練后的權(quán)值作為最終連接權(quán)值,使用隨機(jī)產(chǎn)生50組檢驗(yàn)樣本序列,其中部分?jǐn)?shù)據(jù)加入突變用于對(duì)比濾波結(jié)果,如圖6所示。
3 結(jié) 語
實(shí)驗(yàn)表明,STF神經(jīng)網(wǎng)絡(luò)對(duì)多傳感器數(shù)據(jù)融合,補(bǔ)償傳感器誤差,改善傳感器性能是有效的。STF神經(jīng)網(wǎng)絡(luò)對(duì)傳感器數(shù)據(jù)進(jìn)行融合處理,輸出穩(wěn)定、迭代次數(shù)少、突變跟蹤能力強(qiáng),是一種有效的數(shù)據(jù)處理工具。
圖6 兩種融合算法預(yù)測(cè)對(duì)比圖
參考文獻(xiàn)
[1]何友,王國(guó)宏.多傳感器信息融合及應(yīng)用[M].北京:電子工業(yè)出版社,2000.
[2]王仲民,岳宏,劉繼巖.移動(dòng)機(jī)器人多傳感器信息融合技術(shù)述評(píng)[J].傳感器技術(shù),2005,24(4):5-7.
[3]劉勇,沈毅,胡恒章.精確制導(dǎo)武器及其支持系統(tǒng)中的信息融合技術(shù)[J].系統(tǒng)工程與電子技術(shù),1999,21(4):1-11.
[4]游松,程衛(wèi)星,王田苗,等.基于任務(wù)的神經(jīng)網(wǎng)絡(luò)多傳感器數(shù)據(jù)融合新方法[J].高技術(shù)通訊,2001,11(7):71-75,96.
[5]李群力,傅妍芳.基于Kalman濾波的數(shù)據(jù)融合研究[J].計(jì)算機(jī)仿真,2007,24(8):299-302.
[6]Scalem R S.Tepedelenliou N.A Fast Algorithm Training Feedforward Neural Networks.IEEE Trans.on Signal Processing,1992,40(1):202-210.
[7]Caldwell D G,Reddy K.Sensory Requirements and Performance Assessment of Telepresence Controller Robots.In:Proc.of IEEE Int.Conf.on Robotics & Auto.1996.
[8]張乃堯,閻平凡.神經(jīng)網(wǎng)絡(luò)與模糊控制[M].北京:清華大學(xué)出版社,1998.
[9]宋海濤.全自主足球機(jī)器人決策與控制方法研究[D].西安:第二炮兵工程學(xué)院,2007.
[10]熊蓉,張翮,褚健,等.四輪全方位移動(dòng)機(jī)器人的建模和最優(yōu)控制[J].控制與決策,2006,23(1):93-98.
[11]劉君華.智能傳感系統(tǒng)[M].西安:西安電子科技大學(xué)出版社,1999.
[12]栗素娟,王紀(jì),閻保定,等.卡爾曼濾波在跟蹤運(yùn)動(dòng)目標(biāo)上的應(yīng)用.現(xiàn)代電子技術(shù),2007,30(13):110-112.
作者簡(jiǎn)介 老建偉 男,陜西西安人,在讀碩士研究生。主要研究方向?yàn)橄到y(tǒng)辨識(shí)、建模與精度控制。
張國(guó)良 陜西西安人,博士,副教授。主要研究方向?yàn)榻M合導(dǎo)航與機(jī)器人技術(shù)。