用于心电疾病诊断的深度学习模型库
用于心电疾病诊断的深度学习模型库
GitHub链接:https://github.com/hzzhangqf0558/ECG_Nets
该研究领域中常用的深度学习基础模型集合。这些基准模型包括:基于一维卷积神经网络的一阶残差网络(1D-ResNet)、一阶密集网络(1D-DenseNet)、带有自注意力机制的一阶残差密集网络(1D-SE_ResNet)、一阶残差next网络(1D-ResNext)、带有自注意力机制的一阶残差网v2(1D-SE_ResNetV2)、带有自注意力机制的一阶残差next网络(1D-SE_ResNext)以及《冠军模型》一书(其在天池竞赛中取得了显著成绩)。
The F1-scores of those baseline models fall within the range of 0.83 to 0.90. It is possible to fine-tune the parameters to attain a higher performance level.
Step 1:
从天池竞赛中下载数据集。该数据集包括数据集A和数据集B两个部分。其中数据集A由24106个心电图组成;每个心电图包含8个导联记录(I、II、V1、V2、V3、V4、V5, V6)。相比之下,数据集B包含20036个心电图。这些数据可以从以下链接下载:
https://pan.baidu.com/s/1fmCuV5i9oifnUNOsFhV0sA pwd: 8hs2
Please put the datasets into the fold: all_data.
Finally, unzip the data packages.
step 2: build environment
pip install -r requirements.txt
第3步:生成CSV文件。然后,在data_preparing.py中设置数据集路径。
python data_preparing.py
Step 4: Select a baseline model that suits your needs.
python main.py --config configs/ResNet50.yaml
if you want ensemble, please config the file configs/ensemble.
python ensemble.py --config configs/ensemble.yaml
Reference:
https://tianchi.aliyun.com/battleGROUND/battles/battlePlatформ/information>
<https://www.hindawi.com/publications/cmmm/year/researchArticle ID>>
<https://ieeexplore.ieee.org/The abstract document /year/researchArticle ID>>
RNN:长短时记忆网络(LSTM)的应用
1.引言
前面的教程中详细阐述了一维卷积神经网络(CNN)在ECG算法中的应用。目前已有大量研究对这一领域进行了深入探讨。那么既然二维图像上表现卓越的CNN为何能在一维信号中发挥作用?其原因我们已经在先前的内容中有过探讨。从感性认知的角度来看,ECG信号与二维图像之间确实存在许多相似之处。这使得CNN得以自然地从二维图像迁移至一维信号处理。那么现在我们需要进一步探讨两者之间的差异所在。
不知道大家有没有注意到,在二维图像中两个坐标通常被称为"空间"坐标而在一维ECG信号中只有一个坐标通常是"时间"坐标。在CNN模型中我们忽略了两者之间的差异仅专注于它们之间的相似性即"局部相关性"和"平移不变性"从而成功实现了模型迁移然而"时间和空间"的概念本质上是不同的一维ECG信号本质上是一个时间序列时间序列数据中往往存在着复杂的因果关系以及隐藏的规律接触过深度学习领域的人应该都知道处理这类时间序列数据正是循环神经网络(RNN)的主要强项理论上RNN也应该能够处理一维ECG信号但朴素的RNN存在一个严重的问题即所谓的"长程依赖问题"随后提出的长短时记忆网络(LSTM)通过改进特别擅长解决这一问题因此成为了处理这类问题的主要选择。
2. RNN(LSTM)的应用模式
RNN的基本与展开结构如下图:

我们关注的时间序列从X₀到Xₜ,在时间轴上依次展开了一系列的状态变化过程。不同于基于卷积神经网络(CNN)等全连接层的设计模式,在时间序列建模中 recurrent 神经网络(RNN)能够通过自身动态反馈机制捕捉 temporal dependencies。然而传统 RNN 模型在处理长期依赖关系时表现出明显局限性:即最近时刻采集到的数据对未来状态具有更强的影响权重,在传递过程中也会携带长期依赖信息;但初始信息随着时间推移逐渐减弱,在训练过程中会被模型逐步遗忘而难以对长期预测产生显著贡献。为了弥补这一缺陷长短时记忆网络(LSTM)通过引入三重门控机制实现了精确信息管理
RNN:

LSTM:

可以看出,在复杂度上LSTM架构相比传统的RNN模型有所提升。
如对RNN(LSTM)原理感兴趣的朋友可自行查阅 http://colah.github.io/posts/2015-08-Understanding-LSTMs/。
其基本应用模式主要包括以下几种类型:包括一对一、多对一以及多种类型之间的双向互动。

在我们的ECG应用系统中, 我们采用了最终方案, 每个数据点代表每一个时间点的输入信息, 并关注各个时间点对应的网络输出结果。但我们需要将各个时间点对应的网络输出结果整合起来作为目标信号类别进行分类, 因此经过全连接层处理后得到的就是One-hot编码形式的目标类别编码。
**

**
RNN系列网络的训练过程属于BP算法的一种变形体BPTT;同样地,在此我们不做深入探讨。
3. 示例:LSTM的ECG分类
我们获取的数据仍然源自于我们在上一阶段截取的心拍记录,并基于TensorFlow搭建的深度学习框架进行分析。值得注意的是,在网络结构上有所差异,在其余流程在很大程度上与前述CNN方法一致。其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示:其中具体的实现细节如图所示
4.小结
本节着重探讨了基于LSTM算法的ECG识别技术。尽管整体架构未发生根本性变化,但采用了新型网络结构,因此在本节中仅概述了主要思路,详细内容可参考相关文献以获取深入解析。如需进一步了解RNN及其改进型LSTM算法的相关知识,建议深入研究相关学术资源
访问该GitHub仓库中的指定文件以获取代码.
*推荐阅读:http://colah.github.io/posts/2015-08-Understanding-LSTMs/
喜欢请点赞,github给颗星~~~~
