基于注意力残差模型的心律失常分类研究

2022-09-27 05:53黎天翼丁佳林
关键词:残差敏感性注意力

秦 博,黎 明,黎天翼,丁佳林,李 涛

(湖北师范大学 物理与电子科学学院,湖北 黄石 435002)

0 引言

根据国家心血管疾病中心统计,我国心血管疾病死亡率居于首位,且患者数量庞大[1]。通过便携式设备对高危人群进行监测,实时识别心电图(Electrocardiogram , ECG),可以实时发现冠心病和心律失常等心血管疾病,对患者进行有效的干预和治疗。因此在降低识别算法复杂度的条件下做到及时识别心律失常,同时提高识别的准确率,降低漏诊率具有重要的意义。

随着计算机科学理论的发展,已经诞生出许多心电图分类识别算法。心电图分类识别算法可分为三类:基于波形形态结构的分类算法、基于波形特征的分类算法和基于深度学习的分类算法。基于波形形态结构的分类算法是利用心电图的不同特征来进行分类,如RR间隔、QRS波特征和T波特征等,这种方法是在模拟医生对心电图进行诊断的步骤。例如:段会龙等人利用QRS波特征和RR间隔等特征,使用模板匹配法针对心室期前收缩的异常波形进行识别分类[2];Chazal等人通过RR间隔、QRS波长度等12个特征对心电图数据进行心律失常分类,准确率达到了84.5%[3].基于波形形态结构的分类算法准确率相对较低,对噪声敏感,不利于实际应用。

基于波形特征的分类算法是通过小波变换[4]、Hermite系数[5]、高阶统计特征[6]等算法提取心电图统计特征或频域特征等,并通过支持向量机(Support Vector Machines, SVM)或多层感知机等算法进行类别的区分。例如:Mondeja等人结合形态学、小波变换和高阶统计特征,并利用SVM对心电信号进行4种心律失常的分类,达到了94.5%的正确率[7]。基于波形特征的分类方法虽然准确率较高,但是需要大量的先验知识来进行分类识别,并且该类算法鲁棒性较差。

随着深度学习理论的发展,越来越多的学者将循环神经网络(Recurrent Neural Network,RNN)和卷积神经网络(Convolutional Neural Networks,CNN)等神经网络运用在心电图识别领域。例如:Liu等提出一个组合了CNN和Bi-LSTM(Bi-directional Long Short-Term Memory)的分类算法,在心肌梗塞和正常心电图的分类中达到99.90%的正确率[8];Rajpurkar等使用34层的深度卷积神经网络对采集的心电数据实现了心律失常、窦性心律和心颤等12类心脏病分类[9];Li等设计了7层的卷积神经网络,在基于患者特异性的分类模式下对MIT-BIH心电数据库(MIT-BIH Arrhythmia Database)中的心电数据进行5种心律失常的分类,达到了95.13%的正确率[10,11]。基于深度学习的分类算法不需要先验知识就能达到较高的准确率,并且算法结构简单,抗噪能力强。

但是,基于深度学习的心律失常分类算法需要大量样本进行训练的特点,使得其在心律失常分类这种样本极度不平衡的分类任务中有着较高的漏诊率和误诊率。例如,文献[11]中算法对样本量较少的融合搏动类的敏感性只有82.28%,即漏诊率有17.72%,并且漏诊率比样本数量较多的正常搏动类高17个百分点。漏诊率是医学诊断中一个重要的指标,过高的漏诊率会造成对患者的医疗干预不及时。因此本文将结合注意力机制的残差网络模型应用于心电信号分类,利用残差块提取心电信号中的重要特征,并通过注意力机制学习特征之间的关系,最后根据提取的特征采用2层全连接层对心电图进行分类,将注意力机制与残差网络相结合提高算法对稀少类样本的敏感性,降低漏诊率。

1 算法描述

1.1 残差网络

随着卷积神经网络层数的增加,网络的学习精度也随之降低,并且还会出现梯度爆炸和梯度消失等问题。针对上述问题,Kaiming He等人于2015年提出残差网络(Residual Network, ResNet)[12],在卷积神经网络中引入跳层连接,解决了深层网络中的网络退化问题。如图1所示。

图1 (a)残差块;(b)注意力残差模块

图1(a)为残差结构,假设残差块输入与输出关系公式如式(1)所示,

yi=F(xi,wi)+xi

(1)

yi为残差块输出,xi为残差块输入,wi为残差块要学习的权重,函数F(xi,wi)包含一维卷积、批量归一化和激活函数ReLU.当网络的学习接近饱和时,残差块通过跳层连接的方式,使得接下来的学习转变为对恒等映射的学习,即学习yi=xi.因此,后面的学习是使残差F(xi,wi)不断逼近零。当训练的模型层数较深的时候,模型的精度不会下降,同时也解决了深层网络中梯度爆炸和梯度消失的问题。在卷积层和激活函数中间使用批量归一化[13](Batch Normalization,BN),使得网络的训练速度大幅提升,并且有利于克服反向传播中梯度消失等问题。

