浙江大学学报(工学版), 2022, 56(10): 1912-1923 doi: 10.3785/j.issn.1008-973X.2022.10.003

自动化技术、信息工程

基于并行架构和时空注意力机制的心电分类方法

彭向东,, 潘从成,, 柯泽浚, 朱华强, 周肖

江西财经大学 软件与物联网工程学院,江西 南昌 330032

Classification method for electrocardiograph signals based on parallel architecture model and spatial-temporal attention mechanism

PENG Xiang-dong,, PAN Cong-cheng,, KE Ze-jun, ZHU Hua-qiang, ZHOU Xiao

School of Software and Internet of Things Engineering, Jiangxi University of Finance and Economics, Nanchang 330032, China

收稿日期: 2022-03-6  

基金资助: 江西省自然科学基金资助项目(20192BAB207003);江西省教育厅科学技术研究资助项目(GJJ180263)

Received: 2022-03-6  

Fund supported: 江西省自然科学基金资助项目(20192BAB207003);江西省教育厅科学技术研究资助项目(GJJ180263)

作者简介 About authors

彭向东(1975—),男,讲师,硕导,从事机器学习、体域网和生物医学信号处理的研究.orcid.org/0000-0001-9929-6830.E-mail:pengxiangdong@jxufe.edu.cn , E-mail:pengxiangdong@jxufe.edu.cn

摘要

为了有效提取心电信号 (ECG) 的时空特征和提高分类准确性,提出基于深度学习的并行架构心电分类模型. 该模型采用基于GCA Block和GTSA Block模块实现多路特征融合的时空注意力机制. 使用双向长短时记忆网络和卷积神经网络作为基特征提取器,分别捕捉心电信号序列数据的前后依赖关系和不同尺度上的局部相关特征,实现对5种不同类型的心电信号的自动分类. 在MIT-BIH数据集上验证的结果表明,该方法对5种不同心电信号的总体分类准确率、特异性、敏感度、精确度和Macro-F1分别为99.50%、99.61%、96.20%、98.02%和97.08%. 相较于其他心电分类模型,该模型不仅能够有效地缩短网络模型深度,防止模型过拟合,而且能够更准确地提取心电信号的时空特征,获得更好的分类性能.

关键词: 心电分类 ; 数据不平衡 ; 深度学习 ; 并行架构 ; 时空注意力机制

Abstract

A parallel architecture electrocardiograph (ECG) classification model based on deep learning was proposed in order to effectively extract the spatiotemporal characteristics of ECG signals and improve the classification accuracy. A spatiotemporal attention mechanism based on gate channel attention block (GCA block) and gate time step attention (GTSA block) module was adopted in order to achieve multi-channel feature fusion. The bidirectional long-short time memory network and the convolutional neural network were used as the base feature extractor. The before-after dependence of the ECG signal sequence data and the local correlation features at different scales were captured respectively, and the automatic classification of five different types of ECG signals was realized. Results verified on the MIT-BIH dataset showed that the accuracy, specificity, sensitivity, accuracy and Macro-F1 of the total classification of five different ECG signals by the method were 99.50%, 99.61%, 96.20%, 98.02% and 97.08%, respectively. The model can not only effectively shorten the depth of the network model and prevent the model from overfitting, but also more accurately extract the spatiotemporal characteristics of the ECG signal and obtain better classification performance compared with other ECG classification models.

Keywords: electrocardiograph classification ; data imbalanced ; deep learning ; parallel architecture ; spatiotemporal attention mechanism

PDF (3015KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

彭向东, 潘从成, 柯泽浚, 朱华强, 周肖. 基于并行架构和时空注意力机制的心电分类方法. 浙江大学学报(工学版)[J], 2022, 56(10): 1912-1923 doi:10.3785/j.issn.1008-973X.2022.10.003

PENG Xiang-dong, PAN Cong-cheng, KE Ze-jun, ZHU Hua-qiang, ZHOU Xiao. Classification method for electrocardiograph signals based on parallel architecture model and spatial-temporal attention mechanism. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(10): 1912-1923 doi:10.3785/j.issn.1008-973X.2022.10.003

在全球范围内,心脏疾病的死亡率高居首位,心电图 (electrocardiograph, ECG) 辅助诊疗是目前诊断心脏疾病最直接、最有效的方法[1]. 以往的研究主要集中在以下方面. 1)利用心电RR间隔变化和波形形态特征检测[2],该类方法较简单,但针对动态心电的普适性不强. 2)利用支持向量机(support vector machine, SVM)、决策树的传统机器学习算法[3],在特定样本训练和测试集下,由于特征提取的针对性,能够发挥较好的作用,但面对大量未知测试数据时,存在需要人工提取特征和泛化能力差的问题.

近年来,深度神经网络凭借强大的特征提取能力,在医疗保健领域中得到了广泛应用. 卷积神经网络 (convolutional neural network, CNN)具有局部连通性和参数共享性,是有效的特征提取方法. Fan等[4] 使用多尺度融合CNN进行ECG信号特征提取,检测心房颤动,取得了96.99%的分类准确率. Hannun等[5] 设计4层CNN模型,在识别12类律失常时取得了较高的识别性能. 长短期记忆 (long short-term memory, LSTM) 和门控循环单元(gated recurrent cell, GRU) 是用于处理时间序列信号的神经网络,可以应用于心律失常检测[6]. Saadatnejad等[7] 提出基于小波变换和多重LSTM的连续实时的特定患者心电图分类算法. Lynn等[8] 提出基于深度双向GRU网络的生物特征心电图分类方法,在测试集上的总体分类准确率为98.55%. Yao等[9] 提出用于心律失常分类的模型,该模型集成了基于VGG-Net的CNN和LSTM层,该模型在9分类心电信号测试集上取得总体分类F1为77.3%. He等[10] 提出由残差卷积网络和双向LSTM层组成的模型,该模型在9种心律失常分类中取得的总体F1为80.6%. Yao 等[11] 提出在CNN层后引入注意力模块,该模型是检测阵发性心律失常的有效方法. Wang 等[12] 提出使用GAN和残差网络对ECG心律失常检测,在解决了数据集不平衡问题的同时,提高了分类准确率. Hou等[13] 提出基于LSTM自动编码器的网络,利用SVM对这些信号进行分类,该模型的总体准确率较高,但是对于数据量较少的心率失常类别,分类准确率较低.

