APP下载

基于深度学习并行网络模型的心律失常分类方法

2021-10-14施俊丞何伟铭

南方医科大学学报 2021年9期
关键词:电信号灵敏度特异性

甘 屹,施俊丞,高 丽,何伟铭

上海理工大学1机械工程学院,3图书馆,4光电与计算机学院,上海 200093;2日本中央大学理工学部精密工学科,日本 东京112-0003

心律失常是一种常见的心血管病,通常伴有心力衰竭、心绞痛等严重危害人体健康的并发症[1]。根据美国医疗仪器促进协会(AAMI)标准[2],心律失常主要分为正常搏动(N)、室上性异位搏动(S)、心室异位搏动(V)、融合搏动(F)、未分类搏动(Q)。通常情况下,医生根据心电图(ECG)进行心律失常分类诊断,需要投入相当大的人力和物力。随着人工智能的兴起,借助计算机实现心律失常自动分类已经成为ECG领域的研究热点[3]。

心律失常自动分类包括信号预处理(去噪、心拍分割和数据增强等[4])、特征提取(P波、QRS波群、T波以及各个间期等[5])和自动分类(机器学习和深度学习)3个阶段[6,7]。

相比于人工分类,基于机器学习的自动分类[8-10]提高了分类的准确性,改善分类性能,但所提取的特征在分析复杂心电信号时受人为因素影响,可能会产生诊断误差[11-13]。近年来卷积神经网络(CNN)[14,15]、长短时记忆网络(LSTM)[16]等深度学习网络模型在心律失常分类领域得到广泛运用[17,18]。基于深度学习的自动分类摆脱了机器学习需要人工特征提取的局限,分类性能得到进一步改善[19,20]。

但是,目前大多数基于深度学习的自动分类多采用单一输入信号的方式,并且主要对单个心拍进行特征提取,该输入方式只关注P波、QRS波群和T波的波形特征而忽略了RR间期的波形特征[21]。由于输入波形信息不完整容易造成心律失常疾病的漏诊或者误诊。因此同时考虑单个心拍和RR间期的波形特征,可以提高心律失常分类的准确性。然而同时输入单个心拍和RR间期波形信息会增加大量的模型参数[17,18],因此,如何在提高分类性能的同时,减少参数,缩短分类时间是构建并行分类模型的难点。

此外,现有的深度学习网络模型很多采用密集连接卷积神经网络(DenseNet)[22],该网络将密集连接与过渡层相结合,通过重复利用波形特征的方式,可减少参数,提高分类的准确性。但受卷积核尺寸的限制,分类过程仍存在不能充分捕捉心电信号时序特征和重要特征等技术难题[23-25]。

针对以上难点问题,本研究提出基于深度学习并行网络模型的心律失常4分类方法(N、S、V、F)。该方法并行输入小尺度心拍和包含RR间期的大尺度心拍,确保模型能够涵盖完整的波形信息;使用DenseNet、双向长短时记忆网络(BiLSTM)[26]和高效通道注意力网络(ECANet)[27],提高模型提取波形特征的能力。

1 资料和方法

1.1 信号预处理

1.1.1 心电信号去噪 根据AAMI标准,心律失常划分为5种类型(N、S、V、F、Q)。由于Q类为未分类心拍,因此本文只对N、S、V、F进行分类。

为了减少噪声对心电信号分类的干扰,本文采用Mallat算法[28]滤除噪声。根据MIT-BIH心律失常数据库采集心电信号的标准,采样频率设置为360 Hz。首先对含噪心电信号进行小波分解[29],由于第3到第8层细节项的频率在0.7~45 Hz,与有用信号的频率范围(0.5~45 Hz)基本一致[30,31],因此重构保留下来的第3到第8层细节项,得到去噪后的心电信号,去噪过程如(图1)所示。

图1 心电信号去噪过程流程图Fig.1 Flow chart of ECG signal denoising.

1.1.2 小尺度心拍和大尺度心拍的分割 小尺度心拍和包含RR间期的大尺度心拍可以更好区分不同种类心律失常。根据R波位置[32]对心电信号进行分割。依据每次心跳所需时间,将小尺度心拍的长度设置为300个采样点,取R波之前的99个采样点和R波之后的200个采样点。为了包含RR间期即心电信号相邻R波之间的时间,将大尺度心拍的长度设置为550个采样点,取R波之前的224个采样点和R波之后的325个采样点,分割过程如(图2)所示。

图2 心电信号心拍分割Fig.2 Heartbeat segmentation of ECG signal.