1.2 注意力机制

注意力机制是机器学习中的一种优化机制。它的核心思想是使模型关注信息中的更重要特征,同时忽略其他无关特征。在心电图分类中,注意力机制可以让模型为提取的不同特征赋予不同的权重,使得重要的特征有着更高的权重,从而提高模型预测的准确率。

4)电源插座短路打火即使产生“微末”,因车库不是一个密闭空间,飞溅的“微末”只是一个不具“明火”性质的“热熔珠粒子”,不能点燃“沉淀”于靠近地面处的液化石油气。

本文提出的分类算法通过插入SE模块(Squeeze-and-Excitation Block)[14]来实现残差网络与注意力机制的结合。如图1(b)所示,SE模块先通过全局平均化对输入的特征图做压缩,获得不同通道上的全局特征。接下来通过两个全连接层来学习各个通道特征之间的非线性关系,然后采用非线性函数Sigmoid激活。全连接层的使用减少了网络的参数量和计算量,同时提高了其泛化能力。最后将学习到的特征乘以输入的原始特征,从而提高了网络对通道特征的辨别能力。

1.3 结合残差块和注意力机制的神经网络模型

相较于循环神经网络,卷积神经网络更适合从小尺度的信号中提取特征,并且心律失常疾病的特征往往集中在小尺度的单个心拍信号之上,因此在模型中采用卷积神经网络。残差结构的引入解决卷积层堆叠造成的网络退化问题,注意力机制可以使算法增加重要特征的权重,从而提高分类模型的准确率和敏感性。

因此,本文将注意力机制与残差网络相结合对心电图进行分类,模型结构如图2所示,结构参数如表1所示。对输入的信号使用一维卷积层和最大池化层提取特征并降低特征图分辨率。为了在不丢失第一次卷积提取的信息,在第一个卷积层后使用双曲正切函数作为激活函数。接下来用6个注意力残差模块来提取特征以及特征权重的分配,为了提取到更多的特征,卷积层先采用较小的卷积核,并在之后逐渐变为较大的卷积核以减少计算量。在经过一个全局平均池化层后,最后采用两个全连接层作为分类器进行分类。

图2 注意力残差神经网络模型

表1 注意力残差神经网络模型参数

1.4 算法描述

本文算法的流程如图3所示,基于残差注意力模型的心律失常分类算法分为两个模块:

图3 算法框图

1)数据预处理模块:首先采用中值滤波技术去除心电信号中的基线漂移,接着使用小波变换法滤除信号中的肌电噪声,然后根据R波标注信息将信号分割成心拍信号,根据心电信号标注信息对每个心拍信号进行心律失常类别的标注,最后按照不同的划分方式将分割标注后的心拍信号划分为训练集和测试集。

2)特征提取与分类模块:首先使用注意力残差神经网络模型中的残差块部分进行信号的特征提取,然后利用模型中的两层全连接层进行心拍类型的分类。利用预处理完成后利用训练集对注意力残差神经网络模型进行训练,并对剩余的测试集数据进行测试。

2 实验数据与评价指标

2.1 数据集

本文采用PhysioBank[15]中的MIT-BIH心律失常数据库进行网络模型的验证。MIT-BIH心律失常数据库包含来自不同年龄、不同性别的患者数据。该数据库包含48条来自47个不同患者的心电记录,每条记录约30 min,采样频率为360Hz,且包含双通道数据。采用MLII和V1双导联的数据作为输入数据,同时根据AAMI标准[16]对心电图进行正常搏动(N)、室上性异位搏动(S)、心室异位搏动(V)、融合搏动(F)和未识别(Q)的搏动的分类。

数据集划分方式分别采用基于病人内的分类方式和基于患者特异性的分类方式。基于病人内的分类方式是将所有病人信息打乱后再按照8∶2的比例进行训练集和测试集的划分;基于患者特异性的分类方式将数据集划分为包含不同患者信息的两个数据集DS1和DS2[3],其中DS1作为全局训练集,DS2中前5 min数据作为特异性训练集,DS2中余下的数据作为测试集,采用全局训练与局部训练相结合的方式进行训练[17]。该方式符合AAMI标准中允许从每个患者记录中使用至多5 min的片段进行训练的条件。由于本文算法采用双导联进行训练,为保持一致性,对DS1和DS2中不包含导联MLII和V1的病人数据进行删减,得到DS1′与DS2′.由于基于患者特异性的分类方式中Q类过少,因此在基于患者特异性的分类方式下只对其余四类进行研究。

2.2 数据预处理

表2 心拍类别分布

2.3 评价指标

