◆丁娜娜 张龙波 吴志勇
基于CNN和BiGRU-Attention模型的心律异常判别研究
◆丁娜娜 张龙波通讯作者吴志勇
(山东理工大学(淄博)计算机科学与技术学院 山东 255049)
心脏病是导致人类死亡的主因,多数心血管疾病发生时,常伴有心律失常现象的出现。为实现心律失常的自动判别,研究并提出一种卷积神经网络(Convolutional Neural Network,CNN)和基于注意力机制(Attention)的双向门控循环单元神经网络(Bidirectional Gated Recurrent Unit Neural Network,BiGRU)结合的心律异常判别方法。该方法首先采用1维CNN自动提取心电信号特征;其次将CNN提取出的特征输入到BiGRU-Attention网络中进行学习;最后,使用softmax函数进行分类。实验结果表明,该方法的总体准确率为99.53%,N、S、V和F四类心跳的灵敏度分别为99.80%、96.35%、98.23%,92.01%,阳性预测值分别为99.74%、96.87%、99.24%、90.37%,证明该方法具有良好的性能。
心电信号;心律失常;卷积神经网络;注意力机制;BiGRU-Attention网络
世界卫生组织的统计数据显示,心血管疾病已经成为居民死亡的头号杀手,每年有超过1770万的人死于心血管疾病[1]。心血管疾病发生时经常伴有心律失常的出现,心律失常是威胁人类生命健康的一类重大疾病。实现心律失常的自动分类具有非常重要的现实意义,它能够使人及时发现心脏疾病并加以诊断,有效的保护心脏健康。
心电信号预处理、特征提取和分类是实现心电信号自动分类的三个阶段。心电信号的预处理主要包括去噪和分段,有利于提高自动分类的准确率。特征提取,即提取心电信号的时域特征、频域特征以及形态学特征等,例如提取其RR间期,心跳间隔,波宽等。Saminu[3]等人使用小波变换法进行特征提取,采用神经网络反向传播法进行自动分类,得到了99.84%的分类准确率。Li[4]等人提出了一种结合小波包分解(WPD)和近似熵(ApEn)的心电信号非线性特征提取方法,采用支持向量机(SVM)方法进行分类,最终得到了97.78%的准确率。2019年李鸿强[5]等人首先利用主成分分析(principal component analysis,PCA)对心电信号进行降维,再使用核独立成分提取心电信号的非线性特征,将心电信号分为5类并获得了99.11%得准确率。针对心电信号的自动分类,已经有很多方法可以实现,比如最优路径森林(OPF)、支持向量机(SVM)、邻近算法(KNN)等。Luz[6]等人使用基于最优路径森林的方法进行心律失常分类,对比其他方法,该方法取得了良好的效果。Giorgio[7]等人利用支持向量机(Support Vector Machines,SVM)对去噪后的心室晚电位心电信号进行分类,最终得到了98.35%的准确度。有学者在传统KNN算法的基础上进行了改进,Faziludeen[8]等人利用基于Dempster Shafer理论的证据k近邻(EKNN)方法对心电信号进行分类,实验结果证明,该方法优于传统KNN算法。以上方法都达到了比较高的分类准确率,但是针对心电信号的波形及模式多样化特点,还存在一定的缺点,上述方法都是理利用人工提取心电特征,将统一的特征作为评估标准是很受限的,并且还会浪费大量的人力、时间和费用等成本。
随着科技的发展,深度学习迅速崛起,不少专家学者将深度学习运用到了心电信号领域[2,9],并取得了较好的成效。2020年Asgharzadeh-Bonab[10]等人使用卷积神经网络(ConvolutionNeural Network,CNN)实现对心电信号的分类,其分类性能优于该阶段引入的分析方法。Zheng[11]等人采用基于去噪自编码器的深度神经网络(DNN)进行心电信号自动分类,最终在MIT心律失常数据库(mitdb)和自采集的联合数据集上得到94.39%的平均识别率。Chauhan[12]等人使用长短时记忆(Long Short Term Memory,LSTM)神经网络实现心电信号自动分类,验证了该网络在心电信号分类方面的有效性。李润川[28]等人使用BiLSTM-Attention模型来检测心律异常,在灵敏度、阳性预测值和F1综合指标方面都获得了良好的效果。综上所述,深度学习方法相对于传统方法有较大的优势,但是也有自身的缺点,学习过程复杂,泛化能力较弱,并且需要大量数据进行训练,耗费成本较高。
CNN可以自动提取特征,避免了人工提取特征的弊端,节约成本;BiGRU网络不仅结构简单,学习复杂度低,还可以学习前后心跳之间的关系。结合CNN和BiGRU网络的优势以及上述问题,本文提出1维卷积神经网络和基于注意力机制的双向门控循环单元神经网络结合的心电信号自动分类方法。结合众多文献发现,该方法首次被运用在单导联心电信号分类当中,并且在MIT-BIH心律失常数据库的验证中取得了良好的效果。
原始心电信号往往是存在噪声的,常见的心电信号噪声主要有电源线干扰和基线漂移[13]。噪声的存在,会降低模型性能,因此需要对原始心电信号进行去噪处理。
为去除电源线干扰和基线漂移,首先对所有的心电信号使用200-ms和600-ms的中值滤波器进行处理,得到去除基线漂移后的心电信号;接下来使用一个截止频率为35赫兹的12阶FIR 低通滤波器去除电源线干扰。研究发现经过以上方法的处理,可有效去除心电信号的噪声[2,14]。以100记录为例,去噪前和去噪后的心电信号如图1(a)和1(b)所示。
R波检测是心电信号检测的关键,它不仅是检测其他心电波群(P波、T波)的基础,还可以帮助诊断心律不齐和心跳异常等疾病[15],同时也是心电信号分割的重要依据。本论文中采用MIT-BIH数据库提供的R峰坐标完成心电信号的分割,研究发现该方法已被大量学者使用[16,17,18,19]。根据R峰的坐标位置,将心电信号统一分割为180个采样点的单个心跳。
图1 去噪前后心电信号段
卷积神经网络在很多方面尤其是图像识别领域表现出色[20,21]。卷积神经网络属于前馈神经网络,主要由输入层、卷积层、池化层以及全连接层等组成[22,23],该网络具有权值共享、局部连接等特点。卷积层可以充分提取数据特征,获得数据之间的内在联系;池化层也称采样层,包括最大池化和平均池化等,可以降低特征维度,减少网络复杂度,同时也可以减少训练的参数数量;全连接层的作用主要是将特征进行非线性组合来得到最终的输出。在各层的作用下,卷积神经网络表现出良好的特征提取性能。
GRU是LSTM的一种变体,拥有和LSTM相似的功能,但它相对于LSTM网络来说,网络结构更简单,是目前非常流行的网络之一。GRU由更新门和重置门构成,更新门相当于LSTM的输入门和遗忘门,它决定了哪些信息被丢弃或者哪些信息被添加,值越大表示前一时刻被保留的信息越多;重置门决定遗忘前一刻信息的程度,值越小表示遗忘程度越大。更新门和重置门之间的关系可表述如下:
其中,Zt是更新门,Rt是重置门,WZ、WR、Wh是当前时刻输入的权重,Uz、UR、Uh是当前时刻循环输入的权重,ht-1为上一时刻的隐藏状态信息,xt为输入的心电信号数据,h’t为候选隐藏状态,ht为心电信号特征的输出,σ表示sigmod激活函数。
双向GRU实际上由两个单向GRU组成,一个是正向传播的GRU,一个是反向传播的GRU。BiGRU的隐藏层状态由正向隐藏层状态和反向隐藏层状态经过重新加权相加后得到,可以更加充分的学习前后心跳之间的联系,提高识别率。
Attention注意力机制的作用是为了捕获更为关键的特征,提高分类准确率。Attention在语音处理、自然语言处理等方面都表现出了良好的性能[24,25],在处理时序信息方面具有优势。Attention注意力机制是对人体注意力机制的一种模仿,它通过为每个特征向量分配概率权重,从而获取更关键的特征信息,提高特征提取的质量,获取更好的分类效果。Attention注意力机制的计算公式如下:
其中,hm是原始隐藏层状态,S是新的隐藏层状态,am是每个原始隐藏层状态在新的隐藏层状态中所占的比重大小,em表示隐藏层状态向量hm被处理后的向量,vm为m时刻的权重,bm为m时刻的偏置。
实验采用CNN和BiGRU-Attention网络结合的模型完成心电信号的分类。经过大量实验,采用两层卷积,卷积核个数分别为6和16;池化层部分采用的是最大池化,其大小为2,滑动步长也为2;最后通过全连接层将特征进行了非线性组合,并将特征维度设置为50。经过上述操作,最终得到了50x1的心电信号特征。在得到心电信号特征之后,将特征向量输入到BiGRU网络中进行学习;接下来,将BiGRU隐藏层的输出再输入到Attention中,进一步提取更为关键的心电信号特征;最后,输入到softmax函数完成分类。整体模型见图2。
本实验采用的是MIT-BIH 数据库,它是由美国麻省理工学院提供的。MIT-BIH 心律失常数据库包含的ECG 的来源,是由 Beth Israel 医院采集的4000 多个长时间Holter记录。MIT-BIH心律失常数据库一共有48个记录,每个记录时长约30分钟,这些记录包含了多种临床病理现象。MIT-BIH心律失常数据库可供研究者免费使用,为心电信号的研究提供了数据集,应用十分广泛。根据AAMI推荐的做法,对MIT-BIH心电数据库的分类如表1所示。由于Q类的心电信号数量极少,因此本实验中将心电信号分为N、S、V、F四大类。数据集共有100671条心跳记录,分为训练集DS1和测试集DS2,具体分类如表2。
图2 CNN和BiGRU-Attention模型
表1 MIT-BIH标签和AAMI标准分类
表2 数据集划分
为测试模型的性能,本文使用灵敏度(Se)、阳性预测值(PPV)、分类准确率(Acc) 3种评估指标。具体计算公式如下所示:
上述公式中,TP表示为分类正确的心跳个数,FN表示为分类错的心跳个数,TN表示为本不属于某类心跳而被分类为该类的心跳个数,FP表示本属于某类心跳而被错误分类的心跳个数。
表3为本实验结果的混淆矩阵。根据混淆矩阵即可计算出模型的评价指标,本实验先使用CNN提取特征,再使用BiGRU-Attention模型进行学习,最后使用softmax完成分类,该模型与其他实验的分类结果性能比较如表4所示。可以看出,本实验的分类准确率较高,达到了99.53%;N、S、V、F四类心跳的灵敏度分别为99.80%、96.35%、98.23%,92.01%,阳性预测值分别为99.74%、96.87%、99.24%、90.37%。
表3 分类混淆矩阵
表4 分类结果性能比较
与文献[26]、文献[27]相比,本文提出的心电信号自动分类方法具有较高的分类准确率,并且N、S、V、F四类心跳在灵敏度和阳性预测值方面也有比较明显的提升,特别是对于S和F类心跳,本实验对这两类心跳的识别度明显高于其他实验。以上所述,证明了本文所提模型具有良好的性能,对于心电诊断有更强的适应性,并且受数据集不平衡性因素的影响程度较小,在心电图分析领域具有明显的临床意义和实用性。
为实现心律失常的自动判别,研究并提出CNN和BiGRU-Attention结合的心律异常判别方法,首先利用CNN对心电特征进行自动提取,再利用BiGRU-Attention网络对心电特征进行学习,最后利用softmax函数完成分类。此方法大大提高了整体分类准确率以及效率,在灵敏度和阳性预测值方面也都具有相应的提升,尤其对于数据量少且较难辨别的S和F两类心跳的识别度有明显提升,证明该模型具有良好的性能,在心电分析方面具有临床意义。本次实验使用的是单导联心电信号的自动分类,未来的工作考虑研究多导联心电信号的自动分类,进一步提高心电诊断的效率。
[1]World Health Organization(2017). Cardiovascular diseases (CVDs).http://www.who.int/mediacentre/ factsheets/fs317/en/ Accessed 18 Apr 2018.
[2]Sannino G,De Pietro G. A deep learning approach for ECG-based heartbeat classification for arrhythmia detection[J]. Future Generation Computer Systems,2018,86:446-455.
[3]Saminu S ,Ozkurt N,Karaye B A . Wavelet feature extraction for ECG beat classification[C]// IEEEInternational Conference on Adaptive Science & Technology. IEEE,2015.
[4]Li H,Feng X,Cao L,et al. A New ECG Signal Classification Based on WPD and ApEn Feature Extraction[J]. Circuits Systems & Signal Processing,2016,35(1):339-352.
[5]李鸿强,魏小清,王有玺,张振,宫正,吴非凡.主成分分析和线性判别分析应用于心电信号特征提取和诊断算法研究[J].生物医学工程研究,2019,38(02):145-150.
[6]Luz E J D S,Nunes T M,De Albuquerque V H C,et al. ECG arrhythmia classification based on optimum-path forest[J]. Expert Systems with Applications,2013,40(9):3561-3573.
[7]Giorgio,A.; Rizzi,M.;Guaragnella,C. Efficient Detection of Ventricular Late Potentials on ECG Signals Based on Wavelet Denoising and SVM Classification. Information 2019,10,328.
[8]Faziludeen S,Sankaran P. ECG beat classification using evidential K-nearest neighbours[J]. ProcediaComputer Science,2016,89:499-505.
[9]Pyakillya B,Kazachenko N,Mikhailovsky N . Deep Learning for ECG Classification[J]. Journal of Physics Conference Series,2017,913:012004.
[10]Asgharzadeh-Bonab A,Amirani M C,Mehri A. Spectral entropy and deep convolutional neuralnetwork for ECG beat classification[J]. Biocybernetics and Biomedical Engineering,2020,40(2).
[11]Gang Zheng,Shengzhen Ji,Min Dai. ECG Based Identification by Deep Learning[C]// Chinese Conference on Biometric Recognition. Springer,Cham,2017.
[12]Chauhan S,Vig L . Anomaly detection in ECG time signals via deep long short-term memory networks[C]// IEEE International Conference on Data Science & Advanced Analytics. IEEE,2015.
[13]彭荣辉,赵治栋,张烨菲.EWT算法在单导联心电信号去噪中的研究[J].杭州电子科技大学学报(自然科学版),2019,39(05):13-18.
[14]Z. Zhang,J. Dong,X. Luo,K.S. Choi,X. Wu,Heartbeat classification using disease-specific feature selection, Comput. Biol. Med. 46(Suppl. C)(2014)79-89.
[15]李立策,郭兴明,王景灿,潘静.基于DSP的心电信号R波检测新算法[J].微计算机信息,2008(32):182-183.
[16]燕婷,王于超,金中一.基于CNN与GRU降噪自编码的心电信号分类方法[J].软件导刊,2020,19(04):75-78.
[17]Mondéjar-Guerra V, Novo J, Rouco J, et al. Heartbeat classification fusing temporal and morphological information of ECGs via ensemble of classifiers[J]. Biomedical Signal Processing and Control,2019,47:41-48.
[18]Chen X,Wang Y,Wang L. Arrhythmia Recognition and Classification Using ECG Morphology andSegment FeatureAnalysis[J]. IEEE/ACM transactions on computational biology and bioinformatics,2018,16(1):131-138.
[19]Singh S,Pandey S K,Pawar U,et al. Classification of ECG arrhythmia using recurrent neural networks[J]. Procedia computer science,2018,132:1290-1297.
[20]Shang L,Yang Q,Wang J,et al.Detection of rail surface defects based on CNN image recognition and classification[C]// 2018 20th International Conference on Advanced Communication Technology (ICACT).2018.
[21]Yanai K,Kawano Y . Food image recognition using deep convolutional network with pre-training and fine-tuning[C]// IEEE International Conference on Multimedia & Expo Workshops. IEEE,2015:1-6.
[22]Lei X,Pan H,Huang X . A dilated CNN model for image classification[J]. IEEE Access,2019,(99):1-1.
[23]柯丽,王丹妮,杜强,姜楚迪.基于卷积长短时记忆网络的心律失常分类方法[J].电子与信息学报,2020,42(08):1990-1998.
[24]Kong Q,Xu Y,Wang W,et al. Audio Set Classification with Attention Model:A Probabilistic Perspective[C]//International Conference on Acoustics,Speech, and Signal Processing,ICASSP 2018,15-20 April 2018. 2018.
[25]Parikh A P,Tckstrm O,et al. A Decomposable Attention Model for Natural Language Inference[J].2016.
[26]Afkhami R G,Azarnia G,Tinati M A . Cardiac arrhythmia classification using statistical and mixture modeling features of ECG signals[J]. Pattern Recognition Letters,2016,70(Jan.15):45-51.
[27]Mar T,Zaunseder S,Marti?Nez J P,et al. Optimization of ECG Classification by Means of Feature Selection[J]. 2011,58(8):2168-2177.
[28]李润川,张行进,王旭,陈刚,冀沙沙,王宗敏.基于单心搏活动特征与BiLSTM-Attention模型的心律失常检测[J].计算机应用与软件,2019,36(10):145-150.