1.1.3 数据增强 在心电信号分类的过程中,容易遇到样本类别不平衡的问题。样本类别分布不均会导致分类模型过拟合,因此要对样本进行数据增强。SMOTE算法[33]作为平衡数据集的主要方法之一,被广泛应用于不平衡数据集的分类中。该算法的主要思想就是在距离较近的稀有类样本之间插入“人造”的样本,增加稀有类样本的数目,达到数据增强的目的,从而改善数据集的不平衡状况。

使用SMOTE算法对心电信号进行数据增强之后,本文采用并行分支结构将小尺度心拍以及包含RR间期的大尺度心拍的波形特征同时输入模型。由于深度学习具有自主学习的能力,能够将低层特征表示转化为高层特征表示,使用简单模型就能完成复杂分类问题,因此本文采用基于深度学习的并行网络模型实现心律失常的4分类(N、S、V、F)。

1.2 方法

在众多深度学习网络模型中,DenseNet通过对波形特征的重利用,加强波形特征传播,提高模型对于心电信号各种波形特征的提取能力。BiLSTM融合前向与后向LSTM,可最大化利用心电信号的时序特征。ECANet可根据特征的重要程度赋予权重系数,强化模型对于心电信号重要波形特征的敏感度。因此本文将以上3种网络进行组合,提出心律失常并行网络分类模型(DenseNet+BiLSTM+ECANet)。

1.2.1 密集连接卷积神经网络 DenseNet是一种具有密集连接的卷积神经网络,该网络主要由密集块(Dense block)和过渡层(Transition layer)组成(图3)。

图3 密集连接卷积神经网络Fig.3 Densely connected convolutional network.

密集块包含批量归一化(BN)、Relu函数和卷积层(Convolution)。密集块改善层与层之间的信息交流,能够把每一层的输出都直接连接到后续所有层,层与层之间的紧密连接使得每层输入是其前面所有层输出的并集。密集块的第n层输出Xn表示为:

其中,X0,X1,…,Xn分别为第0,1,…,n层的输出特征;[]代表级联运算;Hn代表第n层的非线性变换函数。

过渡层包含批量归一化、Relu函数、卷积层和池化层(Pooling)。由于密集连接使得网络参数增多,通常将池化层中的通道数减少一半来减少特征数量,提高模型运行速度。

1.2.2 双向长短时记忆网络 长短时记忆网络(LSTM)是一种特殊的循环神经网络,主要解决序列数据的长期依赖问题。如(图4)所示,LSTM中的输入门(it)、输出门(Ot)以及遗忘门(ft)可以大幅度提高模型处理序列数据的能力。LSTM的输入包括当前时刻的输入xt,上一时刻记忆单元的状态ct-1以及上一时刻的输出ht-1,经过tanh、σ(Sigmoid)等函数的运算可以得到当前时刻的输出ht以及当前时刻记忆单元的状态ct。

图4 长短时记忆网络Fig.4 Long short-term memory network.

LSTM能够提取时序信号的特征,但是无法同时捕捉前后时刻波形特征之间的联系,BiLSTM有效解决了这一问题。(图5)为BiLSTM结构,图中前向LSTM和后向LSTM构成BiLSTM的前向和后向传输层,其中和分别为当前时刻前向和后向传输层的输出值。在BiLSTM中输入xt,经过传输层等一系列计算就能得到输出yt。

图5 双向长短时记忆网络Fig.5 Bidirectional long short-term memory network.

1.2.3 高效通道注意力网络 ECANet(图6)主要是给重要特征赋权重值,提升模型对心电信号重要特征(P波、QRS波群、T波的宽度和幅值以及RR间期的长度等特征)的提取能力。其工作过程:首先使用全局平均池化层(GAP)把输入特征(x)变为单个数值;然后在不降低维度的情况下使用卷积核尺寸为k的一维卷积来生成通道权重;最后通道权重通过乘法加权到输入特征上,得到输出特征

图6 高效通道注意力网络Fig.6 Efficient channel attention network.

1.2.4 并行网络分类模型结构 首先基于深度学习网络模型,采用并行分支结构,分别输入小尺度心拍和大尺度心拍。然后每个分支中包含2 个DenseNet 和1 个BiLSTM,并且在这两个网络后面加入1 个ECANet。为了缓解过拟合,在每个分支的末尾分别引入全局平均池化层(GAP)和丢弃层(Dropout)。最后将两个分支提取的特征进行融合,使用Softmax函数实现心律失常的4分类。在训练模型的过程中,batch_size为128,epoch为50,使用Adam优化器,学习率为0.001,最大池化层(MaxPool1D)的步长和池化核尺寸都为2,使用交叉熵损失函数实现对模型的训练[34]。模型的其余超参数见(表1),并行网络分类模型结构见(图7)。