本文采用准确率(Accuracy,Acc)、敏感性(Sensitivity,Sen)和特异度(Specificity,Spe)来对分类器进行性能评估,参数定义如式(2)(3)和(4)所示:

(2)

(3)

(4)

其中,TP表示真阳性,TN表示真阴性,FP表示假阳性,FN表示假阴性。同时使用混淆矩阵对分类结果进行分析。

3 实验结果

3.1 基于病人内方式的分类实验结果

在基于病人内的分类实验中,使用测试集对训练后的注意力残差网络进行测试,测试结果的混淆矩阵、敏感性、特异度与准确率如表3所示。本文算法的准确率达到了99.46%,平均特异度达到了99.63%,平均敏感性达到了97.56%,且样本数量较少的S类和F类敏感性相对较低。

表3 基于病人内的分类结果混淆矩阵

3.2 基于患者特异性方式的分类实验结果

在基于患者特异性的分类实验中,使用数据集DS2′对训练后的算法进行测试,测试结果的混淆矩阵及敏感性、特异度和准确率等参数如表4所示。本文算法的平均敏感性达到了90.03%,特异度达到了97.95%,准确率达到了98.24%,S类和F类敏感性相对较低,存在一定漏诊。

表4 基于患者特异性的分类结果混淆矩阵

3.3 噪声对分类结果的影响

本文选择叠加不同信噪比的白噪声,生成含噪声的心电信号来检测算法的鲁棒性,实验结果如表5所示。在叠加噪声后,基于病人内的分类方式下的准确率仍能保持在99%以上,基于患者特异性的分类方式下准确率虽然下降了1到2个百分点,但仍能维持较高的准确率。证明了本文提出的算法抗噪能力强。

表5 抗噪能力测试结果

4 讨论

表6为部分基于病人内方式下的分类算法与本文算法的比较,表中列出的方法都采用MIT-BIH数据库进行测试。文献[18]使用样本合成来平衡样本数量,稀少类的敏感度得到了提升,但整体的准确率和N类的敏感度却下降了;文献[19]采用CNN与LSTM相结合的方式进行心律失常分类,达到了99.11%的准确率;文献[21]采用ResNet进行分类,达到了99.38%的准确率。通过对比,本文模型的F类敏感性和整体准确率更高。

表6 基于病人内方式的分类方法结果对比

表7为部分基于患者特异性方式下的分类算法与本文算法的对比。文献[17]和文献[20]都采用CNN进行心律失常分类,且达到了较高的准确率,但S类和F类的敏感性较低。文献[21]采用双向LSTM与CNN并行的方式分别对两个导联的信号进行特征提取,然后通过全连接层对提取的特征进行心律失常分类,准确率达到了97.37%.与文献[21]提出的算法相比,虽然本文提出的算法模型在S类敏感性上略微降低,但F类敏感性和准确率方面都有所提升,并且算法结构更加简单。

表7 基于患者特异性方式的分类方法结果对比

本文还使用未结合注意力机制的残差网络进行实验,在基于病人内方式的分类实验中,增加注意力机制后F类的敏感性提高了约8个百分点;在基于患者特异性方式的分类实验中,增加注意力机制后稀少类的敏感性提高了2到7个百分点。在结合注意力机制后,模型的分类性能有着较大提升。

在MIT-BIH心律失常数据库中,本文从基于病人内的分类方式和基于患者特异性方式两个方面进行实验,充分验证了本文算法的有效性。在残差网络中增加注意力机制可以使模型关注心电信号中的更加重要特征,给重要的特征分配更高的权重,由此来提升算法的准确率和对稀少类别的敏感性。

在接下来的工作中,需要将重点放到持续时间更长的心电片段的识别分类上,将深度学习与心电图的形态特征相结合,进一步提高识别准确率,降低误诊率。同时,研究采用的数据集中异常心拍样本量较小,需要采集更多的异常心拍信号,并在更大的数据集上进行研究。

5 结论

本文针对心律失常分类算法进行深入研究,构建了残差网络与注意力机制结合的算法,实现了在基于病人内的分类方式和基于患者特异性的分类方式下对心律失常的分类。算法在MIT-BIH心律失常数据库病人内分类方式中达到了了99.42%的正确率,平均特异度达到了99.69%,并且对少数类的敏感性有所提升。同时,在基于患者特异性的分类方式中,算法达到了98.24%的准确率,平均敏感性达到了90.03%,平均特异度达到了97.95%.实验结果充分说明了残差网络与注意力机制相结合后可以有效地提高敏感性,降低漏诊率,并且有着较好的鲁棒性。

猜你喜欢
残差敏感性注意力
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
钇对Mg-Zn-Y-Zr合金热裂敏感性影响
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
AH70DB钢焊接热影响区组织及其冷裂敏感性
综合电离层残差和超宽巷探测和修复北斗周跳
如何培养和提高新闻敏感性