In Convolutional Neural Nets, what do the convolutions look like?

66 Views Asked by At

The early stages of the Convolutional Neural Networks are performing classical convolutions with a certain kernel size on the input image. Is is possible to express in common terms the type of filtering they are generally performing (lowpass, highpass, differential, anisotropic...), or are they completely application-dependent/impossible to interpret ?

Alternatively, can you show some sample kernel ? I would be very grateful.

1

There are 1 best solutions below

0
On

There are some attempts to figure out what a CNN learned. Most interesting to me is LIME:

Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin: "Why Should I Trust You?": Explaining the Predictions of Any Classifier

Simplified a lot, they do the following:

  1. Divide the image into superpixels (regions)
  2. Feed the classifier with an image, where some superpixels are made black
  3. Fit a much simpler model with the superpixel/classifier output.
  4. Use that model to find the region which is relevant for the prediction

Another paper which is very famous for visualization is

Matthew D Zeiler, Rob Fergus: Visualizing and Understanding Convolutional Networks

Now to your other question:

Is is possible to express [the learned convolution of other layers than the first one] in common terms the type of filtering they are generally performing (lowpass, highpass, differential, anisotropic...), or are they completely application-dependent/impossible to interpret ?

I haven't heard of any other, non-application dependent interpretation.