知识蒸馏,紧凑的网络结构简单记录

知识蒸馏:迁移学习的一种,目的是将庞大网络学到的知识转移到小的网络模型上,即不改变网络复杂度的情况下,通过增加监督信息的丰富程度来提升性能。

关键点:1.知识获取  2.知识转移

常见集中思想:

1.    softmax层的输入比类别标签包含更多的监督信息,使用logistics代替类别标签对小模型进行训练,将小模型训练转化为了回归问题。让小模型输出尽量接近大模型的logits。因为小模型隐层要足够宽,所以参数没有明显减少,效果有限。

2.    softmax的输出层包含了每个类别的概率,包含了更多的信息,用超参数控制预测概率的平衡程度。最终损失函数由小模型预测结果和大模型logistics的交叉熵,和小模型预测结果和类别标签的交叉熵组成。通过调节权重确定两部分的重要程度。但当类别较多时模型难收敛,因为与维度紧密。与logits相比,前一层的输出包含了更多噪声和无关信息。因此先取出无关维度(保留足够强区分维度,维度间低相关)。效果会提高。但研究工作还需要深入。


紧凑的网络结构

1.    挤压(维度不高表达不强,维度高了参数增多,容量与参数的平衡用1*1的卷积进行降维,得到多通道信息,特征紧密,保证模型泛化)

2.    扩张(为了减少参数,部分使用1*1代替大的卷积核,但为了保证不同核输出拼接完整,要对打的卷积输入进行合适的填充像素)

3.    Squeezenet:三条卷积操作,扩张卷积,反卷积,普通卷积,然后合并输入下一层。实现了4.1M参数和googlenet效果一样。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识蒸馏是一种能够加速神经网络训练的技术,它的主要思想是将一个较复杂的模型(教师网络)的知识传递给一个较简单的模型(学生网络),从而使学生网络能够在更短的时间内达到与教师网络相同或类似的性能。在学生网络的搭建中,可以采用以下步骤: 1. 准备教师网络:利用一个较大的深度神经网络(如ResNet、VGG等)进行训练,得到一个较优的模型。 2. 准备数据集:选择一个与教师网络训练数据集相同或类似的数据集,准备用于训练学生网络的数据。 3. 搭建学生网络:采用较简单的神经网络结构(如卷积神经网络、全连接神经网络等)搭建学生网络,并对其进行训练。 4. 进行知识蒸馏:将教师网络的知识传递给学生网络,可以采用以下两种方法: - Soft Target方法:将教师网络的输出结果作为学生网络的Soft Target,即将教师网络的输出结果作为学生网络的损失函数,让学生网络的输出结果尽量接近教师网络的输出结果。 - FitNet方法:将教师网络的特征映射作为学生网络的目标,即将教师网络中某一层的特征映射作为学生网络的损失函数,让学生网络的特征映射尽量接近教师网络的特征映射。 5. 进行微调:在知识蒸馏的基础上,对学生网络进行微调,进一步提升其性能。 总之,知识蒸馏是一种有效的神经网络训练技术,可以在较短的时间内训练出性能较好的模型。在搭建学生网络时,可以根据具体情况选择合适的网络结构知识蒸馏方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值