相较于现有的神经网络模型,本文提出的神经网络模型是并行架构,采用2种尺度卷积对心电信号进行局部空间特征提取,分为2路特征向量分别处理. 另设一路为增强特征向量,该特征向量是心电信号经过长短时记忆网络提取的时序特征,结合设计的GCA Block (gate channel attention block)和GTSA Block (gate time step attention block) 模块,实现时空注意力机制,使得提取到心电信号的特征损失最小,实现对不同心电信号的精确分类.

1. 方法简介

1.1. 数据预处理

采用的数据来自于 MIT-BIH 心率失常数据库[14]. 该数据库是目前在心电信号分类研究领域使用最广泛的心电信号数据库,由麻省理工学院和波士顿贝丝以色列医院共同记录完成. 在 MIT-BIH心率失常数据库中,包含来自47名受试者(编号201与编号202来自同一受试者个体)的心电信号数据,每条记录30 min,共计48条记录数据. 在原始心电信号中常会夹杂基线漂移、工频干扰、肌电干扰等噪声,这会在一定程度上影响心电分类的准确率. 为了抑制噪声,采取小波软阈值去噪算法[15]. 在对小波进行多尺度分解后,通过对每层的高频系数进行阈值设定和消噪处理,利用小波逆变换将各层依次进行小波重构,得到去噪后的信号. 图1中,V为心电信号电压. 如图1所示,对比原始心电信号与去噪后的信号可以看出,利用小波软阈值去噪算法可以较好地消除噪声,去噪后的信号更平滑,保留了有用信号.

图 1

图 1   小波方法的去噪对比图

Fig.1   ECG signal comparison with noise reduction using wavelet method


由于本文分类方法是针对心拍数据的,在心电信号去噪后须完成心电信号心拍分割. 根据MIT-BIH心率失常数据库中对QRS波位置的标记,可以将连续的心电信号分割成单个的心拍数据. 由心电信号的特性可知,R波峰的位置偏向于P波,不位于心拍的中心位置. 以R波峰为基准点,前、后分别取160和180个数据点,分割出完整的心拍.

按照AAMI标准[16]将心拍分为5种类型:正常心拍(N)、室上性早搏(S)、室性早搏(V)、融合心拍(F) 和未知心拍(Q). 将MIT-BIH心律失常数据库48条心电记录分割并按照AAMI标准分类后,分别得到N类型心拍90 519个、V类型心拍7 140个、S类型心拍2 757个、F类型心拍800个和Q类型心拍8 034个,共计109 250个心拍. 从每种类型的心拍中选取一个形态,如图2所示.

图 2

图 2   5种类型心拍的形态图

Fig.2   Five types of heart beat morphology


1.2. 数据增强

深度学习模型具有强大的自动提取特征和表达能力,在训练和优化过程中,需要一定数量的训练数据才能达到模型最优点. 当数据量不足时,容易出现过拟合和局部最优解的现象,严重影响模型的性能. 从1.1节可知,心电信号分类存在数据不平衡的问题,S、V、F、Q 、N这5种心拍类型,在心拍数量上相差较大,数量比例严重失衡. 利用自适应合成采样 (adaptive synthetic sampling, ADASYN)算法[17],合成少数类型的心拍样本,以获得更多少数类的训练数据,提升模型的分类性能. 具体算法的流程如下.

1)计算需要合成的样本数量:

$ G=\left(S_{\mathrm{maj}}-S_{\min }\right) \beta . $

式中: $ S_{\mathrm{maj}} $为多数类样本数量; $ S_{\min } $为少数类样本数量;β为系数, $\;\beta \in [0,1.0]$$ G $为总共需要合成的少数类样本数量.

2)对于每个少数类样本 $ x_{i} $,找出 $ K $近邻点,计算:

$ \varGamma_{i}=\frac{\varDelta_i / K}{Z} .$

式中: $ \varDelta_{{i}} $$ K $近邻点中多数类样本的数量; $ {Z} $为规范化因子,以确保 $ \varGamma $构成一个密度分布.

3)针对每个少数类样本,计算需要合成的样本数量:

$ g_{i}=\varGamma_{i} G . $

4)从 $ x_{i} $近邻点中随机选取 $ \hat{x}_{i} $,利用下式计算合成新样本:

$ x_{\text {new }}=\left(\hat{x}_{{i}}-x_{{i}}\right) \eta+x_{{i}} .$

式中: $ x_{\text {new }} $为合成的新样本;η为随机数, $ \eta $ $ \in [0,1.0] $.

该算法利用分布 $ \varGamma $自动决定每个少数类样本需要合成的样本数量,给每个少数类样本施加权重. 周围的多数类样本越多,则权重越高.

参考训练集划分规则[18],将心拍数据集按照如图3所示的方式划分为训练集和测试集. 利用ADASYN算法对训练集进行数据增强,得到后续实验所需要的训练集.

图 3

图 3   ECG数据集划分的比例

Fig.3   Proportion of ECG dataset split


表1所示为数据增强前训练集和测试集的心拍数量Nb对比,如表2所示为数据增强后训练集的心拍数量对比. 为了保证测试集数据的真实性,只针对已划分好的训练集中的4种少数类心拍数据进行数据增强. 从表1可知,心电信号数据集按照8∶2的比例划分后,训练集共87 400个心拍样本,测试集共21 850个心拍样本. 从表2可知,在对训练集的少数类心拍数据增强后,N类心拍数量不变,S、V、F、Q 4种类型心拍数量的生成比例分别为1.43、1.28、4.16、1.34.

表 1   数据增强前训练集和测试集的心拍数量对比

Tab.1  Comparison of number of heartbeats in training and test sets before data augment