表1 模型的超参数Tab.1 Hyperparameters of the model

图7 基于深度学习的心律失常并行网络分类模型Fig.7 Parallel network classification model for arrhythmia based on deep learning.

2 结果

2.1 数据集

本文采用MIT-BIH心律失常数据库中MLII导联的数据评估心律失常的分类性能。MLII导联中包含48条患者记录,采样频率为360 Hz。由于4条患者记录质量较低,因此只对剩下44条患者记录采用1.1节中的方法进行预处理,一共得到100 634个样本,其中N、S、V、F这4类样本个数分别为90 045、2780、7007、802。本文采用留出法[35]验证模型性能,具体方法是将100 634个样本以3∶1∶1的比例划分为训练集、验证集和测试集[36]。为了缓解类别不平衡问题,采用SMOTE算法对训练集中的S类和F类进行数据增强,使其数量与V类数量一致,因此数据增强后,训练集、验证集和测试集数量分别为66 509、20 127和20 127。

2.2 实验平台及评价指标

实验平台的CPU 为i5-10500K,操作系统为Window10,显卡为RTX2080Ti,内存为11G,实验基于Python3.7和Tensorflow2.1实现。

通常使用混淆矩阵(CM)表示模型的分类结果[37,38],混淆矩阵的每一行代表真实类别,每一列代表预测类别,表示如下:

其中,nij代表类别为i的样本的数量被归类为类别为j的数量;K代表混淆矩阵的维度。

分类模型总体性能的评价指标,通常使用总体准确率(OverallAccuracy)、平均灵敏度(Average Sensitivity)和平均特异性(Average Specificity)[16],计算公式如下:

其中,总体准确率代表被正确分类的样本占所有样本的比例;平均灵敏度代表所有类别灵敏度的平均值,平均灵敏度越高说明总体漏诊率越低;平均特异性代表所有类别特异性的平均值,平均特异性越高说明总体误诊率越低[32]。

2.3 实验1:多种并行网络模型分类性能对比

实验1的数据集采用测试集。在并行输入小尺度心拍和大尺度心拍的情况下,对DenseNet,BiLSTM,ECANet三种网络模型组合性能进行对比,其混淆矩阵见表2,其中,“1”代表DenseNet;“2”代表BiLSTM;“3”代表ECANet。

表2给出4种并行网络分类模型的混淆矩阵,结合公式(2)~(5)可知,BiLSTM+ECANet的总体准确率、平均灵敏度和平均特异性分别为98.96%、93.46%、98.84%。DenseNet+ECANet的总体准确率、平均灵敏度和平均特异性分别为98.97%、91.65%、98.51%。DenseNet+BiLSTM 的总体准确率、平均灵敏度和平均特异性分别 为99.14%、94.86%、99.16%。DenseNet+ECANet+BiLSTM(本文所提模型)的总体准确率、平均灵敏度和平均特异性分别为99.36%、96.08%、99.41%。实验1还给出本文所提模型测试一次测试集所需的时间为17 s。

表2 4种并行网络分类模型的混淆矩阵Tab.2 Confusion matrix of four parallel network classification models

2.4 实验2:不同心拍输入方式下,各分类模型性能对比

实验2的数据集采用测试集。实验2在实验1的基础上,将本文所提的并行网络分类模型(DenseNet+BiLSTM+ECANet)分别与机器学习并行分类模型和采用单个心拍输入方式的深度学习分类模型进行性能对比(表3)。其中,PCA指主成分分析,DTW指动态时间归整,ELM指极限学习机。

表3中,文献[12]采用并行输入结合机器学习分类模型进行分类,总体准确率达到97.80%。文献[14-16]均采用单个心拍输入结合深度学习分类模型进行分类,总体准确率和平均特异性达到98%以上,平均灵敏度基本都超过90%。本文所提模型的总体准确率、平均灵敏度和平均特异性同实验1。

表3 不同心拍输入方式下,各分类模型性能比较Tab.3 Performance comparison of each classification model under different heartbeat input methods

2.5 实验3:并行网络分类模型收敛性能分析

