路 茵,楊瑞峰,郭晨霞
(1.中北大學(xué)儀器與電子學(xué)院,山西太原 030051; 2.山西省自動(dòng)化檢測(cè)裝備與系統(tǒng)工程技術(shù)研究中心,山西太原 030051)
光纖傳感器具有易于設(shè)計(jì)、動(dòng)態(tài)范圍大和靈敏度高等特性,因其耐高溫高壓和耐腐蝕,常應(yīng)用于通信、醫(yī)療和交通等領(lǐng)域[1]。但是實(shí)際應(yīng)用中會(huì)出現(xiàn)測(cè)量值在一定范圍內(nèi)波動(dòng)的現(xiàn)象,分析測(cè)量誤差主要來(lái)源于輸出光源容易受到自身或周?chē)h(huán)境的影響[2],因此有必要進(jìn)行光強(qiáng)補(bǔ)償。光強(qiáng)補(bǔ)償主要包括通過(guò)改進(jìn)硬件結(jié)構(gòu)和利用神經(jīng)網(wǎng)絡(luò)進(jìn)行補(bǔ)償2部分。王其生[3]等提出光源負(fù)反饋的方法穩(wěn)定光源發(fā)出的光強(qiáng),呂海寶[4]等提出分光參考的方法補(bǔ)償光纖傳感器接收光強(qiáng),祝睿雪[5]等設(shè)計(jì)反射式光纖傳感器結(jié)構(gòu)為三探頭等間距排列,卞強(qiáng)[6]提出強(qiáng)度調(diào)制型傳感器基于脈沖自參考的補(bǔ)償技術(shù)。這些硬件改進(jìn)方法容易增加測(cè)量系統(tǒng)的原始成本和復(fù)雜程度,因此可以利用神經(jīng)網(wǎng)絡(luò)輸入輸出非線性映射的能力處理光纖傳感器接收光強(qiáng)與位移之間復(fù)雜的函數(shù)關(guān)系。張朝龍[7]等提出的補(bǔ)償方法為支持向量機(jī)處理數(shù)據(jù),但是算法運(yùn)行較慢,難以滿足光纖傳感器在線測(cè)量的要求。樊廷棟[8]等提出反向傳播神經(jīng)網(wǎng)絡(luò)對(duì)光纖傳感器位移進(jìn)行補(bǔ)償?shù)姆桨?但是傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)容易出現(xiàn)陷入局部最優(yōu)個(gè)體的情況,直接影響傳感器補(bǔ)償效果。
本文提出人工蜂群算法優(yōu)化傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)的混合算法進(jìn)行光強(qiáng)補(bǔ)償過(guò)程。結(jié)合人工蜂群算法蜂群個(gè)體搜索最優(yōu)的能力和反向傳播神經(jīng)網(wǎng)絡(luò)局部尋優(yōu)的能力,達(dá)到減少樣本容易陷入局部極值的目的。將光纖傳感器內(nèi)圈與外圈接收光功率值以及位移作為數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò)各參數(shù)值,建立最優(yōu)ABC-BP神經(jīng)網(wǎng)絡(luò)處理光纖傳感器接收光強(qiáng)。比較ABC-BP神經(jīng)網(wǎng)絡(luò)、傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)回歸預(yù)測(cè)模型,通過(guò)平均絕對(duì)誤差和均方根誤差兩項(xiàng)指標(biāo)值衡量不同算法預(yù)測(cè)值與真實(shí)值之間的誤差。對(duì)比實(shí)驗(yàn)表明本文提出的混合算法預(yù)測(cè)誤差更小,更有效地減少了非線性因素的影響。該混合算法能夠更高精度補(bǔ)償光纖傳感器接收光強(qiáng),達(dá)到獲取更精確位移值的目的。
為了完成傳感器接收光強(qiáng)補(bǔ)償?shù)倪^(guò)程,將發(fā)射光纖、內(nèi)圈接收光纖以及外圈接收光纖耦合到傳感器探頭內(nèi)。根據(jù)測(cè)量系統(tǒng)動(dòng)態(tài)范圍與精確度的要求,設(shè)計(jì)內(nèi)圈接收光纖與外圈接收光纖排列方式為雙圈同軸式,如圖1所示。傳感器探頭內(nèi)圈與外圈2組光纖分別接收來(lái)自被測(cè)物表面的反射光,通過(guò)2組接收光強(qiáng)隨發(fā)射光強(qiáng)等比例的變化實(shí)現(xiàn)光強(qiáng)硬件補(bǔ)償過(guò)程[9]。
圖1 傳感器探頭結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)補(bǔ)償過(guò)程如圖2所示,利用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)復(fù)雜非線性關(guān)系的能力,建立光纖傳感器接收光強(qiáng)與位移之間的關(guān)系且與光源輸出光強(qiáng)I0無(wú)關(guān)。將內(nèi)圈接收光纖作為接收光路,外圈接收光纖作為參考光路,2組接收光強(qiáng)I1和I2都與光源輸出光強(qiáng)I0和位移值(d1,d2)有關(guān),關(guān)系見(jiàn)式(1)。
圖2 神經(jīng)網(wǎng)絡(luò)光強(qiáng)補(bǔ)償
(1)
將兩組接收光功率值作為神經(jīng)網(wǎng)絡(luò)的輸入層,期望位移值作為輸出層,通過(guò)期望位移值d1與實(shí)際輸出位移值d之間的反向誤差信號(hào)E調(diào)整權(quán)值與閾值,從而建立最優(yōu)ABC-BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償模型。
反向傳播神經(jīng)網(wǎng)絡(luò)具有易于操作、結(jié)構(gòu)簡(jiǎn)單和實(shí)現(xiàn)任意復(fù)雜非線性關(guān)系的優(yōu)點(diǎn),其并行分布處理信息的方式增強(qiáng)了聯(lián)想記憶能力[10]。BP神經(jīng)網(wǎng)絡(luò)原理圖如圖3所示。數(shù)據(jù)由輸入層前向傳遞,經(jīng)過(guò)多個(gè)神經(jīng)元組成的隱藏層處理最終傳遞到輸出層。通過(guò)實(shí)際輸出值與期望輸出值之間的反向誤差信號(hào)更新參數(shù)值權(quán)重和閾值,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)以目標(biāo)精度接近復(fù)雜非線性關(guān)系的過(guò)程。
圖3 BP神經(jīng)網(wǎng)絡(luò)原理圖
隱藏層各神經(jīng)元輸出值為
(2)
輸出層各神經(jīng)元輸出值為
(3)
反向誤差信號(hào)為
Ek=Hk-Y2k
(4)
式中:vij為輸入層i個(gè)節(jié)點(diǎn)與隱藏層j個(gè)節(jié)點(diǎn)之間的連接權(quán)重;wjk為隱藏層j個(gè)節(jié)點(diǎn)與輸出層k個(gè)節(jié)點(diǎn)之間的連接權(quán)重;aj和bk為隱藏層和輸出層的閾值;Hk為反向傳播神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值。
人工蜂群算法(artificial bee colony,ABC)是在2005年提出來(lái)的一種仿生優(yōu)化算法[11],通過(guò)種群內(nèi)個(gè)體之間信息的交互完成較為復(fù)雜問(wèn)題求解的過(guò)程[12]。人工蜂群算法不考慮信息的特殊性只需對(duì)實(shí)際問(wèn)題進(jìn)行優(yōu)劣對(duì)比,通過(guò)模擬蜂群不同個(gè)體采蜜的行為以實(shí)現(xiàn)資源分配過(guò)程。人工蜂群算法流程圖如圖4所示。
將蜜蜂種群分為引領(lǐng)蜂、跟隨蜂以及偵查蜂3類(lèi)個(gè)體,尋找到的蜜源信息表示實(shí)際問(wèn)題的可行解,花蜜量表示對(duì)應(yīng)可行解的質(zhì)量[13]。人工蜂群算法具體尋優(yōu)過(guò)程為:
(1)初始參數(shù)值。確定蜂群不同個(gè)體的數(shù)量以及最大迭代次數(shù),并在搜索范圍內(nèi)隨機(jī)生成初始解Xi。
(2)計(jì)算適應(yīng)度值:
(5)
式中:fiti為第i個(gè)蜜源的適應(yīng)度值;fi為目標(biāo)函數(shù)值。
(3)產(chǎn)生引領(lǐng)蜂。引領(lǐng)蜂為整個(gè)種群提供覓食的方向,通過(guò)隨機(jī)產(chǎn)生的初始位置開(kāi)始搜尋蜜源信息,并計(jì)算蜜源信息對(duì)應(yīng)的適應(yīng)度值。根據(jù)貪婪選擇法決定是否更新蜜源信息,具體更新方式見(jiàn)式(6)。
Vij=Xij+rand(-1,1)(Xij-Xkj)
(6)
式中:k=1,2,…,NP;j=1,2,…,D;NP為最大種群數(shù)量。
(4)產(chǎn)生跟隨蜂。引領(lǐng)蜂完成搜索過(guò)程后,以跳搖擺舞的方式把最優(yōu)蜜源信息分享給跟隨蜂。跟隨蜂根據(jù)輪盤(pán)法選擇是否跟隨引領(lǐng)蜂行為,選擇方式見(jiàn)式(7)。在區(qū)間[0,1]內(nèi)任意產(chǎn)生一個(gè)數(shù)值,若Pi大于選擇的隨機(jī)數(shù),跟隨蜂根據(jù)式(6)搜尋新的蜜源信息,重新開(kāi)始循環(huán)過(guò)程。
(7)
(5)產(chǎn)生偵查蜂。若循環(huán)達(dá)到最大迭代次數(shù)后蜜源信息仍未進(jìn)一步更新,為了防止局部個(gè)體陷入最優(yōu)解,被丟棄可行解所對(duì)應(yīng)的引領(lǐng)蜂將變?yōu)閭刹榉淅^續(xù)進(jìn)行搜索過(guò)程。偵查蜂尋求新蜜源信息的方式見(jiàn)式(8)。
(8)
針對(duì)傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)會(huì)隨機(jī)產(chǎn)生初始參數(shù)而帶來(lái)易于陷入局部最優(yōu)解的問(wèn)題,提出人工蜂群算法優(yōu)化傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)的混合算法。人工蜂群算法具有尋優(yōu)能力強(qiáng)和收斂速度快的優(yōu)點(diǎn)[14]。該混合算法將蜜蜂個(gè)體尋找到的最優(yōu)蜜源信息賦值給神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值[15],具體優(yōu)化步驟為:
(1)歸一化處理2組光纖傳感器接收光功率值以及3組位移數(shù)據(jù),并劃分訓(xùn)練集與測(cè)試集。
(2)確定神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。規(guī)定輸入層、隱藏層和輸出層的節(jié)點(diǎn)數(shù)。
(3)初始化各項(xiàng)參數(shù)值。設(shè)置蜂群中引領(lǐng)蜂、跟隨蜂和警戒蜂個(gè)體的數(shù)量以及最大迭代次數(shù);
(4)根據(jù)式(5)計(jì)算各蜜源信息對(duì)應(yīng)的適應(yīng)度值;
(5)引領(lǐng)蜂根據(jù)貪婪選擇法決定是否尋求新解,跟隨蜂根據(jù)輪盤(pán)法選擇是否跟隨引領(lǐng)蜂行為。當(dāng)個(gè)體搜索過(guò)程中陷入局部最優(yōu)解,引領(lǐng)蜂會(huì)轉(zhuǎn)化為偵查蜂尋求新的最優(yōu)解。
(6)判斷是否達(dá)到輸出最優(yōu)解的條件。當(dāng)達(dá)到最大迭代次數(shù)則結(jié)束循環(huán)過(guò)程并輸出全局最優(yōu)解,否則返回步驟(4)繼續(xù)完成迭代過(guò)程。
(7)確定最優(yōu)ABC-BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償模型,并進(jìn)行光纖傳感器位移值的仿真測(cè)量過(guò)程。
如圖5所示,選取粗糙度為0.8的標(biāo)準(zhǔn)樣塊固定于運(yùn)動(dòng)控制臺(tái),樣塊加工方式為立銑。先打開(kāi)半導(dǎo)體激光器,做好開(kāi)機(jī)預(yù)熱工作。通過(guò)上位機(jī)控制運(yùn)動(dòng)控制平臺(tái)移動(dòng)使光纖傳感器探頭緊貼被測(cè)物表面,接著控制標(biāo)準(zhǔn)樣塊以0.05 mm的步長(zhǎng)在0~5 mm的范圍內(nèi)沿著Z軸遠(yuǎn)離探頭,最終光電探測(cè)器采集通道CH1與CH2接收光功率值。將內(nèi)圈與外圈2組接收光功率值與位移作為數(shù)據(jù)集,分別訓(xùn)練支持向量機(jī)、傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)以及ABC-BP神經(jīng)網(wǎng)絡(luò)。通過(guò)比較不同補(bǔ)償模型的指標(biāo)值分析人工蜂群算法優(yōu)化傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)混合算法的優(yōu)越性。
圖5 測(cè)量系統(tǒng)框圖
4.2.1 ABC-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
圖6為人工蜂群算法優(yōu)化前后預(yù)測(cè)值與真實(shí)值之間的誤差比較,分析圖6數(shù)據(jù)可知,人工蜂群算法優(yōu)化后預(yù)測(cè)誤差逐漸穩(wěn)定于0,而傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)偏差波動(dòng)較大,說(shuō)明人工蜂群優(yōu)化后神經(jīng)網(wǎng)絡(luò)的精確度和穩(wěn)定性有所提高。
圖6 ABC算法優(yōu)化前后誤差比較圖
圖7為人工蜂群算法優(yōu)化前后預(yù)測(cè)值與真實(shí)值的比較,分析圖7數(shù)據(jù)可知,人工蜂群算法優(yōu)化后神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值更接近真實(shí)值,提高了測(cè)量位移參數(shù)信息的精確度。
圖7 ABC算法優(yōu)化前后位移值比較圖
4.2.2 不同算法指標(biāo)值對(duì)比
通過(guò)平均絕對(duì)誤差和均方根誤差評(píng)價(jià)不同補(bǔ)償模型的預(yù)測(cè)結(jié)果。平均絕對(duì)誤差(MAE)等于絕對(duì)誤差的平均值,避免出現(xiàn)正負(fù)相消的情況。均方根誤差(RMSE)等于均方誤差值的算術(shù)平方根,計(jì)算值越小證明模型精度越高。各參數(shù)定義為:
(9)
(10)
式中:yi為真實(shí)值;hi為預(yù)測(cè)值。
表1為不同補(bǔ)償模型的參數(shù)值。分析表中數(shù)據(jù)可知,人工蜂群算法優(yōu)化反向傳播神經(jīng)網(wǎng)絡(luò)的混合算法平均絕對(duì)誤差為0.000 148,均方根誤差為0.000 177,各參數(shù)值均小于傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)與支持向量機(jī)預(yù)測(cè)模型。對(duì)比結(jié)果表明本文提出的混合算法預(yù)測(cè)誤差更小,能夠更高精度實(shí)現(xiàn)光強(qiáng)補(bǔ)償過(guò)程。
表1 不同補(bǔ)償模型參數(shù)值
針對(duì)光纖傳感器接收光強(qiáng)容易受到自身或周?chē)h(huán)境影響的問(wèn)題,本文利用人工蜂群算法優(yōu)化傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,達(dá)到減少局部樣本陷入極值的目的,從而建立最優(yōu)ABC-BP神經(jīng)網(wǎng)絡(luò)光強(qiáng)補(bǔ)償模型。人工蜂群算法優(yōu)化后神經(jīng)網(wǎng)絡(luò)的平均絕對(duì)誤差減少了0.001 114,均方根誤差減少了0.001 182。將ABC-BP神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)反向傳播神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)的補(bǔ)償效果進(jìn)行比較,該混合算法的預(yù)測(cè)值更接近真實(shí)值,平均絕對(duì)誤差和均方根誤差均小于其他補(bǔ)償模型。對(duì)比實(shí)驗(yàn)結(jié)果表明該混合算法能夠更高精度實(shí)現(xiàn)光強(qiáng)補(bǔ)償過(guò)程,達(dá)到獲取更精確位移值的目的。實(shí)際測(cè)量過(guò)程中可以將建立的最優(yōu)ABC-BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于位移值測(cè)量,但是在提高測(cè)量精度方面仍需做進(jìn)一步的研究。