心律类型 Nb
训练集 测试集 总计
N 72379 18140 90519
S 2206 551 2757
V 5762 1378 7140
F 629 171 800
Q 6424 1610 8034

新窗口打开| 下载CSV


表 2   数据增强后训练集的心拍数量对比

Tab.2  Comparison of number of heartbeats in training set after data augment

心律类型 Nb
数据增强前 数据增强后
N 72379 72379
S 2206 3152
V 5762 7365
F 629 2617
Q 6424 8593

新窗口打开| 下载CSV


1.3. 并行架构模型

目前,在心电信号分类领域中,CNN和LSTM 是应用最多的分类模型. 相关的研究人员大多将CNN和LSTM分开训练或者采用串行的方式将CNN层的输出作为 LSTM的输入[19-20]. 使用联合训练的方式,规避串行方式增加模型深度所带来的问题;融合时空注意力机制,达到降低训练复杂度和提升模型性能的目的. 设计并行架构模型,以CNN和Bi-LSTM为基特征提取模型,分为3条并行支路,分别提取ECG信号特征. 利用Concate层和Softmax层,对心电信号进行特征融合和自动分类. 整体模型结构如图4所示,具体参数的设置如表3所示.

图 4

图 4   并行架构模型

Fig.4   Structure of parallel architecture model


表 3   并行架构模型的参数

Tab.3  Parameters of parallel architecture model

类型 网络层 激活函数 卷积核数 神经元数 步长
输入 输入层 340×1
输入 1D Conv + BN Relu 32 7×1 1
大尺度 最大池化层 3×1 2
大尺度 GCA Block×4
大尺度 1D Conv + BN Relu 32 5×1 1
小尺度 最大池化层 2×1 2
小尺度 GCA Block×3
小尺度 Bi-LSTM+BN Tanh 170×1
Bi-LSTM GTSA Block
Bi-LSTM GAP
特征融合 Concate
特征融合 全连接层 Relu 256×1
特征融合 Dropout
输出 全连接层 Relu 128×1
输出 Addition
输出 全连接层 Softmax 5×1

新窗口打开| 下载CSV


表3中,输入层大小为340,大尺度和小尺度输入分别由大小为7和5的卷积窗口处理得到. 最大池化层用于数据降维,分别根据不同卷积层的输出尺寸设置相应尺寸和步长. Bi-LSTM层将隐藏单元设置为170个,采用全输出模式,且在Bi-LSTM层后加全局平均池化层(global average pooling, GAP)用于数据降维. 将来自不同支路的特征融合,作为全连接分类器输入,为了防止过拟合,将Dropout Rate设置为0.5,最后Softmax的输出为分类结果.

在该模型中,CNN通过卷积核来捕捉输入序列的局部相关特征,其中的不同尺度表示对输入序列采用不同的滑动窗口进行处理. 卷积核的结构使得 CNN难以提取到序列数据中的前后依赖关系, Bi-LSTM通过引入记忆单元能够弥补这一缺陷[21-24],如图5所示为Bi-LSTM的整体结构. 从图4可以看出,该模型中的时空注意力机制是通过GCA Block和GTSA Block 2个模块实现的,具体的实现方式在1.4节介绍. 在GCA Block模块中,为了降低网络深度和保留CNN原始输出信息,采用残差的方式融合通道注意力机制. 在GTSA Block模块中,由于Bi-LSTM的输出具有前后相关的连续性,采用直连的方式,融合Bi-LSTM的输出与时间步注意力机制.

图 5

图 5   Bi-LSTM的整体结构

Fig.5   Overall structure of Bi-LSTM


1.4. 时空注意力机制

提出的时空注意力机制由2部分组成:1)基于门控机制和通道注意力机制的GCA Block (gate channel attention Block),关注不同特征通道间的依赖关系;2)基于门控机制和时间步注意力机制的GTSA (gate time step attention) Block,关注输入序列的特征在不同时间点上的依赖关系. 时空注意力机制的引入,不但提高了该模型在ECG分类方面的性能,而且该机制的可扩展性强.

1.4.1. GCA Block

在传统方法中,对于不同CNN层的输入输出操作,是将上一层特征图传到下一层,不考虑不同通道特征图之间的关系. 提出的GCA Block根据网络全局损失函数的优化过程,利用门控机制自适应地调整不同通道之间的权重,建模通道之间的相互依赖关系[24]. 门控机制采用双层全连接的方式,对不同特征通道间的相关性进行建模,得到代表相关性的特征向量. 利用Sigmoid函数,将特征向量映射到[0,1]空间,将特征向量与原始特征通道的内积作为输出. GCA Block的具体结构如图6所示. 可以看出,该模块主要分为压缩和还原2个步骤. 压缩操作通过在 $ \boldsymbol{h}_{1} $$ \boldsymbol{h}_{1} $表示不同通道特征向量的集合)上执行全局平均池化操作,得到每个通道的全局压缩特征向量 $ {\boldsymbol{h}}_{{\rm{a}}}^{1} $. 还原操作使用2层全连接构成门控机制,利用Relu和Sigmoid激活函数,得到每个通道的权值向量 $ \boldsymbol{h}_{{\rm{a}}}^{3} $. 将原始特征通道特征向量 $ \boldsymbol{h}_{1} $与权值向量 $ \boldsymbol{h}_{{\rm{a}}}^{3} $进行内积,得到加权后的特征向量 $ \hat{\boldsymbol{h}} $.$ \hat{\boldsymbol{h}} $进行批量归一化和最大池化操作,得到最终的输出 $ {\boldsymbol{h}}_{{\rm{c}}} $,作为下一层网络的输入.

图 6

图 6   GCA Block的具体结构

Fig.6   Structure of GCA Block


$ {\boldsymbol{h}}_{{\rm{a}}}^{1} $由下式得出:

$ {\boldsymbol{h}}_{{\rm{a}}}^{1}={\rm{GAP}}\left({h}_{1}\right)=\frac{1}{W} \sum_{i=1}^{W} {\boldsymbol{h}}_{1}(i, j) .$

