脉搏波是一种非平稳的低频微弱生理信号,其中蕴含的生理病理特征可用于人体病理的辅助诊断[1]。基于脉搏波解决心血管疾病分类方法主要分为模型驱动和数据驱动[2-3]。模型驱动主要是基于领域先验知识构建模型求解最优解;数据驱动是基于大量脉搏波数据训练的端到端深度学习模型。
传统脉搏波分类方法通常提取具有明确生理意义的时域参数和频谱[4-5]等作为样本特征,通过支持向量机、随机森林、K-近邻等算法实现分类识别。对于微弱脉搏波信号,主波、重搏前波、重搏波等[6]基准特征直观反应脉搏波形态信息,但此类特征提取的准确性易受噪声影响,且手工设计特征不足以精准地表达原始脉搏波数据,与心血管疾病关联性强的样本特征[7]有待进一步研究。随着深度学习技术发展,基于深度学习的脉搏波分类方法得到广泛研究。
利用卷积神经网络[8]、深度融合神经网络[9]等自动学习脉搏波内在规律和表示层次,建立脉搏波与疾病的非线性映射关系,取得较好的脉搏波分类效果。而网络训练的前提是大量有效标注数据。脉搏波临床数据标注成本高,需要较长时间周期才能建立高质量的大规模标注数据。在小样本脉搏波标注数据中,数据驱动的训练方法获取有效特征[8]的难度大。
自编码器是一种结构对称的神经网络,包含编码器和解码器两部分,使重构脉搏波尽可能与输入相似。训练中,隐层通过自学习提取输入数据的有效特征,且减弱模型对数据标签的依赖,符合脉搏波数据特点。
针对脉搏波临床数据有限、标注成本高影响分类效果的问题,设计一种基于CAE-Net(convolutional autoencoder networks)的脉搏波分类模型,在CAE特征自学习中,引入时域特征损失,约束网络压缩重构过程。其次,重用CAE编码层网络结构和初始权重构建CAE-Net,实现心血管疾病的辅助分类。
自编码器[10]是基于反向传播算法学习到一个“恒等映射”。脉搏波作为一种非线性、非平稳的微弱生理信号,传统自编码器难以有效提取特征表示。利用AE(autoencoder)重构、降维特性和CNN局部特征提取能力构建CAE[11-12],通过卷积层、池化层和反卷积等多层叠加,获取层次特征映射,实现脉搏波低维特征自学习。
结合脉搏波波形特点,在CAE中引入脉搏波时域特征约束,使模型充分提取脉搏波的有效特征。编码器采用3个卷积层、3个最大池化层和1个全连接层;解码器包括3个反卷积层、3个反池化层和1个全连接层。图1为CAE结构图,Conv1d、Max_pooling、FC、DeConv1d和Depooling分别代表一维卷积层、最大池化层、全连接层、反卷积层和反池化层。
图1 CAE结构图
Figure 1 Structure of CAE mode
给定输入脉搏波X=[x1,x2,x3,…,xn],通过多个卷积核对其进行特征提取,得到第l层输出cl,并通过池化层进行降采样得到以保留输入数据主要特征和防止过拟合。运算方法为
cl=f(Wl⊗X+bl);
(1)
c′l=Maxpooling(cl)。
(2)
式中: Wl、bl分别为第l层网络的权重和偏差;f(·)为ReLU函数;Maxpooling(·)为最大池化操作。
如图1所示,在网络训练过程中,编码器逐层获取输入数据的特征映射,经过Flatten层和FC层后,得到隐层的一维特征向量。相反,解码器利用隐层特征通过反卷积层、反池化层等重构输入脉搏波信号,并通过式(3)的损失函数评估CAE对脉搏波重构性能。
(3)
(4)
式中:M表示输入脉搏波与重构信号的平均绝对误差,式(3)后两项分别为波峰、波谷的重构损失;xp(i)、x′p(i)分别为输入、重构脉搏波峰值;xv(i)、x′v(i)分别为输入、重构脉搏波谷值;λ1、λ2为限制损失程度的正则化参数;n为训练样本数量;Xi为输入脉搏波信号;X′i为重构脉搏波信号。
训练中,在网络损失函数中加入波峰、波谷损失约束,指导特征自学习过程。通过设定网络隐层神经元数量M,调整表征向量大小。
CAE-Net采用预训练和微调的方法,实现心血管疾病的脉搏波分类识别[13]。重用预训练CAE编码层网络和权重,在隐层输出后加入全连接层等构建分类网络,图2显示了CAE-Net网络架构。
图2 基于CAE-Net的脉搏波分类模型
Figure 2 Pulse wave classification model of CAE-Net
预训练中,利用CAE的压缩重构特性,实现输入脉搏波信号特征自学习。使隐层神经元数量M小于输入脉搏波维度,经过多层卷积操作获取脉搏波的低维特征表示。
微调过程中,CAE-Net重用并冻结编码层结构和权重,之后添加全连接层,并根据类标签信息进一步优化全连接层参数。CAE-Net的损失函数为
(5)
式中:(XL,class)为交叉熵分类损失;XL为模型输出;class为真实标签;N为脉搏波类别数。
本文使用数据采集于350余名志愿者(年龄在22~72岁)的桡动脉脉搏波。其中包含心血管病患者60例(男性26名,女性34名),正常人290例(男性163名,女性127名)。采集设备为ZM-300脉象仪,采样频率200 Hz,单条采集时间40 s。整个采集过程在医师指导下完成,且符合数据采集规范流程。
脉搏波属于低频生理信号,其主要频率分布于0~20 Hz,易受基线漂移和工频噪声等干扰。采用小波阈值去噪法[14]对原始信号进行滤波处理,提升脉搏波信噪比,以降低噪声对模型性能影响。图3为滤波前后脉搏波信号。
图3 滤波前后脉搏波信号
Figure 3 Pulse wave signal before and after filtering
脉搏波作为一种准周期生理信号,其单周期是对一个心动周期内心脏功能的重要反映。实验采用迭代滑动窗口法识别脉搏波波谷进行周期划分[15],并对分割后的信号进行插值处理,使单周期脉搏波样本长度等于248。图4为脉搏波周期分割。
图4 脉搏波周期分割
Figure 4 Period segmentation of pulse wave
实验中,对采集数据进行预处理后,共获取脉搏波数据8 600条,其中正常脉搏波数据6 830条,异常数据1 770条,包含心律失常、心肌缺血和高血压等3种常见心血管疾病。
模型评估采用准确率Acc、灵敏度Sen、精确度Pre和F1值。4个评价指标计算式如下:
(6)
(7)
(8)
(9)
式中:TP为将正例样本预测为正的数量;TN为将负例样本预测为负的数量;FP为负例样本预测为正的数量;FN为将正例样本预测为负的数量;Acc为模型分类准确率;Sen衡量模型对异常波形的识别能力;Pre为被分为异常的样本中实际为异常的比例;F1为Sen和Pre的调和均值。
本文实验平台为台式计算机,处理器为AMD Ryzen 2600X,主频3.60 GHz,16 GB内存,NVIDIA GTX1060显卡,运行环境:Windows10 64位,Python 3.6,Tensorflow-2.1.0。
基于预训练的CAE,重用编码器网络结构和权重,构建CAE-Net进行如下实验。
实验1 选取包括正常、心血管疾病在内的脉搏波数据进行实验,验证CAE-Net分类效果。
CAE-Net的输入向量维数为248,第一个卷积层卷积核数量为16,尺寸为3×1,步长为1,卷积过程采用ReLU激活函数,并对输入边缘进行补零填充;池化层采用尺寸为2×1、步长为2的窗口进行最大值池化;设定隐层神经元数量M=100;输出层激活函数为softmax函数。其他参数见表1。
表1 CAE-Net各层参数
Table 1 Parameters of CAE-Net
层数网络层名称卷积核数量×尺寸输出大小1Input248×12Conv1d16×3×1 248×163Max_pooling2×1×2124×164Conv1d32×3×1124×325Max_pooling2×1×262×326Conv1d64×3×162×647Max_pooling2×1×2 31×648Flatten1984×19FC100×1
CAE-Net对心血管疾病脉搏波分类准确率如图5所示。可以看出,随着训练次数不断增加,CAE-Net脉搏波分类准确率达到98.00%。
图5 CAE-Net分类正确率
Figure 5 Classification accuracy of CAE-Net
实验2 为进一步验证模型的有效性,采用其他分类器进行对比实验。
(1)SVM方法:利用SVM径向基函数分别对主成分分析(principal component analysis,PCA)的降维特征和CAE隐层特征进行分类。
(2)CNN方法:利用与CAE编码器结构相同的一维CNN网络对脉搏波数据进行有监督学习。
(3)CAE-Net(MSE)方法:将绝对均值误差作为卷积自编码器网络的损失函数,对脉搏波进行分类识别。
(4)深度融合神经网络MIRNet[16]方法:将Inception模块与残差模块融合,降低模型过拟合,提升网络分类准确率。
各网络采用五折交叉验证并取均值,分类结果见表2。从表2可知,当隐层神经元数量M=100时,相较于PCA-SVM,CAE-SVM方法获得较高准确率,且灵敏度明显高于PCA-SVM的77.11%。在SVM方法中,CAE的特征提取效果优于PCA,所提取脉搏波特征与心血管疾病的关联性更强。
表2 不同分类器对比结果
Table 2 Comparison results of different classifiers %
网络准确率Acc灵敏度Sen准确度PreF1PCA-SVM93.9577.1192.1983.98CAE-SVM95.3089.8392.0290.91CNN[8]96.6390.3993.0291.69CAE-Net(MSE)96.8790.8793.4592.14CAE-Net98.0093.3995.4394.40MIRNet[16]97.3491.5495.3592.92
在相同数据集中,引入时域特征约束的CAE-Net分类准确率为98.00%,高于CAE-Net(MSE),且两种CAE-Net分类准确率均高于CNN。其中,加入时域特征约束的CAE-Net性能更优,其F1值达到94.40%。
相较于文献[16]的融合神经网络MIRNet,CAE-Net的灵敏度、准确率和F1值等指标均更优,且CAE-Net的灵敏度达到93.39%。综上,在小样本、弱标注的脉搏波数据上,本文的CAE-Net在基于脉搏波的心血管疾病分类任务中更具优越性。
为了直观显示CAE-Net的性能,对CAE-Net的原始脉搏波输入和输出进行t-SNE可视化处理,如图6所示。其中蓝色圆点代表心血管疾病样本,红色叉点代表正常样本。由图6看出,CAE-Net改善了模型在脉搏波数据上的分类性能。
图6 脉搏波数据可视化
Figure 6 Visualization of pulse wave data
基于深度学习的脉搏波分类依赖大量标记数据,针对脉搏波临床数据有限、标注成本高影响分类效果的问题,设计基于CAE-Net的脉搏波分类模型。结合脉搏波形特点,在CAE中引入脉搏波时域特征约束,利用CAE压缩重构特性,提升模型对低维特征学习能力;其次,重用预训练CAE编码层网络结构和权重构建CAE-Net。所设计网络在心血管疾病脉搏波数据集上分类的准确率达到98.00%,对异常波形的识别精确度达95.43%,能够有效提取与心血管疾病强关联性的特征,同时预训练过程无须使用脉搏波标签,提升模型在小样本脉搏波数据上分类效果。
受样本数据量的限制,本文仅研究了模型对异常脉搏波的分类识别,未对心血管疾病做出更为详细的分类。后续工作将研究相关数据增广技术,并扩展模型在脉搏波信号时序及空间上的特征提取能力,进一步提升其应用价值。
[1] LIU W C,FANG X,CHEN Q Q,et al.Reliability analysis of an integrated device of ECG, PPG and pressure pulse wave for cardiovascular disease[J].Microelectronics reliability,2018,87:183-187.
[2] IQBAL U,YING WAH T,HABIB UR REHMAN M,et al.Usage of model driven environment for the classification of ECG features:a systematic review[J].IEEE access,2018,6:23120-23136.
[3] KOREN M,PRASAD R.Comparison of data-driven models for cleaning eHealth sensor data:use case on ECG signal[J].Wireless personal communications,2020,114(2):1501-1517.
[4] SHARMA H.Heart rate extraction from PPG signals using variational mode decomposition[J].Biocybernetics and biomedical engineering,2019,39(1):75-86.
[5] 刘国华,周文斌.基于卷积神经网络的脉搏波时频域特征混叠分类[J].吉林大学学报(工学版),2020,50(5):1818-1825.
[6] ISLAM M T,ZABIR I,AHAMED S T,et al.A time-frequency domain approach of heart rate estimation from photoplethysmographic (PPG) signal[J].Biomedical signal processing and control,2017,36:146-154.
[7] HASSANI A,FORUZAN A H.Improved PPG-based estimation of the blood pressure using latent space features[J].Signal,image and video processing,2019,13(6):1141-1147.
[8] LI G Y,WATANABE K,ANZAI H,et al.Pulse-wave-pattern classification with a convolutional neural network[J].Scientific reports,2019,9:14930.
[9] KWON S,HONG J,CHOI E K,et al.Deep learning approaches to detect atrial fibrillation using photoplethysmographic signals:algorithms development study[J].JMIR mHealth and uHealth,2019,7(6):e12770.
[10] HUANG Z W,XUE W T,MAO Q R,et al.Unsupervised domain adaptation for speech emotion recognition using PCANet[J].Multimedia tools and applications,2017,76(5):6785-6799.
[11] CHEN M, SHI X B, ZHANG Y, et al. Deep features learning for medical image analysis with convolutional autoencoder neural network[J]. IEEE transactions on big data, 2017: 1-1.
[12] YANG J L, BAI Y, LIN F, et al. A novel electrocardiogram arrhythmia classification method based on stacked sparse auto-encoders and softmax regression[J].International journal of machine learning and cybernetics,2018,9(10): 1733-1740.
[13] 逯鹏,李奇航,尚莉伽,等.基于优化极限学习机的CVD预测模型研究[J].郑州大学学报(工学版),2019,40(2):1-6.
[14] 季忠,刘旭.基于波形特征和小波的脉搏波特征点识别研究[J].仪器仪表学报,2016,37(2):379-386.
[15] ZHANG Z C,ZHANG Y,YAO L N,et al.A sensor-based wrist pulse signal processing and lung cancer recognition[J].Journal of biomedical informatics,2018,79:107-116.
[16] 张选,胡晓娟.基于GoogLeNet和ResNet的深度融合神经网络在脉搏波识别中的应用[J].计算机系统应用,2019,28(10):15-26.