李 辰, 李建勛
(上海交通大學 電子信息與電氣工程學院,上海 200240)
卷積神經網絡(CNN)作為廣泛使用的神經網絡模型之一,相比于主成分分析(PCA)[1]和支持向量機(SVM)[2],具備更好的數據適應性和更強的特征提取能力,在圖像處理、語音識別、一維數據分析等領域均發揮出了獨特的功效[3-4].
CNN中不同卷積核的作用是提取各類樣本的差異化特征,差異化特征越豐富,則樣本被分類識別的準確率就越高[5].然而,卷積核和特征向量的數值是機器基于損失函數最優化方向自適應學習得出的.數值具體含義難以用數學理論加以解釋,以人的眼光觀察也沒有規律可言.模式識別領域把這類直接給出計算結果、內部原理缺乏解釋性的機器學習模型稱之為 “黑盒模型”[6].CNN作為一種黑盒模型,人工難以干預卷積核運算過程,因此不同卷積核提取的特征可能趨同,即在特征圖中出現重復或相似圖層,簡稱“特征冗余”問題[7].特征冗余會造成信息重復、浪費計算力,是研究緊湊型CNN的重要課題.
本文從強化特征之間差異性的角度,提出一種適用于卷積神經網絡的正交性特征提取方法.通過搭建并列的卷積神經網絡支路結構,設計相應的正交損失函數,從而促使不同卷積核提取出相互正交的樣本特征,豐富了特征多樣性,消除了特征冗余,提升了特征用于分類識別的效果,為后續研究奠定了基礎.
CNN提取數據特征時會保留輸入元素的空間信息,并將這些信息融入全部特征向量,這也正是特征冗余的來源,下文將通過具體的實驗來說明特征冗余問題.
使用具有1個卷積層的CNN,對MNIST數據集進行訓練,卷積層使用4個隨機初始值的3×3卷積核,損失函數選用交叉熵損失函數.以一張手寫“0”圖片為例,輸出4個卷積核提取的特征圖像如圖1所示.
由圖1可知, 特征圖像2與特征圖像4之間具有類似的特征相貌,初步判斷存在特征冗余問題.但是,由于人眼無法進一步準確判斷二維圖像中的特征冗余,在此使用一維卷積神經網絡(1D-CNN)處理公開數據集“Wine”,利用一維數據的直觀性清楚地展示特征冗余問題.

圖1 CNN提取的特征圖片Fig.1 Feature images extracted by CNN
使用具有1個卷積層的1D-CNN,卷積層內包含4個隨機初始值的1×3卷積核,損失函數選用交叉熵損失函數.以第1個樣本值為例,輸出4個卷積核提取的特征向量如圖2所示.其中:A為原始指標類別;B為原始指標類別的具體賦值;A′為特征提取后的原始指標類別;B′為特征提取后的原始指標類別的具體賦值.

圖2 1D-CNN提取的特征向量Fig.2 Feature vectors extracted by 1D-CNN
從圖2(f)中可以發現,圖2(b)和2(d)中的特征向量相互類似.由以上實驗可以得出結論,CNN使用傳統分類損失函數來提取特征時,一定程度上存在特征冗余問題,應當設法加以避免.
考慮到在嵌入式和移動式小型設備上安裝緊湊型CNN的需求,就必須改進CNN結構算法,消除特征冗余,減少不必要的網絡參數和運算次數.文獻[8]對比裁剪前后特征圖的誤差值,挑選出需裁剪的冗余卷積核通道.文獻[9]計算卷積核權重的稀疏度,去除權重稀疏的卷積核.文獻[10]設計了SlimConv模塊對特征進行拆分和重組,降低通道冗余.文獻[11]設計了新的Ghost模塊,通過固有特征線性變換提升特征多樣性.文獻[12]提出了特征貢獻度分析方法,輔助網絡挑選出重要性高的特征.
本文將正交性概念引入特征向量中,通過設計一種適用于CNN的正交性特征提取方法,達到消除特征冗余的目的.
正交性表示兩者之間無法通過組合得出相互表達方式的性質,PCA是典型的正交化變換方法.正交化變換方法將原本存在相關性的變量,轉換為線性不相關,既能提高不同類別數組間的區分度,且轉換后新變量的方差貢獻率可以滿足替代原變量的要求[13].因此,正交性特征被廣泛應用于信號轉換和模式識別等問題[14-15].
對于一維數組α1={x1,x2, …,xn}和α2={y1,y2, …,yn},若將其看作向量,則衡量兩者正交性的正交層輸出值為
(1)
在數組維數和模固定的前提下,Z越接近0,說明兩個數組的正交性越強.CNN使用二維卷積核時,卷積層輸出的特征矩陣經過壓平層和拼接層處理后仍為一維特征向量[16],因此同樣適用于式(1).
2014年,GoogLeNet首次提出在同一水平維度上設置多個卷積層的Inception結構[17].本文借鑒了Inception設計思想,在傳統CNN基礎上分列出多條卷積支路,并設計了專門的特征向量正交層和正交損失函數,新的模型如圖3所示.