式中: $ \boldsymbol{x} $为输入向量; $ {\boldsymbol{h}}_{1} $$ \boldsymbol{x} $经过卷积操作输出的特征向量集; $ W $$ {\boldsymbol{h}}_{1} $的长度; $ {\boldsymbol{h}}_{{\rm{a}}}^{1} $向量大小为 $ 1 \times C_{\text {avgpool }} $,其中 $ C_{\text {avgpool }} $$ {\boldsymbol{h}}_{1} $中的通道数. $ \boldsymbol{h}_{{\rm{a}}}^{2} $由下式得出:

$ {\boldsymbol{h}}_{{\rm{a}}}^{2}={\boldsymbol{W}}_{1} \cdot \delta\left({\boldsymbol{h}}_{{\rm{a}}}^{1}\right). $

式中: $ \delta $为Relu激活函数; $ \boldsymbol{h}_{{\rm{a}}}^{2} $向量大小为 $ 1 \times C_{\rm {avgpool }} / R $,其中 $ R $为门限宽度,本文设置为16. $ \boldsymbol{h}_{{\rm{a}}}^{3} $计算如下:

$ {\boldsymbol{h}}_{{\rm{a}}}^{3}={\boldsymbol{W}}_{2} \cdot \sigma\left({\boldsymbol{h}}_{{\rm{a}}}^{2}\right) .$

式中: $ \sigma $为Sigmoid激活函数; $ {\boldsymbol{W}}_{1} $$ {\boldsymbol{W}}_{2} $分别为2个全连接层的权值矩阵,经过还原操作得到与 $ {\boldsymbol{h}}_{{\rm{a}}}^{1} $大小相同但值不同的 $ \boldsymbol{h}_{{\rm{a}}}^{3} $. 经过加权、批量归一化和最大池化操作,得到最终输出 $ {\boldsymbol{h}}_{{\rm{c}}} $.

1.4.2. GTSA Block

为了学习特征图中不同时间片段的依赖关系,设计基于时间步注意力机制的TSA Block. 如图7所示,采用门控机制为不同时间片段自适应分配权重.

图 7

图 7   GTSA Block的具体结构

Fig.7   Structure of GTSA Block


$ {\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}} $$ {\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}} $表示不同时间片段的特征)上执行全局平均池化操作 (global average pooling) ,得到 $ {\boldsymbol{h}}_{{\rm{l}}}^{1} $. 用2层全连接构成门机制,利用Relu和Sigmoid激活函数,得到每个时间片特征的权值向量 $ \boldsymbol{h}_{{\rm{l}}}^{3} $.${\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}}$进行加权,作为下一层网络的输入. 图7中, ${\boldsymbol{x}} $为输入向量, $ {\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}} $$ {\boldsymbol{x}} $经过Bi-LSTM和批量归一化操作输出的特征图. $ {\boldsymbol{h}}_{{\rm{l}}}^{1} $由下式得出:

$ {\boldsymbol{h}}_{{\rm{l}}}^{1}={\rm{GAP}}\left({\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}}\right)=\frac{1}{H} \sum_{i=1}^{H} {\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}}(i, j). $

式中: $ H $$ {\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}} $的长度; $ {\boldsymbol{h}}_{{\rm{l}}}^{1} $向量大小为 $ 1 \times L_{\text {avgpool }} $,其中 $ L_{\text {avgpool }} $$ {\boldsymbol{h}}_{{\rm{l}}}^{{\rm{o}}} $中的时间片特征数量. $ \boldsymbol{h}_{{\rm{l}}}^{2} $由下式得出:

$ \boldsymbol{h}_{{\rm{l}}}^{2}={\boldsymbol{H}}_{1} \cdot \delta\left(\boldsymbol{h}_{{\rm{l}}}^{1}\right) .$

式中: $ \boldsymbol{h}_{{\rm{l}}}^{2} $向量大小为 $ 1 \times L_{\text {avgpool }} / R_{1} $. $ \boldsymbol{h}_{{\rm{l}}}^{3} $计算如下:

$ {\boldsymbol{h}}_{{\rm{l}}}^{3}={\boldsymbol{H}}_{2} \cdot \sigma\left({\boldsymbol{h}}_{{\rm{l}}}^{2}\right) .$

式中: $ \boldsymbol{H}_{1} $$ {\boldsymbol{H}}_{2} $分别为2个全连接层的权值矩阵,经过加权操作得到最终输出 $ {\boldsymbol{h}}_{{\rm{l}}} $.

2. 实验与结果分析

2.1. 实验平台及损失函数的选择

实验所用服务器基于 64 位的 Window10 系统,显卡是NVIDIA 2080Ti,驱动版本为 456.71,CUDA 版本为 11.1.96. 本文算法基于Python下的Keras和TensorFlow框架实现.

MIT-BIH心率失常数据库中存在严重的数据不平衡问题,为了在模型训练过程中增大少数类型心拍的关注度,用Focal Loss作为损失函数[25-26]. 与传统交叉熵损失函数相比,Focal Loss作出了改进. 优势在于按照一定的比例因子,对于预测准确率低的样本,保留大部分交叉熵损失;对于预测准确率高的样本,减小交叉熵损失. 在模型训练的过程中,预测准确率较低的少数类样本的交叉熵损失在总体中的比例会逐渐增加,模型会更专注于优化由少数类样本带来的损失.

2.2. 评估指标

为了更真实、客观地验证分类器结果,采取数据集上的5折交叉验证算法[24]. 将数据集D均匀划分为5个互斥子集,划分过程中采用分层随机采样,保持数据集本身的分布特性. 每次使用4个子集作为训练集,剩余1个子集作为测试集,总共进行5次训练和性能测试,保证单个模型内每次训练的训练集均不同,避免了数据划分随机性所造成的影响. 对于所有的实验结果,用总体分类准确率(overall accuracy, OA)、特异性 (specificity, Spe)、敏感度 (sensitivity, Sen)、精确度 (precision, Pre) 和Macro-F1作为评价标准进行评估. 具体的计算方法[27-29]如下.

