本发明涉及心电分类,具体为一种基于对比学习的心律失常分类方法。
背景技术:
1、心电图(electrocardiogram,ecg)是对心脏在各心动周期中的除极和复极过程的记录,它能反映心脏的电生理过程,并能帮助医生进行相应心律失常诊断。动态心电图监测作为心律失常早期筛查和术后复查的重要手段,会产生大规模的单导联心电图,对医疗保健体系带来了巨大的挑战。由于各类心律失常的形态差异较小,且异常波形并不总是连续出现,仅仅依靠医生已经难以完成对海量记录的分析。因此,心电信号的智能分析吸引了国内外学术界和工业界的广泛关注。
2、有监督的深度学习方法的关键是大规模有标注心电数据集。但是心电数据涉及病人隐私,而且标注心电图需要由专业医师完成导致标注成本过高。一些研究被提出用于消除数据匮乏带来的负面影响。
3、数据增强是一种扩充训练样本的有效方法。pan等人提出并测试了若干种一维数据增强方法,证明数据增强可以提高深度学习模型检测心律失常的性能,但提升效果有限。hatamian等人则通过生成式对抗网络(generative adversarial networks,gan)生成房颤类型的心电数据实现样本的扩充。实验结果表明在房颤类别上的分类性能能够得到提高,但某些场景下会导致正常类型的检测性能受损,这表明数据增强方法的性能会受到原始数据的规模和类别分布的影响。hui chen等人提出clecg,将对比学习模型用到心电领域中,从未标记的数据中挖掘信息。
4、但clecg在真实门诊心电图上的效果并没有得到验证,与经过整理的公开数据集相比,真实的门诊心电图往往类别更不均衡,存在长尾分布的现象,而且由于标签未知无法通过采样加以平衡,在现实场景中还难以得到很好的应用。
技术实现思路
1、本发明的目的在于提供一种基于对比学习的心律失常分类方法,以解决现有的问题:clecg在真实门诊心电图上的效果并没有得到验证,与经过整理的公开数据集相比,真实的门诊心电图往往类别更不均衡,存在长尾分布的现象,而且由于标签未知无法通过采样加以平衡,在现实场景中还难以得到很好的应用。
2、为实现上述目的,本发明提供如下技术方案:一种基于对比学习的心律失常分类方法,至少包括以下步骤:
3、s1:输入一个心电信号,对其进行两种不同的数据增强,从而去构造正负样本对,正样本为同一心电信号经过不同数据增强后得到的新的心电信号,负样本为其他心电信号通过数据增强得到的心电信号;
4、s2:对上分支进行剪枝得到下分支,从而创建一个自我竞争模型,上分支为目标模型,下分支为自我竞争模型;
5、s3:对输入信号采样并应用两个不同的数据增强,创建两个不同的版本[vi,v’i];
6、s4:[vi,v’i]由[fi(·),f’1(·)]编码,并且它们的输出特征f1,f2]被馈送到非线性投影头中,以在nt-xent损失下强制相似性,共存在至少两种情况,其中一种理想情况,能够很好地记住了样本,则剪枝不会“忘记”它,因此不会造成额外的扰动,另一种情况下,即为对于罕见和非典型的情况,将放大剪枝模型和未剪枝模型之间的预测差异,因此这些样本的权重将在总体损失中隐式增加;
7、s5:负样本使用了一个记忆队列来保存,扩充了负样本的数量;
8、s6:通过损失函数,拉近正样本之间的距离,拉远负样本之间的距离;
9、s7:在损失函数中,采用了动态温度系数;
10、s8:最后在微调中,加载一维编码器作为训练目标数据集的初始化参数并随机初始化分类器适配目标数据集。
11、优选的,所述s1中对心电信号采用对进行两种不同的数据增强,至少包括两种不同的小波变换(比例=0.5)+分段随机遮挡,分段的操作可以允许更大的遮挡比例,保证正样本间差异性,同时避免大段连续信号被置零导致训练坍塌。
12、优选的,所述剪枝采用基于幅度的剪枝,所述剪枝比率设置为0.2。
13、优选的,所述f’1(·)的剪枝掩码在模型权重更新后每次迭代更新,应用至少包括以下步骤:
14、主干网是一个大型dnn,其权重在一两次迭代中不会发生太大变化,因此我将剪枝掩码设置为在每个epoch开始时延迟更新,以节省计算开销;
15、同一时期的所有迭代都采用相同的mask;
16、由于自我竞争者总是从最新的目标模型中获得和更新,因此两个分支将在训练过程中共同进化。
17、优选的,在更新两个分支时,[fi(·),f’1(·)]将在未剪枝部分共享相同的权重,并且fi(·)将独立更新其余部分,对应于f’1(·)的权重剪枝为零。
18、优选的,所述损失函数表示为:
19、
20、其中zi和z’i代表同一样本xi的不同数据变换的投影表示;
21、τ表示温度系数,用于调节任务难度,越小的温度系数越关注于最难区分的负样本;
22、采用了动态温度系数的做法,给温度系数设置了上下界以及调节周期,长尾数据受益于更小的温度系数,非长尾数据受益于更大的温度系数,用于持续改善长尾数据中类之间的分离,而无须任何额外的计算成本。
23、优选的,所述s5至少包括以下步骤:
24、采用记忆队列解决负样本数量和批次大小之间的平衡问题,使用一个队列将临近的几个过往批次中的样本表达保存下来;
25、保存下来的小队列与当前批次中的图片不同,因此均视为负样本,从而实现了负样本数与批次大小的解耦;
26、队列的存在,键分支无法正常的计算梯度,因此引入动量更新机制使用查询分支的参数对键分支的参数进行动量更新。
27、与现有技术相比,本发明的有益效果是:
28、1:本发明模仿了图片的数据增强方法,对心电信号采用了两种不同的小波变换(比例=0.5)+分段随机遮挡的方法,在对比学习模型中,合适的数据增强方法至关重要,本发明所采用的方法对正样本对的对比有正向作用。
29、2.本发明利用剪枝创建了自我竞争模型,通过自我竞争模型与目标模型进行强制相似性,隐式的增加了长尾数据的权重,减轻了心电数据的不平衡性,对现实应用很有意义。
30、3.本发明建立了一个大小为k的记忆队列(memory bank)来存储键分支中若干个临近过往批次中的样本,根据神经网络训练的特性,这些样本与当前批次的样本不重合,因此均可视为当前批次的负样本。队列的引入有效扩充了负样本的数量,同时保持相对较小的批次大小。
31、4.本发明在损失函数中采用了动态温度系数的策略,设置合适的温度系数上下界及调节周期,利用长尾数据受益于较小温度系数,非长尾数据受益于较大温度系数的特点,进行持续的任务切换,在不引入任何额外的成本下,提高了平衡性。
1.一种基于对比学习的心律失常分类方法,其特征在于:至少包括以下步骤:
2.根据权利要求1所述的一种基于对比学习的心律失常分类方法,其特征在于:所述s1中对心电信号采用对进行两种不同的数据增强,至少包括两种不同的小波变换(比例=0.5)+分段随机遮挡。
3.根据权利要求1所述的一种基于对比学习的心律失常分类方法,其特征在于:所述剪枝采用基于幅度的剪枝,所述剪枝比率设置为0.2。
4.根据权利要求1所述的一种基于对比学习的心律失常分类方法,其特征在于:所述f’1(•)的剪枝掩码在模型权重更新后每次迭代更新,应用至少包括以下步骤:
5.根据权利要求1所述的一种基于对比学习的心律失常分类方法,其特征在于:在更新两个分支时,[fi(·),f’1(·)]将在未剪枝部分共享相同的权重,并且fi(·)将独立更新其余部分,对应于f’1(·)的权重剪枝为零。
6.根据权利要求1所述的一种基于对比学习的心律失常分类方法,其特征在于:所述损失函数表示为:
7.根据权利要求1所述的一种基于对比学习的心律失常分类方法,其特征在于:所述s5至少包括以下步骤: