15-Anomaly Detection in ECG Time signals via Deep Long Short-Term Memory Networks
Anomaly Detection in ECG Time signals via Deep Long Short-Term Memory Networks
Abstract:
心电图(ECG)信号被广泛用于测量人体心脏的健康状况,由此产生的时间序列信号通常由医学专业人员手动分析,以检测患者可能遭受的任何心律失常。虽然已经做了大量的工作来自动分析ECG信号,但是大部分的研究都涉及到对ECG数据进行广泛的预处理,以获得向量化的特征,然后设计分类器来区分健康的ECG信号和心律失常的信号。这种方法需要对不同类型心律失常的知识和数据进行训练。然而,心脏是一个复杂的器官,有许多不同的新类型的心律失常可能发生,而这些都不是最初训练的一部分。因此,在分析ECG信号时采用异常检测方法可能更为谨慎。在这篇论文中,我们利用一个具有长-短期记忆(LSTM)单元的深度递归神经网络架构来建立一个健康心电图信号的预测模型。我们进一步利用这些回归模型的预测误差的概率分布来指示正常或异常的行为。使用LSTM网络的另一个优点是ECG信号可以直接输入到网络中,而不需要其他技术所要求的任何复杂的预处理。另外,网络不需要关于异常信号的先验信息,因为它们只接受正常数据的训练。我们使用MIT-BIH心律失常数据库获得了正常时期和四种不同类型心律失常(即室性早搏(PVC)、房性早搏(APC)、起搏(PB)和室联(VC)时的心电图时间序列数据。结果是有希望的,并表明深层LSTM模型可能是可行的检测异常的心电图信号。
1、Introduction
心电图(ECG)是通过在病人身体上放置电极来记录一段时间内心脏电信号的过程。电极可以探测到心脏肌肉跳动时皮肤上发生的变化。心电图可用于测量心率和节律、心腔的大小和位置、心肌细胞或传导系统是否受损、心脏药物的影响以及植入起搏器的功能[5]。心电图仍然是检测心血管异常的主要诊断手段之一,心电信号的自动分析对心脏专家来说具有巨大的价值。
异常检测是指在大量的正常数据中发现不可见的异常。心电图时间序列数据是一个具有挑战性的课题,特别是由于数据量巨大,人眼无法检测到的细微周期模式可能太快或太慢,患者之间的信号变化,以及可能发生的心律失常的不同时间标度。1、许多方法(然后罗列现有的方法)被用来分析心电图信号和各种各样的研究已经被用来分类各种心律失常。其中包括自组织映射(SOM)[9],自回归建模[7],c-均值聚类[10],多层感知器(MLP)[11]和RBF神经网络[8]。这些方法通常通过小波系数[6]或自回归系数[7]导出用于分类的时频特征。
2、陈诉现有具体技术的一个发展进程及面临的问题:
在检测异常心电信号方面也做了大量的工作。Li等人[13]利用转移学习,通过从监督源信号中转移知识,对来自目标用户的未标记信号进行分类。然而,上述技术需要手工编码特征,并依赖于所有不同类型异常的标记数据的可用性。然而,考虑到患者的多样性和不同异常产生的不同波形,这些数据可能并不容易获得。Polat等人[14]使用最小二乘支持向量机对正常和异常信号进行分类,研究人员还使用了时间序列新颖性检测技术[13]、[15]、[11],但是这些技术需要大量的计算来预测任何新的序列。
3、提出自己的算法:
本文提出了一种利用深度LSTM神经网络预测异常行为的方法。这种方法的优点是:1)几乎不需要对数据进行预处理,2)不需要手动编码的特征,但可以直接对原始信号起作用;3)不需要事先知道异常情况才能工作。
与传统RNN相比,LSTM在涉及事件间长时间延迟的任务上具有优势。有些任务需要网络提取这些事件之间间隔时间所传递的信息。LSTM也可以解决这种高度非线性的任务,通过学习精确测量时间间隔,使用具有窥视孔连接的LSTM细胞来检查其当前的内部状态[4]。
第二节描述了本文中使用LSTM和Deep LSTM网络架构。第三节详细介绍了数据收集和网络训练方法。第四节给出了实验结果,第五节给出了结论。
2、LSTM Network Architectures
一个典型的带有sigmoid激活单元的递归神经网络会遇到所谓的“消失梯度问题”。这个问题涉及到在反向传播过程中,由于梯度值的衰减,信息随着时间的推移而丢失。Hochreiter等人[16]通过使用乘法输入、输出和遗忘门来解决这个问题,以保存状态信息。LSTM体系结构的详细信息如下:
2.1、Conventional LSTM
传统的LSTM网络有三层。一个输入层、一个隐藏层(即LSTM)和一个输出层。LSTM层的核心单元是它的存储块。每个存储块都有多个单元,这些单元之间有循环连接。传统的LSTM有三个乘法门:输入门(i)、遗忘门(f)和输出门(o),它们本质上是自适应的。输入门用来学习,什么信息将被存储在存储器中。遗忘门用于学习信息的存储时间,输出门用于学习存储的信息何时可以使用。单个内存块如图1所示。

