Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion

Hongxu Yin, Pavlo Molchanov, Zhizhong Li, Jose M. Alvarez, Arun Mallya +3 more
12/18/2019
cs.LGcs.CVstat.ML

Official code: NVlabs/DeepInversion (525 stars, last commit 2023-01-25).

Abstract

We introduce DeepInversion, a new method for synthesizing images from the image distribution used to train a deep neural network. We 'invert' a trained network (teacher) to synthesize class-conditional input images starting from random noise, without using any additional information about the training dataset. Keeping the teacher fixed, our method optimizes the input while regularizing the distribution of intermediate feature maps using information stored in the batch normalization layers of the teacher. Further, we improve the diversity of synthesized images using Adaptive DeepInversion, which maximizes the Jensen-Shannon divergence between the teacher and student network logits. The resulting synthesized images from networks trained on the CIFAR-10 and ImageNet datasets demonstrate high fidelity and degree of realism, and help enable a new breed of data-free applications - ones that do not require any real images or labeled data. We demonstrate the applicability of our proposed method to three tasks of immense practical importance -- (i) data-free network pruning, (ii) data-free knowledge transfer, and (iii) data-free continual learning. Code is available at https://github.com/NVlabs/DeepInversion

View on arXivView PDF

Code Implementations(1)

Official PyTorch implementation of Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion (CVPR 2020)

52586PythonMar 16, 20203 years agoNOASSERTION

Similar Papers

Cite this paper

@article{yin2019dreaming,
  title  = {Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion},
  author = {Hongxu Yin and Pavlo Molchanov and Zhizhong Li and Jose M. Alvarez and Arun Mallya and Derek Hoiem and Niraj K. Jha and Jan Kautz},
  year   = {2019},
  eprint = {1912.08795},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1912.08795}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1912.08795.svg)](https://codeofpaper.com/paper/1912.08795)

Discussion