Problem : How  does convnet process images. And how much information is thrown out, when  we go through the multiple convolution layers ?
Answer : We can visualize it with the following image.

convenets - info loass across images.jpg

Problem : How can we understand , ConvNEts ?
Solution : Visualize the first conv layer. WE can do this in the first layer only since the weights are interpret-able, in the higher layers it just not make much more sense.

Question : So can we visualize the higher layers to understand them ?
Answer : In fact we can, we can visualize the layer immediately before the classifier. Using t-SNE visualization, we can do it. T-sne puts similar things together. i.e Two images are nearby if CNN codes are close.
Example, all headlights, circular boards, spaghetti, mushrooms are clustered near each other. This gives idea what COnvnets consider close to each other.

Problem :  Well, so far so good, but is there some better way to visualize which parts are playing key role in the classification ?
Answer :  Yes there is,  we could do a occlusion experiment i.e add a grey patch in the image and slide it across the image and see how the probability changes for the classification. For example in a dog class  identification,   the probability doe snot drop much when we occlude other parts of the image, but if we occlude the face of the dog then the probability of the classification drops significantly, hence we can know that the face of the dog plays a crucial role in classification.

occlusion experiment.jpg

Problem : Can we visualize activation ? It will be awesome to see the  activation in actions in the deep net to understand it better?
Answer :  Visualization available at
http://yosinkski.com/deepvis

Some neurons respond to vertical line moving from left to right with dark to light, other neuron respond to  moving from left to right  but with intensity light to dark. Some neurons detect faces, some wrinkles in shirt, printed texts.

Problem :  Well,  so its good that we can visualize activation.But how is it done in practice?
Answer :    We use a technique called de-convolution. It is an algorithm based process used to reverse the effect of convolution.  In image processing deconvolution are used to sharpen images that suffer from fast motions or jiggles. Early hubble space telescope suffered from distorted flawed mirror and the images were sharpened by deconvoltion.

 

 

Advertisements