《ECGNN: Enhancing Abnormal Recognition in12-Lead ECG with Graph Neural Network》论文翻译

ECGNN:用图神经网络增强12导联心电图异常识别

论文下载链接:ECGNN: Enhancing Abnormal Recognition in 12-Lead ECG with Graph Neural Network | IEEE Conference Publication | IEEE Xplore

源码下载链接:GitHub - zhaoxiongjun/ECGNN

一、摘要

12导联心电图(ECG)是心血管疾病最常用的诊断工具之一。广泛可用的心电数据库和深度学习算法为大幅度提高心电异常自动识别的准确性和可扩展性提供了机会。然而,现有的方法主要是对单个导联进行建模,然后汇总预测,忽略了导联之间的关系,而导联之间关系是临床医生诊断的重要参考。在本文中,我们提出了一种新的模型,称为ECGNN,它主要由特征提取器骨干和图神经网络模块组成。特征提取主干是一种用于提取心电信号特征的神经网络,用于后续的图节点预测和初始化。具体而言,本文提出的图神经网络模块将图卷积和图池结合为一个统一的模块,生成图的层次表示,并可集成到各种特征提取器骨干中。在两个大型12导联心电数据库上的实验结果证明了该模型的有效性。

关键词:心电图,异常识别,图神经网络,深度学习

二、介绍

本工作的贡献可以概括如下:

• 据我们所知,我们首次探索了ECG 12导联之间的关系,并提出了用图神经网络对这种关系进行建模的方法,该方法具有学习精细图表示以提高ECG异常识别性能的优点。

• 我们介绍了一种新的12导联心电自动识别网络ECGNN,它可以集成到各种现有的心电算法(特征提取主干)中,并提高了它们的性能。

• 我们提出的ECGNN在公开的12 lead数据集上实现了0.937的最佳ROC-AUC和0.9的精度,显著超过了几个竞争基线。我们还在另一个大型心电数据集上证明了我们的模型的鲁棒性。

三、方法

整体网络构造

 

1、图结构

建图方法:将导联II中的节点表示心脏中心,并直接根据12导联心电图的矢量关系构建边缘。例如,avR、avL、avF分别表示心脏三个方向的心电信号,因此有一条导联为II的边。其次,根据心电图临床导联的定义,12根导联可分为4个不同的心脏区域:下区、外侧区、室间隔区、前壁区。我们构建属于同一区域的边。

(按照作者的方法,建立的图如下: )

 2、特征提取骨干

特征提取骨干网络旨在将原始心电信号映射成特征向量,用于初始化图的节点特征和后续预测。本研究评估的特征提取骨干网络均基于卷积神经网络。给定12导联心电信号数据E = {e1, e2,···,e12},每个导联的特征向量由特征提取器主干输出:X0 = extractor (E),其中X0∈R12∗m, m为特征向量大小。在本工作的实验中,m的大小被设置为128。值得注意的是,我们已经进行了直接将原始心电数据输入到图神经网络的实验,但这种方法极易在训练集上过拟合,测试集的性能也很差。

3、图神经网络模块

像大多数使用图神经网络的工作一样,我们的图神经网络模块是基于图卷积网络和图池操作实现的。

  • 图卷积

我们选择GCN作为我们的GNN构建块。对于GCN的第I层,将图G的相邻矩阵A和隐藏表示矩阵Hi作为输入,则生成下一层的输出如下:

H_{i+1}=\sigma(\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H_iW_i)

其中\tilde{D}\tilde{A}的对角度矩阵,\tilde{A}=A+I为自连接的相邻矩阵,\sigma(\bullet)为激活函数。

  • 图池化

我们同时利用节点特征和图结构信息来实现池化操作。为了在保留更多原始图的关键信息的同时进行节点降采样,我们提出了一个节点信息评分来评估每个节点包含的给定邻域的信息。我们将节点信息得分定义为节点表示本身与由其邻居构造的节点之间的曼哈顿距离。在获得节点信息得分后,我们首先根据得分对图中的节点重新排序,然后选择保留排名靠前的节点,因为它们可以提供更多的信息。具体表述如下:

  •  预测

对于来自特征提取器主干的X0输出,应用了导联水平注意机制,使具有特定心脏病特征的导联更加重要。铅水平的注意力得分由以下公式计算。

式中,V、W、b为训练中学习到的导联级参数。α是注意力得分,fb∈R m是对所有12个导联的整个心电信号进行编码的上下文向量。上下文向量fb用于最终预测。

在我们的实验中,图卷积和图池操作被重复多次,产生了多个不同大小的子图。我们将子图中的所有节点表示聚合并求和以得到固定大小的图级表示。

 

式中f_g\in R^{2d} ,l表示子图个数,|| 运算表示将每个子图中的mean-pooling和maxpooling连接起来。

最后,使用softmax分类器将两个特征和脚连接到MLP层中,将损失函数定义为标签上预测的交叉熵:

其中N为训练样本的大小,Y_{ij}为基础真值,P_{ij}为属于j类的预测概率。

四、实验

1、数据集

使用到的数据集:

 PTB-XL :PTB-XL, a large publicly available electrocardiography dataset v1.0.1 (physionet.org)

ICBEB2018

2、结果

  • 疾病分类结果

  • 多模型对比结果

  •  每个模块的影响

 

随着物联网系统的不断发展,机器到机器的通信变得越来越重要。MQTT作为一种轻量级的通信协议,已经被广泛应用于物联网系统中。而Python作为一种灵活且强大的编程语言,可以用来增强MQTT-based的机器到机器通信。 首先,Python提供了丰富的库和工具,可以帮助开发人员更加便捷地使用MQTT协议。通过使用Python的MQTT客户端库,开发人员可以快速地建立起MQTT连接,并且方便地进行消息的发布和订阅操作。同时,Python还提供了各种各样的扩展库,可以用来处理与MQTT相关的数据和事件。 其次,Python具有较为友好的语法和良好的可读性,这使得开发人员可以更加高效地编写和维护MQTT-based的机器到机器通信代码。同时,Python还支持异步编程,这意味着可以编写高效的并发MQTT通信程序,从而提高系统的性能和响应速度。 此外,Python还可以与各种传感器、执行器和其他物联网设备进行良好的集成。开发人员可以利用Python的丰富库和工具,将MQTT通信与物联网设备的控制和监测结合起来,从而实现更加智能和灵活的物联网系统。 综上所述,通过使用Python来增强MQTT-based的机器到机器通信,可以使物联网系统变得更加灵活、高效和功能丰富。Python为开发人员提供了丰富的工具和良好的支持,从而可以更好地应对物联网系统中的各种挑战和需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值