国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PSO-BP網絡算法在運動要素解算中的應用

2018-12-20 01:27程國勝周祥龍
數字海洋與水下攻防 2018年3期
關鍵詞:權值神經元粒子

程國勝,周祥龍

(1.中國船舶重工集團公司第七一○研究所,湖北 宜昌 443003;2.海軍潛艇學院,山東 青島 266003)

0 引言

水下無人航行器(Unmanned Underwater Vehicle,簡稱UUV)在海洋工程裝備領域中的一個重要作用是對預定水域進行警戒監(jiān)視,并對特定目標進行定位,這需要對目標的運動要素進行解算。在實際應用過程中,由于受海洋環(huán)境的影響或者收到水文氣象等條件的影響,導致目標方位信息的測量誤差和目標的距離誤差,因此,在解算的過程中,經常存在超正常誤差的現(xiàn)象。為了降低誤差,提高目標運動要素解算的精度,通常會采用一系列的算法剔除嚴重偏離均值的采樣數據,例如可以采用最常用的最小二乘估計原理,可以采用基于小波去噪算法[1]去除采樣數據中的白噪聲,可以采用應用數理統(tǒng)計參數估計方法[2]估算出誤差模型,去掉異常數據,提高估計精度。此外,研究人員還對不同的算法的誤差估計判別準則進行比較分析[3]綜合歸納,給出了應用這些判別準則的建議。還有一些其他目標運動要素解算的方法[4-5]。這些方法能很好地解決一些具體情況,但是都需要構造一個判別的方程,并對判別方程進行反復修正參數后獲得較好效果,在實際應用過程中受到一定約束。

本文則提出了將粒子群(PSO)算法作為BP網絡的學習機制,形成PSO-BP網絡算法,并將其應用到目標運動要素解算中。這種方法采用粒子群優(yōu)化算法作為BP網絡的學習算法,并將其應用于BP網絡的權值優(yōu)化,使BP網絡算法精度更高,收斂速度更快,動態(tài)估計采樣值的殘差矢量,提高運動要素估計的質量,進而提高運動要素的解算精度。具體算法將在下面詳細闡述。

1 PSO-BP神經網絡算法

神經網絡算法是一種人工智能算法,是一種應用于類似大腦神經突觸連接的結構進行信息處理的數學模型,主要應用在非線性計算及模型預測等領域。神經網絡算法由大量的簡單基本神經元相互聯(lián)接而成的自適應非線性動態(tài)系統(tǒng)。每個神經元的結構和功能比較簡單,但大量神經元組合產生的系統(tǒng)行為卻非常復雜,人們根據對神經網絡算法的應用不同,開發(fā)了多種神經網絡模型,例如BP網絡。BP網絡全稱為Back-Propagation Network,即反向傳播網絡,該網絡是一個前向多層網絡,它利用誤差反向傳播算法對網絡進行訓練,標準的BP網絡模型由輸入層、隱含層、輸出層組成。各層次的神經元之間形成全互連接,各層次內的神經元之間沒有連接[6-7],如圖1所示。

對于BP模型的輸入層來說,其神經元的輸出和輸入相同,即oi=ii,中間層隱含層和輸出層的神經元的操作特性為

(1)

opj=fj(netpj)

(2)

式中:p表示當前的輸入樣本;wji為從神經元i到神經元j的連接權值;opi為神經元j的當前輸入;opj為其輸出;fj為非線性可微非遞減函數,一般取s型函數,即:

fj(x)=1/(1+e-x)

(3)

對BP網絡進行訓練時,首先要提供一組訓練樣本,其中的每個樣本由輸入樣本和理想樣本輸出對組成。當網絡的所有實際輸出與理想輸出一致時,表明訓練結束。否則,通過修正權值,使網絡的理想輸出與實際輸出一致。標準的BP算法沿著目標函數下降最快的方向即負梯度方向來調整權值,其算法如下:

wk+1=wk-akδk

(4)

