← 返回列表

一种基于知识蒸馏的单导联房颤识别系统

申请号: CN202311750008.5
申请人: 西南石油大学; 成都市温江区人民医院
申请日期: 2023/12/19

摘要文本

本发明涉及人工智能领域,尤其涉及一种基于知识蒸馏的单导联房颤识别系统,包括:十二导联预处理模块,对原始十二导联数据预处理;II导联提取模块,将十二导联预处理模块处理后的数据,提取其中的II导联;教师识别网络训练模块,利用ResNet34网络作为教师网络对十二导联数据进行训练;学生识别网络训练模块,利用ResNet10网络作为学生网络,并利用教师识别网络训练模块的知识进行知识蒸馏;基于注意力的特征融合的中间层知识传递模块,利用基于注意力机制将学生识别网络训练模块邻近的两层进行特征拟合,形成新的中间层。本发明使用知识蒸馏单导联心电识别模型,可以保持高性能的同时,降低网络内存需求,使其可部署在资源受限的环境,并且预测速度更快。。关注公众号专利查询网

专利详细信息

项目 内容
专利名称 一种基于知识蒸馏的单导联房颤识别系统
专利类型 发明授权
申请号 CN202311750008.5
申请日 2023/12/19
公告号 CN117421678B
公开日 2024/3/22
IPC主分类号 G06F18/2431
权利人 西南石油大学; 成都市温江区人民医院
发明人 彭博; 蔡家骏; 王俞松; 周秘; 谭静
地址 四川省成都市新都区新都大道8号; 四川省成都市康泰路86号

专利主权项内容

1.一种基于知识蒸馏的单导联房颤识别系统,其特征在于,至少包括如下步骤:十二导联预处理模块,用于基于原始的十二导联心电数据库实现对每一条心电数据导联进行降噪预处理;II导联提取模块,按照位置索引,提取十二导联模块的II导联,并且按照相同维度叠加形成新的II导联数据集,用于学生识别网络训练模块的训练;教师识别网络训练模块,用于将预处理后的十二导联心电数据经过以二维卷积块构成的ResNet34深度神经网络训练得到教师识别网络;基于注意力的特征融合的中间层知识传递模块,用于将学生识别网络训练模块的中间层进行重建,利用注意力机制将相邻的学生识别网络训练模块的中间层进行特征融合,然后作为权重,重新分配给两个中间层,最终形成一个新的学生识别网络训练模块的中间层输出;学生识别网络训练模块,经过基于注意力的特征融合的中间层知识传递模块的改造,在教师识别网络训练模块的中间层和输出指导下,将预处理后的II导联心电数据送入以一维卷积块构成的ResNet10深度神经网络训练得到学生识别网络,最终用于二分类和七分类的心房颤动识别,其具体细节如下:所述的学生识别网络训练模块的残差层基于注意力的特征融合的中间层知识传递模块进行了改造,得到新的学生识别网络训练模块的中间层,然后在模型训练时采用多分类交叉熵损失、教师识别网络训练模块中间层传递的信息张量与基于注意力的特征融合的中间层知识传递模块下的学生识别网络训练模块的中间层的信息张量使用特征金字塔公式进行损失计算以及基于教师识别网络训练模块的输出概率与学生识别网络训练模块的输出概率做KL散度计算,三者结合作为损失函数,其步骤和计算公式如下:先将学生识别网络训练模块需要输出的中间层的相邻两层进行特征匹配,使其张量统一,然后再用注意力的方法将两个张量融合,再将融合的结果作为权重分别传回原来的两层,最终得到新的集成输出层,如下:f=interpolate(f);ijf=interpolate(f);i+1j+1其中interpolate是用于将相邻的中间层特征张量进行匹配,f和f分别是相邻中间层的前后特征张量;jj+1F=AT(unsqueeze(f),unsqueeze(f));jii+1AT用于将张量匹配后的特征层进行基于注意力的融合,unsqueeze用于增加特征维度,便于融合;最后依顺序将新的前后层图像与原来的前后层分别组合起来,然后组合得到更好的特征张量;再将新的学生识别网络的中间层输出与离线的教师识别网络的对应的中间层输出进行匹配,然后利用特征金字塔进行拟合,最后计算出损失函数,公式如下:S=s,s,s,...,s;z123nT=t,t,t,...,t;z123n其中S表示学生识别网络训练模块使用基于注意力的特征融合的中间层知识传递模块得到的新的学生识别网络训练模块的中间层,n为5;zT同理,表示离线的教师识别网络训练模块的各个对应于学生识别网络训练模块的新的中间层张量大小的中间层输出;在将其中对应的两个网络的层使用特征金字塔形式的层次结构上下文进行损失计算;z最后计算蒸馏网络的总损失:首先我们将教师识别网络训练模块和经过基于注意力的特征融合的中间层知识传递模块后的学生识别网络训练模块中的某一对应层的层次结构上下文的损失计算扩展到所有需要的层中,总的损失如下:之后我们利用基于概率响应的知识蒸馏计算方法,将离线的教师识别网络输出的结果对学生网络进行知识传递,计算输出概率的损失:Distillation_Loss=KLDivLoss(f,f*(T^2)/f.shape[0];studentteacherstudentL=α*Stu_Loss+(1-α)*Distillation_Loss;KD其中T是温度、α是比例,两个变量均为超参数,KLDivLoss表示使用KL散度计算,f和f分别表示学生网络和教师网络的输出层的输出张量,Stu_Loss表示学生网络的输出预测损失;studentteacher最后计算总的损失:Loss_all=γ*L+(1-γ)*Loss;KDreview其中γ是超参数,L和Loss分别是上述中基于输出概率的知识蒸馏的损失和基于中间层特征张量的知识蒸馏的损失,然后以此损失函数作为优化目标,使损失函数最小化,对蒸馏网络模型优化。KDreview