圖3 提取正交性特征的卷積神經網絡Fig.3 Extracting orthogonal features of convolution neural network
該模型是一種單輸入多輸出的CNN,主要由3個模塊構成,分別為卷積模塊、分類模塊和正交模塊.
2.1.1卷積模塊 卷積模塊由若干條卷積支路構成,輸入樣本數據,輸出卷積核提取的特征向量.單條卷積支路中一般包含卷積層、池化層和壓平層.其中,卷積層和池化層的數量可以根據需要進行增減,壓平層只設置在每條卷積支路的最后一層.單條卷積支路中,每個卷積層使用若干相同尺寸的卷積核.各卷積核提取的特征在壓平層被壓縮為一維特征向量.
需要說明的是,正交模塊可以檢測不同卷積支路的特征向量之間的正交性,但無法檢測同一卷積支路內不同卷積核提取特征的正交性.因此,當需要保證所有特征向量兩兩正交時,可以設置兩條以上的卷積支路,每條卷積支路的卷積層中只設置單個卷積核.根據Inception結構原理,一個卷積層中設置多個卷積核,與同一水平維度分布多個卷積層、每個卷積層設置單個卷積核,在提取特征的數量方面沒有本質區別.
2.1.2分類模塊 分類模塊主要由拼接層和分類輸出層組成,其功能是在保持分類準確率的前提下,監督卷積支路提取出有利于分類識別的特征向量.
拼接層將不同卷積支路輸出的特征向量拼接為一維長數組后,輸出到分類輸出層.分類輸出層一般使用Softmax函數和交叉熵損失函數的組合來完成分類判斷.
2.1.3正交模塊 正交模塊由正交層和正交輸出層組成,正交層將不同卷積支路的特征向量做內積運算,正交輸出層將內積運算的誤差做反向傳遞.關于內積運算與正交損失函數的詳細內容,將在2.2節進一步敘述.
由式(1)可知,兩個數組進行內積運算的前提是兩個數組維數一致,因此一個正交層只能監督同一種尺寸特征向量的正交性.Inception結構在同一水平維度使用了不同尺寸的卷積核,若步長統一且無邊緣填充,則大尺寸卷積核的滑動總步數顯然小于小尺寸卷積核,最終導致兩者提取的特征維數不一致.文獻[18]的研究表明不同尺寸和深度的卷積層,因其感受野不同所以提取特征的范圍和精細度方面存在明顯差異.由此可知,不同尺寸卷積核提取的特征,在特征維數、捕獲范圍、精細度等方面不在同一量級,沒有正交性的必要.
如果在網絡模型(見圖3)中使用不同尺寸的卷積核,則需要為不同尺寸的特征向量分別設置正交模塊,如圖4所示.其中,使用同一尺寸卷積核的卷積支路至少應有兩條.

圖4 不同尺寸特征的正交模塊Fig.4 Orthogonal module of features with different sizes
2.2.1分類損失函數 多分類任務中,分類損失函數一般采用Softmax函數和交叉熵損失函數的組合.Softmax函數將輸出層各神經元的比值映射成各類別的預測概率,其表達式為
(2)
式中:Wt為輸出層中第t個神經元的輸出值;r為輸出層中所有神經元的總數,即類別總數;Pf,t為第t個神經元輸出值相對于所有神經元輸出值的比值,即神經網絡的預測概率.
交叉熵損失函數(依據其功能也可稱為分類損失函數)可以衡量真實概率分布與預測概率分布之間的相似程度,其公式為
(3)
式中:Pt為樣本屬于第t個神經元的真實概率;J1為分類損失函數值.
2.2.2正交損失函數 所設計的正交損失函數,由正交層的特征向量內積和正交輸出層的誤差計算兩個部分組成,用于監督不同卷積支路提取相互正交的特征向量.
在網絡模型中(見圖3),卷積層提取特征向量的表達式為[19]
(4)
式中:I為輸入樣本;m和n分別為I的高和寬;g和h分別為卷積核在輸入樣本上橫向和縱向移動的步數;u和v分別為卷積核的高和寬;Kq為第q層卷積層的卷積核;bq為第q層卷積層的偏置項;σ(·)為激活函數.本文用ReLU函數保證特征向量的非負性.

(5)

根據式(5)將正交輸出層的正交損失函數設為
(6)
S>1