式中:wk是當前的權重矢量;δk為當前梯度;ak為學習速率。

從式(4)可以看出:網絡連接權值的修改完全依賴于梯度值,這種采用非線性梯度優(yōu)化算法,極易導致在調整權值中形成局部極小而得不到整體的優(yōu)化。同時,采用這種方法學習次數比較多,因而收斂速度慢。為此本文采用了一種新的學習算法:粒子群優(yōu)化算法(Particle Swarm Optimization,簡稱PSO)。

在PSO中,每個優(yōu)化問題的解都是搜索空間中的一只鳥,稱之為“粒子(Particle)”。所有粒子都有一個由被優(yōu)化的函數通過計算而決定的適應度值(Fitness value),每個粒子還有一個速度(Velocity)決定它們飛翔的方向和距離,然后粒子們就追隨當前的最優(yōu)粒子在解空間中搜索。PSO在優(yōu)化時,首先要初始化,并賦值為一群隨機粒子,然后通過迭代找到最優(yōu)解。在每一次迭代中,粒子通過跟蹤2個最優(yōu)值來更新自己。第一個就是粒子自己找到的最優(yōu)解,這個解叫做個體極值pbest;另一個極值是整個種群目前找到的最優(yōu)解,這個極值是全局極值gbest。

設粒子群中的每個粒子在n空間中飛行,則Xi=(xi1,xi2,…,xin)為粒子i的當前位置;pi-best=(pi1,pi2,…,pin)為粒子i所經歷過的最好位置;gbest=(gi1,gi2,…,gin)為粒子群所經歷過的最好位置;Vi=(vi1,vi2,…,vin)為粒子i的當前飛行速度。

按照以上的定義,粒子群優(yōu)化算法方程為

vij(t+1)=vij(t)+c1r1j(t)(pij(t)-xij(t))+

c2r2j(t)(gj(t)-xij(t))

(5)

xij(t+1)=xij(t)+vij(t+1)

(6)

式中:j表示粒子的第j維;i表示第i個粒子;c1、c2為加速常數;r1、r2為2個相互獨立的隨即函數。

將式(5)和(6)應用到BP網絡的學習機制中,把BP網絡的各個神經元之間的連接權值組合成為一個向量Wi=[w1,w2…wn],并把這個向量看成一個粒子,即Wi=Xi=[x1,x2,…xn],于是,通過隨機函數可以產生多個粒子X,即產生多組BP網絡神經元連接權值,并形成粒子群,該粒子群按照式(5)和(6)計算的飛行速度和飛行方向最終找到最優(yōu)的位置gbest,這個位置的坐標即為該BP網絡結構中最優(yōu)的連接權值。由于該方法選取所有粒子中最好的位置,因此其全局優(yōu)化能力更好,此外,由于多個粒子同時尋找最優(yōu)位置,所以采用這種方法比標準BP網絡訓練算法具有更快的收斂速度[8]。其收斂速度對比圖如圖2、圖3所示。

圖2、圖3分別通過MATLAB語言對同一組輸入向量和目標向量進行仿真訓練,其訓練誤差均為0.01。圖2是采用BP網絡對目標向量進行訓練的,當誤差達到0.01時,BP網絡用了30步,而到達相同精度的PSO-BP網絡則只用了10步,這說明采用粒子群算法的BP網絡,由于在訓練的過程中是一群粒子同時在尋找最優(yōu)權值,所以他的收斂速度要比采用梯度下降的BP標準網絡訓練算法快,而且初始化網絡時,設定的粒子數越多其收斂速度也越快。

2 在目標運動要素解算中的應用

2.1 最小二乘法解算運動要素

在闡述PSO-BP神經網絡在解算目標運動要素之前先介紹一下最常用的最小二乘法解算運動要素,以便比較采用神經網絡的優(yōu)勢。

首先介紹最小二乘法的基本算法,假設需要將觀測到的數據進行曲線擬合,并采用n階擬合函數描述該曲線:

f(x)=a0+a1+a2x2+…+anxn