$ {\rm{O}} {\rm{A}}=\frac{{\rm{T}} {\rm{N}}+{\rm{T}} {\rm{P}}}{{\rm{T}} {\rm{N}}+{\rm{F}} {\rm{P}}+{\rm{F}} {\rm{N}}+{\rm{T}} {\rm{P}}} \times 100 {\text{%}} , $

$ {\rm{Spe}}=\frac{{\rm{TN}}}{{\rm{TN}}+{\rm{FP}}} \times 100 {\text{%}}, $

$ {\rm{Pre}}=\frac{{\rm{TP}}}{{\rm{TP}}+{\rm{FP}}} \times 100 {\text{%}}, $

$ {\rm{Sen}}=\frac{{\rm{TP}}}{{\rm{TP}}+{\rm{FN}}} \times 100 {\text{%}} ,$

$ { F_1 }=2 \times \frac{ { {\rm{Sen}} } \times {\rm{Pre}}}{{{\rm{Sen}}}+{\rm{Pre}}} \times 100 {\text{%}}, $

$ {\rm{Macro}}{\text{-}} F_1 = K^{-1}{{\displaystyle\sum_{i = 1}^K {F_1 } }} \times 100 {\text{%}}. $

式中: $ {{\rm{ Pre }}} $为精确度, $ { {\rm{Sen}} } $为敏感度,两者用来计算 $ F_1 $$ {\rm{TP}} $为正确分类的正例样本数量; $ {\rm{TN}}$为正确分类的负例样本数量; $ {\rm{FP}} $为负例样本被错误地分类为正例样本的数量; $ {\rm{FN}} $为正例样本被错误地分类为负例样本的数量. 在所有的测试实验中, $ {\rm{OA}} $表示被正确分类的心拍在所有测试样本中所占的比例; $ {\rm{Spe}} $表示所有负例中被正确分类的比例,衡量了模型对负例的分类能力; $ { {\rm{Macro}}-F_1 } $$ K $取5,对5种类型的心拍分别计算 $ F_1 $,取均值得到,不受数据不平衡的影响,适合作为提出模型的评价指标.

2.3. 分类结果与分析

在串行架构模型中,不需要对数据集进行特殊处理,GCA Block和GSTA Block采用前后相接的方式. 在训练过程中需要不同阶段的输入输出相互依赖,增加了模型网络的深度. 在并行架构模型中,存在3个子模型. 将数据集分成独立同分布的3份,对于每个子模型,采取并行预训练的方式,获得子模型收敛的权重矩阵. 基于预训练的权重矩阵和完整数据集,采取特征融合的方式进行联合训练,获得最终模型的权重矩阵. 实验表明,在相同的硬件条件下,相较于串行架构模型,并行架构模型的训练效率和测试效率平均提升了6.3和2.4倍. 在利用5折交叉校验法进行验证后,所得数据表明可以实现对5种不同类型心拍的准确分类. 图8中,L为损失值. 对于串行架构模型,当训练迭代次数E < 80时,分类准确率和损失值曲线都出现不同程度的上下波动,这是由于在训练过程中模型参数需要不断优化,以寻找使得损失函数值最小的参数组合. 当训练迭代次数超过100时,从 图8可以看出,串行测试集的损失值逐渐增大,串行训练损失值逐渐减小,此时串行架构模型出现过拟合问题. 相较于串行架构模型,当训练迭代次数为60时,并行架构模型的准确率曲线图已经收敛,曲线波动程度极小,训练过程平稳. 在迭代次数超过80后,并行训练的准确率接近于100%,并行训练损失值接近于0,曲线相对平坦. 对于测试集,分类准确率为99.45%~99.55%,损失值接近于0.01且数据波动极小,没有出现过拟合的现象.

图 8

图 8   在训练过程和测试验证过程中心拍分类的准确率和损失值曲线

Fig.8   Accuracy and loss curves of heartbeat classification during training and test validation


对于训练和测试验证过程而言,并行架构模型具有训练过程平稳、模型收敛较快、更易于达到全局最优点的特点,在训练过程中不会出现过拟合的现象,这对于进一步提高模型的准确率和泛化能力具有重要意义.

在训练好的模型上,对共计21 850个心拍进行测试. 如图9所示为测试结果的混淆矩阵,如表4所示为在不同评价指标下的分类效果. 由于不同类别样本的数量不平衡,模型对 N、V、Q 类都有较好的分类能力,但是对 S、F 类的分类能力较差. 若本文不作数据不平衡处理,则对S、F类的分类效果会更差. 从图9可以看出,N 类和S类相互之间的误判率较高,这是由于2种类型心拍的相似度较高. 从图9可以看出,心拍分类的OA为99.50%. 如表4所示,分别对每种类型心拍计算F1,取均值得到Macro-F1为97.08%.

图 9

图 9   心拍分类的混淆矩阵

Fig.9   Confusion matrix of heartbeat classification


表 4   不同评价指标下的分类结果

Tab.4  Classification results over different evaluation metrics

心律类型 Spe/% Sen/% Pre/% F1/%
N 98.25 99.84 99.64 99.74
S 99.90 94.37 95.94 95.15
V 99.94 98.19 99.12 98.65
F 99.97 88.89 95.60 92.12
Q 99.99 99.81 99.81 99.75

新窗口打开| 下载CSV


在多分类任务中,数据增强是处理数据不平衡和提升分类效果的有效方式. 采用ADASYN算法对原始心电信号进行数据增强处理,对心电信号分类效果的影响如图10所示,分类效果提升值Pi取数据增强前、后差值的相反数.

图 10

图 10   数据增强对心电信号分类效果的影响

Fig.10   Effect of data enhancement on effectiveness of ECG signal classification


图10表明,数据增强对4种少数类型的心电数据的分类效果提升明显. 在4种数据指标中,Sen和Macro-F1提升最明显,原因是这2种指标关注的是该类型的真阳性率,属于局部关注度,因此单个类型心电数据的变化对这2种指标的影响较大. F类型的分类效果提升值最高,Sen和Macro-F1分别提升了2.37%和2.26%. N类型的分类效果提升值最低,由于其属于多数类型数据,未进行数据增强,提升值只受其他4种类型心电分类效果提升所带来的隐性影响.

