【论文阅读笔记】Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms

本文是吴恩达团队与2019年1月在Nature Medicine上发表的文章。

        本文开发了一个深度神经网络(DNN),使用来自使用单导联动态心电监护设备的53,549名患者的91,232个单导联心电图对12个节律类别进行分类。DNN在(ROC)下达到0.97的平均面积。 DNN的平均F1评分为0.837,超过了普通心脏病学家(0.780)。DNN的敏感性超过了心脏病学家对所有节律类别的敏感度。

【论文阅读笔记】Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms_第1张图片

        系统设计为每一秒预测一次。虽然早在20年前就有人用人工神经网络进行ECG的解释,但由于受限于数据量和计算资源,知道最近才采用多层ANN。本文所用的DNN为34层,标记的训练数据也足够大,可以同时输出多种心率失常的概率,系统的设计架构如图:

【论文阅读笔记】Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms_第2张图片

        该架构将原始ECG数据(以200 Hz采样,或每秒200个样本)作为输入,并且每256个样本(或每1.28 s)输出一个预测值,称之为输出间隔。该网络仅将原始ECG样本作为输入,而不考虑其他与患者或ECG相关的特征。网络架构有34层,为了使网络的优化易于处理,使用了类似残差网络架构的方式,该网络由16个残差块组成,每个残差块跨越两个卷积层。卷积层具有16的fileter size和32 * 2k个滤波器,其中k是超参数,其从0开始并且每四个残差块递增1。每个备用残差块对其输入进行子采样2次。在每个卷积层之前,应用批量归一化和Relui激活,采用预激活块设计。由于这种预激活块结构,网络的第一层和最后一层是特殊的。另外还在卷积层之间和非线性之后应用Dropout,概率为0.2。最终完全连接的softmax层输出12类心率时长的概率。网络是从头训练的,随机初始化权重。使用Adam optimizer,默认参数为β1= 0.9,β2= 0.999,minibatch大小为128。学习率初始化为1×10-3,并且当连续两个epoch的训练损失没有改观时其降低10倍。通过grid search和手动调整的组合来选择网络架构和优化算法的超参数。对于该体系结构,主要搜索的超参数与为卷积层的数量,卷积滤波器的大小和数量,以及残差连接的使用。实验中发现,一旦模型的深度超过八层,残差连接就很有用。论文还尝试了RNN,包括LSTM和BiRNN,但发现准确性没有提高,运行时间却大幅增加;因此,因此文章抛弃了这类模型。

       在研究中一个重要的发现是DNN似乎概括了个体心脏病学家的错误分类,正如模型和心脏病学家的混淆矩阵的相似性所证明的那样。对人机不一致判定的人工审查表明,DNN错误分类总体上看起来非常合理。在许多情况下,缺乏背景,有限的信号持续时间或具有单一导程限制了可以合理地从数据中得出的结论,使得难以明确地确定委员会和/或算法是否正确。

【论文阅读笔记】Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms_第3张图片

本文的局限性在于使用的是单导联心电图,而临床标准为12导联,本文的方法拓展到标准12导联ECG上是否能取得相似结果还有待确定,但单导联的优势是提供了较低的信噪比。

本文代码开源:https://github.com/awni/ecg

测试集数据开源:https://irhythm.github.io/cardiol_test_set

 

 

你可能感兴趣的:(机器学习)