Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion
1. 论文信息
论文标题
Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion
论文来源
CVPR2020, https://arxiv.org/abs/1912.08795
代码
https: //github.com/NVlabs/DeepInversion
2. 背景梳理
将所学知识从一个训练好的神经网络转移到一个新的神经网络具有许多吸引人的应用。此类知识迁移任务的方法基本都基于知识蒸馏。然而,这些工作假设先前使用的训练数据集,或者代表先前训练数据集分布的一些真实图像可用。考虑到数据集可能规模大、难以传输、管理,且涉及到数据隐私问题,先前使用的训练数据集可能无法获得。
在缺乏原先训练数据的情况下,一个有趣的问题就出现了——如何从训练的模型中恢复训练数据并将其用于知识迁移。DeepDream[1] 合成或变换输入图像,使其在给定模型的输出层中对选定的类别产生高输出响应。这个方法对输入(随机噪声或者自然图像)进行优化,使用一些正则项,在保持选定的输出激活是固定的情况下,让中间特征无约束。但以这种方式生成的图像,缺少自然图像的统计特征,很容易被识别为非自然图像,并且对知识迁移不是很有用。
论文贡献
- 提出了DeepInversion,用于为分类模型合成class-conditioanl的图像。此外,通过Adaptive DeepInversion来利用学生与教师的分歧,提高合成图像的多样性。
- 我们将DeepInversion应用于无数据剪枝、无数据知识迁移和增量学习。
3. 方法
3.1 背景
知识蒸馏
给定教师模型 pTp_TpT 和数据集XXX,学生模型的参数WSW_SWS 可以通过下式学到
minWS∑x∈XKL(pT(x),pS(x)) \min_{W_S}\sum_{x\in X}KL(p_T(x),p_S(x)) WSminx∈X∑KL(pT(x),pS(x))
其中pT(x)=p(x,WT)p_T(x)=p(x,W_T)pT(x)=p(x,WT)和pS(x)=p(x,WS)p_S(x)=p(x,W_S)pS(x)=p(x,WS)是教师和老师的输出。
DeepDream
给定一个随机初始化的输入x^∈RH×W×C\hat{x}\in R^{H\times W\times C}x^∈RH×W×C和一个任意的目标标签yyy,通过优化以下目标来合成图片:
minx^L(x^,y)+R(x^), \min_{\hat{x}} \mathcal{L}(\hat{x},y)+\mathcal{R}(\hat{x}), x^minL(

这篇博客介绍了DeepInversion和AdaptiveDeepInversion技术,用于在没有原始训练数据的情况下进行知识迁移。DeepInversion通过改进DeepDream的图像生成过程,合成高质量的类条件图像,而AdaptiveDeepInversion则通过引入竞争正则化增加图像多样性。实验表明,这种方法在剪枝、知识迁移和增量学习等任务上取得了显著效果,生成的图像在视觉保真度上优于其他方法。
最低0.47元/天 解锁文章
654

被折叠的 条评论
为什么被折叠?



