知识蒸馏

深度神经网络一般有较多的参数冗余,其中知识蒸馏对模型进行压缩,减小其参数量的一种方法。知识蒸馏是指使用教师模型(大模型,学习能力强)去指导学生模型(小模型)学习特定任务,保证小模型在参数量不变的情况下,得到比较大的性能提升。

此外,在知识蒸馏任务中,也衍生出了互学习的模型训练方法,论文Deep Mutual Learning中指出,使用两个完全相同的模型在训练的过程中互相监督,可以达到比单个模型训练更好的效果。

无论是大模型蒸馏小模型,还是小模型之间互相学习,更新参数,他们本质上是都是不同模型之间输出或者特征图之间的相互监督,区别仅在于 (1) 模型是否需要固定参数。(2) 模型是否需要加载预训练模型。对于大模型蒸馏小模型的情况,大模型一般需要加载预训练模型并固定参数;对于小模型之间互相蒸馏的情况,小模型一般都不加载预训练模型,参数也都是可学习的状态。在知识蒸馏任务中,不只有2个模型之间进行蒸馏的情况,多个模型之间互相学习的情况也非常普遍。

知识蒸馏不仅可以用于模型压缩,它还能通过互学习和自学习等优化策略来提高一个复杂模型的性能(先前的研究都没有关注到结构化特征知识,而它在知识架构中又是不可或缺的. 某个结构上的知识往往不是单一的,它们是有关联的、多个知识形式组合. 充分利用教师网络中的结构化特征知识对学生模型的性能提升是有利的). 同时,知识蒸馏可以利用无标签和跨模态等数据的特征,对模型增强也具有显著的提升效果. 下图左(压缩,教师网络在相同的带标签的数据集上指导学生网络的训练来获得简单而高效的网络模型),下图右(增强,一个无标签的样本同时作为教师和学生网络的输入,性能强大的教师网络通常能预测出该样本的标签,然后利用该标签去指导复杂的学生网络训练.)

Hinton 等人的知识蒸馏框架

学生模型在知识蒸馏的过程中通过模仿教师模型输出类间相似性的“暗知识”来提高泛化能力. 软目标携带着比硬目标更多的泛化信息来防止学生模型过拟合. 教师模型的软目标为学生模型提供了显著的正则化.

蒸馏的知识形式

输出特征知识:促使学生能够学习到教师模型的最终预测,以达到和教师模型一样的预测性能

中间特征知识:教师的中间特征状态知识可以用于解决教师和学生模型在容量之间存在的Gap,其主要思想是从教师中间的网络层中提取特征来充当学生模型中间层输出的提示。中间特征的知识蒸馏要求将教师模型的特征提取能力迁移到学生模型中. 在网络层的迁移点上,可以隔层,逐层和逐块地将教师的中间特征知识转移到学生模型中,或者仅迁移教师模型较高的隐含层和最后一个卷积层的特征知识。

关系特征指的是教师模型不同层和不同数据样本之间的关系知识。

结构特征知识是教师模型的完整知识体系,不仅包括教师的输出特征知识,中间特征知识和关系特征知识,还包括教师模型的区域特征分布等知识。

知识蒸馏的方法

知识合并:将多个教师或多个任务的知识迁移到单个学生模型,另一种方法是学生模型同时向多个教师模型学习多个任务的特征。

多教师学习:多教师学习是提高学生模型在单个任务上的性能。多个教师模型通过提供多个信息流对学生模型的任务提供了多种解释,学生模型可以利用教师模型对目标任务的Views来提高模型的性能。

’教师助理:教师和学生模型由于容量差异大导致它们存在着“代沟”. “代沟”既可以通过传递教师的特征知

识去缓解,也可以使用教师助理(Teacher Assistant)网络去协助学生模型学习。

跨模态蒸馏:数据通常以多种模态存在,一些不同模态的数据均是描述同一个事物或事件,我们可以利用同步的模态信息实现跨模态蒸馏。

相互蒸馏:让一组未经训练的学生模型同时开始学习,并共同解决任务。

终身蒸馏:深度学习网络在学习新任务时,对旧任务的性能就会急剧下降,这个现象被称为灾难性遗忘。这就需要使用终身学习来减轻这种影响,终身学习也称为持续学习或增量学习。

自蒸馏: 单个网络被同时用作教师和学生模型,让单个网络模型在自我学习的过程中通过知识蒸馏去提升性能。第一类是使用不同样本信息进行相互蒸馏. 其它样本的软标签可以避免网络过度自信的预测;另一类是单个网络的网络层间进行自蒸馏。

知识蒸馏与生成对抗网络、神经架构搜索、强化学习、图卷积、其它压缩技术、自动编码器、集成学习以及联邦学习.技术的融合。

  • 24
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值