APP下载

基于残差神经网络的充血性心力衰竭识别方法

2018-02-20王露笛周晓光

数据与计算发展前沿 2018年6期
关键词:残差分类器心率

王露笛,周晓光

北京邮电大学,北京 100876

引言

心力衰竭是一种临床综合症,其产生的根本原因为心室泵血能力衰弱,导致每一次心脏搏动所排出的血液量无法满足人体新陈代谢的正常需要,因此也被称作为充血性心力衰竭。心力衰竭会导致人体其他组织和器官的血液灌注不足,正常功能受到影响,甚至是威胁患者生命安全。根据美国心脏病基金会(ACCF)以及美国心脏病协会(AHA)共同发布的充血性心力衰竭指南[1],心力衰竭的等级一共分为四级,只有三、四级的患者才会出现明显的症状。在我国,心力衰竭的患病率已经达到了1.61%,大约一般的心力衰竭患者会在确诊后的五年内死亡[2]。因此,心力衰竭的自动诊断具有十分重要的临床价值和社会意义。

有研究表明,心力衰竭可以基于连续心率的量化指标进行检测[3]。该研究发现,连续心率的标准偏差(SDNN)可以被用于预测心力衰竭患者死亡的风险:SDNN 为50ms的受试分组死亡率(51.4%)约为SDNN 为100ms的受试分组死亡率(5.5%)的9.3倍。从此,不断有研究者尝试通过对连续心率的分析来识别心力衰竭患者。

近年来,深度学习算法不断被应用在图像识别、语音分析、自然语言处理等诸多领域[4,5],并取得了显著的效果[6,7,8]。在众多深度学习模型中,深度残差网络(Residual Network,ResNet)[9]的表现尤其突出,迅速成为多种计算机视觉任务中最流行的网络框架之一。ResNet 允许原始输入信息跳过中间卷积层直接传输到后面的层中,使得神经网络学习的目标发生改变,从之前的完整输出转变成为输出与输入之间的差值,也就是残差。本文基于深度残差网络架构和短时连续心率信号进行心力衰竭的识别,有效提升心力衰竭检测的准确度和实时性,帮助心力衰竭患者进行自我管理,提升其生存率和生活质量。

1 心力衰竭自动诊断研究现状

Yu和Lee[10]基于双谱分析方法对连续心率进行特征提取,并利用遗传算法进行特征选择,最终选取了约三分之一的特征输入到支持向量机(SVM)中进行心力衰竭的识别;Chen[11]等人从连续心率中提取了180个特征,其中包括54个经典统计特征和126个动态指标,利用非平衡决策树及SVM分类器进行心力衰竭的检测,最终结果达到了96.61%的准确度。

近年来,也有研究者基于短时连续心率数据进行各类心血管疾病的检测,其中也包括心力衰竭。研究表明[12],短时连续心率可以用作检测心房颤动等心血管疾病,并且取得了良好的效果。在心力衰竭识别方法,短时连续心率分析也具有一定的诊断意义。Liu[13]等人提出一种基于模糊熵的方法对心力衰竭患者进行识别。之后,Liu[14]等人还尝试利用多尺度熵分析的方法对短时连续心率进行特征提取,并同样基于SVM分类器进行心力衰竭的诊断。Chen[15]等人基于稀疏自编码方法(Sparse auto-encoder)对短时心率信号进行特征提取,并利用深度学习网络对心力衰竭进行检测。

2 实验数据

本研究的实验数据来源于国际公认的开源数据库PhysioNet,该数据库主要分为临床数据库和波形数据库两大类。其中,波形数据库包含多种非重症监护环境的生理信号的连续记录。在本研究中,我们采用了BIDMC 心力衰竭数据库(BIDMC Congestive Heart Failure Database,BIDMC-CHF)、MIT-BIH正常窦性心律数据库(MIT-BIH Normal Sinus Rhythm,NSR)和幻想曲数据库(Fantasia database,FD)。

BIDMC 心力衰竭数据库包括15位患有严重心力衰竭(NYHA等级为3~4级)患者的连续心电数据,其中包括11位年龄在22至71岁之间的男性以及4位年龄在54至63之间的女性;MIT-BIH 正常窦性心律数据库包括18位健康人群的连续心电数据,其中包括5位年龄在26至45岁之间的男性以及13位年龄在20至50岁之间的女性;而幻想曲数据库则包括20名年轻人(21到34岁)和20名老年人(68到85岁)经过严格筛查的健康受试者经过连续 2个小时的休息后测试的生理特征数据。在本研究中,我们首先根据受试者的档案信息将数据库分成训练集和测试集,这样做的目的在于保证测试集中的数据从未在训练阶段出现,防止过拟合对算法评估的影响。之后,将数据集中的连续心率数据以长度为500、1000和2000个连续心跳划分成等长的数据,表1总结了以上三种数据库在经过数据分割处理之后得到的样本数量。表2是测试集中受试者的信息(训练集受试者较多,在此不列出)。图1 表示的是在分割长度为500心跳时两个种类连续心率信号示意图。

3 深度网络结构

3.1 深度残差网络

深度残差网络是何恺明在2015年提出的一种深度网络模型,它对网络连接结构进行了改进,并在实际应用中取得了不错的效果。这种全新的网络连接方式也被称作为恒等快捷连接(Identify shortcut connection),如图2所示,它直接跳过一个或多个层,从而将前若干层的数据输出直接引入到后面数据层的输入部分。

表1 不同数据库的样本量Table1 The number of signal for different database

