朱 喆,許少華
(山東科技大學計算機科學與工程學院,山東青島266590)
(*通信作者電子郵箱810905105@qq.com)
非線性系統時變信號是一種頻率和幅值隨時間變化的多成分信號,具有非線性、非平穩、對時間變化高度依賴等特性[1],特別是多通道信號的組合過程特征呈現出高度的復雜性[2],它的分類處理一直是信號分析與人工智能研究領域中的一個重要問題。在目前的研究中,大多數的處理方法是將時變信號視為短時平穩且線性的,其關注重點是時域和頻域包含的信息[3],而信號隨時間變化所承載的信息部分被忽略或損失掉[4],影響了對時變信號變化特征提取的完整性。
人工神經網絡是目前信號處理和分析中一種常用而有效的方法。隨著深度學習理論的發展,一些新的可用于時變信號分析的神經網絡模型不斷被提出。Hochreiter 等[5]提出了一種基于梯度的長短記憶(Long Short-Term Memory,LSTM)方法,有效解決了長時間依賴、誤差反向流衰退等問題;Hüsken等[6]利用循環網絡的動態行為將輸入序列分類為不同的特定類別,通過內部結構調整來表示輸入序列的主要特征以解決分類問題;Sutskever 等[7]提出了一種非線性序列模型簇,對序列數據的多級特征采取隱層學習方法,實現了利用高維和非線性數據進行建模訓練;Bengio 等[8]提出一種時序自動編碼器(AutoEncoder,AE)模型,通過擴展AE 網絡輸入端節點單元和在網絡隱層設置記憶存儲單元,實現對時序信號的處理;Sutskever 等[9]提出了循環時間受限波爾茲曼機(Recurrent Temporal Restricted Boltzmann Machine,RTRBM),具有在高維序列上準確地模擬復雜概率分布的能力。綜合分析,目前可進行時序信號分析的神經網絡模型,大多是在已有“端到端”模型的基礎上,通過擴展網絡的輸入端節點數,將時間關系轉換為空間關系來實現時序信號的輸入和處理。對于復雜多變量系統,或采樣數據密集、時間序列長的情況,存在輸入層、隱層呈現超高維度,模型信息傳遞流程和求解算法復雜等問題,給時變信號的分析帶來困難。
針對時空維信息處理和時變信號過程特征的提取和表示問題,2000 年,何新貴等[10-11]提出了過程神經網絡(Process Neural Network,PNN)的概念和模型。PNN 的結構與傳統神經網絡不同之處在于其輸入和連接權等都可以是時變函數,神經元內增加了一個對于時間效應的聚合算子,在機制上可同時表達多種影響因素的共同作用和對時間效應的累積。該模型以輸入層和過程神經元(Process Neuron,PN)隱層之間的連接權函數矩陣來抽取和表示時變信號樣本的過程特征,并形成對信號樣本特征的記憶和存儲。在時變信號分類[12-13]、非線性系統過程模擬[14]、狀態預測[15-16]等領域獲得成功應用。目前,在PNN 的理論研究和應用中還存在一些困難,主要包括:現有各類PNN 是一種淺層結構模型,對復雜時變信號特征的提取、表征和高層次綜合能力不足;確定連接權函數的算法復雜度高,在訓練樣本集規模較小或對系統變換特征的表達不完備的情況下,存在泛化能力不穩定的情況。
卷積運算是信號分析中一種常用的處理方法,具有信號特征表示、權值共享等性質[17]。而深度神經網絡具有優異的特征學習能力、在訓練上的難度可以通過基于無監督學習的“逐層初始化”算法來有效克服等優勢,因此,如果在PNN 模型和信息處理中引入卷積運算和深度學習機制,則可為上述PNN存在的問題提供一種新的解決方法。
本文針對非線性系統時變信號模式分類問題,提出了一種降噪自編碼器深度卷積過程神經網絡(Denoising AutoEncoder Deep Convolution Process Neural Network,DAEDCPNN)。該模型由時變信號輸入層、基于時變輸入信號與一維卷積核運算的過程神經元(Convolution Process Neuron,CPN)隱層、深度DAE 網絡結構和softmax 分類器構成。通過將各通道輸入信號與可調整參數的卷積核進行基于滑動窗口的離散卷積運算,實現時序信號的時空聚合和過程特征提取。DAE 深度網絡以CPN 隱層輸出為輸入,進行分布式高層次特征分析和綜合,形成綜合特征矩陣。softmax 分類器以綜合特征矩陣為輸入,實現基于概率的多通道信號分類。DAEDCPNN擴展了PNN的深度結構,提高了PNN的對信號樣本多樣性的表示和特征辨識能力。同時,將現有DAE 網絡的數據處理擴展到時間域,在機制上可有效解決時變信號的過程特征表示、信息時間關聯等問題。文中分析了DAE-DCPNN 的性質,建立了按PNN、DAE 網絡、softmax 分類器等信息單元分別進行賦初值訓練、模型參數整體調優的綜合訓練算法。目前,基于機器學習和深度神經網絡的心電圖(ElectroCardioGram,ECG)信號分類研究取得了許多重要進展和好的結果,例如一維卷積神經網絡[18]、堆疊式稀疏自編碼器神經網絡[19]、深度雙向LSTM 網絡和小波序列[20]、殘差卷積遞歸神經網絡[21]等,但實驗主要是針對心拍或較少導聯數進行的。本文以基于12 導聯ECG 長信號的7 種心血管疾病分類為例,進行模型和算法的可行性和有效性驗證。
卷積過程神經元由時序信號xi(t)=(xi(t1),xi(t2),…,xi(tT))輸入,與卷積核=(wi(t1),wi(t2),…,wi(tT))離散卷積運算、閾值激勵輸出等運算組成,其結構如圖1所示。