表5所示为本文方法与其他方法的分类效果对比. 可知,本文方法在总体分类准确率和特异性上均高于其他方法,在敏感度和Macro-F1上高于大多数其他方法. Gao等[31]的方法与本文一样,都用Focal Loss作为损失函数,但只用LSTM进行特征提取,准确率和特异性较低. Chen等[21]将MITDB数据集分为病人间和病人内,因为同一类型ECG信号在不同个体间的差异性较大,在病人内测试中准确率高达99.56%,在病人间测试中只有96.77%. Luo等[27]与本文一样,均设计新模型对心拍分类,但是Luo等[27]采用加权平均法计算敏感度和Macro-F1,本文采用取均值法. 与表5的其他文献相比,本文方法在心电信号分类方面的总体准确率最高.

表 5   本文方法与其他方法的分类效果对比

Tab.5  Comparison of classification performance by proposed network and other methods

方法 类别 方法 OA/% Spe/% Sen/% Macro-F1/%
文献[19]方法 5 CNN-LSTM 98.10 98.70 97.50
文献[30]方法 5 FCMDBN 96.54 98.32
文献[31]方法 8 4-layer LSTM 99.26 99.14 99.26
文献[32]方法 5 CAE + LSTM 99.23
文献[20]方法 5 STFT + 2-DCNN 99.0
文献[18]方法 5 CNN + BLSTM 95.90 95.90 95.92
文献[21]方法 4 CNN + BLSTM 99.56 99.47 95.90 96.40
文献[27]方法 5 HCRNet 98.70 99.28 99.38
本文方法 5 PSTA- Net 99.50 99.61 96.20 97.08

新窗口打开| 下载CSV


3. 分析与讨论

3.1. 心电信号可视化分析

影响心电分类性能的因素除了心电数据不平衡之外,还与不同类型心电信号的相似度有关. 在MIT-BIH心律失常数据库中,5种类型心电信号的形态相似度具有一定程度的差异,这种差异包括心电信号在同种类型间的差异和不同类型间的差异. 如图11所示为5种类型心电信号的热度图,其中的颜色由亮到暗代表相似度从高到低.

图 11

图 11   5种类型心电信号的热度图

Fig.11   Heat-map of five types of ECG signals


图11可以看出,对于同种类型的心电信号,N和S类型热度图中的亮点相对集中且连续,说明N和S类型心电信号的类内相似度高. F、Q和V类型热度图中的亮点相对分散且呈片段式,说明这3种类型心电信号的类内相似度较低. 对于不同类型的心电信号,N和S类型热度图之间的形态相似度较高,结合上述类内相似度高的特点,说明这2种类型信号间的特征相似度高,对精确分类造成一定的困难. F、Q和V类型热度图之间的形态相似度较低,结合上述类内相似度较低的特点,说明这3种类型信号间的特征相似度较低,不会成为精确分类的瓶颈(数据不平衡是对应的瓶颈,在数据预处理部分已采用ADASYN算法进行相应的处理).

为了实现对5种不同类型心电信号的准确分类,提高N和S类型的分类精确度,采用不同尺度的窗口处理和时空注意力机制方法.

3.2. 分类模型优化

采用小尺度和大尺度2种方法,开展相关实验和结果比对,通过并行架构进行多尺度特征融合. 如表6所示为小尺度方法下的心拍分类结果,在Spe、Sen、Pre、F1评价指标下的均值分别为98.61%、94.16%、96.90%、95.48%.

表 6   小尺度方法的心拍分类结果

Tab.6  Beat classification results of small-scale methods

心律类型 Spe/% Sen/% Pre/% F1/%
N 98.15 98.31 99.43 98.87
S 97.41 92.05 93.14 92.59
V 99.37 97.11 98.13 97.62
F 98.42 85.07 94.39 89.49
Q 99.71 98.27 99.43 98.85

新窗口打开| 下载CSV


表7所示为大尺度方法的心拍分类结果,在Spe、Sen、Pre、F1评价指标下的均值分别为99.09%、94.72%、97.11%、95.86%.

表 7   大尺度下的心拍分类效果

Tab.7  Beat classification results of large-scale methods

心律类型 Spe/% Sen/% Pre/% F1/%
N 99.21 99.12 99.39 99.25
S 98.54 93.29 93.42 93.36
V 99.48 96.75 98.73 97.73
F 98.53 85.36 94.71 89.79
Q 99.69 99.07 99.28 99.17

新窗口打开| 下载CSV


表8所示为多尺度特征融合的心拍分类结果,在Spe、Sen、Pre、F1 、OA评价指标下的均值分别为99.33%、95.06%、97.63%、96.29%、99.27%. 在对应的评价指标上,较表6分别提升了0.71%、0.89%、0.73%、0.81%,较表7分别提升了0.25%、0.34%、0.52%、0.43%. 数据表明,在单一尺度下对5种类型心拍的分类效果较差. 其中,对N和S类型心拍分类效果的影响最大,相较于小尺度和大尺度方法,采用多尺度融合分类后,N类型心拍的Sen、Pre、F1提升比例分别为0.62%、0.25%、0.43%,S类型心拍的Sen、Pre、F1提升比例分别为1.35%、1.70%、1.52%.

表 8   多尺度下的心拍分类效果

Tab.8  Beat classification results of multi-scale methods

心律类型 Spe/% Sen/% Pre/% F1/%
N 99.34 99.33 99.66 99.49
S 98.29 94.02 94.98 94.50
V 99.53 97.01 99.03 98.01
F 99.66 85.73 95.17 90.20
Q 99.81 99.19 99.31 99.25

新窗口打开| 下载CSV


在经过多尺度窗口处理后,对于所有类型心拍的分类效果更好. 在多尺度特征融合的基础上,引入本文设计的时空注意力机制,得到的心拍分类效果如表4所示. 与表8相比,在引入时空注意力机制后,5种评价指标分别提升了0.28%、1.14%、0.39%、0.79%、0.23%,增强了心拍的分类效果.

