罗望成,杨 湘,陈艳红
(1.武汉科技大学 计算机科学与技术学院,湖北 武汉 430065;2.武汉亚洲心脏病医院,湖北 武汉 430022)
心血管疾病(Cardiovascular Disease,CVD)是威胁人类生命的重要疾病之一,其患病率和致死率逐年上升,在全球的死亡率居首位[1]。大部分的心血管疾病的发生都伴随着心律失常,心律失常是心血管疾病中常见的临床表现形式[2],也是诱发心脏病和心脏性猝死的一个重要原因。所以准确快速地检测出病人的心律失常,对于预防和诊断心脏病有着极其重要的研究意义。心电图(Electrocardiogram,ECG)作为一种容易获得且非侵入性的诊断工具,是诊断心律失常疾病的重要手段和主要依据。传统的心律失常诊断通常是依靠医生以数字图像形式观察病人的心电图,目测分析心电图的波形特征来诊断和区分不同类型的心律失常。然而,通过视觉评估来检测和诊断心律失常容易出错,而且人工长时间观测图形而超负荷的工作进一步加剧了对突发心律失常的疏忽[3]。所以,心律失常的自动检测和识别具有重大的研究价值,它可以帮助医生更早发现心律失常事件。
在过去几十年中,对心电信号的心律失常自动分类得到了广泛的研究,提出了各种机器学习技术来进行分类。然而,其中大部分工作遵循医疗仪器促进协会(AAMI)标准[4],将心拍分为五种宏观类别,即正常搏动(N)、室上异位搏动(S)、室性异位搏动(V)、融合搏动(F)和未知搏动(Q),如表1所示,很少有人致力于对心电信号的微观分类。由于不同类型的心律失常在临床上有不同的产生机制与含义,需要对应不同的治疗方案。因此,相对于宏观分类而言,微观分类更具有实际临床意义,所以该文致力于五种微观类型的研究。
表1 AAMI标准分类描述
在实际临床环境中,除了准确的分类外,结果的可解释性也同样重要,心脏病专家除了提供诊断结果之外,还要有详细的解释来支持自己的诊断[4]。因此,可解释性对于临床医生接受机器建议和实施干预至关重要。在临床诊断中,医生主要关注QRS等波形特征以及RR间期是否出现异常。例如室性早搏会表现出QRS波群宽大,RR间期出现异常。也就是说,特定位置的异常特征会对心律失常分类有更强的影响,应该分配更高的权重。然后,现有模型平等对待不同位置的特征,这可能会遗漏重要信息,从而限制心律失常的分类性能。
该文的主要贡献可归纳如下:
(1)提出一种可解释的基于注意力的混合CNN-LSTM模型IAHM(Interpretable Attention-based Hybrid CNN-LSTM Model)解决心律失常分类问题,提升分类性能;
(2)通过设计两层注意力,不仅能强调心拍级别的关键波形特征,还能定位心律级别的异常RR间期特征;
(3)结合实际医学知识和医生诊断习惯,定位心电图中与临床知识相一致的不同层次特征,突出结果的可解释性。
传统ECG心律失常自动分类需要经过四个步骤:信号去噪、信号分割、人工特征提取和分类[5]。特征提取是心律失常分类最重要的一步,文献中常用的特征提取方案分成两类:传统手工提取特征和使用深度学习方法自动提取特征。
到目前为止,已有模型通过使用小波变换(WT)[6]提取频率模式[7]、主成分分析(PCA)[8]捕捉心电图中细微的形态变化、独立成分分析(ICA)[9]等方法进行特征选择,支持向量机(SVM)[10]作为分类器,对心律失常的自动分类进行了大量的研究。然而,传统的手工提取特征有许多限制,包括手工设计特征提取器需要有专业知识支撑、心电信号不可避免会引入噪声等,这些都将限制它们在计算机辅助诊断系统(Computer-Aided Diagnosis Systems,CADS)中的实际应用。
近年来,深度学习模型在心电图辅助诊断方面取得初步成功,很多特征提取处理任务都可以通过卷积计算来完成。该方法优于形态学方法,不需要通过专家进行显示特征提取步骤,对分类中的信号质量要求较低[11]。Acharya等人[12]构建了一个9层的1D-CNN模型,自动识别出心电信号中5种宏观类别的心跳。然而,这种方式通常会忽略心拍间的上下文关系。此后,Shu等人[13]结合CNN和LSTM来进行心电图心律失常分类,但该模型仅使用同类型不间断的心拍段作为训练数据集,未考虑阵发性的心律失常类型,即同时包含异常和正常心拍的心律段。
随着注意力机制在自然语言处理、图像识别及语音识别等各种类型的机器学习任务中的优秀表现,心律失常分类领域也引入了注意力。Schwab等人[14]使用注意机制来提取可解释的心律特征。Y. An等人[15]在电子病历(Electronic Health Record,EHR)在心血管疾病预测方向加入注意力,集成时间有序、高维、异构的EHR数据,取得良好的效果。
基于以上考虑,该文结合引入注意力机制的CNN和LSTM来解决心律失常分类问题,提出了一种新的可解释的心律失常分类模型IAHM。在提升分类准确率的同时,整合医学知识和医生诊断习惯,强调结果的可解释性。
本节将描述IAHM模型的体系结构,并且逐层介绍架构中的神经网络模块。图1展示了IAHM模型结构,模型总共有13层,包括6个卷积层、3个最大池化层、1个Bi-LSTM层、2个注意力层和1个全连接层。
图1 IAHM模型的架构方块图
该文采用一维卷积神经网络,相对二维卷积神经网络,可以对数据量有限的一维心电信号进行有效训练,并且计算复杂度更低。CNN模块由若干卷积层和最大池化层组成,输入250×1心拍片段经过CNN之后输出30×256的特征向量,其中30为卷积之后得到的特征数,256为通道数。池化层使用最大池化运算,将最具代表性最大特征代替卷积层的输出特征,通过降低卷积层输出数据的维数并降低了网络复杂度。每个CNN层后面使用线性修正单元(Rectified Linear Unit,ReLU)作为激活函数,并在每个卷积层之后增加批量归一化层(Batch Normalization,BN),用以批处理规范化层的激活输出。
长期短期记忆(LSTM)网络能够学习序列数据之间的长期相互关系。而双向LSTM(Bi-LSTM),由前向和后向神经网络组成,可以同时利用当前状态的过去和未来信息。CNN部分提取数据的空间特征,Bi-LSTM学习数据的时间特征,二者结合能充分利用信号信息,提升分类效果。
注意力机制模拟人脑注意力的特点,核心思想是把更多的注意力放在它认为重要的部分,而把较少的注意力放在其他部分。原理是注意力层基于不同的目标类别为不同的特征向量生成权重,并以它们的加权形式组合特征向量。首先,它可以帮助模型关注信号中的重要信息部分,从而提高检测性能。其次,它有助于突出需要进一步研究的异常信号模式的位置,并增加该模型的可解释性。具体以心拍级别的注意力为例,对于输入信号s经过CNN模块后的输出特征:H=Conv(s),H∈RN*K,N为特征提取后的输出长度即特征数,K为卷积核个数也就是输出的通道数。H可以表示为一个矩阵,行代表特征,列代表通道,即第i行对应第i个特征,另一方面,卷积和池化操作不会改变特征图的空间关系。因此,特征图的行顺序可以表示心电图中特征的相对位置。利用注意力机制可以计算获得一个加权注意力特征,根据权重模拟特征对应位置的重要性影响,计算方法如下:
(1)
其中,hi是卷积层输出特征H的第i行(列对应通道输出),H={h1,…,hn},ai代表单个特征向量的权重,通过公式(2)计算得出。
(2)
在公式(2)中,va∈RL*1和Wa∈RL*K是需要模型学习的参数,对每个单独特征向量hi应用两个完全连接层(矩阵运算)以及一个tanh函数,最后输出N个序列,其中每个序列中每个元素都是单个实值。将Softmax应用于N个序列中的每一个元素,使得每个序列中元素值的总和为1,得到权重向量a={a1,…,an},向量a中每个元素可以看成CNN中对应特征在模型预测任务中的影响力或者说是权重。对于每个分类类别,会为输入向量计算出唯一的一组加权平均值,然后用于计算输入信号属于该类别的概率。
在CNN模块,平等对待不同位置的特征,无法突出关键特征所包含的重要信息,在CNN模块末尾添加注意力层,能有效强调重视的形态特征。
在Bi-LSTM模块,通常是将时间序列的最后一个输出向量作为下一层的特征向量,然而这种方式只使用到最后一步的特征,丢弃了其他特征信息。因此该模型添加一层注意力到Bi-LSTM模块后面,注意力机制首先计算每个时间序列特征的权重,然后对所有时间序列进行加权,最后将加权平均向量作为新的特征向量输入到Softmax函数进行分类。
将一维心电信号进行分段预处理,得到长度为8×250的心律片段。首先在心拍级别上使用250×1的特征向量作为CNN模块的输入,将输出的30×256特征向量经过心拍级别的注意力层加权处理。然后将得到的1×256向量合并为8×1×256输入到Bi-LSTM中提取特征,而后经过心律级别的注意力层加权处理,最后使用全连接层扩展所有特征的连接,Softmax层进行逻辑回归分类,实现基于心电信号的心律失常自动分类。表2总结了提出的IAHM模型架构各项参数。
表2 提出的IAHM模型架构
该研究中,使用的数据集来自MIT-BIH心律失常数据库,该数据库已被准确而全面的注释,在目前的ECG研究中得到了广泛应用[16]。它包括来自47位患者的48个0.5小时长的心电图信号记录。每个信号记录以360赫兹采样率进行数字化,在R峰处呈现一组心拍标记。
第一步是去噪,临床环境中采集的心电信号通常混合有不同的干扰,如工频干扰、基线漂移和肌电信号干扰[17]。原始数据需要去噪,以使分类更加准确。该文采用0.5 Hz~50 Hz[18]的带通滤波器对心电信号进行去噪,只允许附带信息的信号频段通过,过滤掉噪声和干扰。由于CNN具有从信号内部自动提取特征的特点,该文仅对信号进行简单的滤波,可以增强网络的泛化能力,减少信号失真。图2显示了滤波前后的心电信号。
图2 滤波前后的ECG信号
第二步是信号分段,将ECG记录划分成2 000个样本点组成的心律段,之后再将心律段按照8×250划分到心拍级别。
第三步是样本选择,每段心律大致包含6或7个心拍标签,将片段中所包含的异常类型作为整个片段的类型,全部都是正常心拍则标记为正常。一个心律片段每包含一个异常心拍,就将片段复制一份,同时此异常心拍类型作为整段心律的类型。过滤掉只包含目标类型之外的异常心律,之后总共得到32 395个心律片段。包括正常窦性心律(NOR)7 385个、左束支传导阻滞(LBBB)8 075个、右束支传导阻滞(RBBB)7 259个、房性早搏(APB)2 546个、室性早搏(PVC)7 130个。
该模型的工作环境由Intel(R) Core (TM) i5-7500 CPU、NVIDIA Geforce GTX 1060 gpu组成,RAM为16 GB。模型在带有CUDA库的Pytorch1.8平台上运行。实验数据按照8∶1∶1划分用于训练集、验证集、测试集,采用Adam[19]优化器函数,初始学习率为0.003,总共训练50轮,在每轮中,数据集使用的批处理大小为64,单个片段输入尺寸为8×250。
为了更准确地评估和比较每种模型的分类性能,该文使用了准确率(Acc)、灵敏度(Sen)、特异性(Spe)和阳性预测值(Ppv)。其中,准确率代表了被正确识别的心拍比例,是对整个系统性能的度量;灵敏度代表识别目标心律失常的能力;特异性代表识别非目标心律失常的能力;阳性预测表示所有心律失常预测中实际正确的比例。对应的定义如下:
(3)
(4)
(5)
(6)
其中,TP、TN、FP和FN分别为真阳性、真阴性、假阳性和假阴性。TP表示预测是目标心拍且正确的数量;TN表示预测是非目标心拍且正确的数量;FP表示预测是目标心拍且错误的数量;而FN表示预测是非目标心拍且错误的数量。
通过对统计变量的测试,进一步对实验结果进行说明,同时验证模型的泛化性。
CNN模型:仅使用卷积神经网络进行分类训练。
LSTM模型:仅使用长短期记忆神经网络对心电数据进行分类训练。
CNN+LSTM模型:首先使用CNN提取心拍形态特征,然后通过LSTM学习心拍间的时间特征。
CNN+LSTM+ATT模型:基于上一个模型,分别在CNN和LSTM后面增加了心拍级注意力和心律级注意力,其他参数保持不变。
为了说明实验当中引入LSTM和注意力机制对于分类结果的影响,使用对比实验的方式将四种模型的分类结果进行对比,用以说明模型的优势,具体如表3所示。
表3 IAHM注意力层对分类效果的影响
表4横向对比现有研究的性能,这些研究中使用的数据集并不相同,但是由于分类都是在相同的MIT-BIH数据库中,比较具有一定参考性。可以看出,与其他相关研究相比,该文提出的模型具有较高的性能。
Martis等人[7]通过非线性动态高阶统计量HOS技术来捕捉心电信号中的细微变化,结合PCA,检测五种微观类型的心拍(NOR,LBBB,RBBB,APB,PVC),平均Sen和Ppv高于IAHM模型,但是Acc比较差。因为在他们的实验中,每个类别都提取了丰富的特征,这些特征使得心拍更容易被预测为目标类别。Acharya等人[12]构建了一个9层的一维CNN模型,遵循AAMI标准,从这篇文献可以看出对5种宏观类别进行分类,实际上只是在对两种异常心拍(VEB和SVEB)进行检测,临床意义不大。Shu等人[13]使用变长信号段,将输入样本填充至1 000×1大小,将心电信号划分为5种微观类别。Pawiak等人[20]使用了一个深度遗传分类器集合对长时程ECG信号进行分类,MIT-BIH数据库中17种心律失常分类的准确率达到94.6%。Atal等人(2020)[21]提出了一种基于优化的深度卷积神经网络,在5个宏观类别上实现了93.19%的准确率。
IAHM模型结合注意力机制和混合CNN-LSTM,使用一维心电信号作为输入,模型的准确率为94.65%,特异性为98.69%,灵敏度为92.69%,阳性预测值为92.60%。从表4可以看出,IAHM模型除了准确率之外,其他指标也比较有竞争力。加之它的可解释性,所提出的模型可以更好地应用于临床,以帮助临床医生客观有据地诊断心电心跳信号,也可用于新的智能检测设备。
表4 与其他文献的性能对比 %
图3给出了模型在测试集中分类结果的混淆矩阵。其中,行标签表示实际类别,列标签表示预测类别。每个网格中的数字表示,当实际类别为相应行标签时被预测列标签的心拍数量。颜色代表上述心拍数量占所有心拍的比率。
图3 IAHM模型的混淆矩阵
可以看到,模型将右束支传导阻滞RBBB误判成房性早搏APB的数量最多,其次是将APB误判成正常类型的数量。第一个问题的原因是232号病人同时患有RBBB和APB两种心律失常,总共1 779个心拍,这里列举前20个心拍类型:[2 3 3 2 3 3 2 3 2 3 2 3 2 3 3 2 3 3 3 3]。可以看出按照2 000个样本点切分一段心律之后,心律的类型将难以定义和预测,所以这两类在该模型中难以区分。第二个问题可能的原因是APB与正常心拍最为相似,所以两者都很容易被划分为对方。由于数据库的限制,对IAHM模型的分类性能造成一定的限制。
在临床诊断过程中,临床医生通常要综合分析由多个连续心拍组成的心律片段,才对病人做出诊断,其中主要将QRS的波形以及不规则的RR间期作为诊断依据。IAHM模型通过心拍、心律两层级别的注意力自动学习这些模式,心拍级别的关注点在于QRS复波,心律级别的注意力标识出异常心拍或异常RR间期的位置,这与临床诊断依据正好匹配。IAHM模型之所以能够实现这一功能,要归功于注意力机制,它模仿人脑处理信息的特性,选择性地关注信息的重要部分,同时相对减少对其他部分的关注。
在图4中,第一个子图展示心律段的波形考,第二个子图心律段对应的心拍级别注意力分布,第三个子图显示心律级别的注意力分布。其中心拍级别的注意力分布到8个心拍段中,每个心拍对应30个特征的权重,基本权重指向QRS复波位置。心律级别的注意力分布在8个特征上,用以强调整段心律中异常心拍或异常RR间期特征的位置。
图4(a)显示了室性早搏(PVC)的ECG波形和注意力分布。这段心律片段包含10个心拍,第二个心拍类型是PVC,其他心拍是正常心拍。心拍级别的注意力重点关注QRS复波部分,而心律级别的注意力则是成功定位到异常心拍所在的分段。
图4 ECG波形和它们对应的两层注意力分布举例
图4(b)所示的左束支传导阻滞(LBBB)类型心律片段,包含8个LBBB类型的心拍,对于这种类型的心律片段,心律级别的注意力对于每个片段的权重基本持平,均属于评判此类别的重要依据。
图4(c)展示右束支传导阻滞(RBBB)类型心律片段,包含RBBB和APB两种类型的心拍,分别为:[2, 3, 3, 2, 3, 3]。从心律级别的注意力分布不难看出,部分权重分配到了APB类型的心拍,这类混合心律片段很容易误判成APB类型。这也解释了图3中RBBB容易被误判成APB类型的原因。
图4(d)是一段房性早搏(APB)类型的心律片段,包含9个心拍,其中1个APB心拍和8个正常心拍:[0, 0, 0, 0, 3, 0, 0, 0, 0]。从波形图可以看出,两种心拍的相似度极高,以至于对混合类型的心律片段来说,相对其他异常类型会更难区分和识别。
心律失常的自动分类有助于临床医生对心血管疾病进行早期诊断和治疗。该文提出了一种新的基于深度学习和注意机制的可解释性心律失常分类模型IAHM,以一维心电信号作为模型的输入数据。将从MIT-BIH心律失常数据库获得的一维信号转换为2 000个样本点的单个心律片段,共获得32 395个心律片段。最后,该模型的平均准确率为94.65%,特异性为98.69%,敏感性为92.69%,阳性预测值为92.60%。心律失常的分类结果表明,结合注意力机制与深度学习进行心律失常分类的模型,可以帮助临床医生更好地诊断心血管疾病,大大减轻临床医生的工作量。