CNN and LSTM techniques with variable length heart beats
期刊: Computers in Biology and Medicine
作者: Shu Lih Oh …
日期: 1 November 2018
原文链接:点击
摘要
心律失常是一种以心律不齐为特征的心脏传导障碍。传导系统异常可在心电图(ECG)信号中体现。但是,由于幅度非常低,因此在视觉上评估ECG信号可能既困难又费时。在临床环境中实施自动化系统可以潜在地帮助加快心律失常的诊断,并提高准确性。本文提出了一种结合卷积神经网络(CNN)和长短期记忆(LSTM)来诊断正常窦性心律,左束支传导阻滞(LBBB),右束支传导阻滞(RBBB),房性早搏(APB)和室性早搏(PVC)。这项工作的新颖之处在于,我们使用了MIT-BIT心律失常生理库数据库中可变长度的ECG段。所提出的系统在处理可变长度数据方面表现出较高的分类性能,使用十折交叉验证策略可实现98.10%的准确性,97.50%的灵敏度和98.70%的特异性。我们提出的模型可以帮助临床医生在常规筛查心电图时准确检测出常见的心律失常。
介绍
根据联合国2017年全球人口报告,年龄在60岁以上的人口为9.62亿。预计到2050年,老年人口将增加一倍,增至近21亿。此外,全球80岁以上的人口预计将增加两倍:2017年至2050年间将从1.37亿增加到4.25亿[1]。随着年龄的增长,生理状态开始下降,心血管系统变弱[2]。结果,老年人更容易感染疾病[3]。老年人的心血管系统会发生多种变化,导致血管失去弹性,左心室肌壁增厚并伴有舒张功能障碍。这些变化是由于心肌细胞的增大和邻近组织的细胞凋亡,然后是心肌上的纤维脂肪斑块的积聚引起的[4]。这些脂肪组织的浸润会破坏心脏传导系统和整体心脏功能,最终导致心律不齐。心律失常最常导致猝死,并常伴有其他高危心脏病[5-10]。左束支传导阻滞(LBBB),右束支传导阻滞(RBBB),房性早搏(APB)和室性早搏(PVC)是老年人中最常见的传导异常和心律不齐类型[2]。
心律失常的筛查需要有经验的心脏病专家仔细研究心电图记录,而且此过程繁琐且耗时。此外,肉眼可能会忽略心电图的微小变化。因此,在过去的几十年中,已经采用了几种计算机辅助诊断(CAD)算法来自动识别心律不齐。
表4所示的许多计算机辅助诊断(CAD)算法都是常规技术,需要信号预处理,波形检测,特征提取以及使用手工特征进行分类[11-22]。在这些系统中,经常通过反复试验或经验来设计和选择硬编码特征。此外,此类系统还倾向于产生更多的假阳性,可能导致误诊和不适当的治疗[23]。因此,在这项工作中采用了深度学习技术来克服传统系统面临的这些挑战,并在不使用任何硬编码特征检测方法的情况下实现更好的检测精度。
最近,许多医疗保健研究人员已采用深度学习算法来解决各种复杂任务,从脑部扫描分割[24]到诊断时提供有用的干预意见[25]。卷积神经网络(CNN)在计算机视觉研究领域取得了巨大成功,目前广泛用于图像处理任务[26-29]。由于其独特的捕获位置和平移不变模式的能力,CNN被应用于生理信号[30-33]进行形态分析。 CNN对噪声相对较不敏感,即使在信号嘈杂的情况下也能够提取有用的信息[34]。此属性建立在分层深度结构内。随着网络中各层的发展,将以更抽象的方式学习和表示特征。 Acharya等人[30]已经研究了使用CNN在ECG信号中是否存在噪声的情况下检测心肌梗塞的效果。这项研究显示了在两组数据上都有期望的结果,在嘈杂的ECG信号情况下,准确性略有下降。
除了CNN,长短期记忆(LSTM)是另一种深度学习算法,广泛用于分析时间序列。它已用于许多应用程序中,例如自然语言处理[35],语音识别[36-39]以及手写识别[28,39,40]。 LSTM单元之间的连接允许信息在相邻时间步长之间循环。这将创建内部反馈状态,从而使网络能够了解时间概念并了解所显示数据中的时间动态。 LSTM单元还具有通过维持内存状态有选择地记住或忘记信息的能力。高度重要的信息将被保留并向后传播,而无关的信息则被遗忘并丢弃。最近,Tan等人[31]在ECG上实施LSTM网络以诊断冠状动脉疾病。该方法包括将5s ECG信号切成短序列并对其进行卷积以减少数据点的数量。之后,将LSTM应用于从卷积序列中提取时间特征。他们的模型获得了99.85%的诊断准确性。
CNN和LSTM在ECG信号上的表现都相对较好。此外,深度学习模型不需要对手工特征进行任何提取,并且相对易于实现,因此我们在这项工作中将这两种算法结合使用来进行诊断心律失常。
数据说明
在这项工作中,使用的数据集和注释是从PhysioNet公共数据库中下载的[41]。从47个受试者中获得了48个ECG记录。每个MIT-BIH记录均以360 Hz进行数字化,并伴有一组在R峰处呈现的拍子标签。标签由多位心脏病专家独立注释,并通过相互协商一致解决诊断中的差异。在这项研究中,我们仅使用了从改良肢体导联II获得的信号。这是双极导线,与标准肢体导线II相似,不同之处在于,它是通过在Holter记录中常用的电极附着在躯干上获得的。
预处理
通过将不间断的心律失常心拍序列分配到相应的心律失常组来完成分割过程,每段仅由一种ECG心拍类型组成,第一个R峰的左侧有99个样本,最后一个已识别的不间断的R峰右侧则有160个样本。表1概述了从MIT-BIH心律失常数据库中获得的ECG片段总数以及相应的样本长度范围。
从表1中可以看出,片段之间的样本长度变化有时非常大。为了规范模型的输入长度并减少不必要的训练时间,将较长的片段从末尾任意截短至每个1000个采样点,不足1000个采样点的样本用零填充,从而使LSTM单元的后续层以更快的速度训练,而不必为较短长度的信号填充零。总共2963个样本片段被截断,13535个样本片段后填充零。
为了进一步加速训练过程,将Z-score归一化应用于输入数据以消除偏移影响并标准化ECG信号幅度[42]。原始数据的值范围会有所不同。归一化技术可通过将原始数据值压缩到较小范围来帮助标准化这些值。这样可以在梯度良好的过程中改善网络中的梯度流,从而有助于加快收敛速度。正常,LBBB,RBBB,APB和PVC信号的典型ECG片段如图1所示。
提出的CNN-LSTM模型
在这项工作中,提出了一种使用心电图信号自动检测五种不同类型的心律不齐的新技术。心律失常是不稳定且不规则的,可能出现一次或多次搏动。因此,所提出的网络应该能够处理这种长度可变的信号。建议的网络是一种混合深度学习模型,将CNN与LSTM结合起来可以满足这一要求。图2说明了建议的体系结构,表2给出了该结构的详细概述。
结构的第1到第6层是与最大池化层相连的卷积层,而第7层是LSTM层。在网络的最后阶段是一系列用于预测输出的全连接层。卷积层很好地提取了空间特征,随后的LSTM层帮助模型捕获了这些特征图中的时间特征[43]。根据最终LSTM单元通过全连接层的输出对ECG样本进行分类。
系统架构
所提出的模型由步幅为1的三个卷积层组成。每个卷积运算都是通过移动卷积核穿过输入向量的一个样本来执行的,在这个过程中,叠加的矩阵相乘并求和。在训练过程中,网络不断调整卷积核k的权重,以获取数据中存在的有意义的空间信息。在此工作中,将执行完全卷积,而不是有效卷积。这是因为较短的段已经被零填充了。此外,为了保持零填充的完整性,在卷积操作期间不添加任何偏差。因此,来自卷积层的零填充序列的输出仍将被视为零。为了将输入表示的大小减小一半,在每个卷积层之后,将具有不重叠跨度步长大小为2的最大池化层应用于特征图。
随后使用LSTM层从这些特征图中提取时间特征。从卷积和池化过程中提取的特征被分解为连续的分量,并送入到重复的LSTM单元进行时间分析,然后仅将LSTM最后一步的输出送入全连接层以进行心律失常预测。
Dropout 正则化
训练期间模型的过度拟合是一个相当大的障碍,尤其是在ECG段数很少的情况下。在这项工作中,在网络的不同层部署和测试了两种Dropout方案,以防止过拟合。在训练阶段随机丢弃一部分网络的想法是为了防止神经元过度适应训练数据。随着神经元的退出,连接权重将被排除在更新之外,这迫使网络从不完善的模式中学习,从而提高了模型的通用性[44]。
训练与评估
这项工作采用了十折交叉验证策略来评估所提出模型的鲁棒性。通过将数据分为十等份,对ECG样本进行分层随机抽样。心电图片段的每折90%用于训练CNN-LSTM网络,而其余10%用于测试我们提出的系统的性能。该过程重复进行10次,每次将使用一组新的训练和测试数据训练一个新初始化的模型。为了监视训练过程并防止模型过度拟合,在每个训练时期结束时使用20%的k倍训练数据来验证性能。每个训练折的数据分布细节如图3所示。
在每一折中,使用Xavier(也称为Glorot)算法重新初始化来自网络的权重[45],然后使用batch size大小为10的反向传播算法对模型进行端到端训练150轮。模型的学习率(n)设置为0.001,并与Adam优化器一起使用以加速网络的学习过程。在更新过程中也会应用加权损失,以解决类不平衡问题。
根据准确度(Acc),灵敏度(Sens),特异性(Spec)和阳性预测值(PPV)评估每一折的性能。
结果
使用Keras [46]和Tensorflow作为后端[47],以python语言开发和评估了深层网络。所使用的工作站包含两个Intel Xeon 2.40 GHz(E5620)处理器和一个24 GB RAM,用于训练网络。每个训练epoch大约需要138.12秒才能完成。总共测试了三种不同的方案。第一种方案是一个训练好的网络,没有任何的dropout,作为参考被引入来检验一个正常的网络和dropout网络之间的效果。另外两个是dropout方案。对于方案A,LSTM层的循环和输入连接的20%被丢弃。在方案B中,将删除20%的LSTM循环连接,然后删除20%的两个全连接层。这些方案中每种方案的训练和验证精度曲线如图4所示。
可以观察到,在训练精度继续提高的同时,随着验证精度开始趋于平稳,没有dropout的方案显然超出了25轮。另一方面,dropout网络的准确性相当稳定。验证和训练曲线都在稳定状态下增加,并最终在150个epochs结束时相遇。
表3总结了这三种方案的总体交叉验证性能。过拟合模型获得的最高准确性,敏感性,特异性和PPV分别为98.42%,98.07%,98.76%和98.76%,方案A是最低的在三个训练方案中。
方案A和方案B的混淆矩阵分别如图5和图6所示。可以观察到,方案B模型通常在预测正常,LBBB,RBBB和APB类方面更好,而方案A则对PVC类的预测更好。两种模型在APB段的分类中均表现不佳。在方案A中,1.8%的样本被错误分类,而在方案B中,1.3%的样本被错误分类。两种模型始终将APB与正常样本混淆,反之亦然。这可能是由于异位P波和正常P波之间的细微形态差异。这样的波的幅度非常小,因此在存在噪声的情况下更加难以检测。
讨论
多年来,已使用MIT-BIH心律失常数据库测试了许多有关ECG的研究。表4总结了关于心律失常自动检测的研究。这些研究中使用的心律失常心拍的分类并不相同。很少有研究使用线性[11,12,20],非线性[13-16,18,19,22]和离散小波变换(DWT)[15]算法进行特征提取和分类。Yeh等人[20]从心电图成分中提取形态特征并将其用于线性判别分类分析。
ECG的检测是通过不同的运算函数(DOM)实现的,其中使用了一系列滤波器和阈值来识别PQRST波。他们的研究使用四种选定的形态学特征设法获得了96.23%的准确度。在另一项研究中[18],使用Hermitian基函数提取出ECG心拍的高阶累积量。该方法显示出可有效抑制类别内形态变化,降低高斯噪声的影响。 Martis等人[17]已对分段的ECG心拍实施了主成分分析(PCA),并仅使用12种PCA衍生成分得到了98%的结果。第二年,Martis等人[16]将PCA应用于高阶统计(HOS)系数,以捕获ECG心拍中的细微形态变化,以检测心律不齐。Li等人[14]也使用了类似的还原技术。在提取多域特征之前减少离散小波变换(DWT)系数。该系统能够通过一系列多重还原技术获得ECG的复杂特征,准确度为97.3%。
所有这些研究证实,心脏传导障碍直接反映了ECG信号的形态变化。因此,显而易见的是,CAD系统的有效使用可以帮助检测ECG信号的细微变化,并提高心律失常的检测准确性。
最近,已经使用了用于心律不齐检测的深度学习技术。许多人已经研究了使用卷积神经网络(CNN)检测心律不齐,并取得了可喜的成果[48-51]。 Yildirim等人[52]已经探索了将DWT层与双向长短期记忆(LSTM)网络结合用于心律失常分类的方法,并获得了99.39%的准确性。
在这项研究中,采用了端到端的深度学习结构,而没有任何手工提取的特征。在大多数机器学习中,常见的问题是过拟合。引入dropout,正则化有助于防止CNN-LSTM模型在训练期间过拟合。通过dropout 20%的循环连接和模型的后续密集层(方案B),与LSTM重复和输入连接中的20%的dropout(方案A)相比,具有更好的泛化效果。在表3中还可以看出,方案B的高性能相对稳定得多。对于所有计算出的性能指标,它都已产生最小的标准偏差值。尽管在这种情况下的过度拟合模型比本文建议的方案具有更好的性能,但它仅用作证明dropout,正则化有效性的测试参考。这是因为这样的模型在新的未知数据集中往往表现不佳[53]。
与其他传统研究相比,所提出的CNN-LSTM混合模型已经取得了可喜的成果[11-22]。通过dropout网络的重复连接和密集连接,可以实现98.10%的高分类精度。 CNN善于获取空间特征,而LSTM善于学习时间特征。因此,通过合并这两种方式,不仅可以使网络产生更好的诊断准确性,而且还可以增强模型在对序列长度不同的心脏信号进行分类中的能力。由于本文建议的深度学习网络是使用嘈杂的ECG信号进行端到端训练的,因此不需要像噪声过滤和特征提取这样的预处理技术。
提出的模型的重点如下:
1.建议的系统是完全自动化的。
2.系统做出的预测是可重现的,没有观察者之间和观察者之间的偏差。
3.不需要噪声过滤,特征提取和选择技术。
4.使用不同长度的ECG信号。
5.采用十折交叉验证以使系统可重复。
该算法的缺陷如下:
1.要求检测片段的第一个R峰。
2.假设每个心电图节段都会有一种心律失常。
3.从正常的ECG片段检测APB的算法不健壮。
4.模型计算量大,学习速度慢。
5.可变长度数据的可用性有限。
6.使用不平衡数据集开发系统。
假设测试部分仅由单一类型的心律失常组成,我们提出的系统能够对不同长度的ECG信号进行分类。这并不总是正确的,因为现实世界中的ECG信号可能包含多种类型的心律不齐。将来,通过将每个元素与类别标签相关联,我们可以对这些ECG数据使用自动编码器网络进行元素分析。这将使我们能够并行的对节拍检测和分类。高端图形显卡也可以用来加速模型的训练过程。而且,代替使用加权损失进行训练,数据增强可以用作上采样技术,以提高训练数据的可变性并解决类别不平衡问题[54]。将来可以探索其他心脏疾病,例如冠状动脉疾病和缺血性心脏病。
结论
心脏异常的早期诊断对于降低心血管事件的风险和发病率很重要。自动化的准确诊断系统可以帮助临床医生进行早期诊断,也可以使患者得到早期治疗。我们开发的自动化系统可以有效地检测心脏状况,该系统结合了最新技术(CNN和LSTM)使用可变长度的ECG心拍检测心律失常。据我们所知,这是第一篇使用可变长度心跳进行心律失常检测的论文。在不消除噪音的情况下,我们获得了98.10%的高分类精度。将来,我们打算将此模型与长时和短时心跳信号一起使用。
利益冲突
在这项工作中没有利益冲突。
附录A.补充数据
与本文相关的补充数据可以在http://dx.doi.org/10.1016/j.compbiomed.2018.06.002中找到。
参考文献
见源文件