3.3. 模型性能验证

采用5折交叉校验法验证模型的性能,利用5个互斥的数据集进行5次独立的实验,可以在最大程度上减少数据集对心拍分类结果的影响. 如表9所示为经过5折交叉验证的5次分类结果. 分别利用特异性、敏感度和F1指标,对5种类型的心拍分类结果进行对比. 在5次独立实验中,敏感度曲线较其他2个指标的波动最小,说明设计模型的鲁棒性较好. 在5种类型的心拍中,N和F类心拍的分类效果变化相对较大,这是由于数据不平衡引起的. 尽管本文利用自适应合成采样算法合成了一定的少数类型心拍样本,但只能起到一定程度的作用,这一点需要改进. 3个指标均保持在1%的波动范围内,5种类型心拍的分类效果明显,说明设计模型的性能较好.

表 9   基于5折交叉验证的模型分类性能波动范围

Tab.9  Model classification performance fluctuation range based on 5-fold cross-validation

心律类型 Sen/% F1/% Spe/%
N ±0.24 ±0.27 ±0.13
S ±0.41 ±0.52 ±0.24
V ±0.39 ±0.57 ±0.19
F ±0.87 ±0.93 ±0.95
Q ±0.23 ±0.21 ±0.15

新窗口打开| 下载CSV


与其他方法相比,该方法采用并行架构,在减小网络深度的同时,采用GCA Block和GSTA Block 2个模块实现时空注意力机制,融合不同的心电信号特征,实现了对心电信号的准确分类. 通过多尺度窗口和基于通道注意力机制的卷积操作,不仅能够发挥卷积操作提取深层次波形特征的能力,而且加强了心电信号不同特征通道间的联系. 在一维数据上使用的卷积操作属于局部空间共享参数,无法充分提取心电信号的时序相关信息,因此通过基于时间步注意力机制的TSA Block提取心电信号的时序特征. 将不同的心电信号特征按一定的方式融合,实现了更多层次的心电信号特征提取,提升了分类效果.

4. 结 语

本文根据心电信号的特性和深度学习的特点,提出基于并行架构模型和时空注意力机制的心电信号分类方法. 该方法能够自动提取心电信号的局部相关特征和时序特征,融合时空注意力机制,实现对卷积通道和时间步的自适应关注度. 与其他心电分类算法相比,本文模型不仅准确率高,而且鲁棒性和泛化能力都较好,不容易出现过拟合. 在MIT-BIH心率失常数据库的21 850个样本中,经过5折交叉验证可知,测试结果的准确率为 99.50%,特异性为99.61%,Macro-F1为97.08%. 在ECG数据增强的过程中,自适应合成采样法与Focal Loss损失函数的效果优于其他数据不平衡处理算法. 考虑采用不同数据集,利用多导联心电数据及相关性进行数据增强和分类优化,提高心电信号分类的准确性,为临床心电图诊断提供了有效的辅助手段和途径.

参考文献

EBRAHIMI Z, LONI M, DANESHTALAB M, et al

A review on deep learning methods for ECG arrhythmia classification

[J]. Expert Systems with Applications: X, 2020, 7: 100033

DOI:10.1016/j.eswax.2020.100033      [本文引用: 1]

CHOI S, ADNANE M, LEE G J, et al

Development of ECG beat segmentation method by combining low-pass filter and irregular R–R interval checkup strategy

[J]. Expert Systems with Applications, 2010, 37 (7): 5208- 5218

DOI:10.1016/j.eswa.2009.12.069      [本文引用: 1]

ASL B, SETAREHADN S, MOHEBBI M

Support Vector machine-based arrhythmia classification using reduced features of heart rate variability signal

[J]. Artificial Intelligence in Medicine, 2008, 44 (1): 51- 64

DOI:10.1016/j.artmed.2008.04.007      [本文引用: 1]

FAN X, YAO Q, CAI Y, et al

Multi-scaled fusion of deep convolutional neural networks for screening atrial fibrillation from single lead short ecg recordings

[J]. IEEE Journal of Biomedical and Health Informatics, 2018, 22 (6): 1744- 1753

DOI:10.1109/JBHI.2018.2858789      [本文引用: 1]

HANNUN A Y, RAJPURKAR P, HAGHPANAHI M, et al

Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms using a deep neural network

[J]. Nature Medicine, 2019, 25 (1): 65- 69

DOI:10.1038/s41591-018-0268-3      [本文引用: 1]

ZHANG J, LIU A, GAO M, et al

ECG-based multi-class arrhythmia detection using spatio-temporal attention based convolutional recurrent neural network

[J]. Artificial Intelligence in Medicine, 2020, 106: 101856

DOI:10.1016/j.artmed.2020.101856      [本文引用: 1]

SAADATNEJAD S, OVEISI M, HASHEMI M

LST-M based ECG classification for continuous monitoring on personal wearable devices

[J]. IEEE Journal of Biomedical and Health Informatics, 2019, 24 (2): 515- 523

[本文引用: 1]

LYNN H M, PAN S B, KIM P

A deep bidirectional GRU network model for biometric electrocardiogram classification based on recurrent neural networks

[J]. IEEE Access, 2019, 7: 145395- 145405

[本文引用: 1]

YAO Q, FAN X, CAI Y, et al. Time-incremental convolutional neural network for arrhythmia detection in varied-length electrocardiogram [C]// 2018 IEEE 16th International Conference on Dependable, Autonomic and Secure Computing, 16th International Conference on Pervasive Intelligence and Computing, 4th International Conference on Big Data Intelligence and Computing and Cyber Science and Technology Congress. Athens: IEEE, 2018: 754-761.

[本文引用: 1]

HE R, LIU Y, WANG K, et al

Automatic cardiac arrhythmia classification using combination of deep residual network and bidirectional LSTM

[J]. IEEE Access, 2019, 7: 102119- 102135

DOI:10.1109/ACCESS.2019.2931500      [本文引用: 1]

YAO Q, WANG R, FAN X, et al

