Data-Free Learning of Student Networks解读

Conference: ICCV2019
Created: Oct 20, 2020 2:42 PM
Last Edit Time: Oct 22, 2020 3:41 PM
Property: Knowledge Distillation

Title

H. Chen et al., ‘Data-Free Learning of Student Networks’, arXiv:1904.01186 [cs, stat], Dec. 2019, Accessed: Oct. 20, 2020. [Online]. Available: http://arxiv.org/abs/1904.01186.

Summary

对于知识蒸馏任务,原模型训练数据集和网络结构未知,使用该模型和GAN结构生成数据(模拟原始数据集),提供给新的模型进行知识蒸馏。

Research Objective

(边缘设备需要使用高性能的小型网络),本文从知识蒸馏出发。

Problem Statement

大多数知识蒸馏任务中,Student网络可以获取Teacher网络所使用的数据。但在现实中由于隐私、法律条文和传输限制,存在无法获取的情况,而且,Teacher网络的结构可能是未知的,仅知道输入和输出的接口。(简而言之,没有T网络训练数据的情况下如何进行知识蒸馏)

过去的方法如何考虑这个问题?

  • Lopes et al. 使用"meta-data"(原数据集在每层中激活函数的均值和标准差)
  • Srinivas and Babu 合并全连接层中值相近的神经元。

过去方法的问题:

  • 作者认为并没有合理运用预训练的网络,从而导致性能太差。
  • 方法二不能处理卷积层。

Method(s)

解决思路

使用GAN来生成训练Teacher网络数据集的分布。

在这里插入图片描述

算法流程

固定住Teacher网络,[先训练生成器,再训练Student网络](迭代)

在这里插入图片描述

损失函数

在这里插入图片描述

L o h \mathcal{L}_{oh} Loh简单的KD Loss.

在这里插入图片描述

L a \mathcal{L}_a La表示激活损失函数,作者考虑到卷积网络中间的特征也是有用的,并且不同的fliter关注于不同的语义信息。如果说fliter能关住一些本质的模式,那么,相对于随机向量,真实图片对应的特征图应该有更高的激活函数值。这里的 f T i f_T^i fTi表示样本 x i x_i xi用Teacher网络提取的fc层前的特征。

在这里插入图片描述

L i e \mathcal{L}_{ie} Lie表示信息熵损失,对于多个 x i x_i xi,使用 y T i = N T ( x i ) y_T^i= \mathcal{N}_T(x^i) yTi=NT(xi)计算出输出向量的集合 { y T 1 , y T 2 , ⋯   , y T n } \{y_T^1,y_T^2,\cdots, y_T^n\} {yT1,yT2,,yTn} 1 n ∑ i y T i \frac{1}{n}\sum_i{y^i_T} n1iyTi就是这些样本对每个类别的频率分布。当loss函数越小,表示信息熵越小,每个类别的频率越接近 1 k \frac{1}{k} k1,生成器中每个类别的概率近乎相同,生成的数据也越均匀。

在这里插入图片描述

在这里插入图片描述

优化方法

使用SGD优化图像生成器 G G G和Student网络 N s \mathcal{N}_s Ns

Evaluation

  • MNIST: LeNet-5和LeNet-HALF
  • CIFAR-10和CIFAR-100: ResNet-34和ResNet-18
  • CelebA: AlexNet和AlexNet-Half: DCGAN

部分实验结果
在这里插入图片描述

消融实验

在这里插入图片描述

结果可视化(以下皆为MNIST)

在这里插入图片描述

Filter可视化

在这里插入图片描述

Conclusion

通过原有模型和生成数据的方式,能有效地训练一个轻量的神经网络。

Notes

在这些框架外额外需要记录的笔记。

边缘设备:例如 自动驾驶骑车和微型机器人

本文使用一个深度网络(教师)作为判别器,使用一个生成器生成数据使得判别器的概率最大来制作由该网络衍生的数据。

问题:
只使用了衍生数据嘛?是的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值