Attention-Based Convolutional Neural Network for Imbalanced Multi-Label Electrocardiogram
Cardiovascular disease is one of the leading causes of death worldwide. Early detection of risk factors for heart disease is essential to prevent sudden death. The automatic detection of arrhythmia based on electrocardiogram is an important means of heart disease screening, which is crucial to reduce the mortality of heart disease. In clinical settings, patients may exhibit multiple abnormal categories rather than just one. Therefore, it becomes necessary to address the issue of multiple labels in electrocardiogram data and consider the relationships between these labels. We propose a multi-label classification model composed of convolutional neural networks, Transformers and attention mechanisms. The convolutional neural network is used to extract local features, Transformer is used to extract global features, and an asymmetric loss function is used to balance positive and negative labels. Experimental results on two electrocardiogram dataset show that the proposed model has better performance than the existing electrocardiogram classification methods.
Electrocardiogram Classification
心血管疾病是全球人口死亡的首要原因,占据了总死亡人数的31%以上
诊断心律失常通常需要经过训练有素且具备临床经验的心脏病专家进行诊断,但自动监测心律失常和诊断系统在诊所、社区医疗中心和家庭健康护理计划中的需求不断增加。心电图包含了大量有价值的信息,能够直接反映心脏的生理状态,包括心脏电信号和结构变化的形态和时间特征
基于多个公开的心电数据,学者提出了许多基于机器学习的心律失常自动检测方法。例如,Beyli等人提出了一种利用支持向量机进行ECG检测的方法
不同于传统的机器学习方法,近年来学者提出了许多使用深度学习模型进行心律失常自动识别的网络模型。Ge等人提出了一种算法,将残差卷积模块和挤压激励块结合起来,从原始心电图信号中提取特征
尽管这些模型采用了不同的方法,并取得了有效的成果,但如何实现基于心电图的高精度心律失常识别仍是待解难题,特别是目前大部分研究都将心电图分类任务视为单标签分类任务,即一条心电图数据对应一种心电异常类型。而实际临床上,一个患者通常同时包含多种异常类型,即多个标签,例如在CPSC 2018心电数据集中
为提高模型的分类性能,本文提出的模型利用标签之间的相关性更好地捕捉心电图不同心律失常之间的信息。此外,不同通道的特征在分类上具有不同水平的重要性,为了解决这个问题,我们在网络中使用通道注意力机制模块,自适应地调整不同通道特征的权重,以提高分类性能。本论文提出了一个基于Transformer和卷积神经网络的多标签分类模型(Multi-Label Classification Model based on Transformer and Convolutional Neural Networks, MLCT-CNN),总结起来,本研究有以下几点主要贡献。
1) 本论文提出的深度学习模型结合了卷积神经网络、注意力机制和非对称损失函数等模块,通过卷积模型提取心电图局部特征,通过注意力集中提取有区别性特征,非对称损失函数有效处理数据不均衡问题。
2) 本研究使用卷积神经网络从心电数据中学习标签嵌入的特征,使用Transfromer的解码器结构分析标签嵌入之间的相关性,从而有效提高多标签心电图分类性能。
3) 在两个公开数据集上进行实验,实验结果表明,本文所提出的模型在心律失常分类方面优于现有的分类方法。
在本文中,多标签心律失常检测任务是对ECG序列中的不同心律失常进行诊断。本论文所提出的模型采用12导联心电图记录作为输入,并输出一个或多个标签,即相应的ECG心律失常类型。训练集可表示为 ,其中X是一个输入信号,即长度为L的12导联ECG记录,Y是数据集的真实标签的集合。在我们的模型中,令 ,其中 。这里, 对应于一个心律失常的真实标签。如果ECG记录 含有第g类异常标签,则 等于1,否则, 等于0,如下表达式所示:
(1)
多标签深度学习模型的主要任务是从模型S中获得一个多标签分类函数 ,该函数可以将每个输入信号映射到一组向量P。使用X作为输入,我们的模型预测一条心电记录对应的每个类别的概率为 ,其中 是模型预测的第g个类别的概率,G是ECG数据集类别的数量。在训练期间,模型的目标是最小化预测概率P相对于其真实标签Y的损失,让模型预测的概率无限接近其真实标签。
本文所提出的模型MLCT-CNN如
受到残差网络
模型使用了多个不同的注意机制模块:通道注意机制、空间注意机制和Transformer的解码器模块。
(2)
(3)
其中, 表示对应元素相乘, 表示通道注意力模块(Channel Attention Module)产生的系数,而 表示空间注意力产生模块(Spatial Attention Module)的系数。
如
(4)
其中, 表示激活函数, , 。
如
(5)
其中, 表示激活函数, 表示卷积核大小为 的卷积操作。通道注意力机制聚焦于对ECG分类更为关键的特征通道,而空间注意力主要聚焦于特征的空间特征。两种不同的注意力机制对ECG均有帮助,同时使用两种模型更能提高模型的分类结果,通道注意力机制以及空间注意力机制不改变特征的形状。在通道空间注意力之后是一个线性投影层(Linear Projection Layer)。该层将特征投影到与下一阶段中解码器模块所需的查询维度匹配,将投影后的特征重新调整。
经过通道空间注意力得到标签嵌入特征,包含标签的相关信息。为自动提取全局特征并分析标签嵌入之间的关系,引入了解码器分类块
在Transformer解码器中,使用标签嵌入特征作为查询 ,第i层Transformer解码器根据其前一层的输出更新查询(query)。解码器分类块包含自注意力层(self-attention layer)、交叉注意力层(cross-attention layer)和前馈神经网络层(Feed-Forward Networks layer, FFN),具体如下:
(6)
(7)
(8)
其中,自注意力和交叉注意力模块都使用相同的多头注意力函数MultiHead实现,多头注意力函数的计算如式(9),将h个基础注意力机制模块的输出进行拼接得到多头注意力机制的输出。
(9)
(10)
式中, , , , ,h表示多头注意力机制中基础注意力机制模块的个数。注意力机制模块首先将输入的 与 的转置进行相乘,之后用 以及softmax操作进行归一化得到权重,乘以 ,得到单个注意力机制的输出,如式(6)。在自注意力模块中,query、key和value都来自标签嵌入 ,而在交叉注意力模块中,key和value来自卷积网络的空间特征 。自注意力模块可以通过计算标签嵌入特征之间的相似度分析标签嵌入特征之间的依赖关系,而交叉注意力机制通过计算先后生成的标签嵌入之间的相似度计算其相关性。
在D层Transformer解码器层之后是GroupWiseLinear层,得到模型的预测结果 ,表示模型预测到的 个心律失常类别的概率。
(11)
其中 和 是模型的参数。
在心电数据集中,一条记录包含少量的正标签和大量的负标签,导致了样本之间的不均衡,为了更有效地解决这个问题,本论文采用了简化的非对称损失函数(Asymmetric loss, ASL)
(12)
其中, 是预测类别的概率, 是一个二进制标签,用于表示心电图记录X的实际标签中是否含有标签g。 和 分别为负聚焦和正聚焦的参数,通过对这两个参数的设置,可以更好地控制正样本和负样本对损失函数的贡献,并帮助模型从正样本中学习有意义的特征。
本文所提出的模型在一台配备GeForce GTX GPU、8GB内存的服务器上进行训练和测试,该模型使用PyTorch1.7.0和CUDA 10.1框架进行实现。
CPSC 2018心电数据集
实验的另一个数据集是PTB-XL心电图数据库
CPSC 2018心电数据集包含了6秒到60秒不等的心电图记录,卷积神经网络无法处理不同长度的输入,因此需要调整原始数据的大小,本文对降采样后的心电信号进行裁剪或填充,使它们的长度相同。将CPSC 2018心电数据集分成训练集和测试集,比例为8:2,测试集和训练集数据不重合。而针对PTB-XL心电数据集,本文使用推荐的训练集和测试集进行实验,其中,训练集数据19,267例,测试集数据2163例,推荐的测试集数据标签质量高,数据分布与训练集数据相似。
通过对超参数的精细调整,最终选择了32作为批处理大小。使用Adam优化器
图7. PTB-XL心电数据集子类(a)及超类(b)诊断陈述概述
在这项研究中,我们使用了典型的分类指标来验证模型的分类性能,包括准确率、精确度、召回率以及F1分数,分类指标都包含各个类别和整体的分类情况。
准确率是正确预测数量与总预测数量的比率,准确率代表了该算法检测出真实样本占所有样本的比率,表示模型的正确预测,准确率越高,则该算法检测出样本真实情况的能力越强。可以使用以下公式来计算这个指标:
(13)
(14)
精确率是正确的正类别预测数量与所有正类别预测数量的比率:
(15)
(16)
召回率衡量的是被正确分类为正类的样本数量与总正类样本数量的比例。这个指标可以通过以下公式来计算,它可以反映模型在将正类样本分类的能力:
(17)
(18)
F1值是精确率和召回率的加权平均值:
(19)
(20)
其中,G是数据集分类的数量,g表示不同类别,TP (True Positive)表示真实值和预测值都是正样本,即真阳性;TN (True Negative)表示真实值和预测值都是负样本,即真阴性;FP (False Positive)表示真实值为负样本,预测值为正样本,即假阳性;FN (False Negative)表示真实值为正样本,预测值为负样本,即假阴性。
针对CPSC 2018心电数据集,一共有9个标签,1个标签为正常,其余8个标签为心律失常类型,心律失常可分为四个大类:房颤(AF)、传导阻滞(Block)、早搏(PC)以及ST段改变,分类指标的计算分别如式(21)、(22)、(23)以及(24)。
(21)
(22)
(23)
(24)
其中,
是AF的F1值;
是阻滞大类的F1值,包括I-AVB、LBBB和RBBB三种类型的心律失常;
为早搏大类的F1值,其中早搏包含PAC和PVC;
是ST段变化的F1值,其中包括STD和STE。变量数
的计数规则见
本模型的分类结果与CPSC 2018比赛排名前10的结果进行了比较,比较结果如
预测 |
|||||||||||
Normal |
AF |
I-AVB |
LBBB |
RBBB |
PAC |
PVC |
STD |
STE |
Total |
||
标签 |
Normal |
N11 |
N12 |
N13 |
N14 |
N15 |
N16 |
N17 |
N18 |
N19 |
N1x |
AF |
N21 |
N22 |
N23 |
N24 |
N25 |
N26 |
N27 |
N28 |
N29 |
N2x |
|
I-AVB |
N31 |
N32 |
N33 |
N34 |
N35 |
N36 |
N37 |
N38 |
N39 |
N3x |
|
LBBB |
N41 |
N42 |
N43 |
N44 |
N45 |
N46 |
N47 |
N48 |
N49 |
N4x |
|
RBBB |
N51 |
N52 |
N53 |
N54 |
N55 |
N56 |
N57 |
N58 |
N59 |
N5x |
|
PAC |
N61 |
N62 |
N63 |
N64 |
N65 |
N66 |
N67 |
N68 |
N69 |
N6x |
|
PVC |
N71 |
N72 |
N73 |
N74 |
N75 |
N76 |
N77 |
N78 |
N79 |
N7x |
|
STD |
N81 |
N82 |
N83 |
N84 |
N85 |
N86 |
N87 |
N88 |
N89 |
N8x |
|
STE |
N91 |
N92 |
N93 |
N94 |
N95 |
N96 |
N97 |
N98 |
N99 |
N9x |
|
Total |
Nx1 |
Nx2 |
Nx3 |
Nx4 |
Nx5 |
Nx6 |
Nx7 |
Nx8 |
Nx9 |
F_af |
F_block |
F_pc |
F_st |
F1 |
||
Rank1 |
Chen |
0.933 |
0.899 |
0.847 |
0.779 |
0.837 |
Rank2 |
Cai |
0.931 |
0.912 |
0.817 |
0.761 |
0.830 |
Rank3 |
He |
0.914 |
0.879 |
0.801 |
0.742 |
0.806 |
Rank4 |
Yu |
0.918 |
0.890 |
0.789 |
0.718 |
0.802 |
Rank5 |
Yan |
0.924 |
0.882 |
0.779 |
0.709 |
0.791 |
Rank6 |
Wang |
0.905 |
0.902 |
0.722 |
0.708 |
0.783 |
Rank7 |
Lin |
0.911 |
0.891 |
0.775 |
0.670 |
0.782 |
Rank8 |
Shen |
0.921 |
0.858 |
0.797 |
0.676 |
0.778 |
Rank9 |
Mao |
0.906 |
0.876 |
0.773 |
0.711 |
0.776 |
Rank10 |
Zhang |
0.894 |
0.857 |
0.733 |
0.683 |
0.766 |
本论文 |
0.907 |
0.925 |
0.801 |
0.712 |
0.835 |
本节还在CPSC 2018心电数据集上对本文提出的网络和一些现有的分类网络进行了比较分析,
模型 |
Normal |
AF |
I-AVB |
LBBB |
RBBB |
PAC |
PVC |
STD |
STE |
F1 |
TI-CNN
|
0.750 |
0.900 |
0.920 |
0.760 |
0.640 |
0.830 |
0.870 |
0.810 |
0.460 |
0.772 |
He et al.
|
0.755 |
0.846 |
0.780 |
0.790 |
0.748 |
0.829 |
0.869 |
0.870 |
0.655 |
0.806 |
ATI-CNN
|
0.789 |
0.920 |
0.933 |
0.789 |
0.736 |
0.861 |
0.872 |
0.850 |
0.556 |
0.812 |
Zhang et al.
|
0.805 |
0.919 |
0.864 |
0.866 |
0.926 |
0.735 |
0.851 |
0.814 |
0.535 |
0.813 |
Jyotishi et al.
|
0.790 |
0.923 |
0.867 |
0.892 |
0.937 |
0.757 |
0.837 |
0.798 |
0.558 |
0.818 |
Geng et al.
|
0.824 |
0.925 |
0.882 |
0.937 |
0.939 |
0.734 |
0.767 |
0.835 |
0.600 |
0.827 |
MLC-CNN
|
0.792 |
0.936 |
0.889 |
0.779 |
0.744 |
0.866 |
0.876 |
0.876 |
0.683 |
0.827 |
Ge et al.
|
0.790 |
0.920 |
0.870 |
0.870 |
0.930 |
0.780 |
0.860 |
0.810 |
0.590 |
0.828 |
本论文提出的模型 |
0.808 |
0.907 |
0.892 |
0.937 |
0.945 |
0.754 |
0.848 |
0.805 |
0.619 |
0.835 |
本章比较了我们提出的模型与近几年学者提出的方法在PTB-XL数据集上不同分类层次的分类性能,如
模型 |
分类级别 |
Accuracy |
Precision |
Recall |
F1 |
Smigiel et al.
|
sub diagnosis |
0.698 |
0.355 |
0.339 |
0.332 |
Smigiel et al.
|
0.685 |
- |
- |
0.345 |
|
Palczynski et al.
|
0.671 |
- |
- |
0.324 |
|
Jyotishi et al.
|
0.541 |
- |
- |
0.460 |
|
本论文 |
0.967 |
0.544 |
0.464 |
0.473 |
|
Smigiel et al.
|
super diagnosis |
0.765 |
0.714 |
0.662 |
0.680 |
Smigiel et al.
|
0.763 |
- |
- |
0.683 |
|
Palczynski et al.
|
0.790 |
- |
- |
0.717 |
|
Jyotishi et al.
|
0.627 |
- |
- |
0.736 |
|
本论文 |
0.898 |
0.833 |
0.722 |
0.762 |
a) 关于非对称损失函数参数的选择,本文在两个不同的心电数据集上进行了详尽的实验。在SPSC 2018心电数据集上,选取两个固定的
值,即2和4,实验结果如
此外,在PTB-XL心电数据集上,本文对非对称损失的参数
和
进行了对比实验,结果如
图8. 不同的正向聚焦因子( )值在(a) CPSC2018和(b) PTB-XL心电数据集上的F1对比,其中 和
b) 为了验证CBAM和解码器模块的有效性,进行了一系列消融实验,将我们的网络分别与没有CBAM和MLCB的两种网络变体进行比较。该模型由三个部分组成:主干网络、CBAM和解码器模块。用于比较的三个模型的结构如下:
模型1:该模型仅使用卷积神经网络作为主干网络进行特征提取,设计这个模型是为了验证CBAM和解码器模块的作用。
模型2:该模型不包含解码器模块,设计这个模型是为了验证CBAM的效果。
模型3:该模型不包含CBAM。这个模型是为了验证解码器模块的效果。
模型 |
Normal |
AF |
I-AVB |
LBBB |
RBBB |
PAC |
PVC |
STD |
STE |
F1 |
模型1 |
0.586 |
0.721 |
0.509 |
0.843 |
0.865 |
0.225 |
0.729 |
0.584 |
0.321 |
0.598 |
模型2 |
0.705 |
0.884 |
0.826 |
0.889 |
0.925 |
0.354 |
0.759 |
0.723 |
0.526 |
0.785 |
模型3 |
0.799 |
0.894 |
0.886 |
0.902 |
0.941 |
0.712 |
0.831 |
0.804 |
0.628 |
0.822 |
本论文提出的模型 |
0.808 |
0.907 |
0.892 |
0.937 |
0.945 |
0.754 |
0.848 |
0.805 |
0.619 |
0.835 |
在本节中,我们对比了不同注意力机制模块的作用。除了CBAM模块
注意力机制 |
Normal |
AF |
I-AVB |
LBBB |
RBBB |
PAC |
PVC |
STD |
STE |
F1 |
None |
0.799 |
0.894 |
0.886 |
0.902 |
0.941 |
0.712 |
0.831 |
0.804 |
0.628 |
0.822 |
CA |
0.788 |
0.887 |
0.892 |
0.902 |
0.935 |
0.707 |
0.850 |
0.785 |
0.585 |
0.815 |
SE |
0.789 |
0.903 |
0.898 |
0.868 |
0.940 |
0.691 |
0.852 |
0.794 |
0.621 |
0.817 |
SCSE |
0.790 |
0.904 |
0.886 |
0.902 |
0.934 |
0.724 |
0.832 |
0.820 |
0.575 |
0.819 |
本论文提出的模型 |
0.808 |
0.907 |
0.892 |
0.937 |
0.945 |
0.754 |
0.848 |
0.805 |
0.619 |
0.835 |
本文提出了一个能够自动检测心律失常类别且无需预处理的模型,通过以上的实验结果显示,我们的方法在心电图记录分类任务中分类结果良好,在CPSC 2018心电数据集中测试集的平均F1值达到0.835,在PTB-XL心电数据集中,超类诊断(super diagnosis)的F1值为0.762,子类诊断(sub diagnosis)的F1值为0.473,均超过了一些现有模型的分类效果,证明本文提出的模型在多标签心电图分类检测的有效性。通过消融实验表明,本文提出的分类网络中的每个模块都是必不可少的,并且都能一定程度上增强模型的分类效果。在提出的网络中,CBAM比近几年提出的其他注意力机制模块更有效,分类效果更优,并且CBAM模块和解码器多标签分类模块都提高了模型的分类效果,两个模块的组合分类性能更好。
正如
本文研究了一种深度神经网络架构MLCT-CNN,该模型融合了卷积神经网络、Transformer、通道注意力机制以及空间注意力机制等先进技术,旨在提升多标签心律失常分类的准确性与效率。本文并未采用原始的Transformer结构,而是针对性地选取了Transformer的解码器块,专注于分析标签嵌入特征间的相关性,进而优化心电图的多标签分类效果。
在对比实验中,本文提出的MLCT-CNN模型在两个公开的心电数据集上均展现出了优越的性能,特别是在LBBB和RBBB两类心律失常的诊断上表现突出。具体而言,在CPSC 201812导联心电数据集上,MLCT-CNN模型取得了0.835的F1值,充分证明了其在多标签分类任务中的有效性。此外,在PTB-XL数据集上,无论是子类诊断还是超类诊断,MLCT-CNN均展现出了较高的性能,其子类诊断F1值为0.473,超类诊断F1值为0.762,均超过了近年来现有的分类方法,进一步验证了MLCT-CNN在多标签心律失常分类中的优越性。
通过对两个心电数据集上的实验结果进行综合分析,可以得出结论:本文提出的MLCT-CNN模型在F1分数上显著优于其他分类模型,显示出卓越的分类性能。这一结果不仅有效验证了MLCT-CNN对于多标签心律失常分类的有效性,同时也为未来的心电图分类研究提供了新的思路和方法。