首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于GAN的无数据知识蒸馏

基于GAN的无数据知识蒸馏

作者头像
带萝卜
发布2020-10-26 14:35:02
1.1K0
发布2020-10-26 14:35:02
举报

最近在做知识蒸馏的时候了解到了一些无数据蒸馏算法,在无法获取到原始训练数据(机密数据、隐私数据、数据集太大或者是没有百度云会员下不动数据)的情况下,可以尝试一下这种类型的蒸馏算法,也许有奇效呢。

这里介绍其中两篇论文,分别是Data-Free Learning of Student Networks arXiv:1904.01186v4和Data-Free Adversarial Distillation arXiv:1912.11006v3. 两篇论文都是以GAN为基础结构的知识蒸馏算法。

1. Data-Free Learning of Student Networks arXiv:1904.01186v4

模型结构中包含了三个模型,一个生成器、一个Teacher模型和一个Student模型。在训练过程中,Teacher模型相当于一个固定参数的判别器,我们需要训练的是生成器和Student模型。

训练GAN的过程用到了三个loss函数,分别是:

1. Teacher模型的输出概率(prob)与伪标签(argmax(prob))之间的交叉熵

作者认为如果生成器生成的样本非常接近于真实样本,那么输入到Teacher模型之后,得到的输出概率应该会呈现出很好的分类结果,即某个类别的概率会非常高。

2. Teacher模型的全连接层之前的特征图的L1范数

作者认为真实图片的输出特征图通常不会是一些随机的向量,而应该有比较高的激活值

3. Teacher模型的输出类别的信息熵

类别分布越平均,信息熵越大,所以这个loss用于控制样本类别数量的平衡。

注意这个因为这个信息熵的设计,训练这个模型的时候,batchsize不能太小,具体数值可以参考作者的github仓库()中的建议。

有了这三个loss函数、再加上Teacher和Student之间的交叉熵,就可以在无任何真实数据的情况下对模型进行知识蒸馏了。

2. Data-Free Adversarial Distillation arXiv:1912.11006v3

这篇文章中的算法更接近传统的GAN,并且声称在图像分割任务中也得到了与data-driven方法接近的效果。

训练过程也基本与传统的GAN一致,因为这个模型中的判别器由Teacher和Student共同组成,即判别器的参数不是固定的,下面简述一下训练过程:

1. 模拟阶段

固定Generator, 只更新Discriminator(其实只是更新Student部分)

使用Teacher和Student之间的MAE误差作为损失函数。

这一阶段与常规的知识蒸馏方法类似,作者认为这一步的意义除了向Teacher学习之外,还有一个意义就是构建更好的搜索空间,迫使生成器去寻找新的困难样本。

2. 生成阶段

固定Discriminator, 只更新Generator

这一步需要让Generator去学习如何生成更难分辨的样本,也就是需要提高Teacher和Student的输出结果的差异性,损失函数仍然选择了两个模型之间的MAE,只是加了个负号。

后来作者发现使用这个loss函数训练得到的生成样本都很奇怪,对这个MAE损失做了负对数处理,得到了比较好的效果。

其他无数据蒸馏的思路

除了利用GAN做无数据蒸馏的方法外,还有一些利用反向传播更新输入数据的方式来获取与训练数据相似的样本的算法(方法类似于图片风格化算法),这方面的算法也有两篇比较典型的论文,分别是利用训练数据产生的激活值以及Batchnorm参数来进行反向传播更新输入噪声:

Data-Free knowledge distillation for Deep Neural Networks

Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Data-Free Learning of Student Networks arXiv:1904.01186v4
    • 1. Teacher模型的输出概率(prob)与伪标签(argmax(prob))之间的交叉熵
      • 2. Teacher模型的全连接层之前的特征图的L1范数
        • 3. Teacher模型的输出类别的信息熵
        • 2. Data-Free Adversarial Distillation arXiv:1912.11006v3
          • 1. 模拟阶段
            • 2. 生成阶段
            • 其他无数据蒸馏的思路
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档