表2 测试集中受试者信息Table2 Information of subjects in testing dataset

图1 样本长度为500个心跳时两类数据Fig.1 RR intervals of CHF and normal subjects: a, CHF subjects; b, normal subjects

深度残差网络结构的出现有效地解决了深度学习中的退化问题,这是因为残差网络学习的是残差函数F(x)=H(x)–x而不是H(x),尽管这两种形式的目标函数原则上都能够逼近所需的函数,但学习的难易程度并不相同。如果最优函数更趋近于恒等映射而不是零映射,那么对于求解器来说寻找关于恒等映射的干扰比学习一个新函数要容易的多。事实上,经过大量的实践验证,深度残差网络比其他网络,例如VGGNet和GoogLeNet 具有更高的准确率。

3.2 基于深度残差网络的心力衰竭诊断

如上文所述,连续心率信号其本身是一种时间序列信号,它同时具有空间信息和时间信息。因此,我们在深度残差网络的基础上,引入长短时记忆(Long short-term memory, LSTM)单元对时间序列特征进行更有效的提取。

如图3所示,长短时记忆单元的原型是循环神经网络(Recurrent neural network, RNN)。它通过加入输入门、记忆门和遗忘门,来改进对长期时间序列时间信息的处理过程。LSTM 网络非常适合基于时间序列数据的分类、处理和预测任务,并且已经成功地应用在旅游时间预测和音乐生成等领域。

图2 残差构建块示意图Fig.2 A building block of residual learning

图3 LSTM 单元结构Fig.3 A LSTM cell with three gates

图4 深度网络架构Fig.4 Deep learning network structure

如图4所示,在本研究中,我们利用 LSTM 网络代替残差块之间的卷积网络。我们选择自适应矩估计方法(Adaptive Moment Estimation,adam)作为优化器,其参数设置为学习率为0.001,β1= 0.9以及β2=0.999。

4 实验结果及分析

4.1 评价指标

在本研究中,我们采用准确性、灵敏性和特异性作为验证指标,具体的定义如下:

其中,TP,FP,FN和TN的意义如下:

1.TP(True positive)是真阳性样本数量,代表被正确划分为正例的个数(实际为正例,且被分类器划分为正例的样本数);

2.FP(False positive)是假阳性样本数量,代表被错误划分为正例的个数(实际为负例,且被分类器划分为正例的样本数);

3.FN(False negative)是假阴性样本数量,代表被错误划分为负例的个数(实际为正例,且被分类器划分为负例的样本数);

4.TN(True negative)是真阴性样本数量,代表被正确划分为负例的个数(实际为负例,且被分类器划分为负例的样本数)。

需要指出的是,在医学诊断中,灵敏性是指算法能够正确检测出患有某种疾病的患者的能力,而特异性则是代表算法能够正确识别没有疾病的人的能力。

4.2 实验结果

在实际的临床应用中,衡量一个模型是否成熟有效主要是看它在面对位置患者时,是否能做出准确可靠的检测。因此,在本研究中,我们采取无偏见测试(Blind test)对算法的有效性进行评估。表3是本方法在无偏见测试集上的表现。

表3 无偏见测试集上的表现Table3 Performance with blind test

当输入的连续心率长度为500时,模型的识别整体准确度为99.67%,灵敏性为99.34%,特异性100%;当输入的连续心率长度为1000时,模型的识别整体准确度为98.84%,灵敏性为97.53%,特异性100%;而当输入的连续心率长度为2000时,模型的识别整体准确度为96.63%,灵敏性为100%,特异性93.64%。

5 讨论

与传统的心力衰竭识别算法相比,基于深度学习的心力衰竭识别算法能够在高维空间中进行可靠的特征提取,并且不需要人工操作,避免可能存在的人为误差。深度学习系统通过组合低级特征来发现数据的分布式特征表示,从而形成更加抽象的特征表示。

本方法具有两个优点,首先,基于残差神经网络进行心力衰竭的检测,基于该方法的决策系统可以从全部数据中自动获取有用的信息,而不是通过特征提取来进行人工的数据降维。这样做能够最大范围地保有数据的有用信息,避免潜在误差;其次,我们基于LSTM 网络单元对网络架构进行了修改,使得该模型更加适用于时间序列信号的分类。

然而,本研究也存在一些局限性。首先,本研究没有就不同严重程度的心力衰竭进行多分类识别,并且没有深入讨论心力衰竭药物对数据库中受试者连续心率的影响;其次,本方法需要大数据对模型进行训练,以获得最佳性能,并且基于LSTM修改后的网络模型在训练阶段的计算消耗有所增加。

6 总结

在文献 [9]的启发下,本文提出一种基于LSTM改进的残差网络,并将其应用在利用短期连续心率检测心力衰竭的研究中。基于3个开源数据库和4种不同长度的输入数据对所提出的方法进行了评估,结果表明,在长度为500、1000和2000时,本方法的准确度分别达到了99.67%、98.84%以及96.63%。

使用连续心率来进行心力衰竭检测对于医疗保健应用十分重要,特别是对于智能手表、手环等穿戴式设备。在下一步工作中,我们会将本模型部署到保健应用中,作为心力衰竭患者日常监控的辅助手段,同时尝试加入注意力机制进一步提高准确度。

猜你喜欢

残差分类器心率
基于双向GRU与残差拟合的车辆跟驰建模
心率多少才健康
基于残差学习的自适应无人机目标跟踪算法
离心率
离心率相关问题
基于递归残差网络的图像超分辨率重建
探索圆锥曲线离心率的求解
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器