圖1 卷積過程神經元模型Fig. 1 Convolution process neuron model
圖1 中,xi(t)=(xi(t1),xi(t2),…,xi(tT))(i=1,2,…,n),T為時間序列長度;*為卷積算子,∑為求和運算,f為激勵函數。
考慮xi(t)和=(wi(t1),wi(t2),…,wi(tk))的卷積運算yi(t)=xi(t)*,根據時序信號離散卷積的定義,序列yi(p)的長度為2T- 1,且

令根據式(1),卷積過程神經元的輸入輸出關系描述為:

其中:λi(p)為與yi(p)等長的離散序列,用于實現對yi(p)的加權。
構建的卷積過程神經網絡(Convolutional Process Neural Network,CPNN)為三層多輸入多輸出結構,由時序信號輸入層、卷積過程神經元隱層、MP 神經元輸出層構成。模型結構如圖2所示。

圖2 卷積過程神經網絡Fig. 2 Convolutional process neural network
圖2 中,輸入層n個節點,隱層m個節點,輸出層K個節點;wij(t)=(wij(t1),wij(t2),…,wij(tk))為輸入層到CPN 隱層的連接權序列;隱層和輸出層均采用Sigmoid激勵函數。

其中SDAEk(·)為SDAE輸出層第k個節點的輸出。
DAE-DCPNN的學習過程分為3個階段:第1階段,進行雙隱層CPNN 單元連接權參數的賦初值訓練;第2 階段,以CPNN 第2 隱層節點的輸出作為DAE 深度網絡的輸入,進行DAE 模型參數的賦初值學習,并對softmax 分類器參數賦初值;第3階段,采用BP 算法實現對DAE-DCPNN 的全體參數進行整體調優。
設DAE-DCPNN 訓練集共有N個樣本,第l個樣本為(X(l)(t);dl)(l= 1,2,…,N),其中:

其中,dl為對應X(l)(t)的期望輸出。
設yp為對應于輸入X(l)(t)網絡的實際輸出,定義誤差函數定義為:

根據E(W,θ1,V,θ2)的定義,采用梯度下降算法,確定出CPNN的連接權值和閾值。
DAE 預訓練的目標是得到優化的連接權W和偏差b。采用隨機梯度訓練方法,最小均方差作為代價函數,利用梯度下降法在每一次迭代過程中更新一次權值。設DAE 的輸出為yp,原始輸入為xp,根據式(7)定義DAE的目標函數為:

權值修正迭代公式為:

其中:ε為學習率,H為DAE中間隱層節點數。
在CPNN 賦初值訓練、DAE 逐層初始化訓練和softmax 賦初值訓練完成后,根據訓練集樣本信號的類別標簽,采用BP算法對DAE-DCPNN 全體參數進行微調。DAE-DCPNN 算法流程如圖4所示。

圖4 DAE-DCPNN算法流程Fig. 4 Flow chart of DAE-DCPNN algorithm
心電圖(ECG)信號反映人體心臟興奮的電活動過程,是診斷心臟疾病的重要指標。ECG 信號具有多峰、周期、非線性,不平穩和含背景噪聲等特點,不同心血管疾病具有不同的信號分布特征。
本實驗所用數據集來自CCDD(Chinese Cardiovascular Disease Database)數據庫中12 導聯的ECG 信號樣本,采樣頻率為500 Hz,每條記錄時間為10 s左右,樣本標注了專家對疾病的診斷結果。在候選樣本中,刪除標記模糊、時長不足、測量有誤的樣本,確定其中7 類共21 196 個樣本構成樣本集。各類樣本分布見表1。

