劉 偉 謝林柏 彭 力
(江南大學物聯(lián)網工程學院 無錫 214122)
火災探測是一個社會熱點問題,關系到每個人的生命和財產安全。傳統(tǒng)的傳感器火焰檢測方法存在抗干擾能力差,響應時間長和準確性低等問題。隨著計算機技術的發(fā)展,結合計算機視覺和數(shù)字圖像處理的火災檢測算法得到了廣泛研究。提取火焰特征,使用模式識別算法檢測火焰是圖像型火焰檢測的一類主流方法。火焰檢測領域中的模式識別算法包括支持向量機、神經網絡、貝葉斯分類器、決策樹以及馬爾可夫模型等[1]。單隱藏層前饋神經網絡(SLFN)由于結構簡單,且能夠以任意精度逼近復雜非線性連續(xù)函數(shù),被廣泛運用于分類識別問題。但是,傳統(tǒng)的SLFN 在訓練過程中基于梯度優(yōu)化網絡參數(shù),迭代時容易陷入局部最優(yōu),且耗時較長[2]。為了緩解上述問題,Pao[3]提出了一種使用不同訓練機制的網絡,即隨機權神經網絡(Random Vector Functional Link,RVFL)。RVFL 最大特點是網絡中的輸入權值和隱藏層(也稱為增強層)偏差在給定范圍內隨機分配,并在整個訓練過程中保持固定,然后采用最小二乘法對輸出權值進行計算。整個訓練過程不需要迭代,保持快速學習的同時擁有良好的泛化能力。隱藏層節(jié)點數(shù)是RVFL 中唯一需要預定義的參數(shù),它在確定學習性能以及網絡計算效率方面起著至關重要的作用[4]。設置過少的隱藏層節(jié)點會因為擬合不充分而導致訓練誤差過大。設置過多的隱藏單元又會因為過擬合而導致訓練誤差較小,但降低訓練模型的泛化能力。
針對以上問題,Huang[5]提出了一種增量型RVFL(I-RVFL)算法,并將其命名為增量型極限學習機。在添加新的隱藏節(jié)點前,所有現(xiàn)有隱藏節(jié)點的輸入和輸出參數(shù)固定不變,只需要計算新添加的隱藏節(jié)點的輸出權值。I-RVFL不僅具有良好的泛化性能,也在一定程度上避免了“過擬合”問題[6]。
雖然增量型RVFL 可以獲得極快的速度和較好的泛化性能,但是輸入權值和隱藏層偏差是從固定范圍隨機生成,可能會導致模型不穩(wěn)定,降低模型的學習效率[7]。近年來有許多方法被提出用于指導RVFL參數(shù)的選擇,如激活函數(shù)的選擇[8],隱藏層參數(shù)的隨機范圍選擇[9]等,但是這些方法都是根據(jù)試驗結果所得出的經驗性方法。因此,在參數(shù)隨機配置時,需要約束機制指導參數(shù)的選擇以提高建模的效率和穩(wěn)定性。
針對上述問題,本文提出一種改進的增量型RVFL 網絡,利用指數(shù)加權平均算法優(yōu)化隨機參數(shù)以限制隨機配置時產生的離群值;同時,將凸函數(shù)的下降梯度比運用到網絡的誤差序列中加快模型的收斂速度。最后,將改進的網絡應用到火焰識別中,對采集的樣本進行訓練和分類。
給定輸入X={x1,x2,…,xN},xi?Rd和標簽值T={t1,t2,…,tN},ti?Rm,當網絡中已經構建L個隱藏節(jié)點時,可以表示為
式中,HL是輸入和隱藏節(jié)點輸出的連接矩陣,Y是模型的預測值。HL可以表示為
式中,xi=[xi1,…,xid]T表示第i個訓練樣本;ωi=[ωi1,…,ωiL]T和bi?R分別為輸入層到第i個隱藏層節(jié)點的輸入權值和偏差;g(?)為隱藏層的激活函數(shù)。βi=[βi1,…,βim]T表示第i個隱藏層節(jié)點的輸出權值。
根據(jù)RVFL 學習算法[10],網絡的輸出權值β通過最小二乘解獲得:
式中,H?是隱藏層輸出矩陣H的Moore-Penrose廣義逆。
當網絡已經構建L個節(jié)點時,目標函數(shù)可以表示為
網絡的誤差:eL=f-fL=[eL,1,…,eL,m]。假設網絡的最大隱藏節(jié)點數(shù)Lmax,預設的容忍誤差為?,當L>Lmax或者‖eL‖≤?時,整個網絡訓練結束;否則,繼續(xù)添加第L+1個節(jié)點。
指數(shù)加權平均算法是一種有效減少誤差的統(tǒng)計學方法。該方法根據(jù)權重因子對歷史數(shù)據(jù)和當前數(shù)據(jù)按照比例分配來穩(wěn)定序列,平均輸入流中的數(shù)據(jù),逐漸降低對較早數(shù)據(jù)點的加權程度,平滑數(shù)據(jù)中的隨機波動[11]。增量型網絡通過逐個增加節(jié)點構建而來,可以將整個迭代過程視為一個具有歷史數(shù)據(jù)的時間序列。計算指數(shù)加權平均值:
式中,VL是生成第L節(jié)點時的平均權值或偏差,θL是生成第L個節(jié)點時隨機分配的權值或偏差,α是權重因子。α決定了各個神經元參數(shù)的權重。α的值越大,表明此次迭代的權值與偏差參考之前節(jié)點分配的權值與偏差的程度更多,平穩(wěn)性更強。利用指數(shù)加權平均方式限制參數(shù)隨機配置時產生的異常值,從而降低異常值對建模的影響,使整個模型訓練過程更平穩(wěn)有效。
如圖1 所示的兩條單調遞減曲線,其中函數(shù)y1(t)和y2(t)分別為凹函數(shù)和凸函數(shù),顯然y2(t)的下降速度快于y1(t)??紤]t1,t2和t3具有相等間隔,定義梯度比為
圖1 凸/凹函數(shù)下降曲線
i=1,2 。根據(jù)凸函數(shù)的定義,對于t1 給 定 輸 入X={x1,x2,…,xN},xi?Rd和 標 簽T={t1,t2,…,tN},ti?Rm,構建第L個節(jié)點時,擬合誤差eL-1=f-fL-1=[eL-1,1,…,eL-1,m] 。將上述函數(shù)的梯度比應用于誤差序列,得到: 其中,gL是隱藏神經元的激活函數(shù)。將式(6)視為βL,q的方程,對其進行求導求極值: 將式(7)帶入式(6),得: 因為0<λL,q≤1,因此: eL-1(X)=[eL-1,1,…,eL-1,m(X)]T,且eL-1,q(X)= 其 中,?L=Σmq=1?L,q,q=1,…,m。誤 差 矩 陣 為[eL-1,q(x1),…,eL-1,q(xN)],q=1,2,…,m。 hL(X)=[gL(ωTLx1+bL),…,gL(ωTL xN+bL)]T表 示的是輸入xi在第L個節(jié)點的激活函數(shù)值。 根據(jù)文獻[12],將式(9)轉化為如下形式: 式(5)~式(10)建立了誤差序列之間的聯(lián)系使得網絡輸入權值ω和偏差b不再是完全隨機分配。更新的ω和b必須滿足式(10)的?L,q,且對于q=1,2,…,m都有?L,q>0,通過這樣一種約束關系,提升建模穩(wěn)定性,加快模型訓練的收斂速度。 指數(shù)加權平均算法的權重因子對于參數(shù)訓練很重要,合適的權重因子可以提升整個建模過程的穩(wěn)定性。權重因子過小,表明參考之前數(shù)據(jù)的比例較少,在隨機產生離群值時,無法降低離群值的權重。權重因子過大,每次的輸入權值與偏差值較為接近,在計算過程中浪費計算資源。本文選取集合{0.4,0.5,0.6,0.7} 的數(shù)作為權重因子動態(tài)調整的范圍,并引入增強型增量網絡[20]的訓練方式,分配候選節(jié)點通過計算后篩選優(yōu)質節(jié)點,進一步提升隱藏層神經元的質量。值得注意的是‖eL-2,q‖2在L=1 時并不存在,本文在增加第一個節(jié)點時,直接使用增強型網絡節(jié)點的訓練方式計算獲得模型的訓練誤差e1。后續(xù)節(jié)點添加步驟的具體偽代碼如下: 輸 入 :數(shù) 據(jù)X={x1,x2,…,xN},xi?Rd,標 簽T={t1,t2,…,tN},ti?Rm;輸出:輸出權值βL 1.初始化:初始誤差矩陣e0=[t1,t2,…,tN]T,e1,節(jié)點數(shù)L=2,最大隱藏節(jié)點數(shù)Lmax網絡的容忍誤差?,候選節(jié)點數(shù)M,參數(shù)的隨機分配范圍[-γ,γ]。 2.WhileL≤Lmaxand‖eL‖>? 3.在區(qū)間[-γ,γ]內隨機分配M個候選節(jié)點的權值與偏差 4.根據(jù)式(3)利用權重因子序列計算候選節(jié)點的權值與偏差 6.If min{?L,1,?L,2,…,?L,m}≥0 ,保 存?L=及其對應的(ω'(i),b(' i))。 7.Else返回步驟3。 8.搜尋滿足,保存對應的,更新網絡的ωL,bL。 9.根據(jù)X,ωL,bL計算輸入和隱藏層節(jié)點輸出的連接矩陣HL。 10.根據(jù)HL通過式(2)計算輸出權值βL。 11.計算本次搜索后的誤差eL=eL-1-βLHL,更新L=L+1。返回步驟2。 12.End While 現(xiàn)有圖像型檢測算法大多針對已經形成火災的火焰進行分析與識別,對于未形成火災的早期火焰檢測能力有限[13]。普通相機也很難透過阻擋鏡頭的障礙物來檢測,降低了探測器的監(jiān)測能力。當圖像中存在與火焰相似的背景時,會導致誤報率上升。使用紅外攝像機采集火焰數(shù)據(jù)可以有效地解決上述問題。紅外熱成像技術利用物體輻射出的波長,將被測物體的熱量信息通過圖像形式可視化展現(xiàn),不受可見光和遮蔽物的影響,能夠直接反映火焰燃燒的本質。紅外火焰圖像在燃燒階段會表現(xiàn)出很多靜態(tài)特征與動態(tài)特征。本文選取圓形度[14]與尖角數(shù)[15]作為靜態(tài)特征,選取面積變化率[16]、相對穩(wěn)定性[17]和邊緣抖動性[17]作為動態(tài)特征。 面積、Hu 矩變化以及質心點的移動情況是動態(tài)特征,而模式識別算法處理的是靜態(tài)數(shù)據(jù)。對于動態(tài)特征,主要利用其波動性[17]。本文以10 幀為間隔計算動態(tài)特征值的方差,將動態(tài)特征轉化為靜態(tài)數(shù)據(jù)。方差的計算公式為 式中,s2表示動態(tài)特征值的方差,m為間隔幀數(shù),Xi表示當前幀的特征值,表示間隔幀數(shù)中特征值的平均值。 本節(jié)使用四個UCI 機器學習庫的分類數(shù)據(jù)集來進行仿真實驗。數(shù)據(jù)集的屬性信息如表1所示。 表1 數(shù)據(jù)集屬性信息 為方便描述,將改進的算法表示為II-RVFL。I-RVFL,RI-RVFL[18],OI-RVFL[6],EI-ELM[12]和II-RVFL 在DataSet1 上進行訓練和測試的分類性能如圖2 所示。從圖中可以看出經過候選節(jié)點篩選和參數(shù)配置優(yōu)化后的算法相對于其他算法能夠保持良好的收斂速度以及泛化能力。從圖中還可以看出,II-RVFL 在200 節(jié)點時的分類精度甚至高于I-RVFL、OI-RVFL、RI-RVFL 在300 節(jié)點的分類精度。表2 中數(shù)據(jù)集DataSet2-4 的結果也表現(xiàn)出II-RVFL在分類任務上的優(yōu)越性,而且50次實驗結果的標準差最小,表明在經過指數(shù)加權平均約束后的算法體現(xiàn)出更好的穩(wěn)定性,最終分類精度的變化幅度最小且均值最高。尤其對DataSet3,在訓練集精度相差不大的情況下,測試集的精度相對其他算法高出7 個~10 個百分點,表明了優(yōu)化后算法的分類性能更好。 表2 DataSet2-4上的訓練和測試的分類準確性 圖2 各算法300節(jié)點分類性能:平均訓練準確率和平均測試準確率 本節(jié)通過采集的紅外火焰數(shù)據(jù)集來驗證所改進算法的有效性。所采集的總樣本數(shù)為1012,其中測試集樣本個數(shù)為760,測試集樣本個數(shù)為252。類似地,每個算法做50 次實驗,選取50 次實驗的平均值作為最終結果。圖3 為各算法在紅外火焰數(shù)據(jù)集上的分類結果,可以看出無論是訓練集還是測試集,改進的算法II-RVFL在火焰數(shù)據(jù)集上同樣表現(xiàn)出優(yōu)異的分類性能。從表3 可知,相較于其他算法,II-RVFL 在20 個節(jié)點時,火焰識別精度已經達到98%以上。 表3 各算法檢測的火焰準確率 圖3 各算法的火焰數(shù)據(jù)集分類性能:平均訓練準確率和平均測試準確率 另選200 組數(shù)據(jù),通過訓練好的參數(shù)進一步驗證改進后的算法對火焰識別的有效性。為了能夠清晰地顯示火焰判別效果,將有火源的標簽樣本置為-1,沒有火源的標簽置為1。檢測結果如圖4 所示,其中橫坐標代表樣本序列,縱坐標代表輸出的估計值。將估計值大于零的點判別為無火焰,將估計值小于零的點判別為有火焰。通過真實值與估計值的誤差大小可以更直觀地顯示II-RVFL 算法識別的準確性,僅有少數(shù)點的估計值與真實值之間的誤差較大,但都是處于誤差容許范圍內,無錯報現(xiàn)象,實現(xiàn)了火焰識別的高準確率預報。 圖4 II-RVFL算法的火焰檢測結果 本文針對I-RVFL網絡的輸入權值與偏差隨機分配導致的模型不穩(wěn)定問題,提出使用指數(shù)加權算法來優(yōu)化隨機配置時產生的離群值,并將凸函數(shù)的下降梯度比應用于網絡的誤差序列中來優(yōu)化建模過程。通過這兩種方法改善了網絡參數(shù)隨機配置中存在的問題。最后,使用UCI數(shù)據(jù)集和在紅外火焰識別上的應用來進一步驗證算法的有效性。實驗結果表明,優(yōu)化后的算法穩(wěn)定性更高,泛化性能更好,火焰識別的準確率高。3.3 算法步驟
4 火焰的特征提取與預處理
4.1 特征提取
4.2 預處理
5 實驗結果與分析
5.1 UCI數(shù)據(jù)集驗證
5.2 紅外火焰識別中的應用
6 結語