Fig. 1: LSTM Block Diagram with three multiplicative gates :an input gate, forget gate and an output gate.
LSTM网络(如图1所示)计算从输入序列 x =(x1,…,xT)到输出序列 y =(y1,…,yT)的映射,方法是使用从t=1到 T 迭代计算网络单元激活:


其中W表示权重矩阵(例如Wix是从输入门到输入的权重矩阵)、Wic、Wfc和Woc窥视孔连接的对角线权重矩阵。b是偏置矢量(例如BI是输入栅极偏置矢量)。σ为logistic sigmoid函数,i、f、o和c分别为输入门、遗忘门、输出门和细胞激活向量。⊙是矢量的元素积,g和h是细胞输入和细胞输出激活函数。φ是网络输出激活函数,在本文中它是线性的[1]。
2.2、Deep LSTM
如图2所示,深层LSTM网络是通过叠加多个周期性LSTM层来构建的。网络是深的,因为每个LSTM层的输出作为下一个LSTM层的输入。每个递归层可以及时展开成具有相同参数的等价前馈网络,如[12]中所示,堆叠重复的层运行在不同的时间范围内处理序列,并产生更丰富的时间特征集。

3、Experiments
3.1、Data Collection
我们使用了MIT-BIH心律失常数据库,其中有4000多个长期动态心电图记录来自Physicalbank。Physicalbank包含用于生物医学研究的生理信号的数字记录。数据库包含48条长度略超过30分钟的记录[2]。我们分析了一分钟的心电图记录信号。这些记录既有正常的时间序列,也有异常的时间序列。在本文中,我们重点讨论五种类型的beats/rhythms:
1)正常窦性心律(NSR):它是图3(a)中所示的默认心律。正常心律称为正常窦性心律。NSR的心率为每分钟50到100次,从SA节点(P波)1形成正常脉冲。

2) 室性室性早搏(PVCs):早搏只是指“早搏”或“跳搏”,扰乱心律。pvc可以单独发生或成对发生(称为对联),每隔一拍(二联)或多种形式。PVC是最常见的心律失常之一。它们开始于心脏的下腔或心室。图3(b)中显示了一个单PVC。除最后一次外,所有节拍均正常。

3) 心房早搏(APCs):也是最常见的心律失常。它开始于心脏上部或心房。APC也是早搏或节律早于正常节律的节律。图3(c)是单个PAC的示例。前4拍正常,但第5拍早于1。

4) 节拍(PBs):以特定速率或速度出现的节拍称为节拍。图3(d)是一个节奏节奏的例子。前三次心跳正常,然后有节奏的节拍开始。

5) 室联(VCs):室联包括两个连续的pvc的发生。图3(e)是一个心室耦合或两个连续PVC的例子。第一,第二,第四和第五拍是PVCs1。

3.2、Learning Task
考虑一个单变量时间序列 X = {x(1),x(2),…,x(n)},其中时间序列中的每个点 x(t)∈R 代表时间t的ECG记录,其元素对应于输入变量。预测模型学习预测输入变量的下 L 个值。
3.3、Training
数据集分为四组:正常训练集(sN)、正常验证集(vN)、异常与正常验证混合集(vN+A)和测试集(tN+A)。利用叠加LSTM的递归网络在正常训练集(sN)上训练,使用(vN)作为早期停止的验证集(早期停止:验证误差到达最小值时停止训练,作用相当于正则化,可以防止过拟合)。然后,利用极大似然估计将vN上的预测误差向量拟合到多元高斯分布(即求出预测误差向量的参数(均值、方差),采用极大似然估计法估计参数μ和∑)。然后使用训练好的LSTM网络对vN+A进行预测,并记录得到的误差向量的概率密度函数(pdf)值。用于区分异常值和正常值的阈值,是通过最大化相对于pdf阈值的F-Score来确定(vN+A用于确定阈值)。然后,根据Malhotra等人选择阈值,用于区分测试集tN+A中的规则向量和异常向量。
3.4、stack LSTM based RNN Architecture
网络在t时刻的输入层有一个节点,由于预测是对下一个L时间步长进行的,所以在输出层有L个单元。我们在隐藏层使用了LSTM单元,这些单元是递归的,并且完全连接到后续的隐藏层。最终的隐藏层完全连接到输出层。验证集vN用于学习网络权值时的早期停止。训练了具有最多三个重复隐藏层和每层单元数量变化的多个体系结构,并选择了具有最佳验证集性能的模型。
3.5、LSTM based Anomaly Detection
对于输入x(t),当L < t < n−L时,每个x(t)被预测L次,然后计算点x(t)的误差向量e(t)=[e(t)1,......,e(t)L],其中e(t)i为x(t)和它的预测值在t-i时刻的误差。
在验证集上,用多元高斯分布拟合误差向量。y(t)是应用多元高斯分布N=N(µ,±)后误差向量e(t)的概率。最大似然估计用于从vN中选择点的参数µ和∑。在这个预测模型中,vN+A用来通过最大化Fβ−score来学习阈值τ。Fβ−score是精确性和召回率之间的权衡。我们选择β = 0.1来支持精确性而不是回忆,因为在正常心脏数据中没有标签噪声,而异常数据包含正常行为的片段,并且受到标签噪声的影响。