表1 實驗樣本數據分布Tab. 1 Distribution of experimental sample data
在數據處理中,由于人體的生理機能、疾病類型不同,使得相同ECG 采樣時間內包含的樣本點數也不完全相同,且由于信號采集的不確定性,使得信號起始位置也不相同。為便于計算,本實驗使用QRS 波檢測法,對所有ECG 信號統一取第一個R 波的峰值作為樣本信號的起點,截取4 500 個樣本點。由于房性心動過速和房顫伴快速心室率樣本數較少,實驗中選擇小波閾值去噪方法增加兩類樣本數量。利用Sym8小波基函數將原始心電信號進行10 層小波分解,采用極大極小閾值估計法確定閾值[23]。將分解后的高頻信號與低頻信號重構,分別得到300和551個新的信號樣本。原始信號樣本與新的信號樣本混合在一起,共同參與網絡模型的訓練和測試。同時,考慮各導聯量綱不同、量級差別較大的問題,對樣本信號統一進行歸一化處理,其公式為:x′(t)=(x(t)- minx(t))(maxx(t)- minx(t))。 其 中,minx(t)和maxx(t)為ECG測量區間內導聯信號的最小值和最大值。
將數據增強后的樣本集本按疾病類型比例隨機分為4組,其中3 組構成訓練集,1 組為測試集。對于12 導聯輸入信號,每導聯經去噪和抽稀處理后,共獲得2 250 個采樣點。卷積運算采用5 階梯度卷積核,對應各導聯輸入信號,卷積核初始值均取(-1,-1.5,-2,-0.5,1),反映信號梯度變化特征。
DAE-DCPNN 的結構參數選擇如下:CPNN 的輸入層有12個過程信號輸入節點,每個輸入節點的輸入為一個長度是2 250 的導聯信號;CPN 隱層節點數為64,輸入層到CPN 隱層的卷積核函數取為12×5×64 的卷積核矩陣,利用權值共享的思想,每個CPN 隱層節點共用一個長度為5、步長為2 的卷積核;CPNN 第2 隱層節點數為320 個,CPN 隱層到CPNN 第2 隱層的連接權函數取為64×320的連接權矩陣。SDAE 部分的輸入層節點數為320,共堆疊3 個DAE 網絡,其隱層數為160。Softmax分類器輸入節點數為320,輸出層節點數為7。實驗硬件環境為Intel Xeon Gold 5118 CPU @ 2.30 GHz,實驗平臺為MATLAB R2016b。在訓練中,CPNN 的迭代次數設為1 000,DAE 深度網絡迭代次數為500,全體參數調優BP 算法代次數為1 000,各迭代公式學習率均取為0.05。對測試樣本集進行測試,5 500 個樣本共有4 693 個判斷正確,正確率為85.327%,其分類的混淆矩陣如表2 所示。這在12 導聯ECG長信號識別中是一個較好的結果。

表2 DAE-DCPNN模型分類混淆矩陣 單位:%Tab. 2 Classification confusion matrix of DAE-DCPNN model unit:%
在對比實驗中,本文選擇可直接進行ECG 信號處理的過程神經網絡PNN[24-25]、堆疊稀疏自動編碼器SSAEs[19]和殘差卷積遞歸神經網絡RhythmNet[21]與本文提出模型進行對比。其中PNN 采用基于正交函數基展開的雙隱層過程神經網絡,網絡結構為:12-120-480-1,采用256 階Walsh 正交函數基;SSAEs 的網絡結構設為四層,為120-60-30-15、Softmax 為分類器;RhythmNet網絡結構設置為卷積-殘差-池化×16+全連接×1+循環層×3+全連接×1+softmax。采用四折交叉的實驗方案,將各類疾病的樣本集信號按比例隨機分成4 組,每組5 500個樣本。任選其中3組作為訓練樣本集,1組作為測試樣本集進行實驗。每種方法實驗采用相同的訓練集和測試集,以準確率、召回率、精確率和F1-Score 值作為評價模型的指標,并以4次實驗的平均值進行對比,結果見表3。
由表3知,本文建立的DAE-DCPNN 模型和算法對測試集樣本的綜合評價要優于其他三種方法。這是由于該模型保留了PNN 對時間信號時頻特性分析能力,及卷積核和卷積運算對時變信號特征的提取和表示能力,并通過DAE 深度網絡提高了對復雜數據特征的高層次綜合分層特征的提取及對類別屬性關聯能力,因此取得了較好的實驗結果。

表3 相同數據集上各模型結果對比 單位:%Tab. 3 Comparison of the results by different models on same dataset unit:%
本文建立了一種基于降噪自編碼器深度卷積過程神經網絡分類模型。該模型在信息處理機制上融合了過程神經網絡所具有的可同時表達時變系統多種影響因素的共同作用和對時間效應的累積等性質,以及深度學習框架所具有的特征提取與特征高層次綜合能力、較好的泛化和學習性質;提高了網絡對系統輸入輸出之間復雜關系的映射能力和對于信號特征的辨識能力。通過在ECG 信號樣本集上測試實驗,結果表現出了比其他單一模型更好的準確率和網絡性質。但是,該模型雖然在大類別(正常、心房顫動、房性早搏、房性心動過速、房顫伴快速心室率)的分類中有較好的識別效果,但是在同一大類下的不同小類(偶發性早搏、頻發性早搏)中的錯分率較高,這需要今后進一步的研究加以改善。