2.2.3綜合損失函數 根據式(3)和(6),可得本文模型的綜合損失函數為
J3=ηJ1+ψJ2
(7)
式中:η和ψ分別為兩種損失函數的系數,可以根據網絡訓練情況自主設置.J1監督CNN提取各類樣本的差異化特征,保證分類準確率.J2監督CNN增強同一樣本各特征之間的正交性,保證特征多樣性.仿真實驗中發現,CNN以分類準確率為主要目標,特征多樣性為次要目標,應設置η>ψ>0.
網絡模型(見圖3)的綜合損失函數J3如式(7)所示,其提取正交性特征的過程為:
(1) 輸入樣本數據,模型通過綜合損失函數J3,同步訓練分類損失函數J1和正交損失函數J2,由J3→0可得J1→0和J2→0;
(2) 當J1→0時,由交叉熵函數的性質可知,樣本被正確分類的預測概率Pf,t→1,即樣本預測的準確率逐漸提升;

(4)J3受梯度下降法作用趨于最小值,并通過η、ψ來平衡J1、J2對卷積核的調節作用,在保持分類準確率的前提下增強特征向量之間的正交性.
通過以上過程,本文模型由多條卷積支路提取出正交性特征向量,避免了特征冗余問題.
無論樣本數據是一維數組或是二維圖像,經過CNN的壓平層和拼接層后,其特征向量均為一維長數組格式,因此本文模型對一、二維樣本具有同樣的適用性.由于人眼無法直觀察覺二維特征圖像間的正交性,選用一維樣本數據集進行實驗驗證.
選用UCI Machine Learning Repository網站上的多分類數據集“Wine”,該數據集包含3種酒的13項指標,178條樣本數據.使用有正交模塊的CNN模型(見圖3和4)提取樣本數據特征,以不含正交模塊的CNN作為實驗對照組.
具體實驗步驟如下.
步驟1建立包含2條卷積支路、有正交模塊的CNN,如圖5所示.

圖5 包含2條卷積支路的CNN結構Fig.5 Structure of CNN with two convolutional branches
“Wine”數據集屬性較少,為了避免屬性過度壓縮,每條卷積支路中只包含1個卷積層和1個池化層,每個卷積層中使用1個1×3卷積核,則該模型的卷積模塊最終輸出為2個1×3卷積核提取的特征向量.
步驟2將“Wine”數據集輸入含2條支路的CNN模型(見圖5),訓練結束后記錄分類準確率和每條卷積支路提取的特征向量.
步驟3在含2條支路的CNN基礎上,增加不同尺寸卷積核的卷積支路數量如圖6所示.

圖6 包含4條卷積支路的CNN結構Fig.6 Structure of CNN with four convolutional branches
該模型包含4條卷積支路.其中,左側兩條支路中卷積層使用1×3卷積核,右側兩條使用1×6卷積核,其他層的參數與含2條支路的CNN相同,則該模型的卷積模塊最終輸出為2個1×3卷積核和2個1×6卷積核提取的特征向量.之后,2個1×3卷積核和2個1×6卷積核提取的特征向量,分別在左右兩個正交模塊內進行內積運算.
步驟4將“Wine”數據集輸入含4條支路的CNN模型(見圖6),訓練結束后記錄分類準確率和每條卷積支路提取的特征向量.
步驟5進行對照組實驗,將“Wine”數據集輸入到不含正交模塊的CNN中.該CNN包含1個卷積層和1個池化層,卷積層中使用2個1×3卷積核.訓練結束后記錄分類準確率和每條卷積支路提取的特征向量.
3.2.1損失函數值與分類準確率 不含正交模塊的正常CNN、包含2條卷積支路的CNN、包含4條卷積支路的CNN,3種模型針對相同訓練集的損失函數值,在訓練過程中均不斷下降.以含2條卷積支路的CNN為例,其損失函數值如圖7所示.其中:Q為訓練次數;J為損失函數值.

圖7 含2條支路CNN的損失函數值Fig.7 Loss function value of CNN with two branches
由圖7可知,訓練一段時間后正交損失函數值趨近于0并保持穩定,分類損失函數值隨著訓練次數的增加不斷下降,綜合損失函數受以上兩個損失函數的影響而下降.
3種模型針對相同測試集的損失函數值和分類準確率,如表1所示.

表1 3種模型的損失函數值和準確率Tab.1 Loss function values and accuracies of three models
由表1可知:① 使用2個1×3卷積核、含正交模塊的CNN,與使用2個1×3卷積核、不含正交模塊的正常CNN相比,在損失函數值和分類準確率方面表現更好,證明正交模塊提取的多樣性特征提升了CNN的分類識別性能.② 使用2個1×3卷積核和2個1×6卷積核、含正交模塊的CNN,比使用2個1×3卷積核、含正交模塊的CNN,其損失函數值和分類準確率更優,證明增加特征多樣性可以增強CNN的分類識別性能.③ 由CNN特性可知,增加卷積層的數量和深度,其性能還有進一步提升的空間.
綜上所述,加入了正交模塊的CNN相比于正常CNN,豐富了特征多樣性,提升了分類識別性能.
3.2.2特征向量正交性 為了便于觀察特征向量的正交性,將3種酒的特征向量按類別區分,同類樣本的各指標取平均值進行繪圖.
(1) 不含正交模塊的正常CNN,提取的特征向量如圖8所示.其中:E為特征向量中元素的序號;F為特征數值;特征向量1和特征向量2分別為2個1×3卷積核提取的特征向量.
由圖8可知,針對同一類別樣本,不含正交模塊的正常CNN中,2個1×3卷積核提取特征的形態和數值近似,即存在特征冗余問題.

