崔 昊,郭 銳,李興強*,馮克建,張飛飛
(1.中國科學(xué)院 沈陽自動化研究所 智能檢測與裝備研究室,遼寧 沈陽 110016;2.中國科學(xué)院 機器人與智能制造創(chuàng)新研究院,遼寧 沈陽 110169;3.中國科學(xué)院大學(xué),北京 100049;4.西安航天發(fā)動機有限公司,陜西 西安 710100)
位置敏感器件(Position Sensitive Devices,PSD)是一種光電位置探測器,屬于半導(dǎo)體器件。與其他使用離散探測陣列方式的傳感器(如CCD[1]等)不同,PSD是由一個整體的PIN光電二極管組成,利用光電二極管表面阻抗分布均勻的特性可實現(xiàn)光點位置信息的快速連續(xù)采集[2];此外,PSD的輸出僅與光點位置有關(guān),與光強度無關(guān),響應(yīng)速度快,位置分辨率高,因此廣泛應(yīng)用于位移檢測、角度測量等領(lǐng)域。在實際應(yīng)用中,由PSD及其外部信號處理電路所采集的信號夾雜著大量噪聲,如何獲得準確穩(wěn)定的位置信號成為了使用PSD要解決的關(guān)鍵問題之一[3]。PSD信號產(chǎn)生誤差的來源主要有三點:第一,在PSD的光敏區(qū)域內(nèi),光點位置與光電流輸出并非完全呈線性,隨光點位置勻速偏離PSD中心,光電流信號的非線性度增大;第二,PSD輸出信號微小,在后續(xù)信號放大等處理過程中易受各分立元件帶來的非線性因素和噪聲因素影響,從而降低測量精度;第三,在不同應(yīng)用場合下,環(huán)境光或應(yīng)用條件的影響可能導(dǎo)致光斑的強度分布不均勻,從而影響PSD的位置識別精度[4]。
傳統(tǒng)的PSD信號處理方法除了簡化電路設(shè)計、硬件的采樣保持濾波外,軟件的數(shù)字濾波算法是實現(xiàn)各種非理想因素補償?shù)闹匾椒╗5-8]。陳健等[9]通過結(jié)合基于閾值的自適應(yīng)中值濾波方法與多閾值自適應(yīng)濾波算法,提出了一種兩階段結(jié)合的方法,提高了對數(shù)據(jù)細節(jié)的保護能力。但該方法只適用于中低噪聲密度的對象;N Agrawal等[12]針對復(fù)雜度大的處理對象,使用粒子群優(yōu)化算法和人工蜂群算法設(shè)計出一種穩(wěn)定的IIR(Infinite Impulse Response)數(shù)字濾波器,解決了在通帶和阻帶區(qū)域濾波均方誤差的非線性最小化問題,但增加了數(shù)據(jù)處理的成本;楊媛等[11]結(jié)合最小二乘法與滑動平均濾波的優(yōu)點,提出了一種改進型濾波算法,在未引入龐大計算量的前提下,對信號的識別和檢測取得了可靠效果;除此之外,Zhao等[12]設(shè)計了一種基于正弦函數(shù)的新型數(shù)字濾波器,具有抑制噪聲、抗彈道損失和提高能量分辨率等優(yōu)勢,同時簡化了結(jié)構(gòu)、提升了可操作性;Rajib Kar[13]在硬件上實現(xiàn)了分數(shù)階模擬濾波器,如Butterworth濾波器,提供了阻帶衰減的精確控制;葉國陽等[10]根據(jù)數(shù)據(jù)噪聲的特點,提出了一種中值濾波和小波濾波相結(jié)合的方法,在消除奇異噪聲方面取得了良好效果。但由于奇異噪聲通常無規(guī)律可尋,多數(shù)傳統(tǒng)方法濾波效果的精確度欠佳。
對于數(shù)字信號的濾波,現(xiàn)有的方法主要是在真實結(jié)果未知的條件下,依據(jù)被處理數(shù)據(jù)在時域或頻域上的分布特性,給定預(yù)期的處理指標,通過計算得到。而在實際應(yīng)用中,例如傳感器的調(diào)試、模擬信號的調(diào)制等,目標真值通常是可獲得的,若能夠充分地利用目標真值求取其與待處理數(shù)據(jù)間的關(guān)系,則既簡化了數(shù)據(jù)的處理過程,又能夠提高精度。此外,高速測量下的PSD采集信號具有樣本數(shù)目有限、非線性度高等特點,而傳統(tǒng)濾波方法往往需要大量的測量樣本來支撐結(jié)果的準確性,使得傳統(tǒng)方法的處理結(jié)果不佳。
針對上述問題,本文提出了一種以ELM(Extreme Learning Machine)為基本預(yù)測模型的反饋堆疊學(xué)習(xí)算法FsELM(Feedback stacking modle based on ELM),在保持ELM快速學(xué)習(xí)和良好泛化能力的前提下,提高了預(yù)測精度并具有良好的魯棒性。該算法通過將預(yù)測值與真實值的偏差作為反饋并更新輸入數(shù)據(jù),構(gòu)造了反饋堆疊模型,實現(xiàn)了數(shù)據(jù)的多層深度訓(xùn)練。為驗證所提出模型的有效性和實用性,進行了基于一維PSD的激光三角位移信號處理驗證實驗,與傳統(tǒng)的小波濾波方法以及IIR數(shù)字濾波算法對比后,證明了FsELM在處理隨機噪聲干擾信號的優(yōu)越性,與經(jīng)典學(xué)習(xí)算法、核函數(shù)處理的ELM及ELM的變體進行了比較,證明了FsELM在預(yù)測精度上有所提升。
ELM是一種用于分類和回歸的單隱層前饋神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法[15-17]。ELM在進行模型訓(xùn)練時會根據(jù)所設(shè)置的隱藏層節(jié)點數(shù)目自動生成隨機數(shù)權(quán)重矩陣和偏置,這使得整個訓(xùn)練過程中沒有權(quán)重迭代變化的存在,在保證網(wǎng)絡(luò)具有良好泛化能力的同時,極大程度地提高了前向神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度,避免了基于梯度下降學(xué)習(xí)方法存在的許多問題[18]。
在實際應(yīng)用中,ELM首先進行模型訓(xùn)練,訓(xùn)練數(shù)據(jù)包括目標真實結(jié)果和與之對應(yīng)的若干影響因素。記錄訓(xùn)練后的輸入層權(quán)重、偏置以及隱藏層權(quán)重用于ELM的預(yù)測,預(yù)測時輸入與訓(xùn)練數(shù)據(jù)結(jié)構(gòu)相同的影響因素即可得到預(yù)測結(jié)果。具體地,ELM通過式(1)將輸入數(shù)據(jù)映射到L維的隨機特征空間:
(1)
其中:β=[β1,β2,…,βL]T表示處于隱藏層節(jié)點和輸出節(jié)點間的隱藏層權(quán)重矩陣。h(x)=[h1(x),h2(x),…,hL(x)]表示L個隱藏節(jié)點對應(yīng)于輸入x的輸出行向量,h(x)構(gòu)成輸入數(shù)據(jù)到隱藏層輸出的映射矩陣H。ELM等式可以總結(jié)為:
Hβ=T,
(2)
(3)
其中H?表示矩陣H的廣義逆矩陣。
一維PSD的輸出信號微弱,且信號的傳輸過程中存在如器件自身誤差、信號處理電路噪聲以及實驗條件影響等干擾,原始數(shù)據(jù)的有效信息被湮沒于大量噪聲中。ELM僅具有單隱層結(jié)構(gòu),而增大隱藏層節(jié)點數(shù)目并不能提高預(yù)測能力的上限,過多的隱藏層節(jié)點還可能造成模型的過擬合。因此通常需要多隱藏層結(jié)構(gòu)或多層次訓(xùn)練來提取數(shù)據(jù)的潛在相關(guān)。Yu等[19]嘗試用深度堆疊泛化的思想改進極限學(xué)習(xí)機并設(shè)計了一種深度堆棧極限學(xué)習(xí)機(DrELM)。該方法使用ELM作為單次訓(xùn)練模型,將ELM的預(yù)測結(jié)果與隨機數(shù)矩陣相乘并激活后與原始數(shù)據(jù)相疊加作為下一層的輸入,以此類推循環(huán)訓(xùn)練。DrELM提供了一種使用ELM進行多層訓(xùn)練的新思路,并提升了模型預(yù)測能力。本文對ELM的多層訓(xùn)練結(jié)構(gòu)在迭代的實現(xiàn)方式上進行了改進,進一步提升了算法的預(yù)測精度。
受控制理論中“反饋”思想和深度迭代學(xué)習(xí)思想的啟發(fā)[20-21],本文提出了一種基于經(jīng)典ELM的反饋堆疊學(xué)習(xí)算法(FsELM),在保持ELM快速訓(xùn)練和優(yōu)秀泛化能力的同時,提升了預(yù)測結(jié)果的準確性并具有良好的魯棒性,實現(xiàn)了PSD信號有效信息的深度提取。該學(xué)習(xí)算法將單次訓(xùn)練后的結(jié)果與目標真值再次做差,通過隨機映射、核函數(shù)激活以及合適的反饋因子,與相鄰最近的ELM訓(xùn)練塊的輸入數(shù)據(jù)疊加作為下一層訓(xùn)練的輸入,模型的訓(xùn)練結(jié)構(gòu)如圖1所示。FsELM算法充分利用了目標真實值,而非單純地利用單層訓(xùn)練結(jié)果作為反饋項,使原始數(shù)據(jù)的迭代變化更有意義。
圖1 FsELM反饋訓(xùn)練結(jié)構(gòu)示意圖
在實際應(yīng)用中,選取一個包含m組的訓(xùn)練集(xi,ti),其中xi∈Rd(d表示相關(guān)影響因素的維數(shù))表示特征向量,ti∈Rc(c表示目標真值維數(shù))表示與xi相對應(yīng)的目標真值。定義矩陣X為包含m個輸入數(shù)據(jù)樣本的矩陣,矩陣T為目標真值矩陣,即X=[x1,x2,…,xm]T,T=[t1,t2,…,tm]T,以此進行單層ELM的訓(xùn)練。訓(xùn)練可得一組初步的預(yù)測結(jié)果O=[o1,o2,…,om]T,該結(jié)果不會精確逼近目標真值,但會優(yōu)于隨機猜測。對于堆疊模型的實現(xiàn),利用預(yù)測結(jié)果與真實結(jié)果的差值O-T作為反饋項,通過式(4)計算得到Xi+1作為下一層訓(xùn)練的輸入(假定上一層訓(xùn)練的輸入為Xi):
Xi+1=σ(Xi+α(Oi-T)Wi2),
(4)
其中:α為反饋因子,表示反饋信號與輸出信號之比,Wi2∈Rc×d為服從正態(tài)分布的隨機數(shù)矩陣。核函數(shù)σ(·)可為任意激活函數(shù)(如sigmoid函數(shù)、高斯函數(shù)、三角函數(shù)等)。反饋過程采用了與ELM類似的隨機映射的思路,無需進行權(quán)重的更新,保證了算法運行過程的速率。
(5)
綜合FsELM的訓(xùn)練和預(yù)測過程,繪制如圖2所示的學(xué)習(xí)算法流程圖。
圖2 FsELM學(xué)習(xí)算法流程圖Fig.2 Flowchart of FsELM algorithm
為證明本文所提出算法在預(yù)測性能上的提升,設(shè)計了基于一維PSD的激光三角位移檢測實驗并采集了相關(guān)數(shù)據(jù),與傳統(tǒng)的信號濾波方法以及經(jīng)典學(xué)習(xí)算法、核函數(shù)處理的ELM及ELM的變體進行了比較。
PSD主要由單表面或雙面附有電阻層的一個高阻抗半導(dǎo)體層構(gòu)成,電阻層兩端放置一對電極,用于輸出位置信號。電阻層上的光敏區(qū)域是一個PN結(jié),通過光電效應(yīng)產(chǎn)生光電流。圖3為PSD的剖面圖,在N型高阻硅基底上設(shè)有P型電阻層,作為光電轉(zhuǎn)換的活動區(qū)域,且兩端設(shè)有一對輸出電極。N型硅基底連接有公共電極。因此,除了表面的P型電阻層外,這與PIN型光電二極管的結(jié)構(gòu)相同。
圖3 PSD剖面示意圖Fig.3 Diagrammatic profile of PSD
當(dāng)有光束照射時,PSD上的不同位置就會產(chǎn)生與光強成比例的電荷,該電荷流經(jīng)電阻層并被輸出電極X1和X2收集為光電流,該光電流與入射位置和每個電極之間的距離成反比。假設(shè)PSD中點為原點,入射光位置與輸出電極的光電流之間的關(guān)系式為:
IX1=IO·(LX/2-XA)/LX,
(6)
IX2=IO·(LX/2+XA)/LX,
(7)
(8)
(9)
其中:IO為總光電流IX2+IX1;IX1為電極X1的輸出電流;IX2為電極X2的輸出電流;LX表示阻抗長度;XA表示光點距PSD中點的距離。
激光三角法[22]是一種非接觸式光電測量方法,由于其測量高效、準確和無損傷等優(yōu)勢被應(yīng)用于位移、角度、振動等多類測量領(lǐng)域。其原理為:激光器發(fā)出的一束激光照射在待測物體平面上,接收物鏡采集物面的漫反射光并在檢測器上成像,該像的位置會隨著物體表面沿入射光方向的位置變化而變化。通過像移和物體位移之間的關(guān)系式,可由像移大小計算出物體的實際位移。
根據(jù)激光三角法原理繪制出如圖4所示的位移檢測光路圖,并設(shè)計了激光三角傳感器。實驗中,干涉儀鏡組固定于被測物面一側(cè)并放置在滑軌上,固定有鏡組的一側(cè)放置激光干涉儀,另一側(cè)為激光三角傳感器,檢測模型如圖5所示,現(xiàn)場實驗如圖6所示。開始實驗前移動被測物面直到PSD輸出為0,同時將激光干涉儀調(diào)零。為了保證PSD的采集數(shù)據(jù)可以提供同一位置盡可能多的信息,設(shè)置傳感器重復(fù)采集同一位置信號40次,并以激光干涉儀測得數(shù)據(jù)作為目標真值。實驗時,將被測物面以10 μm左右的間隔平移約2 mm,分別記錄每次移動后激光干涉儀和與之對應(yīng)的傳感器的輸出。
圖4 位移檢測光路示意圖Fig.4 Optical path of displacement detection
圖5 位移檢測模型示意圖Fig.5 Displacement detection model
圖6 位移檢測現(xiàn)場示意圖Fig.6 Displacement detection site
4.3.1 實驗方法
實驗采用一只激光三角傳感器進行三次獨立的位移測量實驗(光斑從設(shè)定量程的一端間隔地遍歷PSD光敏面至另一端算作一次獨立實驗)。根據(jù)前文的介紹,一次獨立的實驗采集約n=200組數(shù)據(jù),數(shù)據(jù)集結(jié)構(gòu)為X(n,40)和T(n,1)。采用4折交叉驗證的方法進行最優(yōu)模型和參數(shù)的評估,隨機的將樣本數(shù)據(jù)分為四部分,分別選取其中三部分作為訓(xùn)練集,其余為測試集,即每次獨立實驗進行4次模型預(yù)測。
FsELM模型網(wǎng)絡(luò)的參數(shù)包括隱藏層節(jié)點個數(shù)L和模型深度k。其中,模型深度為1時,該算法模型等同于經(jīng)典ELM。實驗中設(shè)定α=0.1,激活函數(shù)為“sigmoid”函數(shù),分別設(shè)置隱藏層個數(shù)為5~100(間隔為5),模型深度為1~9,共有180種組合。通過計算預(yù)測結(jié)果與目標真值的均方誤差對預(yù)測精度進行定量的評估。均方誤差(Mean Squared Error,MSE)的計算方法為:
(10)
其中:observed表示預(yù)測結(jié)果,predicted表示目標真值。每種組合下重復(fù)預(yù)測150次,計算MSE的均值和方差(方差用來評估學(xué)習(xí)算法的預(yù)測穩(wěn)定度)。
表1 4折交叉驗證結(jié)果與網(wǎng)絡(luò)參數(shù)Tab.1 Results of 4-fold cross validation and network parameter
如表1所示為FsELM預(yù)測模型的4折交叉驗證實驗結(jié)果與對應(yīng)的網(wǎng)絡(luò)參數(shù)。分析可知,在進行三次獨立實驗中的多次預(yù)測結(jié)果相近,最優(yōu)預(yù)測MSE的均值分別為1.25×10-5,2.51×10-5,1.1×10-5,計算最優(yōu)隱層節(jié)點個數(shù)的均值為68,平均模型深度為6。如此設(shè)定FsELM模型的網(wǎng)絡(luò)參數(shù),并進行對比實驗的驗證。
4.3.2 對比實驗
為評估算法性能,選擇了具有代表性的傳統(tǒng)濾波算法和經(jīng)典學(xué)習(xí)算法進行了對比實驗,并作出定性分析。
傳統(tǒng)的數(shù)據(jù)處理方法包括數(shù)據(jù)預(yù)處理、濾波、最小二乘法擬合三個過程。預(yù)處理過程處理的對象是對同一位置的重復(fù)測量數(shù)據(jù),分別采用自適應(yīng)中值濾波(Adaptive Median Filter,AMF)[4]和直方圖統(tǒng)計預(yù)處理(HS)[23]。
濾波過程采用小波濾波(Wavelet Filter,WF)[5]和巴特沃斯IIR低通濾波(IIR)[8]進行處理濾波參數(shù)如下:
(1)IIR:通帶截止頻率200π;阻帶截止頻率2 000π;通帶衰減不大于1 dB,阻帶衰減不小于8 dB;
(2)WF:利用小波“db5”對數(shù)據(jù)進行7層分解,將小波分解的前3層高頻系數(shù)置零,后4層采用軟閾值函數(shù)處理,設(shè)定閾值為0.014。
預(yù)處理和濾波方法兩兩組合為4種不同的處理方法,最后使用最小二乘法擬合真實位置曲線。
神經(jīng)網(wǎng)絡(luò)比較算法包括支持向量回歸機(Support Vactor Regression,SVR)、原始ELM(ELM)[10]、核函數(shù)處理的ELM(K-ELM)、堆棧ELM(DrELM)[17]。參數(shù)設(shè)置如下:
(1)SVR:核函數(shù)選用徑向基函數(shù);懲罰系數(shù)為2.2;損失函數(shù)p的值為0.01;
(2)ELM,K-ELM,DrELM中隱層節(jié)點個數(shù)分別為5,4,5,其中DrELM模型深度為2。
表2 FsELM與其他數(shù)據(jù)處理方法的結(jié)果對比Tab.2 Comparison of results between FsELM and other digital processing methods (×10-4)
對比實驗的結(jié)果如表2所示,分析實驗數(shù)據(jù)可知:ELM,K-ELM和DrELM的處理效果與采用傳統(tǒng)的預(yù)處理和濾波相結(jié)合的方法相近,而FsELM的預(yù)測結(jié)果更為精確。這是由于對同一位置進行重復(fù)測量的數(shù)據(jù)所受噪聲干擾是隨機的,傳統(tǒng)的處理方法無法根據(jù)噪聲的規(guī)律進行數(shù)據(jù)處理。FsELM算法能夠獲取噪聲的潛在相關(guān),在應(yīng)對隨機干擾時表現(xiàn)出更優(yōu)異的性能。
同時,F(xiàn)sELM相比ELM,K-ELM和SVR,預(yù)測精度上有大幅提升,表明了堆疊訓(xùn)練結(jié)構(gòu)在處理復(fù)雜回歸問題時可獲取更精確的結(jié)構(gòu)信息,與DrELM的結(jié)果對比表明,與目標真值的偏差反饋更有助于模型對結(jié)構(gòu)信息的學(xué)習(xí)。
4.3.3 時間復(fù)雜度分析
神經(jīng)網(wǎng)絡(luò)的時間復(fù)雜度正比于模型的運算次數(shù),對于單隱層神經(jīng)網(wǎng)絡(luò),時間復(fù)雜度可由式(11)表示:
Time~O(k(n1×L+L×n3)),
(11)
式中:k表示模型訓(xùn)練深度;L表示隱層節(jié)點個數(shù);n1和n3分別代表輸入樣本個數(shù)和輸出樣本個數(shù)。對于相同數(shù)據(jù)集的預(yù)測,時間復(fù)雜度簡化為O(k×L)。FsELM是一種堆疊式結(jié)構(gòu),理論上相比ELM等單層模型具有較高的復(fù)雜度,但FsELM使用ELM作為單層訓(xùn)練模型,保留了ELM無需迭代更新權(quán)重的優(yōu)勢,使得運算過程相比于其他神經(jīng)網(wǎng)絡(luò)模型更簡便。本節(jié)在公共測試集中選取相同訓(xùn)練集和測試集且所有的算法保持原算法的參數(shù)設(shè)置以保證實驗公平性,對4.3.2節(jié)中對比方法的數(shù)據(jù)處理時間進行統(tǒng)計。計算機硬件配置為Inter Core i7-4720HQ,2.6 GHz,8 G RAM,軟件平臺為MATLAB R2016a。
圖7 模型運算時間對比Fig.7 Comparison of processing time of the models
如圖7所示為不同數(shù)據(jù)處理模型的運算時間對比,所有模型均從數(shù)據(jù)輸入后開始計時,至得出預(yù)測結(jié)果位止。分析可知FsELM模型的運算時間最短,相比SVR縮短了約0.031 s。
抗隨機噪聲干擾能力是評價濾波處理算法能力的重要指標。針對實際應(yīng)用中的PSD采集信號具有樣本數(shù)目有限、受隨機噪聲干擾而引起非線性度強等特點,本文提出一種基于經(jīng)典ELM的反饋堆疊學(xué)習(xí)算法,F(xiàn)sELM,通過模型訓(xùn)練結(jié)果與真值的偏差構(gòu)成反饋,從而構(gòu)建了多層訓(xùn)練模型,實現(xiàn)了對數(shù)據(jù)潛在相關(guān)的學(xué)習(xí)和PSD信號有效信息的高精度提取,預(yù)測結(jié)果均方誤差為1.4×10-5,相比SVR提高了57%,預(yù)測精度為0.78%。FsELM在保持ELM和良好泛化能力的同時,兼具快速學(xué)習(xí)的優(yōu)勢,相比其他數(shù)據(jù)處理算法具有更快的運算速度。