Inverting Visual Representations with Convolutional Networks
By Alexey Dosovitskiy, Thomas Brox. 2015
740 citations recorded by the source corpus.
Feature representations, both hand-designed and learned ones, are often hard to analyze and interpret, even when they are extracted from visual data. We propose a new approach to study image representations by inverting them with an up-convolutional neural network. We apply the method to shallow representations (HOG, SIFT, LBP), as well as to deep networks. For shallow representations our approach provides significantly better reconstructions than existing methods, revealing that there is surprisingly rich information contained in these features. Inverting a deep network trained on ImageNet provides several insights into the properties of the feature representation learned by the network. Most strikingly, the colors and the rough contours of an image can be reconstructed from activations in higher network layers and even from the predicted class probabilities.
Subfields: Computer Vision and Pattern Recognition
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Vision and Pattern Recognition
- Luc Van Gool
- Dacheng Tao
- Ming-Hsuan Yang
- Trevor Darrell
- Jitendra Malik
- Andrea Vedaldi
- Xiaogang Wang
- Bernt Schiele
Citations in the corpus
- Making Convolutional Networks Shift-Invariant Again (2019, background): “…hidden units (Girshick et al., 2014; Zhou et al., 2015), actively maximizing hidden units (Mordvintsev et al., 2015), and mapping features back into pixel space (Zeiler & Fergus, 2014; H´enaff & Si-moncelli, 2016; Mahendran & Vedaldi, 2015; Dosovitskiy & Brox, 2016a;b; Nguyen et al., 2017).”
- Projected GANs Converge Faster (2021, background): “A similar effect has been observed for feature inversion [11] – the deeper the layer, the harder it is to reconstruct its input.”
- Generating Images with Perceptual Similarity Metrics based on Deep Networks (2016, methodology): “Dosovitskiy & Brox (2015) train up-convolutional networks on a large training set of natural images to perform the inversion task.”
- Semantic Image Inpainting with Deep Generative Models (2016, methodology): “Additionally, back-propagation has also been used to visualize and understand the learned features in a trained network, by “inverting” the network through updating the gradient at the input layer [26, 5, 35, 21].”
- Axiomatic Attribution for Deep Networks (2017, background): “…been on networks trained on computer vision tasks, and deals with understanding what a specific neuron computes (Erhan et al., 2009; Le, 2013) and interpreting the representations captured by neurons during a prediction (Mahendran & Vedaldi, 2015; Dosovitskiy & Brox, 2015; Yosinski et al., 2015).”
- Perceptual Losses for Real-Time Style Transfer and Super-Resolution (2016, background): “The work of Dosovitskiy and Brox [22] is particularly relevant to ours, as they train a feed-forward neural network to invert convolutional features, quickly approximating a solution to the optimization problem posed by [6].”
- Arbitrary Style Transfer in Real-Time with Adaptive Instance Normalization (2017, background): “The brushstroke feature can be inverted to the image space with a feed-forward decoder, similar to [10].”
- Stacked Generative Adversarial Networks (2016, methodology): “Other approaches, such as [8], train a top-down deconvolutional network to reconstruct the input image from a feature representation by minimizing the Euclidean reconstruction error in image space.”
- Synthesizing the preferred inputs for neurons in neural networks via deep generator networks (2016, neutral): “Interestingly, previous studies have shown that G trained to invert lower-layer codes (smaller l) results in far better reconstructions than higher-layer codes [25, 6].”
- DISCO: Dynamic and Invariant Sensitive Channel Obfuscation for deep neural networks (2020, background): “This attack scheme is inspired from [33, 53, 54].”
- Distributed learning of deep neural network over multiple agents (2018, methodology): “However, as shown in [15], such feature vectors can be inverted very accurately using prior knowledge of the methods used to create them.”
- A Survey on Explainable Artificial Intelligence (XAI): Toward Medical XAI (2019, methodology): “Inversion of image representations within the layers has been used to demonstrate that CNN layers do store important information of an input image accurately [49] [50].”
- Unsupervised Learning of Neural Networks to Explain Neural Networks (2018, background): “Many studies for network interpretability mainly visualized image appearance corresponding to a neural unit inside a CNN [39, 22, 29, 7, 38, 6] or extracted image regions that were responsible for network output [24, 8, 14, 9, 27, 17].”
- Interpreting CNNs via Decision Trees (2018, background): “1, the above two perspectives are crucial in real applications and have essential differences from traditional pixel-level visualization and diagnosis of CNN features [37, 23, 10, 24, 22].”
- Interpretable Convolutional Neural Networks (2017, methodology): “Our problem of improving CNN interpretability is different from conventional off-line visualization [34, 17, 24, 4, 5, 21] and diagnosis [2, 10, 18] of pre-trained CNN representations.”
- Growing Interpretable Part Graphs on ConvNets via Multi-Shot Learning (2016, methodology): “Given an image, we also used latent patterns in the AOG to reconstruct the corresponding semantic part based on the technique of (Dosovitskiy and Brox 2016), in order to show the interpretability of the AOG.”
- Towards Better Analysis of Deep Convolutional Neural Networks (2016, methodology): “Existing methods can be classified into two categories, namely, code inversion [15, 41, 59] and activation maximization [17, 49, 58].”
- Visual interpretability for deep learning: a survey (2018, methodology): “Second, the up-convolutional net [Dosovitskiy and Brox, 2016] is another typical technique to visualize CNN representations.”