Multi-class arrhythmia detection from 12-lead varied-length ECG using attention based time-incremental convolutional neural network

[J]. Information Fusion, 2020, 53: 174- 182

DOI:10.1016/j.inffus.2019.06.024      [本文引用: 1]

WANG P, HOU B, SHAO S, et al

ECG arrhythmiasdetection using auxiliary classifier generative adversarial network and residual network

[J]. IEEE Access, 2019, 27 (2): 100910- 100922

[本文引用: 1]

HOU B, YANG J, WANG P, et al

LSTM-based auto-encoder model for ECG arrhythmias classification

[J]. IEEE Transactions on Instrumentation and Measurement, 2019, 69 (4): 1232- 1240

[本文引用: 1]

MOODY G B, MARK R G

The impact of the MIT-BIH arrhythmia database

[J]. IEEE Engineering in Medicine and Biology Magazine, 2001, 20 (3): 45- 50

DOI:10.1109/51.932724      [本文引用: 1]

ZHANG M, LU C, LIU C

Improved double-threshold denoising method based on the wavelet transform

[J]. OSA Continuum, 2019, 2 (8): 2328- 2342

DOI:10.1364/OSAC.2.002328      [本文引用: 1]

ANSI/AAMI. Testing and reporting performance results of cardiac rhythm and ST segment measurement algorithms[S]. Washington: ANSI, 2008.

[本文引用: 1]

HE H, BAI Y, GARCIA E A, et al. ADASYN: adaptive synthetic sampling approach for imbalanced learning [C]// 2008 IEEE International Joint Conference on Neural Networks. Hongkong: IEEE, 2008: 1322-1328.

[本文引用: 1]

XU X, JEONG S, LI J

Interpretation of electrocardiogram (ECG) rhythm by combined CNN and BiLSTM

[J]. IEEE Access, 2020, 28 (3): 125380- 125388

[本文引用: 2]

OH S L, NG E Y K, SAN T R, et al

Automated diagnosis of arrhythmia using combination of CNN and LSTM techniques with variable length heart beats

[J]. Computers in Biology and Medicine, 2018, 102: 278- 287

DOI:10.1016/j.compbiomed.2018.06.002      [本文引用: 2]

HUANG J, CHEN B, YAO B, et al

ECG arrhythmia classification using STFT-based spectrogram and convolutional neural network

[J]. IEEE Access, 2019, 7: 92871- 92880

DOI:10.1109/ACCESS.2019.2928017      [本文引用: 2]

CHEN A, WANG F, LIU W, et al

Multi-information fusion neural networks for arrhythmia automatic detection

[J]. Computer Methods and Programs in Biomedicine, 2020, 193: 105479

DOI:10.1016/j.cmpb.2020.105479      [本文引用: 3]

RAMARAJ E

A novel deep learning based gated recurrent unit with extreme learning machine for electrocardiogram (ECG) signal recognition

[J]. Biomedical Signal Processing and Control, 2021, 68: 102779

DOI:10.1016/j.bspc.2021.102779     

JIN Y, QIN C, HUANG Y, et al

Multi-domain modeling of atrial fibrillation detection with twin attentional convolutional long short-term memory neural networks

[J]. Knowledge-Based Systems, 2020, 193: 105460

DOI:10.1016/j.knosys.2019.105460     

GE R, SHEN T, ZHOU Y, et al

Convolutional squeeze-and-excitation network for ECG arrhythmia detection

[J]. Artificial Intelligence in Medicine, 2021, 121: 102181

DOI:10.1016/j.artmed.2021.102181      [本文引用: 3]

LU Y, JIANG M, WEI L, et al

Automated arrhythmia classification using depth wise separable convolutional neural network with focal loss

[J]. Biomedical Signal Processing and Control, 2021, 69: 102843

DOI:10.1016/j.bspc.2021.102843      [本文引用: 1]

ALJOHANI N R, FAYOUMI A, HASSAN S U

A novel focal-loss and class-weight-aware convolutional neural network for the classification of in-text citations

[J]. Journal of Information Science, 2021, 6 (3): 165- 176

[本文引用: 1]

LUO X, YANG L, CAI H, et al

Multi-classification of arrhythmias using a HCR-Net on imbalanced ECG datasets

[J]. Computer Methods and Programs in Biomedicine, 2021, 208: 106258

DOI:10.1016/j.cmpb.2021.106258      [本文引用: 4]

LI C, ZHAO H, LU W, et al

DeepECG: image-based electrocardiogram interpretation with deep convolutional neural networks

[J]. Biomedical Signal Processing and Control, 2021, 69: 102824

DOI:10.1016/j.bspc.2021.102824     

MURAT F, YILDIRIM O, TALO M, et al

Application of deep learning techniques for heartbeats detection using ECG signals analysis and review

[J]. Computers in Biology and Medicine, 2020, 120: 103726

DOI:10.1016/j.compbiomed.2020.103726      [本文引用: 1]

吴志勇, 丁香乾, 许晓伟, 等

基于深度学习和模糊C均值的心电信号分类方法

[J]. 自动化学报, 2018, 44 (1): 1913- 1920

DOI:10.16383/j.aas.2018.c170417      [本文引用: 1]

WU Zhi-yong, DING Xiang-qian, XU Xiao-wei, et al

A classification method for ECG signals based on deep learning and fuzzy C-means

[J]. Journal of Automatica Sinica, 2018, 44 (1): 1913- 1920

DOI:10.16383/j.aas.2018.c170417      [本文引用: 1]

GAO J, ZHANG H, LU P, et al

An effective LSTM recurrent network to detect arrhythmia on imbalanced ECG dataset

[J]. Journal of Healthcare Engineering, 2019, 12 (3): 1- 10

[本文引用: 2]

YILDIRIM O, BALOGLU U B, TAN R S, et al

A new approach for arrhythmia classification using deep coded features and LSTM networks

[J]. Computer Methods and Programs in Biomedicine, 2019, 176: 121- 133

DOI:10.1016/j.cmpb.2019.05.004      [本文引用: 1]

/