实验3的数据集采用训练集和验证集,以验证实验1中提出的4种并行网络分类模型的收敛性能。为基于4 种并行网络分类模型的准确率与损失率的收敛图(图8)。

图8 准确率和损失率的收敛图Fig.8 Convergence graph of accuracy and loss.

显示在开始训练模型时,4种并行网络分类模型基于训练集和验证集的准确率和损失率曲线变化很快(图8)。DenseNet+BiLSTM+ECANet(本文所提模型)基于训练集和验证集的准确率曲线上升速度最快,当epoch大于40后,两条曲线趋于平稳,基本实现收敛,并且没有出现严重的过拟合图8 准确率曲线。其余3种模型基于训练集和验证集的准确率曲线上升速度较慢,并且都存在一定程度的波动。本文所提模型基于训练集和验证集的损失率曲线下降最快,并且在epoch大于40后,也基本实现收敛,没有出现严重的过拟合图8 损失率曲线。除此之外,实验3还给出本文所提模型训练一次训练集所需的时间为41 s。

3 讨论

在并行网络分类模型中,BiLSTM+ECANet 和DenseNet+ECANet的总体准确率和平均特异性都没有超过99%,相比之下,DenseNet+BiLSTM的在总体准确率和平均特异性得到提高,但是平均灵敏度不高,这会增加疾病漏诊的风险。相比以上3 种模型,DenseNet+BiLSTM+ECANet(本文所提模型)的总体准确率、平均灵敏度和平均特异性最高,分别达到99.36%、96.08%、99.41%,表明DenseNet通过对心电信号波形特征的重利用,有助于进一步挖掘隐藏特征,提高模型的总体准确率;ECANet通过增加权重的方式,增强心电信号中P波、QRS波群、T波的幅值和宽度等重要特征,从而提高模型的平均灵敏度;BiLSTM的使用,解决了DenseNet受卷积核尺寸的限制使其不能充分捕捉心电信号波形特征前后联系的问题,提升了模型的平均特异性,实验证明DenseNet,BiLSTM,ECANet的组合改善了模型的分类性能。

虽然采用需要人工特征提取的机器学习分类模型,但是通过使用并行输入的方式使其总体准确率达到97.80%[12]。本文所提模型都采用深度学习网络模型进行分类,总体准确率都超过98%,与前人报道一致[14-16]。但本文所提模型的平均灵敏度和平均特异性更高。主要原因本文采用并行输入,并行输入不仅可以提取单个心拍的波形特征,还能提取RR间期的波形特征,从而丰富模型提取的特征数量,进一步证明本文所提模型能够实现心律失常的有效分类。

本文所提模型基于训练集和验证集的准确率与损失率曲线都实现收敛,随着epoch的增加,准确率最早达到99%,损失率最早达到0.3,表明收敛速度较快。同时,本文所提模型每次训练时间为41s,有些模型每次训练时间分别为118 s和150 s[17,36],三者对比表明,本文所提模型可快速准确识别不同种类心律失常的特征。

综上所述,本文提出基于深度学习的心律失常并行网络分类模型实现对N、S、V、F这4种心律失常的分类。该模型并行输入小尺度心拍和大尺度心拍以提取单个心拍和RR间期的波形特征。运用DenseNet充分提取心电信号波形特征,较好地捕捉到心电信号波形中的隐藏特征。使用BiLSTM获得心电信号波形的前后依赖关系。ECANet的引入,增强对重要波形特征的识别能力,减少模型参数数量,提高了模型运行速度。基于MIT-BIH心律失常数据库的对比实验表明,模型在总体准确率、平均灵敏度,平均特异性这3个指标上取得了较为满意的结果,并且训练时间较短,因此适合用于可穿戴式心电设备等领域。后续研究可尝试将基于深度学习的心律失常并行网络分类模型移植到便携式心电监护设备上,实现心律失常便捷快速临床诊断。

猜你喜欢

电信号灵敏度特异性
CT联合CA199、CA50检测用于胰腺癌诊断的敏感性与特异性探讨
基于机电回路相关比灵敏度的机电振荡模式抑制方法
老年慢性非特异性腰痛综合康复治疗效果分析
基于联合聚类分析的单通道腹部心电信号的胎心率提取
血清铁蛋白、IL-6和前列腺特异性抗原联合检测在前列腺癌诊断中的应用
Beta-blocker therapy in elderly patients with renal dysfunction and heart failure
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
吸气式高超声速飞行器多参数灵敏度分析
婴幼儿湿疹800例血清过敏原特异性IgE检测结果分析