System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及知识蒸馏,尤其是涉及一种基于注意力机制的多层特征融合知识蒸馏方法。
技术介绍
1、随着深度学习的不断发展,卷积神经网络在各项任务上均取得了显著的成功。然而随着准确率的不断提高,网络模型也向着结构更为复杂、深度更深、宽度更宽的方向发展。模型训练的成本不断提高,使得在性能有限的移动端的部署变得更为困难。
2、hinton等人提出了知识蒸馏的技术,将网络结构更为复杂的教师模型中的知识转移到轻量化的学生模型中,对学生模型进行正则化约束以使学生模型的性能能够接近甚至超越教师模型。典型的知识蒸馏学习教师模型的软标签,fitnets等人最早提出学习中间层特征。
3、在现有技术中,使用中间层特征进行学习时常常存在教师模型与学生模型结构差异过大,无法根据教师-学生对进行一一匹配训练的问题,同时中间层特征在不同的层级中所含信息的重要性并不完全相同,简单的使用中间层特征可能会影响学生模型的训练效果。
技术实现思路
1、本专利技术的主要目的是克服现有的使用中间层特征进行训练的知识蒸馏方法的不足,提出一种基于注意力机制的多层特征融合的知识蒸馏方法,该方法基于注意力机制计算得出的权重,将中间层各个层级的特征映射到同一维度后进行融合,从而得到教师模型和学生模型的融合特征,以防止训练中结构不匹配带来的影响,并提高学生模型的训练效果。
2、本专利技术采用如下技术方案:
3、一种基于注意力机制的多层特征融合知识蒸馏方法,包括下列步骤:
4、s1
5、s2、利用特征变换器将学生模型的中间层特征fs与教师模型的中间层特征ft映射到同一维度,所述同一维度为教师模型的中间层特征的最后一层特征所对应的维度,并由特征变换器将所有映射后的中间层特征输入到特征融合器中;
6、s3、利用特征融合器基于注意力机制来分别计算出学生模型的中间层特征的每一层特征的权重以及教师模型的中间层特征的每一层特征的权重,并将得到的权重分别与步骤s2得到的对应的映射后的中间层特征进行融合,分别得到教师模型的融合特征以及学生模型的融合特征;
7、s4、利用s3中得到的教师模型的融合特征以及学生模型的融合特征,通过知识蒸馏训练学生模型,得到经过知识蒸馏训练后的学生模型;
8、s5、针对所述的经过知识蒸馏训练后的学生模型,循环执行步骤s1-s4进一步进行训练,直至学生模型被训练至收敛,得到最终的训练后的学生模型。
9、本专利技术的有益效果是:本专利技术基于注意力机制分别计算教师模型和学生模型中间层的各层特征与中间层最后一层特征的相似性,并按得到的权重将映射到同一维度的特征进行融合,提取了各个层级特征中的有效信息;同时削弱了教师模型和学生模型结构差异带来的影响,提高了中间特征蒸馏的效果,并进一步提高了学生模型的训练效果。
10、作为优选,在步骤s1之前,还包括:对所述教师模型进行预训练后,对所述学生模型进行初始化。
11、作为优选,在步骤s3中,所述的得到学生模型的融合特征的具体过程包括下列步骤:
12、s3.01、特征提取器提取到的学生模型的每一层中间层特征的维度为其中,bs表示每批训练样本的大小,表示每层输出的频道数,与分别表示每一层输出空间上的高度与宽度;将中间层特征的维度通过σ(·)操作重变形为维度为的特征,再将重变形后的特征乘上对应的转秩转化为维度为bs×bs的特征具体表示为:其中,i∈1,...,ls;
13、s3.02、将转化后得到的bs×bs的特征输入到多层感知机中进行去噪得到特征将特征中的最后一层特征作为查询,其余层特征作为键,分别计算特征的每一层特征与最后一层特征的相似性,并得到对应的权重αi(t∈1,...,ls),具体表示为:其中,
14、s3.03、将步骤s3.02计算得到的权重与步骤s2中得到的对应的映射后的中间层特征按权相加,得到融合特征features,具体表示为:
15、
16、作为优选,在步骤s3中,所述的得到教师模型的融合特征的具体过程包括下列步骤:
17、s3.11、特征提取器提取到的教师模型的每一层中间层特征的维度为其中,bt表示每批训练样本的大小,表示每层输出的频道数,与分别表示每一层输出空间上的高度与宽度;将每一层中间层特征的维度通过σ(·)操作重变形为维度为的特征,再将重变形后的特征乘上对应的转秩转化为维度为bt×bt的特征具体表示为:其中,i∈1,...,lt;
18、s3.12、将转化后得到的bt×bt的特征输入到多层感知机中进行去噪得到特征接着将特征的最后一层特征作为查询,其余层特征作为键,分别计算特征的每一层特征与最后一层特征的相似性,并得到对应的权重βi(i∈1,...,lt),具体表示为:
19、其中,
20、s4.13、将步骤s3.12计算得到的权重与步骤s2中对应的映射后的中间层特征按权相加,得到教师模型的融合特征featuret,具体表示为:
21、作为优选,在步骤s4中,所述的通过知识蒸馏训练初始化后的学生模型的具体过程包括下列步骤:
22、s4.1、令学生模型的最后一层的输出值为预测值,计算学生模型的预测值与真实标签之间的损失lce,所述lce为图像分类中的常规损失项,使用交叉熵损失函数计算,具体为:
23、lce=crossentropy(δ(xs),y) (1)
24、其中,δ(·)为softmax函数,xs为学生模型的最后一层的输出值,δ(xs)为学生模型的输出经过softmax函数的结果,y为真实标签;
25、s4.2、根据学生模型和教师模型的最后一层的输出值,计算学生模型输出值与教师模型输出值之间的损失lkd,所述lkd使用kl散度计算,具体为:
26、
27、其中,xt为教师模型的最后一层的输出值,t为蒸馏温度,用于平滑输出的分布;
28、s4.3、根据步骤s3得到学生模型和教师模型的融合特征,计算学生模型和教师模型之间的损失lfea,所述lfea使用kl散度计算,具体为:
29、lfea=kl(δ(featuret),δ(features)) (3)
30、其中,δ(featuret)和δ(features)分别表示步骤s3中得到的教师模型和学生模型的融合特征经过softmax函数后的结果。
31、s4.4、计算知识蒸馏的总损失,所述知识蒸馏的总损失表述为:
32、l=lce+lkd+γlfea (4)
本文档来自技高网...
【技术保护点】
1.一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:包括下列步骤:
2.根据权利要求1所述的一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:在步骤S1之前,还包括:对所述教师模型进行预训练后,对所述学生模型进行初始化。
3.根据权利要求1或2所述的一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:在步骤S3中,所述的得到学生模型的融合特征的具体过程包括下列步骤:
4.根据权利要求3所述的一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:在步骤S3中,所述的得到教师模型的融合特征的具体过程包括下列步骤:
5.根据权利要求4所述的一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:在步骤S4中,所述的通过知识蒸馏训练初始化后的学生模型的具体过程包括下列步骤:
【技术特征摘要】
1.一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:包括下列步骤:
2.根据权利要求1所述的一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:在步骤s1之前,还包括:对所述教师模型进行预训练后,对所述学生模型进行初始化。
3.根据权利要求1或2所述的一种基于注意力机制的多层特征融合知识蒸馏方法,其特征在于:在步骤s3中,所述的得到学...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。