谷志剛,孫鋒利
(1.空軍大連通信士官學(xué)校, 遼寧 大連 430074;2.空軍石家莊飛行學(xué)院,河北 石家莊 050081)
多尺度幾何分析是高維(圖像)信號(hào)處理與分析領(lǐng)域中非常重要的技術(shù)和手段之一,其中脊波理論[1]是多尺度幾何分析中發(fā)展較早和較為成熟的技術(shù)之一.受小波神經(jīng)網(wǎng)絡(luò)的啟發(fā),脊波理論與神經(jīng)網(wǎng)絡(luò)結(jié)合產(chǎn)生的脊波神經(jīng)網(wǎng)絡(luò)[2-7](Ridgelet Neural Network,RNN)不僅具有小波網(wǎng)絡(luò)的尺度和位置通道,還具有方向性,這使得脊波神經(jīng)網(wǎng)絡(luò)更適于處理高維奇異性(線奇異、面奇異),構(gòu)造出更為復(fù)雜的決策面,從而獲得性能更為優(yōu)良的網(wǎng)絡(luò)模型;因此,脊波神經(jīng)網(wǎng)絡(luò)在函數(shù)擬合與估計(jì)、模式識(shí)別、系統(tǒng)辨識(shí)、奇異檢測(cè)等領(lǐng)域具有很好的應(yīng)用前景.脊波神經(jīng)網(wǎng)絡(luò)的自由參數(shù)包含線性突觸權(quán)值和非線性的脊波參數(shù)(尺度、位置和方向),這使得網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程變得復(fù)雜.傳統(tǒng)文獻(xiàn)[2-7]中多采用基于梯度下降的網(wǎng)絡(luò)學(xué)習(xí)算法,在學(xué)習(xí)網(wǎng)絡(luò)的非線性參數(shù)時(shí),需要進(jìn)行較為復(fù)雜的梯度運(yùn)算,網(wǎng)絡(luò)收斂速度慢,尤其是當(dāng)特征空間維數(shù)較高時(shí),網(wǎng)絡(luò)學(xué)習(xí)效率大為降低,所以要達(dá)到預(yù)定學(xué)習(xí)精度需要更多隱層神經(jīng)元和更長(zhǎng)時(shí)間,而且算法可調(diào)參數(shù)少,網(wǎng)絡(luò)不易控制,算法后期容易出現(xiàn)震蕩.本文提出一種粒子群脊波神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,由于不需要梯度運(yùn)算,而且通過控制粒子群的慣性系數(shù)、種群規(guī)模、學(xué)習(xí)因子、速度和位置界等,可實(shí)現(xiàn)網(wǎng)絡(luò)快速有效的學(xué)習(xí),得到了性能更好、規(guī)模更小的網(wǎng)絡(luò)模型.
脊波神經(jīng)網(wǎng)絡(luò)模型是基于脊波重建公式而建立的一種新的神經(jīng)網(wǎng)絡(luò)模型,是多尺度幾何分析技術(shù)與神經(jīng)網(wǎng)絡(luò)模型相結(jié)合的產(chǎn)物.根據(jù)脊波理論[1],定義:
定義1稱
(1)
為由滿足容許性條件的ψ(·)產(chǎn)生的脊波函數(shù),其中:γ∈Γ,空間Γ={γ=(a,u,b),a,b∈R,a>0,u∈Sd-1,‖u‖=1},Sd-1為d維空間的單位球面;a為尺度參數(shù);b為位置參數(shù);u為方向參數(shù).
從(1)式可以看出,脊波函數(shù)會(huì)在尺度、位置和方向3個(gè)通道產(chǎn)生相應(yīng)的變化效應(yīng),相對(duì)于小波處理一維點(diǎn)奇異性的優(yōu)點(diǎn),公式(1)在處理高維奇異性方面極為有利.根據(jù)定義1,文獻(xiàn)[1]給出了如下的重構(gòu)定理:
定理1任何f∈L1∩L2(Rn)的函數(shù)可以由滿足(1)、(2)的脊波函數(shù)重構(gòu),即
(2)
隱層激活函數(shù)為一族脊波函數(shù),表示為ψ((uj·xi-bj)/aj),j=1,…,N, 其中:aj,bj∈R,aj>0,uj∈Rd, ‖uj‖=1.為公式簡(jiǎn)潔起見,本文用矩陣來表示方向、尺度和位置參數(shù)[5],即
圖1 單隱層脊波神經(jīng)網(wǎng)絡(luò)模型
(3)
其中tr(·)為矩陣的跡.
梯度下降算法是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的經(jīng)典算法,盡管它存在收斂慢,容易陷入局部極值,后期容易震蕩等不足,但是對(duì)于(3)式的性能函數(shù)它能提供一個(gè)基本穩(wěn)定和可靠的收斂性能.在實(shí)際工程應(yīng)用中,梯度下降算法對(duì)工程應(yīng)用的影響并不太大,尤其是一些離線學(xué)習(xí)場(chǎng)合,因此本文依然選擇梯度下降算法作為學(xué)習(xí)算法(算法詳細(xì)過程參見文獻(xiàn)[7]).算法中各個(gè)參數(shù)雖然可以采用相同的學(xué)習(xí)率,但根據(jù)本文作者對(duì)大量數(shù)據(jù)的試驗(yàn)表明,對(duì)線性的權(quán)值參數(shù)采用較小的學(xué)習(xí)率,而對(duì)非線性的脊波參數(shù)采用較大的學(xué)習(xí)率將有利于提高學(xué)習(xí)效率,算法收斂較快;因此,在實(shí)際中可以根據(jù)具體問題采用兩個(gè)或多個(gè)學(xué)習(xí)率實(shí)現(xiàn)網(wǎng)絡(luò)的學(xué)習(xí).
為了避免脊波網(wǎng)絡(luò)的梯度學(xué)習(xí)算法中存在的不足問題,根據(jù)脊波網(wǎng)絡(luò)學(xué)習(xí)中線性和非線性參數(shù)并存的特點(diǎn),提出一種脊波網(wǎng)絡(luò)的粒子群學(xué)習(xí)算法,該算法將傳統(tǒng)的粒子群算法與脊波網(wǎng)絡(luò)的特點(diǎn)相結(jié)合.其主要特點(diǎn)有:①對(duì)線性權(quán)值和偏置參數(shù)采用隨種群進(jìn)化線性減小的慣性因子,而非線性脊波參數(shù)的慣性因子采用固定值;②限制粒子的飛行速度、脊波函數(shù)的尺度和位置參數(shù)界,從而實(shí)現(xiàn)對(duì)脊波激勵(lì)函數(shù)分辨力的控制;③引入變異操作,增加了種群多樣性,避免了早熟.關(guān)于粒子群算法的基本原理可參考文獻(xiàn)[8-10].粒子群脊波神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法流程可描述如下:
1) 種群初始化.包括種群規(guī)模、最大進(jìn)化代數(shù)、自學(xué)習(xí)及社會(huì)學(xué)習(xí)因子、尺度和位置及方向參數(shù)慣性權(quán)重因子;為了提高算法的效率,對(duì)網(wǎng)絡(luò)權(quán)值和偏置解空間范圍進(jìn)行了限制,脊波方向參數(shù)范圍必須取[-1,1],各粒子初始速度取0,并對(duì)最大速度進(jìn)行限制;設(shè)定訓(xùn)練目標(biāo)誤差及變異概率;網(wǎng)絡(luò)各參數(shù)初始化為小隨機(jī)矩陣.
種群初始化過程:
%種群規(guī)模及進(jìn)化最大代數(shù)、自學(xué)習(xí)和社會(huì)學(xué)習(xí)因子
swarm_size=N,itermax=G;c1=λ;c2=γ;
%網(wǎng)絡(luò)權(quán)值和偏置的慣性權(quán)重因子的上下界
ωwmax,ωwmin;ωbiasmax,ωbiasmin;
%尺度、位置和方向參數(shù)的慣性權(quán)重因子
ωa=ωb=ωu=constant;
%網(wǎng)絡(luò)權(quán)值和偏置解空間范圍
weights=[startw,endw],bias=[startbias,endbias];
%脊波尺度和位置解空間范圍,方向參數(shù)范圍是[-1,1]
scale=[starta,enda],location=[startb,endb];
%最大速度限制
V_limit=Vmax;
%訓(xùn)練目標(biāo)誤差、變異概率
Erro_goal=E;mutation=pro;
For each bird
初始化粒子個(gè)體的網(wǎng)絡(luò)權(quán)值、偏置、尺度、位置和方向參數(shù)為解空間范圍內(nèi)的小隨機(jī)矩陣;初始化粒子個(gè)體的各參數(shù)速度為0;
%個(gè)體歷史最優(yōu)適應(yīng)度初始值
End
fitness_global(0)=∞;%社會(huì)歷史最優(yōu)適應(yīng)度初始值
2) 種群進(jìn)化.以訓(xùn)練誤差函數(shù)作為種群進(jìn)化適應(yīng)度函數(shù),計(jì)算每個(gè)粒子的適應(yīng)度值,求出個(gè)體最優(yōu)和社會(huì)最優(yōu)適應(yīng)度值,若社會(huì)最優(yōu)適應(yīng)度值達(dá)到目標(biāo)誤差時(shí)即結(jié)束進(jìn)化,若未達(dá)到則對(duì)粒子的位置和速度進(jìn)行更新.
種群進(jìn)化過程:
k=1; %k代表進(jìn)化代數(shù)
Do
For each bird
%計(jì)算每個(gè)粒子的當(dāng)前適應(yīng)度值,D=5
更新個(gè)體歷史最優(yōu)位置為當(dāng)前位置;
End
End
%社會(huì)最優(yōu)適應(yīng)度
Iffitness_global(k)≤E, Return; End
Iffitness_global(k) %更新當(dāng)前社會(huì)最優(yōu)適應(yīng)度值 fitness_global(k)=fitness_global(k); End %更新個(gè)參數(shù)社會(huì)最優(yōu)位置,j代表第幾個(gè)參數(shù) For each bird, each parameter 3) 位置變異.根據(jù)變異概率對(duì)粒子的位置進(jìn)行變異操作. %粒子位置變異 %速度和位置限制 End k=k+1; End (while (k 4) 返回第2步. 由于本文中的粒子群學(xué)習(xí)算法對(duì)粒子的位置引入了變異操作,這在一定程度上避免了種群早熟的現(xiàn)象,使網(wǎng)絡(luò)學(xué)習(xí)可以逃離局部極值點(diǎn),進(jìn)而提高了粒子群學(xué)習(xí)算法的精度,這對(duì)網(wǎng)絡(luò)的學(xué)習(xí)效率和網(wǎng)絡(luò)結(jié)構(gòu)都會(huì)產(chǎn)生有利的效果,最終可以獲得精度更高、速度更快和結(jié)構(gòu)更簡(jiǎn)單的脊波神經(jīng)網(wǎng)絡(luò)模型. 為了驗(yàn)證網(wǎng)絡(luò)和學(xué)習(xí)算法的有效性,將粒子群脊波神經(jīng)網(wǎng)絡(luò)(PSORNN,Particle Swarm Optimized Ridgelet Neural Network)用于6類飛機(jī)目標(biāo)的識(shí)別,每類有標(biāo)準(zhǔn)、殘缺、旋轉(zhuǎn)等38幅飛機(jī)圖像,共計(jì)228幅.隨機(jī)取40%圖像(共90幅)作為訓(xùn)練樣本,其余作為測(cè)試樣本,提取每幅圖像的10階55維Pseudo-Zernike矩特征,特征提取采用外接圓法,使用文獻(xiàn)[11]中的快速算法實(shí)現(xiàn),部分試驗(yàn)圖像如圖2所示. 圖2 6類飛機(jī)目標(biāo)的部分圖像樣本 脊波神經(jīng)網(wǎng)絡(luò)的隱層神經(jīng)元數(shù)目采用文獻(xiàn)[4]中的逐漸遞增的方式確定,初始隱層神經(jīng)元數(shù)為1,最終確定隱層神經(jīng)元數(shù)為3,網(wǎng)絡(luò)最終結(jié)構(gòu)為55-3-6,網(wǎng)絡(luò)目標(biāo)誤差為0.01;粒子群學(xué)習(xí)算法進(jìn)化代數(shù)為2 000代,種群規(guī)模為100,自學(xué)習(xí)和社會(huì)學(xué)習(xí)因子為1.427 9,網(wǎng)絡(luò)線性權(quán)值和網(wǎng)絡(luò)偏置范圍分別為weights=[-∞,∞]和bias=[-∞,∞],脊波參數(shù)解空間范圍scale=[0.1,10],location=[-2,2],方向參數(shù)為單位向量,所以其范圍為[-1,1];非線性脊波參數(shù)和線性權(quán)值及偏置速度均限制為[-1,1],網(wǎng)絡(luò)權(quán)值和偏置慣性因子采用線性遞減策略,范圍為[0.4,0.9],脊波參數(shù)慣性因子均為0.725. 為了說明網(wǎng)絡(luò)的性能優(yōu)勢(shì),將粒子群脊波神經(jīng)網(wǎng)絡(luò)的分類性能與傳統(tǒng)的最近鄰分類器(NN,Nearest Neighborhood)、K近鄰分類器(K-NN)、殼最近鄰分類器[12](SNN,Shelly-Nearest Neighborhood)、徑向基神經(jīng)網(wǎng)絡(luò)(RBFNN,Radia Basis Feed-forward Neural Network)、支撐向量機(jī)(SVM,Support Vector Machine)、小波神經(jīng)網(wǎng)絡(luò)(WNN,Wavelet Neural Network)及梯度下降法訓(xùn)練的脊波神經(jīng)網(wǎng)絡(luò)(GDRNN,Gradient Descendent Ridgelet Neural Network)進(jìn)行比較,比較結(jié)果如表1和圖3所示.圖4為小波神經(jīng)網(wǎng)絡(luò)、梯度下降法訓(xùn)練的脊波神經(jīng)網(wǎng)絡(luò)和粒子群脊波神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練時(shí)間比較. 實(shí)驗(yàn)基于Intel 2.0GHz雙核處理器,支撐向量機(jī)采用臺(tái)灣林智仁教授的LibSVM version 2.87軟件包(http://www.csie.ntu.edu.tw/~cjlin/),其他分類器算法編程均基于Matlab7.0神經(jīng)網(wǎng)絡(luò)工具箱函數(shù)和計(jì)算平臺(tái). 表1 PSORNN與傳統(tǒng)分類器的總體分類精度 圖3 PSORNN與傳統(tǒng)分類器對(duì)各類目標(biāo)的分類精度比較 圖4 3種網(wǎng)絡(luò)的結(jié)構(gòu)及訓(xùn)練時(shí)間代價(jià)(柱狀圖上的數(shù)字為網(wǎng)絡(luò)結(jié)構(gòu)) 1) PSORNN與傳統(tǒng)分類器相比,其推廣能力得到一定提高.從表1看出,各分類器對(duì)訓(xùn)練樣本的分類精度均達(dá)到百分之百,而PSORNN分類器的測(cè)試精度相比之下提高約3%;由圖3可以看出,PSORNN對(duì)各類飛機(jī)目標(biāo)的識(shí)別率明顯高于其他分類器.這主要是由于脊波基函數(shù)具有尺度、位置和方向3個(gè)通道,能夠充分利用特征空間的高維奇異性,同時(shí)由于隱層采用多個(gè)不同尺度、位置和方向的脊波激勵(lì)函數(shù),因而可以構(gòu)造出更為復(fù)雜的分類曲面,從而提高了分類精度. 2) 從神經(jīng)網(wǎng)絡(luò)角度看,PSORNN分類器的訓(xùn)練時(shí)間短,網(wǎng)絡(luò)規(guī)模小.在實(shí)際的數(shù)值試驗(yàn)中,圖4中的3種網(wǎng)絡(luò)隱層神經(jīng)元數(shù)目均采用逐步遞增的方式確定,其中:WNN最終采用55-12-6的網(wǎng)絡(luò)結(jié)構(gòu),經(jīng)過了25 000步梯度下降法學(xué)習(xí);GDRNN最終采用55-9-6的網(wǎng)絡(luò)結(jié)構(gòu),經(jīng)過15 000步梯度下降法學(xué)習(xí);PSORNN最終采用55-3-6的網(wǎng)絡(luò)結(jié)構(gòu),經(jīng)過2 000代進(jìn)化學(xué)習(xí),且其時(shí)間消耗僅為425.6 s,比前兩種神經(jīng)網(wǎng)絡(luò)大約減少2/3的學(xué)習(xí)時(shí)間.PSORNN具有以上優(yōu)點(diǎn)的主要原因在于樣本的分類信息不僅存儲(chǔ)在網(wǎng)絡(luò)權(quán)值中,而且存儲(chǔ)在脊波參數(shù)中,這使得網(wǎng)絡(luò)不需要太多的網(wǎng)絡(luò)權(quán)值數(shù)目即可達(dá)到一定的分類精度,加之PSO算法快速的全局搜索能力,使PSORNN具有較小的規(guī)模和較高的學(xué)習(xí)效率. 3) PSORNN網(wǎng)絡(luò)可調(diào)參數(shù)比GDRNN增多,通過優(yōu)化和調(diào)整相關(guān)參數(shù),如種群規(guī)模、進(jìn)化代數(shù)、慣性因子、學(xué)習(xí)因子等可以在相同的網(wǎng)絡(luò)結(jié)構(gòu)下一定程度地改善性能,并且由于PSO算法自身所具有的特點(diǎn),不會(huì)使網(wǎng)絡(luò)出現(xiàn)震蕩,因而性能相對(duì)穩(wěn)定,網(wǎng)絡(luò)可控性增強(qiáng). 本文采用的粒子群算法克服了傳統(tǒng)文獻(xiàn)采用的基于梯度的方法的不足,使網(wǎng)絡(luò)的訓(xùn)練變得更為簡(jiǎn)單和直接,提高了訓(xùn)練的精度和效率,獲得了規(guī)模更小的網(wǎng)絡(luò)模型,因此具有一定的工程應(yīng)用價(jià)值.脊波神經(jīng)網(wǎng)絡(luò)等多尺度幾何分析網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)發(fā)展的一個(gè)很有潛力的方向,其與深度學(xué)習(xí)理論、量子理論、遺傳算法、免疫算法等先進(jìn)理論和算法的結(jié)合,依然有很多值得研究的內(nèi)容. 參考文獻(xiàn): [1] Candès E J. Ridgelets:theory and applications[D]. USA:Department of Statistics, Stanford University, 1998. [2] 楊淑媛,焦李成,王敏.一種自適應(yīng)脊波網(wǎng)絡(luò)模型[J].西安電子科技大學(xué)學(xué)報(bào):自然科學(xué)版,2005,32(6):890-894. [3] 楊淑媛,焦李成,王敏.一種新的方向多分辨脊波網(wǎng)絡(luò)[J].西安電子科技大學(xué)學(xué)報(bào):自然科學(xué)版,2006,33(4):557-562. [4] Yang Shuyuan,Wang Ming,Jiao Licheng. Incremental constructive ridgelet neural network[J]. Neurocomputing,2008,72:367-377. [5] Amjady N, Keynia F, Zareipour H. Short-term wind power forecasting using ridgelet neural network[J]. Electric Power Systems Research, 2011,81(12):2099-2107. [6] Zheng N, Tan H F. SAR image classification based on brushlet and self-adaptive ridgelet neural network[J]. Applied Mechanics and Materials, 2013,347:3024-3028. [7] 孫鋒利,何明一,高全華.基于自適應(yīng)脊波網(wǎng)絡(luò)的高光譜遙感圖像分類[J].計(jì)算機(jī)科學(xué),2011,38(8):260-264. [8] Kennedy J, Eberhart R C. Particle swarm optimization[J]. IEEE Conference on Neural Networks, 1995:1942-1948. [9] Eberhart R C, Kennedy J. A new optimizer using particle swarm theory[J]. Institute of Electrical and Electronics Engineers, 1995,10:39-43. [10] Shi Y, Eberhart R C. A modified particle swarm optimizer[J]. Institute of Electrical and Electronics Engineers, 1998,5:69-73. [11] 夏婷,周衛(wèi)平,李松毅,等.一種新的Pseudo-Zernike矩的快速算法[J].電子學(xué)報(bào),2005,33(7):1295-1298. [12] 鐘智,朱曼龍,張晨,等.最近鄰分類方法的研究[J].計(jì)算機(jī)科學(xué)與探索,2011,5(5):467-473.3 實(shí)驗(yàn)及結(jié)果分析
3.1 6類飛機(jī)目標(biāo)的分類試驗(yàn)
3.2 試驗(yàn)結(jié)果分析
4 結(jié)束語(yǔ)