降噪自编码器深度卷积过程神经网络及在时变信号分类中的应用
2020-06-06许少华
朱 喆,许少华
(山东科技大学计算机科学与工程学院,山东青岛266590)
(*通信作者电子邮箱810905105@qq.com)
0 引言
非线性系统时变信号是一种频率和幅值随时间变化的多成分信号,具有非线性、非平稳、对时间变化高度依赖等特性[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 种心血管疾病分类为例,进行模型和算法的可行性和有效性验证。
1 卷积过程神经网络
1.1 卷积过程神经元
卷积过程神经元由时序信号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)的加权。
1.2 卷积过程神经网络
构建的卷积过程神经网络(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个节点的输出。
3 DAE-DCPNN学习算法
DAE-DCPNN的学习过程分为3个阶段:第1阶段,进行双隐层CPNN 单元连接权参数的赋初值训练;第2 阶段,以CPNN 第2 隐层节点的输出作为DAE 深度网络的输入,进行DAE 模型参数的赋初值学习,并对softmax 分类器参数赋初值;第3阶段,采用BP 算法实现对DAE-DCPNN 的全体参数进行整体调优。
3.1 CPNN的训练
设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的连接权值和阈值。
3.2 DAE结构单元的预训练
DAE 预训练的目标是得到优化的连接权W和偏差b。采用随机梯度训练方法,最小均方差作为代价函数,利用梯度下降法在每一次迭代过程中更新一次权值。设DAE 的输出为yp,原始输入为xp,根据式(7)定义DAE的目标函数为:
权值修正迭代公式为:
其中:ε为学习率,H为DAE中间隐层节点数。
3.3 DAE-DCPNN综合训练算法
在CPNN 赋初值训练、DAE 逐层初始化训练和softmax 赋初值训练完成后,根据训练集样本信号的类别标签,采用BP算法对DAE-DCPNN 全体参数进行微调。DAE-DCPNN 算法流程如图4所示。
图4 DAE-DCPNN算法流程Fig. 4 Flow chart of DAE-DCPNN algorithm
4 在ECG信号分类中的应用
心电图(ECG)信号反映人体心脏兴奋的电活动过程,是诊断心脏疾病的重要指标。ECG 信号具有多峰、周期、非线性,不平稳和含背景噪声等特点,不同心血管疾病具有不同的信号分布特征。
4.1 实验数据集
本实验所用数据集来自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.2 实验及结果分析
将数据增强后的样本集本按疾病类型比例随机分为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:%
5 结语
本文建立了一种基于降噪自编码器深度卷积过程神经网络分类模型。该模型在信息处理机制上融合了过程神经网络所具有的可同时表达时变系统多种影响因素的共同作用和对时间效应的累积等性质,以及深度学习框架所具有的特征提取与特征高层次综合能力、较好的泛化和学习性质;提高了网络对系统输入输出之间复杂关系的映射能力和对于信号特征的辨识能力。通过在ECG 信号样本集上测试实验,结果表现出了比其他单一模型更好的准确率和网络性质。但是,该模型虽然在大类别(正常、心房颤动、房性早搏、房性心动过速、房颤伴快速心室率)的分类中有较好的识别效果,但是在同一大类下的不同小类(偶发性早搏、频发性早搏)中的错分率较高,这需要今后进一步的研究加以改善。