4、Results and Analisis
通过F-score最大化确定阈值τ,以区分vN+A上的异常数据和正常数据。然后使用该阈值检测测试集tN+A上的异常(如表1所示)。验证集(vN+A)的误差向量e(t)的似然p(t)和相应的阈值τ如图4所示(仅两个序列的样本),其中红色表示异常,绿色表示正常ECG信号。异常点属于正类,正常点属于负类。由于判别意味着在阳性类别(TPR)中检测到的异常分数(FPR)高于在阴性类别(FPR)中检测到的异常点的比例,因此我们关注的是真阳性率(TPR)和假阳性率(FPR)之间的比率,即较高的比率表示更好的鉴别。
在表I中,我们通过确定产生最大F0.1−score的值来优化验证集vN+A的阈值。然后在测试集上使用最优τ值对异常区域和非异常区域进行分类。结果在测试集上F0.1-score为96.45%。在tN+A测试集上,真阳性率与假阳性率之比也一直很高。

在图4中,我们可以很容易地确定异常区域的pdf值通常比正常区域低。这里需要注意的是,有可能异常区域也有正常区域。这就是为什么我们关注的是精度而不是召回。
在图6中,与完整测试集相对应的pdf值与优化的阈值一起显示。阈值线以下的区域表示异常,高于阈值的区域表示正常心律。
本文的一个相关目的是证明深层LSTM可以推广到多种异常类型(心律失常)。为了评估这一点,我们需要知道每种异常类型的检测精度。为了比较模型在不同异常类型上的性能,分别计算了四种不同异常的F0.1−score,节奏节拍产生更高的F0.1−score,即99.31%(如表II所示)。APC信号与正常信号的区别最小,但即使在这里,TPR/FPR也大于12,因此被检测到。图7绘制了完整测试集t(N+A)和四个异常情况的接收器工作特性(ROC)曲线。由于异常类别中的标签噪声问题(会有正常类别的标签),召回率相当低,但值得再次提及的是,对于检测器而言,真正的阳性率始终保持较高的比率。


图5显示了四种不同异常的样本信号。图5(a)、5(b)、5(c)、5(d)分别检测心电图时间信号中的VC、PVC、APC和PB。

Fig. 5: Abnormality Detection in ECG time signals.
使用梯度下降法训练递归网络通常是相当缓慢的。然而,由于我们对建模正常行为感兴趣,训练只需离线完成一次。在一台16核CPU机器上,一个20分钟、42800个点的ECG信号的测试时间约为0.5秒。
5、Conclusion
我们提出用深度LSTMs来检测心电时间信号的异常。由于LSTMs能够克服消失梯度问题,因此它比其他递归体系结构具有更多的保持能力。叠加重复隐藏层可以在不同的时间尺度上处理数据,并生成更丰富的时间特征集。在这项工作中,我们研究了深层LSTM网络在检测心电信号中心律失常的适用性。这种技术有几个优点,因为这些网络一旦经过训练就相当快,而且不需要了解异常情况、手工制作的特征或对数据进行预处理。实验表明,该技术能够检测多种类型的心电信号异常。为每个时间窗口计算一个不同的阈值可能是有益的,这可以改善点异常的检测。此外,如果医生使用这种方法,尽管假阳性的数量往往会大幅增加,但召回可能会被赋予更高的优先级。总的来说,叠加LSTMs可能是ECG信号异常检测的一个可行的候选方案。

浙公网安备 33010602011771号