付麗輝,戴峻峰
(1淮陰工學院自動化學院,江蘇 淮安 223003;2淮陰工學院電子信息工程學院,江蘇 淮安 223003)
光纖表面等離子共振(SPR)傳感器的開環(huán)結(jié)構(gòu)具有簡單、無需復(fù)雜的信號處理以實現(xiàn)閉環(huán)反饋之優(yōu)點,但是在測量過程中,由于放棄了對SPR傳感頭共振吸收中心的鎖定,其測量結(jié)果具有“開放性”,輸出光電流相對于探測光中心頻率有所偏離[1,2],而以調(diào)頻光一階邊帶處SPR吸收譜的一階微分值為比例系數(shù),當波長偏離程度提高時可以使分辨率培增,但由于SPR共振吸收機理的復(fù)雜性,導致光電流與波長偏離程度之間的線性難以保證,動態(tài)范圍變窄,對應(yīng)可測量折射率變化范圍減小,系統(tǒng)性能劣化[3]。因此,如果沒有相應(yīng)措施以有效應(yīng)對開環(huán)系統(tǒng)的上述弊端,光纖等離子共振傳感器開環(huán)測試結(jié)構(gòu)將不具有應(yīng)用可行性。
目前,神經(jīng)網(wǎng)絡(luò)在眾多已有非線性系統(tǒng)識別和校正中的應(yīng)用效果,使其尤為適合SPR開環(huán)結(jié)構(gòu)非線性校正的要求。人工神經(jīng)網(wǎng)絡(luò)是一種模擬人腦的算法,其主要特點是并行處理、分布式存儲、運算速度快、具有較理想的容錯性,同時,還具有自學習、自組織、自適應(yīng)能力[4,5],這些結(jié)構(gòu)特點使人工神經(jīng)網(wǎng)絡(luò)在非線性系統(tǒng)矯正方面具有很大的應(yīng)用前景。隨著對光纖SPR傳感結(jié)構(gòu)研究的進一步深入,對傳感器的準確度、線性度等均有更高的要求,而神經(jīng)網(wǎng)絡(luò)所具有的良好非線性映射和逼近能力,使其非常適合SPR傳感器開環(huán)測試結(jié)構(gòu)的非線性校正應(yīng)用。采用神經(jīng)網(wǎng)絡(luò)方法,不需要深入了解其內(nèi)部結(jié)構(gòu)就能很好地解決傳感器的“黑箱問題”。因此,本文利用神經(jīng)網(wǎng)絡(luò)對SPR開環(huán)結(jié)構(gòu)的非線性傳感系統(tǒng)進行逆向建模,從而實現(xiàn)對其進行非線性補償。
SPR開環(huán)檢測結(jié)構(gòu)對應(yīng)的傳遞函數(shù)具有非線性,其反函數(shù)也為非線性。并且,在處理過程中很難精確獲得這種非線性模型,必然影響其測量結(jié)果的準確度。另一方面,神經(jīng)網(wǎng)絡(luò)可以映射非線性函數(shù),具有較強的推廣和泛化能力,能夠?qū)崿F(xiàn)盲學習[5],通過選取少量樣本讓神經(jīng)網(wǎng)絡(luò)進行訓練,即能映射該反函數(shù),運用這一原理,在光纖SPR傳感器開環(huán)測試系統(tǒng)輸出后接入神經(jīng)網(wǎng)絡(luò),可以實現(xiàn)對SPR傳感器非線性失真的校正,以此消除SPR開環(huán)測試結(jié)構(gòu)對傳感器性能的影響,對應(yīng)的非線性補償原理如圖1所示。
圖1 SPR傳感器神經(jīng)網(wǎng)絡(luò)補償原理圖Fig.1 Neural network compensation schematic diagram of SPRsensor
設(shè)被測介質(zhì)折射率為n,SPR傳感器輸出值為u,神經(jīng)網(wǎng)絡(luò)輸出值為y,則y能無限逼近n。其中,SPR傳感器輸出為u=f(n),開環(huán)SPR傳感結(jié)構(gòu)特點決定u為非線性函數(shù);補償環(huán)節(jié)輸出為y=F(u),F(u)為補償環(huán)境傳遞函數(shù)。
若使得F(u)=f?1(u),則
由此,測量值n與系統(tǒng)輸出y相同,從而獲得理想的傳輸特性。另一方面,F(u)為非線性函數(shù),其表達式具有黑箱性,因此,本研究利用神經(jīng)網(wǎng)絡(luò)對其內(nèi)部映射進行學習及訓練,從而取代F(u)。
目前,BP神經(jīng)網(wǎng)絡(luò)是一種比較成熟的神經(jīng)網(wǎng)絡(luò),其局限性主要體現(xiàn)在:
1)基于保證網(wǎng)絡(luò)的穩(wěn)定性需求,常取較小的學習率,導致網(wǎng)絡(luò)訓練的收斂速度慢;
2)基于誤差函數(shù)曲面的“凸凹不平”性以及BP算法采用的最速下降法—沿曲面下降方向滑向曲面某“谷底”,導致網(wǎng)絡(luò)訓練容易陷入局部極小點;
3)基于神經(jīng)元所采用的S型激勵函數(shù)自身特點,導致網(wǎng)絡(luò)訓練容易陷入S型函數(shù)的飽和區(qū)。
由此,眾多學者提出了一些改進算法[6],但大多為局部搜索算法,其全局最優(yōu)解及泛化能力經(jīng)常無法保證。因此,本研究提出基于改進的粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)補償模型。粒子群算法計算量小且具有全局優(yōu)化能力,己被廣泛地應(yīng)用于各類離散及連續(xù)問題的參數(shù)優(yōu)化中。
Kennedy和Eberhart于1995年首次提出粒子群算法(PSO),該算法初始化為一群隨機粒子[7],通過迭代找到最優(yōu)解。在每一次迭代中,粒子通過跟蹤兩個極值來更新自己,一個極值是粒子本身個體最好值,另一個極值就是整個種群尋優(yōu)的全局最好值,每個粒子通過上述的兩個極值不斷更新自己,從而產(chǎn)生新一代的群體。其主要缺點是過分依賴全局最優(yōu)信息導致其易陷入局部最優(yōu)[8],主要原因為粒子早熟收斂,即粒子狀態(tài)趨同,喪失其多樣性。由此,人們進行了不同的改進和嘗試[9,10],其中,比較常見的有調(diào)整加速度系數(shù)或權(quán)重的方法,但其調(diào)整過程具有較強隨意性,優(yōu)化能力有限;而劃分子群的方法能夠較好地克服粒子狀態(tài)趨同問題,但子群信息權(quán)重的選擇又成為新的隱患。為此,提出一種動態(tài)信息調(diào)整且速度可控的合作粒子群算法(ICPSO)。通過設(shè)定子群,引入子群最優(yōu)信息并利用迭代次數(shù)來動態(tài)控制子群與全局最優(yōu)信息的作用,以實現(xiàn)在尋優(yōu)前期以全局最優(yōu)信息引導為主,子群最優(yōu)信息的作用會隨著尋優(yōu)過程的深入而逐漸提高,以此來保持粒子的多樣性。
基本PSO算法中的粒子狀態(tài)更新方程為[10]
式中:vt+1為第t+1次迭代中第i個粒子第m維速度,xt+1為其對應(yīng)位置;pit為第i個粒子第t次迭代的自身最優(yōu)值,pgt為其全局最優(yōu)值;r1,r2是[0,1]間隨機數(shù);c1,c2是加速系數(shù);ω是慣性因子。
ICPSO算法粒子狀態(tài)更新可表示為
式中:r為子群數(shù),pr為子群的最優(yōu)值,其余各參數(shù)含義同(2)式。ICPSO算法的粒子移動過程如圖2所示。
圖2 ICPSO算法的粒子移動過程Fig.2 Particle moving process of ICPSO algorithm
由(3)式可見,粒子飛行速度更新迭代方程中增加了第四項,該項表征了子群最優(yōu)信息對粒子尋優(yōu)的影響,同時,第三及第四項中引入?yún)?shù)1/t和(1?1/t),用以動態(tài)調(diào)整全局及子群最優(yōu)信息對粒子狀態(tài)更新的影響,1/r則考慮分組數(shù)對尋優(yōu)速度的影響。
當種群劃分為r組后,在確定粒子狀態(tài)時會考慮以下幾個方面:子群最優(yōu)與粒子當前位置間的方向pr,全局最優(yōu)與粒子當前位置間的方向pg,自身最優(yōu)與當前位置間的方向pi,當前速度vt。
在尋優(yōu)中,粒子利用1/t和(1?1/t)因子動態(tài)調(diào)整全局最優(yōu)、個體最優(yōu)、子群最優(yōu)的共享信息,具體地,當t值較小,尋優(yōu)過程處于前期時,各粒子以全局最優(yōu)為主要共享信息;當t值逐漸變大,迭代次數(shù)增加,子群最優(yōu)值則為重要的共享信息,由此避免了粒子狀態(tài)過早趨同,從而保證算法兼具更好的全局及局部尋優(yōu)能力。另外,1/r系數(shù)用于收斂速度的控制,當r處于[1,∞]時,1/r則處于[0,1],由此可調(diào)整并達到與收斂精度更相適合的收斂速度,相應(yīng)證明見文獻[11]。
表征尋優(yōu)算法質(zhì)量的重要指標有尋優(yōu)精度及收斂速度,應(yīng)用中需綜合平衡二者的關(guān)系。由(3)式綜合分析可見,有效調(diào)控子群內(nèi)粒子數(shù)、粒子總數(shù)、子群數(shù)可以將ICPSO算法的理論優(yōu)越性變?yōu)楝F(xiàn)實性。根據(jù)基本原理,局部最優(yōu)及早熟可以通過分組避免,該方式通過將子群最優(yōu)信息引入迭代方程并采取分組方式獲得,因此,子群數(shù)的提高在一定范圍內(nèi)有利于改善收斂精度。但是,在此過程中,收斂速度也會由于額外信息的引入受到影響,也就是說,在某種程度上,ICPSO算法的收斂精度是以尋優(yōu)速度為代價換取的。另外,當粒子總數(shù)給定,收斂精度也會因子群數(shù)產(chǎn)生負面影響。因為,當粒子總數(shù)確定,子群數(shù)增加,子群內(nèi)的粒子數(shù)必然變小,導致該子群最優(yōu)信息與其他子群最優(yōu)信息之間的差別性不足,同時,對內(nèi)代表性不足,無法充分體現(xiàn)算法初衷,考慮增加分組數(shù)對收斂速度的影響,算法的總體性能會有較明顯下降。另外,當確定子群數(shù),存在雙向性的粒子總數(shù)變化影響,也就是說,總粒子數(shù)被適當增加,子群內(nèi)粒子數(shù)即可提高,群間差別性及最優(yōu)群內(nèi)代表性會相應(yīng)提高,其收斂精度也得以提高,同時,對收斂速度的影響并不大,當粒子數(shù)被進一步提高,導致群內(nèi)粒子數(shù)過大,群數(shù)下降,群差別對全局最優(yōu)修正力不足,而粒子數(shù)的增加導致收斂精度改進不足,這與收斂速度的問題又彼此制約,導致算法整體性能下降[11]。
利用ICPSO對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值及閾值進行優(yōu)化處理。首先,通過將BP網(wǎng)絡(luò)結(jié)構(gòu)中的各層權(quán)值和閾值映射為粒子的速度,建立BP網(wǎng)絡(luò)結(jié)構(gòu)與粒子群算法的聯(lián)系通道,再利用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)算出其對應(yīng)輸出,同時,將網(wǎng)絡(luò)實際輸出與目標輸出代入適應(yīng)度函數(shù),計算均方誤差,以此作為后續(xù)粒子群尋優(yōu)的基礎(chǔ),最后,利用粒子群合作式尋優(yōu)過程獲得全局最優(yōu)位置,從而得到網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值,至此,該網(wǎng)絡(luò)模型得以構(gòu)建完成。
ICPSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)的具體實現(xiàn)過程如下。
第一步,構(gòu)建三層BP神經(jīng)網(wǎng)絡(luò),并對其進行初始化。
1)層數(shù)設(shè)計:網(wǎng)絡(luò)層數(shù)設(shè)計為3層,即輸入層、輸出層、隱層層數(shù)。
2)輸入層節(jié)點數(shù)設(shè)計:基于光纖SPR傳感器的神經(jīng)網(wǎng)絡(luò)補償原理,SPR傳感器通過檢測共振波長、半峰全寬以及共振點極值來反映被測環(huán)境介質(zhì)的折射率,故輸入節(jié)點數(shù)設(shè)計為1~3個,用以建立不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),以驗證不同光譜信息(共振波長、半峰全寬以及共振點極值)表征測量的組合能力。
3)隱層節(jié)點數(shù)設(shè)計:利用經(jīng)驗近似公式來確定隱層節(jié)點數(shù),算法可表示為
式中:n1為輸入層節(jié)點數(shù),n2為隱層節(jié)點數(shù)。
4)輸出層節(jié)點數(shù)n3設(shè)計:基于SPR傳感器神經(jīng)網(wǎng)絡(luò)補償原理,補償結(jié)構(gòu)輸出可以無限逼近被測介質(zhì)折射率的輸出,故設(shè)計網(wǎng)絡(luò)輸出節(jié)點為1個,表征為被測介質(zhì)折射率。
5)適應(yīng)度函數(shù)的設(shè)計:利用訓練中產(chǎn)生的均方誤差作為ICPSO的適應(yīng)度函數(shù),具體定義為
式中:l為訓練樣本數(shù),n3為輸出節(jié)點數(shù),yk為BP網(wǎng)絡(luò)訓練實際輸出,tk為目標輸出,即被測介質(zhì)折射率的真值。
第二步,對粒子群進行初始化。
1)加速系數(shù)c1,c2的設(shè)計:經(jīng)仿真最后確定取c1=c2=2.05;2)慣性因子ω的設(shè)計:經(jīng)仿真最后確定ω=0.9;3)粒子的數(shù)量設(shè)計:經(jīng)仿真最后確定取粒子數(shù)N=160;4)代次數(shù)設(shè)計:根據(jù)實驗中具體的尋優(yōu)效果取k1=100;5)r1,r2設(shè)計:由經(jīng)驗數(shù)據(jù),設(shè)計其取值為介于[0,1]之間的隨機數(shù);6)對于合作粒子群中的子群數(shù)r的設(shè)計:基于前期研究結(jié)論,子群數(shù)較多時,可參考的子群最優(yōu)值信息多,粒子多樣性好,全局尋優(yōu)能力得到優(yōu)化,但子群數(shù)過多,反而使得子群內(nèi)粒子數(shù)少,子群最優(yōu)信息的子群內(nèi)代表性、子群間差異性不足,從而導致其尋優(yōu)精度下降,甚至可出現(xiàn)精度劣化,訓練過程將對子群數(shù)分別取2、4、6、8組,并取精度最高的一組輸出作為網(wǎng)絡(luò)的結(jié)構(gòu)權(quán)值及閾值,子群數(shù)r初始化為2組;7)粒子維數(shù)設(shè)計:基于本節(jié)利用粒子群算法ICPOS對BP網(wǎng)絡(luò)權(quán)值和閾值進行優(yōu)化處理的目標,粒子維數(shù)d設(shè)計為
式中:p為輸入層-隱含層連接權(quán)個數(shù),n2為隱含層閾值個數(shù),q為隱含層-輸出層連接權(quán)個數(shù),n3為輸出層閾值個數(shù)。
第三步,利用適應(yīng)度函數(shù)計算全局最優(yōu)值pg、個體最優(yōu)值pi以及子群最優(yōu)值pr。
在設(shè)計中,先將各粒子的位置及速度初始化為隨機數(shù),同時,將各個粒子分成2組,并將各個粒子不同維數(shù)所代表的連接權(quán)或閾值代入BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)計算公式中,分別計算網(wǎng)絡(luò)隱層節(jié)點及輸出層節(jié)點的輸出,通過適應(yīng)度函數(shù)計算網(wǎng)絡(luò)實際輸出與目標輸出的均方誤差,最后,經(jīng)比較獲得初始化pg、pi及pr。
第四步,根據(jù)合作粒子群更新公式(3),調(diào)整各粒子的速度vt+1及位置xt+1。
第五步,更新最優(yōu)值。
根據(jù)適應(yīng)度函數(shù)來比較當前最優(yōu)值與pg、pi及pr三者的關(guān)系,若當前最優(yōu)值優(yōu)于其中任何一個參數(shù),即將其替換。
第六步,檢查結(jié)束條件。
如果疊帶次數(shù)k大于給定最大次數(shù)k1或評價用誤差值大于給定值,則整個程序停止迭代,并轉(zhuǎn)第七步,否則,程序轉(zhuǎn)到新一輪的粒子位置及適應(yīng)度計算的過程(即第四步)。
第七步,保存該組全局最優(yōu)值。
第八步,檢查分組結(jié)束條件。
如果分組數(shù)為8組,則轉(zhuǎn)第九步,否則分組數(shù)加2,并將粒子按規(guī)定分組,轉(zhuǎn)第四步。
第九步,根據(jù)適應(yīng)度函數(shù)比較各個分組輸出全局最優(yōu)粒子的位置,并將其中位置最優(yōu)的一組全局最優(yōu)粒子位置映射為神經(jīng)網(wǎng)絡(luò)的權(quán)值及閾值。
在測試過程中,首先采集待測試水質(zhì)樣品,并將其分類為預(yù)測集樣品及訓練集樣本。其中訓練樣本集經(jīng)過兩方面處理,一是經(jīng)由阿貝折射率儀進行真值測定,并作為ICPSO-BP神經(jīng)網(wǎng)絡(luò)的輸出,一是經(jīng)SPR開環(huán)傳感系統(tǒng)測試而獲取其光譜信息,并通過后續(xù)光譜處理算法提取其三個信息,分別為共振波長、半峰全寬及共振點極值,作為神經(jīng)網(wǎng)絡(luò)的輸入,由輸入輸出數(shù)據(jù)構(gòu)成的訓練樣品集對網(wǎng)絡(luò)進行訓練,當訓練結(jié)束網(wǎng)絡(luò)收斂后,該傳感測量校正模型即創(chuàng)建成功;另一方面,預(yù)測樣品集也同樣經(jīng)過以上2個處理步驟,該組樣品集的真值和光譜信息用作模型校驗,通過將其對應(yīng)的共振波長、半峰全寬以及共振點極值信息輸入已建立的ICPSO-BP模型中,獲得網(wǎng)絡(luò)對應(yīng)輸出,再將其與真值進行比較,從而驗證網(wǎng)絡(luò)的可行性。
在測試過程中需要確定折射率的樣品集,采用甘油配置不同濃度溶液,再利用阿貝折射儀測試其折射率作為預(yù)測和訓練樣本的目標值,具體實驗系統(tǒng)為反射式SPR檢測系統(tǒng),如圖3所示。其中,SPR傳感器纖芯選用石英光纖,并利用離子束濺射法在其端面鍍銀膜(50 nm)。白光光源產(chǎn)生的入射光(波長為400~1000 nm)通過P偏振片后再由Y型光纖耦合器的一端進入,經(jīng)其另一端傳入傳感光纖,并作用于SPR傳感頭,該入射光線與液體介質(zhì)相互作用會產(chǎn)生SPR效應(yīng),最后由端面全反射鏡形成反射光線,通過Y型光纖出射端送光譜儀,利用計算機處理獲得被測介質(zhì)的待測信息。
圖3 光纖SPR傳感器檢測實驗平臺Fig.3 Experimental platform of optical fiber SPRsensor
將光纖SPR傳感器放入配置好的甘油溶液中,利用光譜分析儀采樣其輸入光譜,并利用光譜分析軟件采集至電腦,獲取所有溶液的光譜信號,求取濾波后光譜線的歸一化強度為0.5處對應(yīng)的波長間距,即半峰全寬(FWHM),同時采集濾波后光譜曲線的共振波長及共振光強,整理待訓練數(shù)據(jù),如表1所示。
表1 不同折射率待測液體參數(shù)Table 1 Parameters of liquid to be measured with different refractive index
可見,當被測介質(zhì)折射率在1.333~1.427范圍內(nèi)變化時,光譜均呈現(xiàn)共振點,且共振波長隨折射率增大而增大,并在587.94~970.53之間變化,歸一化共振強度則呈下降趨勢,在0.809~0.606之間變化,FWHM隨折射率增大而增大,在160~462之間變化。但是,歸一化共振光強、波長、半峰全寬與折射率的關(guān)系均呈一定程度非線性關(guān)系,這就是傳感系統(tǒng)固有的測試結(jié)構(gòu)帶來的本質(zhì)問題。
在訓練之前,共振光強可以由光譜儀直接獲取其歸一化數(shù)據(jù),而其他參數(shù)的樣本數(shù)據(jù)差別較大,若直接進行訓練,則會導致延長網(wǎng)絡(luò)訓練時間,甚至可能影響整個網(wǎng)絡(luò)無法收斂,故對樣本進行歸一化處理,以保證將不同量綱和取值的樣本數(shù)據(jù)變換為相同取值尺度范圍[?1,+1]內(nèi)。第i個樣本數(shù)據(jù)的歸一化值可表示為
式中:xi為第i個樣本數(shù)據(jù)實際值,xmax為該樣本集最大值,xmin為該樣本集最小值。
基于歸一化共振光強、波長、半峰全寬與折射率的關(guān)系均呈現(xiàn)一定程度非線性,針對這種光纖SPR開環(huán)傳感系統(tǒng)的固有結(jié)構(gòu)問題,提出如圖1所示的模型對其進行補償。通過SPR傳感器輸出的光譜信息u可以獲得三個與其輸入折射率相關(guān)的參數(shù):共振波長、共振光強、半峰全寬,為了獲得更為良好的補償效果,利用三個參數(shù)分別建立單輸入、雙輸入、三輸入類型的神經(jīng)網(wǎng)絡(luò),并將表1中的歸一化數(shù)據(jù)作為樣本,其中,實驗樣本中的奇數(shù)序號數(shù)據(jù)用于訓練,偶數(shù)序號數(shù)據(jù)用于預(yù)測,通過MATLAB 6.5編寫補償模型的仿真程序,完成如下驗證實驗。
1)建立單輸入ICPSO-BP神經(jīng)網(wǎng)絡(luò)的非線性補償模型
建立單輸入ICPSO-BP神經(jīng)網(wǎng)絡(luò)的非線性補償模型,以共振波長、共振光強、半峰全寬分別作為輸入,對應(yīng)實際被測折射率作為輸出,訓練ICPSO-BP神經(jīng)網(wǎng)絡(luò)。ICPSO-BP的主要參數(shù)設(shè)置如下:適應(yīng)度函數(shù)為均方誤差,網(wǎng)絡(luò)訓練算法為改進ICPSO,加速系數(shù)c1=c2=2.05,慣性因子ω=0.9,粒子數(shù)N=160,初始迭代次數(shù)k1=100,r1、r2為介于[0,1]之間的隨機數(shù),子群數(shù)r分別取2、4、6、8,r初始化為2,輸入神經(jīng)元個數(shù)為1,隱層神經(jīng)元個數(shù)為3,輸出神經(jīng)元個數(shù)為1。
基于三個參數(shù)所建立的非線性補償模型分別如圖4~6所示。
圖4 共振波長非線性補償模型Fig.4 Nonlinear compensation model of resonancewavelength
模型建立并訓練成功后,將表1中的偶數(shù)序列數(shù)據(jù)作為預(yù)測數(shù)據(jù),輸入以上訓練好的網(wǎng)絡(luò)中進行檢驗,獲得如圖7所示的校正結(jié)果。
圖5 共振光強非線性補償模型Fig.5 Nonlinear compensation model of resonance intensity
由圖7可見:三種不同輸入下的校正效果差別較大。其中,以共振波長作為輸入所建立的ICPSO-BP補償網(wǎng)絡(luò)的校正效果最好,其次是以共振光強作為輸入的情況,最差為以半峰全寬作為輸入的情況,計算可知三種情況下的最大絕對誤差分別為0.005、0.006、0.008,也就是說,在等離子共振傳感器的測試參數(shù)中,利用共振波長信息表征被測信號的特征性更強,但無論單獨利用以上任何參數(shù)作為輸入,都難以再達到與理想特性更為接近的線性關(guān)系,其表征效果有待完善。
圖6 FWHM非線性補償模型Fig.6 Nonlinear compensation model of FWHM
圖7 單輸入ICPSO-BP補償后傳感器的輸入輸出關(guān)系Fig.7 Relationship between input and output of sensor by single-input ICPSO-BPcompensation
2)建立雙輸入ICPSO-BP神經(jīng)網(wǎng)絡(luò)的非線性補償模型
建立雙輸入ICPSO-BP神經(jīng)網(wǎng)絡(luò)的非線性補償模型,并以共振波長與光強、共振光強與半峰全寬、共振波長與半峰全寬作為其兩個輸入信號,以實際被測折射率作為輸出對網(wǎng)絡(luò)進行訓練。ICPSO-BP參數(shù)設(shè)置為:輸入神經(jīng)元個數(shù)為2,隱層神經(jīng)元個數(shù)為5,輸出神經(jīng)元個數(shù)為1,其他結(jié)構(gòu)參數(shù)同上。
以上三種情況的實驗結(jié)果如圖8所示。由圖8可見:三種情況下的非線性校正能力比較接近,但相對來說,從校正誤差來看,以共振波長與光強作為輸入的組合校正效果最好,其次是以共振光強與半峰全寬作為輸入的情況,最差是以共振波長與半峰全寬作為輸入的情況,計算可得三種情況下的最大絕對誤差分別為0.003、0.004、0.005,從穩(wěn)定性方面來看,前兩種情況的初期波動都較大,后期較為穩(wěn)定,而最后一種情況的共振波長與半峰全寬作為輸入的組合,其校正效果最為穩(wěn)定,但缺點是誤差相對偏大??傮w來說,與單輸入形式相比,各種雙輸入的校正效果都有了一定程度的改善,這也說明:在校正過程中,模型同樣需要盡可能全面的參考信息,信息越全面越具有代表性,從而在不深入了解傳感器內(nèi)部結(jié)構(gòu)的情況下,很好地解決SPR傳感器的“黑箱問題”,保證補償系統(tǒng)線性關(guān)系體現(xiàn)得更為良好。
圖8 雙輸入ICPSO-BP補償后傳感器輸入輸出關(guān)系Fig.8 Relationship between input and output of sensor by dual-input ICPSO-BPcompensation
3)建立三輸入ICPSO-BP神經(jīng)網(wǎng)絡(luò)的非線性補償模型
建立三輸入ICPSO-BP神經(jīng)網(wǎng)絡(luò)的非線性補償模型,以共振波長、共振光強與半峰全寬作為其三個輸入信號,以實際輸出折射率作為輸出對網(wǎng)絡(luò)進行訓練。ICPSO-BP參數(shù)設(shè)置為:輸入神經(jīng)元個數(shù)為3,隱層神經(jīng)元個數(shù)為7,輸出神經(jīng)元個數(shù)為1,其他結(jié)構(gòu)參數(shù)同上。
將三輸入與雙輸入、單輸入校正獲得的最好非線性校正結(jié)果進行比較,獲得如圖9所示的結(jié)果。其中,單輸入、雙輸入與三輸入的最大絕對誤差分別為0.005、0.003、5×10?4。與雙輸入和單輸入校正最好的情況相比較,三輸入ICPSO-BP的預(yù)測結(jié)果與理想線性非常接近,其主要原因是三輸入ICPSO-BP網(wǎng)絡(luò)結(jié)構(gòu)可以更為全面地借鑒傳感器輸入輸出關(guān)系的參考信息,使其具有更為良好的非線性映射和逼近能力,從而更好地消除SPR結(jié)構(gòu)對傳感性能的影響,保證其校正的線性化程度更為優(yōu)良。
圖9 三輸入ICPSO-BP補償后傳感器輸入輸出關(guān)系Fig.9 Relationship between input and output of sensor by three-input ICPSO-BPcompensation
另外,抽取部分實驗數(shù)據(jù)進行泛化能力檢驗,測試結(jié)果如表2所示。根據(jù)表2測試數(shù)據(jù)并結(jié)合具體真實值可知:各組測試誤差均小于0.001,也就是說,利用三輸入ICPSO測試被測介質(zhì)折射率,具有很強的泛化能力,從而進一步證實了三輸入的ICPSO-BP神經(jīng)網(wǎng)絡(luò)在等離子共振傳感器非線性校正中的可行性。
表2 ICPSO-BP神經(jīng)網(wǎng)絡(luò)泛化能力檢驗Table 2 Test of generalization ability of ICPSO-BPneural network
4)建立三輸入不同神經(jīng)網(wǎng)絡(luò)非線性補償模型
為了驗證神經(jīng)網(wǎng)絡(luò)在光纖SPR傳感器非線性校正中的作用以及ICPSO-BP神經(jīng)網(wǎng)絡(luò)算法的可行性,利用MATLAB編程,分別建立RBF、BP、PSO-BP以及ICPSO-BP神經(jīng)網(wǎng)絡(luò)對SPR傳感器進行非線性校正,各種網(wǎng)絡(luò)均設(shè)置為三輸入,其他主要參數(shù)如下。
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)訓練采用誤差反向傳播學習算法,網(wǎng)絡(luò)層數(shù)為3,輸入層神經(jīng)元個數(shù)為3,隱含層神經(jīng)元個數(shù)為7,輸出神經(jīng)元個數(shù)為1,初始權(quán)值取為[?1,1]之間的隨機數(shù),學習速率為0.1,期望誤差為0.001,隱層神經(jīng)元采用Sigmoid函數(shù),具體定義為
PSO-BP和ICPSO-BP網(wǎng)絡(luò)權(quán)值尋優(yōu)的最大進化代數(shù)為100,適應(yīng)度函數(shù)為均方誤差,加速系數(shù)c1=c2=2.05,慣性因子ω=0.9,粒子數(shù)N=160,初始迭代次數(shù)k1=100,r1、r2為介于[0,1]之間的隨機數(shù),輸入神經(jīng)元個數(shù)為3,隱層神經(jīng)元個數(shù)為7,輸出神經(jīng)元個數(shù)為1,其他網(wǎng)絡(luò)結(jié)構(gòu)方面的參數(shù)設(shè)置同傳統(tǒng)BP網(wǎng)。另,ICPSO-BP涉及到的子群數(shù)r取2、4、6、8組,r初始化為2組。RBF網(wǎng)絡(luò)的均方差精度為0.02,散布常數(shù)為1,輸入及輸出神經(jīng)元個數(shù)等同BP網(wǎng)絡(luò),隱層神經(jīng)元數(shù)在網(wǎng)絡(luò)工作時通過自適應(yīng)來獲得,其他參數(shù)等同BP網(wǎng)絡(luò)設(shè)置。四種網(wǎng)絡(luò)的校正結(jié)果如圖10所示。
圖10 不同神經(jīng)網(wǎng)絡(luò)校正比較Fig.10 Comparison of different neural network
由圖10數(shù)據(jù)計算得到RBF、BP、PSO-BP、ICPSO-BP四種網(wǎng)絡(luò)的最大絕對誤差分別為0.013、0.004、0.007、0.001,統(tǒng)計其誤差標準差分別為0.005、0.002、0.003、0.001。由此可見,RBF網(wǎng)絡(luò)校正效果最差,BP網(wǎng)絡(luò)校正效果較好,PSO-BP網(wǎng)絡(luò)校正效果不穩(wěn)定,前期效果較好,后期則線性程度退化,主要原因是PSO本身尋優(yōu)過分依賴全局最優(yōu)信息導致易陷入局部最優(yōu),這與粒子早熟收斂有關(guān),從而影響尋優(yōu)及校正效果;而ICPSO-BP在整個輸入范圍內(nèi)都表現(xiàn)良好,根本原因是引入子群最優(yōu)信息,且通過迭代次數(shù)動態(tài)調(diào)整子群最優(yōu)信息與全局最優(yōu)信息的作用,尋優(yōu)前期以全局最優(yōu)信息引導為主,隨著尋優(yōu)過程的深入,子群最優(yōu)信息作用逐漸提高,從而保持粒子多樣性,使得該神經(jīng)網(wǎng)絡(luò)泛化能力更強,保證ICPSO-BP補償模型與等離子共振傳感器所組成系統(tǒng)具有更為良好的線性及更高的測試精度。
進一步獲得四種神經(jīng)網(wǎng)絡(luò)測量結(jié)果,見表3,并獲得四種神經(jīng)網(wǎng)絡(luò)的校正誤差曲線及訓練誤差曲線,如圖11、12所示。
表3 各神經(jīng)網(wǎng)絡(luò)補償模型測量結(jié)果對照Table 3 Comparison of measurement resultsof each neural network compensation model
由圖11可知,在1.334~1.427折射率測量范圍內(nèi),RBF、BP、PSO-BP、ICPSO-BP算法的最大測量誤差分別為0.013、0.004、0.007、0.001,也就是說,ICPSO-BP算法的校正誤差最小,具有最高的精度,從而進一步驗證了該算法在光纖SPR傳感器非線性校正中的可行性。另外,由圖12可見,在設(shè)置訓練目標精度為0.001的情況下,BP神經(jīng)網(wǎng)絡(luò)只需要8步就可以達到預(yù)定目標,ICPSO-BP和PSO-BP網(wǎng)絡(luò)則分別需要13和16步,速度最慢的為RBF網(wǎng)絡(luò),需要21步,與RBF、BP、PSO-BP相比,ICPSO-BP算法的校正精度最高,且其學習訓練速度也與其他網(wǎng)絡(luò)速度相當,也就是說,在通過分組提高算法精度的前提下,其速度也可以得到保證。
圖11 各神經(jīng)網(wǎng)絡(luò)校正誤差Fig.11 Correction error of each neural network
圖12 各個神經(jīng)網(wǎng)絡(luò)訓練誤差曲線Fig.12 Training error curveof each neural network
針對光纖SPR開環(huán)系統(tǒng)的弊端,利用ICPSO-BP神經(jīng)網(wǎng)絡(luò)對光纖SPR測試系統(tǒng)模型進行辨識補償,基于人工神經(jīng)網(wǎng)絡(luò)的開環(huán)結(jié)構(gòu)進行分析、討論與實驗研究,建立光纖SPR補償模型,通過SPR傳感器輸出的光譜信息獲得三個與其輸入折射率相關(guān)的參數(shù):共振波長、共振光強、半峰全寬,并利用三個參數(shù)分別建立單輸入、雙輸入、三輸入三類神經(jīng)網(wǎng)絡(luò),將歸一化測試數(shù)據(jù)作為訓練和預(yù)測用樣本數(shù)據(jù),利用MATLAB 6.5編寫仿真程序,驗證了該補償模型在光纖SPR測量精度和速度上的可行性,從而為光纖SPR傳感器的進一步應(yīng)用打下一定的基礎(chǔ)。在人工神經(jīng)網(wǎng)絡(luò)設(shè)計方面,基于神經(jīng)網(wǎng)絡(luò)訓練問題屬于非線性高度復(fù)雜優(yōu)化問題,而梯度下降訓練方法依賴初始權(quán)重選擇,算法復(fù)雜且易陷入局部最優(yōu),研究全局搜索算法PSO,并針對其可能出現(xiàn)早熟收斂的問題進行改進,提出一種動態(tài)信息調(diào)整且速度可控的改進型合作粒子群算法ICPSO,將其作為神經(jīng)網(wǎng)絡(luò)的訓練算法,通過在粒子飛行狀態(tài)控制的迭代方程中引入子群最優(yōu)信息,利用尋優(yōu)次數(shù)對全局最優(yōu)信息、子群最優(yōu)信息進行融合與動態(tài)調(diào)控,較好地保持了粒子多樣性,從而有效地避免粒子的早熟收斂,實現(xiàn)較好的尋優(yōu)精度。