文章链接:https://arxiv.org/abs/1912.08795

CVPR2020上做data-free蒸馏的。
什么是Data-free=》就是没有数据,只能自己生成数据
一提到生成数据,就想到GAN:
输入噪声,过GAN生成数据,数据过Teacher得到结果,求损失来训练GAN,使得GAN能生成和原数据集分布一致的数据,然后就可以去训student了。

什么样的loss能使得GAN生成和原数据集分布一致的数据呢?经过观察发现:
(图像先验)
1、生成图的方差小
2、生成图的L2范数小

因此把方差和2范数作为损失
不过这样生成的数据虽然可能复合原数据集的分布,但不一定好看

比如从噪声生成右图的样子
为了约束图像使其更好看,在这篇文章中作者加入了对特征的监督
作者认为图像的特征的均值、方差应和原数据集的均值、方差一致,因此用原数据集的均值、方差监督噪声输入特征的均值、方差

原数据集的均值、方差都在BN层里存着的

因此最终的损失为图像先验损失与特征的均值、方差损失:

图像生成任务到这里就可以基本完成了


但是上面的方法存在一个问题,就是依靠均值、方差还原出的数据可能只占原始数据集较为集中的一部分,

其他的数据怎么获得呢?=》使生成数据均匀地分布在超球面上
假设已经用之前生成的数据训好了一个Student网络:

把它fix起来,再同时过Student与Teacher网络,使得两条流的logits分布差异越大越好,用这个loss来优化输入Noise(或者是GAN),就能得到在之前的分布之外的数据

把新生成的数据加入之前生成的数据,就又能训Student;以此类推,不断迭代

最终生成的图像说实话还是不太好看

e是加了student和teacher的loss之后的

而且这样还原的是原数据集中的一部分图片,不能知道还原的是哪张图片,所以也没有gt。如果能知道图片输入得到的梯度就好了,那就是下一篇:
deep leakage from Gradients

Dreaming to distill(Deep Inversion, data free distill)相关推荐

  1. Deep tabular data learning

    Contents Why do tree-based models still outperform deep learning on tabular data? Tabular Data (表格数据 ...

  2. Denoising DNA deep sequencing data—high-throughput sequencing errors and their correction

    去噪DNA深度测序数据,高通量测序误差及其校正 Abstract 描述常见高通量测序平台产生的错误并从技术人工制品中识别出真正的遗传变异是两个相互依赖的步骤,对许多分析如单核苷酸变异调用.单倍型推断. ...

  3. 蒸馏 (distill_Distill-BERT:使用BERT进行更智能的文本生成

    蒸馏 (distill The field of natural language processing is now in the age of large scale pretrained mod ...

  4. Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion

    Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion 1. 论文信息 论文标题 Dreaming to Distill ...

  5. Deep Neural Networks are Easily Fooled High Confidence Predictions for Unrecognizable Images

    Layer-Wise Data-Free CNN Compression 我们的无数据网络压缩方法从一个训练好的网络开始,创建一个具有相同体系结构的压缩网络.这种方法在概念上类似于知识蒸馏[23],即 ...

  6. Comparison of Big Data OLAP DB : ClickHouse, Druid, and Pinot

    In this post I want to compare ClickHouse, Druid, and Pinot, the three open source data stores that ...

  7. 深度学习样本生成data augmentation

    在做深度学习图片分类的时候,很多是有些样本不足这个时候我们就会自己生成样本,如opencv对图片旋转,扭曲等等操作.google了一下deep learning data augmentation 发 ...

  8. watch中的immediate、handler和deep属性

    vue中的watch监听 第一个handler:其值是一个回调函数.即监听到变化时应该执行的函数. 第二个是deep:其值是true或false:确认是否深入监听.(一般监听时是不能监听到对象属性值的 ...

  9. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...

最新文章

  1. 随机数排列JAVA_随机数生成器,按排序顺序
  2. python 如何查看列表(List)的维度? (需要将List转换成numpy数组)
  3. SRS后需求双向追溯解决方法
  4. unity随机方向的代码_ECCV 2020 目前用于车辆重识别(vehicle reID)中最大的合成车辆数据集(代码开源)...
  5. 编译原理实验代码c语言,编译原理实验 简单词法分析(含源代码和实验结果)
  6. Mycat对于导入和扩容迁移性能压测
  7. 怎么确保网站的可用性
  8. Java单例的常见形式
  9. OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽
  10. java如何实现动态时钟_java中的动态时钟
  11. 【MySQL】ERROR 1055 (42000) ROUP BY clause this is incompatible with sql_mode=only_full_group_by
  12. 拉姆达表达式启动一个线程
  13. python五角星程序显示错误_python画五角星和六角星程序
  14. 如何实现微信内域名防封,微信域名防封跳转
  15. Docker Linux下安装配置及启动
  16. 《个人助手》新模块——数据手袋
  17. 串口通信--两台PC机之间的简单传输
  18. C# 9.0新特性详解系列之五:记录(record)和with表达式
  19. 德勤报告:来自甲骨文的七大发现!企业数字化转型必备
  20. 通过出生日期计算年龄

热门文章

  1. 使用watermark.js给HTML、Word、PPT、Excel等添加水印
  2. 网易16年研发实习生笔试题 - 寻找第K大
  3. Amazon亚马逊卖家设置World First(WF卡)收款教程!
  4. NB-IoT通信模组读取IMEI、ICCID、IMSI
  5. 复杂SQL语句练习【III】
  6. 已知三角形三边长求面积java_已知三角形三点坐标求三角形面积.java
  7. 输入三角形三边长,求三角形面积
  8. oracle分区备份,oracle分区表备份,只还原1个分区
  9. pip install 命令报错Temporary failure in name resolution
  10. html5/css登录注册网页模板