包志強,王 美,黃瓊丹,呂少卿
(西安郵電大學 通信與信息工程學院,陜西 西安 710121)
卷積神經(jīng)網(wǎng)絡[1-8]對一維信號進行識別主要有兩種形式。一種是直接使用原始一維時序信號作為卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)的輸入,通過卷積層的滑動卷積操作自動獲取信號的瞬態(tài)特征,無需任何人工提取特征進行信號的識別[9-12],這種方式僅僅對信號的整體特征進行了提取,忽略了信號內(nèi)部的特征信息。另外一種方式是將卷積神經(jīng)網(wǎng)絡與其它經(jīng)典算法相結合進行信號識別,如平穩(wěn)小波變換與CNN結合[13]、短時傅里葉變換與CNN結合[14],但是小波變換和短時傅里葉變換需要預先選擇合適的基函數(shù),具有一定的局限性。文獻[15]和文獻[16]將EMD算法與CNN相結合,利用經(jīng)驗模態(tài)分解(empirical mode decomposition,EMD)算法將信號進行分解,結合CNN提取特征進行信號識別。EMD的自適應分解特性有利于信號的分解,但是上述方法是使用EMD算法首先對信號進行處理,將處理后的信號進行作為卷積神經(jīng)網(wǎng)絡的輸入,并沒有實現(xiàn)EMD算法與卷積神經(jīng)網(wǎng)絡的緊耦合。
本文提出了一種EMDNN(empirical mode decomposition neural network)模型,將EMD算法與卷積神經(jīng)網(wǎng)絡進行緊耦合,按照每一個本征模函數(shù)(intrinsic mode function,IMF)特征信息的重要性將不同時間尺度的局部特征信號進行自適應加權重構完成特征的提取,增強了網(wǎng)絡模型在時域提取特征的能力,提高了網(wǎng)絡模型對信號的識別準確率。
1998年,Huang提出了經(jīng)驗模態(tài)分解算法,算法的本質就是產(chǎn)生一系列不同尺度的本征模函數(shù)和一個殘余分量。分解的原理是基于信號序列時間尺度的局部特性,無需預先設定任何基函數(shù),將組成原始信號的各尺度分量不斷從高頻到低頻進行提取,則分解得到的本征模函數(shù)是按頻率由高到低進行排列的,即首先得到最高頻的分量,然后是次高頻的,最終得到一個頻率接近為0的殘余分量。
EMD算法分解數(shù)據(jù)的要求參見文獻[17]。這種分解方法是通過數(shù)據(jù)的時間尺度特征來獲得本征波動模式,然后分解數(shù)據(jù),分解過程可以形象地稱之為“篩選”過程,該篩選過程實現(xiàn)了使復雜信號分解為有限個本征模函數(shù),使非平穩(wěn)信號自適應轉化為平穩(wěn)信號,各本征模函數(shù)包含了原信號的不同時間尺度的局部特征[18]。EMD算法在理論上可以應用于任何類型信號的分解,因而在處理非平穩(wěn)及非線性數(shù)據(jù)上,具有非常明顯的優(yōu)勢。
卷積神經(jīng)網(wǎng)絡具有強大的學習能力和高效的特征表達能力,廣泛應用于圖像、信號識別等領域。LeNet-5[19]是經(jīng)典的卷積神經(jīng)網(wǎng)絡,包含了神經(jīng)網(wǎng)絡的基本模塊:輸入層、卷積層、池化層、全連接層和輸出層[20]。卷積層通過卷積核在輸入數(shù)據(jù)上進行滑動,完成特征的提取。池化層對提取到的特征進行下采樣,保留主要特征,去除冗雜信息,減少計算量。全連接層通過加權對學習到的特征進行重組,將學習到的特征映射到標簽空間。多分類時輸出層通常采用Softmax層,將全連接層的輸出映射為區(qū)間(0,1)的概率值,數(shù)值最大的類別即為預測的結果[21]。
LeNet5相對于其它深度學習網(wǎng)絡模型具有結構簡單、參數(shù)少的優(yōu)點。因此,本文基于經(jīng)典的LeNet5模型結構,將EMD算法與卷積神經(jīng)網(wǎng)絡進行緊耦合,提出EMDNN模型如圖1所示,其中L表示輸入信號的長度,N表示每個信號在EMD層分解為IMF的數(shù)量,S表示EMD1層特征圖的數(shù)量,T表示EMD2層特征圖的數(shù)量,p和q表示池化后信號的長度。
圖1 EMDNN網(wǎng)絡模型
EMDNN模型將傳統(tǒng)卷積神經(jīng)網(wǎng)絡的卷積層替換為EMD層,由輸入層、兩個EMD層、兩個池化層、兩個全連接層、一個輸出層構成。輸入信號在EMD層按照時間尺度特征進行自適應分解,分解后的各個本征模函數(shù)代表著不同的時間尺度特征,按照其重要性進行自適應加權重構,實現(xiàn)特征的提取。EMD1層采用S組權重,EMD2層采用T組權重,全連接1層和全連接2層均采用1024個權重對提取的特征重組。完整的算法流程為:
(1)輸入長度為L的一維信號;
(2)將信號自適應分解為N個IMF,采用S組隨機初始化權重對IMF進行加權重構提取特征,加偏置后,采用tanh函數(shù)激活;
(3)對S個1*L的特征信號進行最大池化降維得到S個1*p的特征信號;
(4)對輸入EMD2層的每一個1*p的信號進行自適應分解,采用T組隨機初始化權重對IMF進行加權重構,加偏置后使用tanh函數(shù)激活,得到T個1*p的特征信號;
(5)對T個1*p的特征信號進行最大池化降維得到T個1*q的特征信號;
(6)將池化后的特征信號經(jīng)過全連接層進行特征綜合后通過Softmax層映射,輸出最大概率的數(shù)值所屬類別即為分類結果。
一維信號經(jīng)過EMD層的自適應分解后,得到多個不同頻率的IMF和一個殘差(Residue,Res),各IMF以及Res中都包含了原信號不同時間尺度的局部特征信息。雖然有效信息主要包含在高頻IMF中,但在實際情況中,低頻IMF以及殘差中也含有原始信號的局部特征信息。如果只是選擇高頻IMF進行信號的重構,得到的特征信息將會丟失原信號中的一些特征信息,進一步影響信號的識別,因此本文的算法中保留所有IMF和殘差。考慮到不同頻率的IMF和殘差中包含的局部特征信息對信號識別的重要性不同,本文引進權重W,最優(yōu)的權重W將由網(wǎng)絡模型學習得到。將分解得到的所有IMF和Res按照其特征信息的重要性進行自適應加權重構,得到的重構信號將是各個時間尺度信息的有效組合,完成信號特征的提取。采取多組權重,對IMF進行重構將得到多個不同的特征信號。END層將信號自適應分解為N個IMF和一個殘差后,對IMF和殘差進行自適應加權重構提取特征,其分解和重構提取特征過程如圖2所示。
圖2 EMD層信號分解與加權重構提取特征
EMD層信號特征提取算法流程如下:
(1)輸入一維信號S(t);
(2)找出S(t)的極大值點和極小值點,使用3次樣條函數(shù)插值,得到上下包絡線u(t)和l(t);
(3)計算上下包絡線的均值m(t)如式(1)所示
(1)
(4)計算S(t)與m(t)的差值h(t)=S(t)-m(t);
(5)若h(t)是IMF函數(shù),則令IMF(t)=h(t),并轉入(6),否則令S(t)=h(t)并轉入(2);
(6)從S(t)中分離IMF(t),得到r(t)=S(t)-IMF(t),若r(t)滿足分解條件,令S(t)=r(t)并轉入(2)進行下一輪分解,否則轉入(7);
(7)分解結束,分解獲得的N個IMF和Res構成矩陣,IMF=[IMF1,IMF2,…,IMFN,IMFN+1],式中IMFN+1表示殘差Res;
(8)隨機初始化S組權重構成矩陣W如式(2)所示
(2)
(9)加權重構得到i個特征向量構成特征矩陣如式(3)所示
(3)
式中:wij表示第i組權重中的第j個權重參數(shù),F(xiàn)i表示IMF與第i組權重wij重構后得到的第i個特征向量。
(10)使用交叉熵損失函數(shù),由網(wǎng)絡反向傳播學習更新權重wij,獲得最優(yōu)權重參數(shù)。
本文采用召回率、精確率和準確率作為評估算法性能的度量指標,分別表示為式(4)、式(5)和式(6)
(4)
(5)
(6)
其中,TP和FN分別表示為正樣本和負樣本被正確分類的個數(shù),TN和FP分別表示為正樣本和負樣本被錯誤分類的個數(shù)。
本文實驗中輸入心電信號的長度N為250個采樣點,EMD層參數(shù)N值為4,即在EMD層進行自適應分解后得到4個IMF和一個Res,EMD1層權重S設置為32,EMD2層權重T設置為64,激活函數(shù)選擇tanh函數(shù),池化方式為步長為2的最大池化,損失函數(shù)使用交叉熵損失函數(shù),迭代次數(shù)為1000次。
為驗證本文模型的有效性,采用CNN模型進行對比實驗。分別使用本文提出的網(wǎng)絡模型和CNN模型對心電信號進行特征提取,經(jīng)過CNN模型卷積層提取到的部分特征如圖3所示,經(jīng)過EMDNN模型EMD層加權重構后提取到的部分特征如圖4所示。
由可視化的特征圖可知,EMDNN模型經(jīng)過EMD層自適應加權重構得到的特征信號相對于CNN卷積層滑動卷積提取到的特征信號具有更多的形態(tài),說明了其提取到了更多的時域特征。
圖3 CNN卷積提取的特征
圖4 EMDNN自適應加權重構提取的特征
將提取到的特征信號經(jīng)過全連接層進行重組后輸入到Softmax層進行信號類別的預測,本文提出的EMDNN模型和CNN模型對心電信號分類結果的混淆矩陣見表1,損失(Loss)與準確率(Accuracy)曲線如圖5所示,其中T表示信號真實的類別,P表示信號預測的類別。
表1 EMDNN與CNN模型識別結果混淆矩陣
圖5 Loss與Accuracy曲線
從表1的混淆矩陣中可以看出網(wǎng)絡模型識別結果的分布情況,對角線上是各類別信號正確預測的個數(shù),其余均為錯誤預測個數(shù)。由混淆矩陣可知,EMDNN模型和CNN模型對于N、L、R這3類信號的識別正確率較高,均達到99%以上。EMDNN模型對于A類和V類信號預測的正確個數(shù)高于CNN模型。
從圖5所示的Loss與Accuracy曲線可知,EMDNN模型在本實驗數(shù)據(jù)集上具有較小的Loss值,Accuracy值與CNN模型下的Accuracy值持平。
為了更方便比較兩個模型對心電信號識別結果,根據(jù)2個模型的混淆矩陣計算每一類別信號的Recall和Precision,并計算5個類別信號的平均Accuracy,結果見表2。
由表2可以看出,本文模型對A、N、L、R、V這5類心電信號的召回率略高于CNN模型,除N類和R類心電信號的精確率略低于CNN模型外,其它3類心電信號的精確率均略高于CNN模型,此外本文提出的模型對5類信號的平均識別準確率為99.38%,高于CNN模型的準確率98.70%。由于EMD層在提取特征的時候獲取了不同時間尺度的時域特征,因此在時域波形相似的心電信號上可以提取到更豐富的特征信息,使得本文模型分類的準確率高于CNN模型。
表2 CNN和EMDNN模型下各個類別信號的 召回率和精確率
機器學習算法是信號識別的傳統(tǒng)方法,考慮到數(shù)據(jù)的特征維度不高,樣本數(shù)量充足,因此使用心電信號數(shù)據(jù)的原始特征,將數(shù)據(jù)作為隨機森林(random forest,RF)、K近鄰(K-nearest neighbor,KNN)、支持向量機(support vector machines,SVM)3種分類器的輸入進行識別分類。SVM分類器采用徑向基核函數(shù),gamma取值為0.2。KNN的參數(shù)K值設置為5,隨機森林的決策樹的數(shù)目選擇為100,最小樣本數(shù)量設置為2。RF、KNN和SVM在測試數(shù)據(jù)集上的準確率見表3,并和本文提出的模型進行結果對比。
表3 EMDNN和傳統(tǒng)算法準確率對比
由表3實驗結果可知,本文提出的網(wǎng)絡模型識別準確率高于其它的傳統(tǒng)算法,表明了本文提出的模型的有效性。
本文提出了一種EMDNN模型,在經(jīng)典卷積神經(jīng)網(wǎng)絡模型的基礎上,引入經(jīng)驗模態(tài)分解算法,實現(xiàn)了該算法與卷積神經(jīng)網(wǎng)絡的緊耦合。該模型保存了經(jīng)典卷積神經(jīng)網(wǎng)絡所具有的結構,又利用了EMD算法處理非線性信號的優(yōu)勢,通過對一維非線性時序信號的不同時間尺度特征進行自適應加權重構,增強了其提取一維非線性信號時域特征的能力,提高了對一維非線性信號識別的準確率。在MIT-BIH心律失常數(shù)據(jù)庫官方數(shù)據(jù)集上進行心電信號分類實驗,結果表明本文提出的算法相對于經(jīng)典卷積網(wǎng)絡模型和傳統(tǒng)機器學習算法具有較好的效果。