式中a0,a1,a2,an為上式函數的待定參數,如果通過測定得到一組測量數據并形成如下矩陣

并將上述矩陣代入函數中,可以得到擬合后的函數值與測量值的誤差,采用矢量表示為

E=∑e2=∑(f(xi)-yi)2

根據上式的E值尋找出最小值,采用導數理論,對其求導,得到導數方程將系數計算出即可[9-10]。這是最小二乘法的基本原理。該方法在觀測數據存在較大誤差,同時擬合曲線自身也存在誤差的情況下,不能及時去除大偏差數據,因此,存在一定的約束性。

2.2 PSO-BP網絡解算目標運動要素

下面將闡述PSO-BP神經網絡算法在運動要素解算中的應用,假設觀測設備的初始位置為A點,初始方位133°,初始速度4 kn,被觀測運動目標為B,目標B相對于A的初始方位130°,目標B的航行方向為-50°,航行速度為18 kn,A點與B點的初始距離為8.6 kn,3 min后進行第一次機動以獲得不同方位的目標信息,機動后的航向為70°,速度為4 kn,大約在5 min后再進行一次機動以獲得不同方位的目標信息,第二次機動后的航向為150°,航速為4 kn,觀測點A和被觀測目標B的初始位置關系如圖4所示。

對目標運動要素解算的前提條件是對各個模型進行初始化和設定初始參數。BP網絡初始化時要將其參數歸一化,使得變量參數統(tǒng)一到[-1,1,]這樣便于加快BP網絡的計算速度,待BP網絡收斂完成后將變量參數反歸一化處理,將數據還原。在測試中,通常取c1=c2=2,ω=0.8,粒子群中,每個粒子飛行位置的極限值ximin、ximax分別為變量的極限值,最大飛行速度vmax為參量的最大距離,據此,該神經網絡的初始值參數如表1所示。

圖5-7為采用神經網絡算法計算的運動目標要素解算結果。圖5是將歷史數據作為訓練數據對網絡進行訓練,訓練的目標精度為誤差期望值不大于0.2訓,最大迭代次數不大于1 000,為了簡化轉換計算量,將迭代頻率設定為1 Hz,從圖5中可以看出,大約迭代400次后,方位誤差即可以達到0.2方以內,滿足要求。圖6為采用歷史數據訓練過程中,PSO-BP網絡的訓練曲線,從圖6中可以看出,當迭代到200步時,收斂速度加快,并在迭代350步后,誤差達到期望要求,并趨于平穩(wěn)。圖7為利用PSO-BP算法解算目標運動要素過程中,對目標方位的計算結果,從圖7中可以看出,在570 s時目標方位計算精度滿足期望要求,并在700 s時,目標方位誤差達到0.128位,具有良好的收斂效果。

3 結束語

本文根據被測運動目標的運動要素解算的特點,提出了采用BP神經網絡對被測運動目標的運動要素進行解算,同時為了提高BP網絡的計算精度和速度,將PSO算法引入,作為修正BP網絡權值的傳遞函數,從試驗中可以看出,采用PSO-BP神經網絡算法的計算精度可以達到0.128°,相比傳統(tǒng)方法可以提高計算精度和計算速度,并為后續(xù)的運動目標運動要素解算提供了技術支撐。

猜你喜歡
權值神經元粒子
一種融合時間權值和用戶行為序列的電影推薦模型
碘-125粒子調控微小RNA-193b-5p抑制胃癌的增殖和侵襲
基于5G MR實現(xiàn)Massive MIMO權值智能尋優(yōu)的技術方案研究
AI講座:神經網絡的空間對應
混沌粒子群算法在PMSM自抗擾控制中的優(yōu)化研究
基于膜計算粒子群優(yōu)化的FastSLAM算法改進
一種基于互連測試的綜合優(yōu)化算法?
仿生芯片可再現(xiàn)生物神經元行為
這個神經元負責改變我們的習慣
研究人員精確定位控制飲酒的神經元