圖8 不含正交層CNN提取的3類酒特征向量Fig.8 Three kinds of wine feature vectors extracted by CNN without orthogonal layer
(2) 含2條卷積支路、有正交模塊的CNN,提取的特征向量如圖9所示.
由圖9可知,針對同一類別樣本,含2條卷積支路、有正交模塊的CNN中,2個1×3卷積核提取的特征向量具有明顯的正交性形態.

圖9 含2條支路CNN提取的3類酒特征向量Fig.9 Three kinds of wine feature vectors extracted by CNN with two branches
(3) 含4條卷積支路、有正交模塊的CNN,提取的特征向量如圖10所示.其中:特征向量3和特征向量4分別為2個1×6卷積核提取的正交性特征.

圖10 含4條支路CNN提取的3類酒特征向量Fig.10 Three kinds of wine feature vectors extracted by CNN with four branches
由圖10可知,增加多種尺寸的卷積核,既可以豐富特征多樣性,也能夠滿足正交性特征需求,有利于提升CNN性能.
綜上所述,以上實驗結果可以證明,本文設計的模型結構和正交損失函數正確有效,能夠監督CNN提取正交性特征,豐富了特征多樣性,消除了特征冗余問題.
采集工業生產中的機器運行數據來檢驗本文方法的實際應用性.以電子驅動器運行數據集“Sensorless Drive Diagnosis”為例,該數據集收集了驅動器的48項電信號指標,包括 58 509 個樣本數據,分為11種工況類別(T1~T11).不同種類工況下的樣本數據取其指標平均值,如圖11所示.其中:U為原數據集中電信號指標類別;V為原數據集中電信號指標類別的具體賦值.其中:T1~T11分別為11種工況下各指標的平均值.由于工況類別較多,圖11(b)挑選了第7和11種工況進行單獨展示.由圖11可以看出,不同類別工況在少部分電信號指標上具有相對明顯的差異,在大部分電信號指標上的差異并不明顯.

圖11 不同種類工況的指標均值圖Fig.11 Average values of each indicator in different category modes
建立含2條支路的CNN模型,每條支路的卷積層中有1個1×3卷積核,仍以第7和11種工況的特征向量為例,如圖12所示.

圖12 T7和T11的特征向量Fig.12 Feature vectors of T7 and T11
首先,檢查相同工況下兩條特征向量的正交性.由圖12(a)和12(b)可知,相同工況下兩條特征向量具備正交形態,基本滿足特征正交性、豐富性的要求.
其次,檢查同一卷積核提取不同工況下特征向量的區分性.由圖12(c)和12(d)可知,第1個卷積核主要捕捉到第5~12項、第19~22項指標間差異;第2個卷積核主要捕捉到第5~12項、第25~30項、第43~46項指標間差異.兩個卷積核均能捕捉到不同工況下電信號指標的數值差異,且由于正交損失函數的監督,關注指標各有側重,獲取的信息也更為全面.
記錄模型損失函數值和分類準確率,與不含正交模塊的CNN進行對比,結果如表2所示.

表2 兩種模型的損失函數值和分類準確率Tab.2 Loss function values and accuracies of two models
由表2可知,含正交模塊的CNN其損失函數值和分類準確率表現更優,證明本文提出的方法在實際生產中具有良好的適用性.
綜上所述,如果CNN一個卷積層中僅用一個卷積核,則特征信息比較單調;如果同一卷積層中使用多個卷積核,又可能導致特征冗余.通過本文提出的方法,監督各卷積核提取出正交性特征向量,就能從原始指標中獲取更為全面的特征信息,為后續分類識別和指標研究奠定了基礎.
本文針對CNN特征冗余問題,引入了正交性概念,從強化特征之間差異性的角度,提出了一種提取正交性特征的模型方法.在保證分類準確率的基礎上,促使卷積核提取出相互正交的特征向量,從而豐富了特征多樣性,消除了特征冗余問題.將模型應用于一維數據集,利用一維數據折線圖的直觀結果,證明了本文方法的有效性.
下一步可以將一維數組間正交性推廣至二維矩陣間正交性,進而研究正交性特征矩陣對圖像處理等領域的作用.