【技术实现步骤摘要】
一种神经网络蒸馏方法及装置
本申请涉及人工智能领域,尤其涉及一种神经网络蒸馏方法及装置。
技术介绍
人工智能(artificialintelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。知识蒸馏采用的是迁移学习,通过采用预先训练好的复杂模型的输出作为监督信号去训练另外一个简单的网络。所谓模型蒸馏就是将训练好的复杂模型推广能力“知识”迁移到一个结构更为简单的网络中。或者通过简单的网络去学习复杂模型中“知识”。在进行知识蒸馏时,可以通过采用预先训练好的复杂网络去训练另外一个简单的网络,以使得简单的网络可以具有和复杂网络相同或相似的数据处理能力。在进行知识蒸馏时,也可以通过采用预先训练好的一种类型的网络去训练另一种类型的网络,以使得上述两种类型的网络可以具有相同或相似的数据处理能力,即可以以一种类型的网络作为老师模型,以另一种类型的网络作为学生模型,对学生模型进行知识蒸馏,以使得学生模型可以具有和老师模型相同或相似的数据处理能力。然而,在一些场景中,上述学生模型和老师模型中神经网络层的权重分布可能不同,如果基于现有的知识蒸馏方法对学生模型进行知识蒸馏,则会使得学生模型和老师模型中,具有 ...
【技术保护点】
1.一种神经网络蒸馏方法,其特征在于,所述方法包括:/n获取待处理数据、第一神经网络和第二神经网络,所述第一神经网络包括第一神经网络层,所述第二神经网络包括第二神经网络层;/n通过所述第一神经网络和所述第二神经网络对所述待处理数据进行处理,以获取第一目标输出和第二目标输出;其中,所述第一目标输出为对所述第一神经网络层的输出进行基于核函数的变换得到的,所述第二目标输出为对所述第二神经网络层的输出进行基于核函数的变换得到的;/n根据所述第一目标输出和所述第二目标输出,获取目标损失;/n以所述第二神经网络为老师模型、所述第一神经网络为学生模型,至少根据所述目标损失,对所述第一神经网络进行知识蒸馏,以得到更新后的第一神经网络。/n
【技术特征摘要】
1.一种神经网络蒸馏方法,其特征在于,所述方法包括:
获取待处理数据、第一神经网络和第二神经网络,所述第一神经网络包括第一神经网络层,所述第二神经网络包括第二神经网络层;
通过所述第一神经网络和所述第二神经网络对所述待处理数据进行处理,以获取第一目标输出和第二目标输出;其中,所述第一目标输出为对所述第一神经网络层的输出进行基于核函数的变换得到的,所述第二目标输出为对所述第二神经网络层的输出进行基于核函数的变换得到的;
根据所述第一目标输出和所述第二目标输出,获取目标损失;
以所述第二神经网络为老师模型、所述第一神经网络为学生模型,至少根据所述目标损失,对所述第一神经网络进行知识蒸馏,以得到更新后的第一神经网络。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取目标数据,根据所述更新后的第一神经网络对所述目标数据进行处理,以得到处理结果。
3.根据权利要求1或2所述的方法,其特征在于,所述第一神经网络层和所述第二神经网络层为中间层。
4.根据权利要求1至3任一所述的方法,其特征在于,所述目标损失为根据所述第一目标输出和所述第二目标输出的均方误差、相对熵、JS(Jensen-Shannon)散度或wasserstein距离获取的。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一神经网络层包括第一权重,所述第二神经网络层包括第二权重,在所述对所述待处理数据进行处理时,所述第一神经网络层的输入为第一输入,所述第二神经网络层的输入为第二输入;
其中,所述第一目标输出表示映射至高维特征空间的所述第一权重与映射至高维特征空间的所述第一输入之间的距离度量;所述第二目标输出表示映射至高维特征空间的所述第二权重与映射至高维特征空间的所述第二输入之间的距离度量。
6.根据权利要求1至6任一所述的方法,其特征在于,所述第一神经网络的权重分布与所述第二神经网络的权重分布不同。
7.根据权利要求1至6任一所述的方法,其特征在于,所述第一神经网络的权重分布为拉普拉斯分布,所述第二神经网络的权重分布为高斯分布。
8.根据权利要求1至7任一所述的方法,其特征在于,所述第一神经网络为加法神经网络ANN,所述第二神经网络为卷积神经网络CNN。
9.根据权利要求1至8任一所述的方法,其特征在于,所述更新后的第一神经网络包括更新后的第一神经网络层,且所述第二神经网络和所述更新后的第一神经网络在对同一数据进行处理时,所述更新后的第一神经网络层的输出与所述第二神经网络层的输出的差异在预设范围内。
10.根据权利要求1至9任一所述的方法,其特征在于,所述根据所述第一目标输出和所述第二目标输出,获取目标损失,包括:
对所述第一目标输出进行线性变换,得到线性变换后的第一目标输出;
对所述第二目标输出进行线性变换,得到线性变换后的第二目标输出
根据所述线性变换后的第一目标输出和所述线性变换后的第二目标输出,获取目标损失。
11.根据权利要求1至10任一所述的方法,其特征在于,所述核函数包括如下的至少一种:
径向基核函数、拉普拉斯核函数、幂指数核函数、ANOVA核函数、二次有理核函数、多元二次核函数、逆多元二次核函数、sigmoid核函数、多项式核函数以及线性核函数。
12.一种神经网络蒸馏方法,其特征在于,所述方法应用于终端设备,所述方法包括:
获取第一神经网络以及第二神经网络;
以所述第二神经网络为老师模型、所述第一神经网络为学生模型,对所述第一神经网络进行知识蒸馏,以得到更新后的第一神经...
【专利技术属性】
技术研发人员:许奕星,陈醒濠,王云鹤,许春景,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。