Skip to content
Back to the collection

Visualizing and Understanding Convolutional Networks

Matthew D Zeiler, Rob Fergus

2013 · arXiv

Read the paper
HN score
0
Mentions
9
Readers
9
Months
8
What’s in a score?

From the abstract

Large Convolutional Network models have recently demonstrated impressive classification performance on the ImageNet benchmark. However there is no clear understanding of why they perform so well, or how they might be improved. In this paper we address both issues. We introduce a novel visualization technique that gives insight into the function of intermediate feature layers and the operation of the classifier. We also perform an ablation study to discover the performance contribution from different model layers. This enables us to find model architectures that outperform Krizhevsky \etal on the ImageNet classification benchmark. We show our ImageNet model generalizes well to other datasets: when the softmax classifier is retrained, it convincingly beats the current state-of-the-art results on Caltech-101 and Caltech-256 datasets.

Metadata: arXiv. Abstracts retain their original authors’ rights.

In the conversation

Original HN comments, with labels from simple text rules. A label describes the whole comment and may miss context or irony. Read the discussion to make up your own mind. About the labels

9 selected excerpts · 9 total mentions

karxxm
Neutral mention · rule
Some architectures are relatively well understood. Eg in CNNs, the first layers detect low level features like edges, gradients, etc. The next layer then combines these features to more complex structures like corners or circles. Next layer will combine these features to even higher level features and so on. [1] Typically, you can take a pre-trained model and retrain it on your new dataset by only changing the weights of the last layer(s). Some loss functions even measures the difference between the high-level features of two images, typically extracted from a pre-trained CNN (Perceptual Loss). [1]Matt Zeiler did an amazing work on these findings 10 years ago (https://arxiv.org/abs/1311.2901).
blueboo
Neutral mention · rule
There’s no helping the incurious, but there are indeed reams of explorations unto weights and their explanations. One of my personal favourites is Zeiler and Fergus https://arxiv.org/abs/1311.2901 Tom Zahavy’s “Greying the black box” on deep RL comes to mind too https://arxiv.org/abs/1602.02658 OpenAI has their Microscope tool for investigating individual neurons https://openai.com/research/microscope; more recently OpenAI shared research and tooling leveraging a powerful language model to explain a smaller model’s neurons. https://openai.com/research/language-models-can-explain-neur... For a true toy box exploration playground.tensorflow.org is worth a play These may or may not satisfy your curiosities — your perfect tool may not exist…yet. I would argue that the sampling of extant work above are indicative that it and more are possible.
hiddencost
Neutral mention · rule
https://arxiv.org/abs/1311.2901 Check out figure 2. The network learns composition from fundamental shapes and gradients to compositional ones. It's kinda awe inspiring. Not NN specific, but some more work on explanations: https://homes.cs.washington.edu/~marcotcr/blog/lime/ Visualization of attention mechanisms is pretty cool for explanations: https://arxiv.org/pdf/1502.03044.pdf http://torch.ch/blog/2015/09/21/rmva.html
sxyuan
Neutral mention · rule
Seeing the face of a dog just means that the network has learned a good representation of dog faces. I don't think that has anything to do with the generalization ability of the network. I'm not clear on the details of this hallucination process, but this reminds me of earlier work by Zeiler & Fergus[1], where you can see the bottom layers of the network learning general low-level features and later layers learning higher level representations of the objects being classified. [1] http://arxiv.org/abs/1311.2901
choppaface
Neutral mention · rule
A few other useful resources to play with convolutional kernels: * The linked demo really focuses only on layer 1. See Layers >=2 plotted here: http://arxiv.org/pdf/1311.2901v3.pdf * DeepViz is a nice tool: https://github.com/bruckner/deepViz * Another tool one can use to play with convolutional kernels is ShaderToy ( https://www.shadertoy.com/ ). Here's a Gaussian blur: https://www.shadertoy.com/view/XdfGDH * If you like playing with kernels in shaders, see also Brad Larson's GPUImage: ( https://github.com/BradLarson/GPUImage ) -- the demo app has a bunch of standard kernels. Just for fun, convolutional shader porn: https://www.shadertoy.com/view/4d2Xzc
colah3
Neutral mention · rule
You make some pretty strong attacks on the state of the art approach to computer vision. Could you please provide citations? As someone working on neural networks, although not really on computer vision, I do not believe several of the things you said are true. > > Pornographic images, for instance, are frequently identified not by the presence of particular body parts or structural features, but by the dominance of certain colors in the images > Neural networks This is definitely not what state of the art neural networks for computer vision do, although I'm sure there are many models out there that do function in that manner. We know that neural networks learn to detect…
Read the full comment
higher level features. For example, see the excellent visualizations in Matthew Zeiler and Rob Fergus' Visualizing and Understanding Convolutional Networks paper. (http://arxiv.org/pdf/1311.2901.pdf) > Neural networks are unsuccessful because they are not detecting anything. They're just making statistical correlations that happen to be right for the specific set of training data they have received. Are you saying that the correlations they learn aren't true on non-training data? If so, that is false. Any competent person in ML tests on different data than they train. Well trained neural networks generalize to new data very well. That's why we use them. > There's no robustness whatsoever. Artificial gullibility. Are you referring to the adversarial counterexamples section of Szegedy et al's Intriguing properties of neural networks paper? (http://arxiv.org/abs/1312.6199) This paper shows that one can craft noise which will fool a neural network. But it isn't noise that is found in real life. It's created by an optimization process which is basically looking for ways to fool the network. Basically, it discovers an optical illusion for the network. (From the manifold perspective, it moves us in a direction perpendicular to the manifold.)

Keep following the thread.

More in Computer vision

More from the same topics.