Convolution filters are known to perform very well in tasks, concerning some work with the image or video data, due to their ability to preserve some spatial information and equivariance property under the translations.

Interpretability of CNN filters

The idea of convolutional filter on a high level, that it is in some sense a switch, which reacts on a certain pattern, present on the image. For example this filter $$ \begin{pmatrix} 1 & -2 & 1 \\ 1 & -2 & 1 \\ 1 & -2 & 1 \\ \end{pmatrix} $$ can select horizontal borders on the image. And lower level filters activate on more sophisticated features and concepts like the presence of mouth or ears on the image.

However, initially these convolutions are initialized randomly, and only during the training procedure they capture properties of the images, that are transmitted through the network, and in case the network is trained well enough, these filters select the useful features on the image.

However, it is common, that for large and deep enough networks there are a lot of channels (hundreds or even thousands), and I wonder - how much are all of these filters relevant? The training process seems to be a bit arbitrary - for example the permutation of filters order won't in fact change the result, provided the subsequent layers action is permuted in the same way. During the training, can one figure out, that some filters are useless and drop them? And is there a point in insertion a new filters, hoping that they can be more useful, that those dropped?

The pass through the convolutional layers can be thought as some transformation of the initial image, which makes a richer and more useful representation, than the naive pixel map, because each pixel is hard to interpret, and the meaning is carried by the image as whole.

Output of the convolutional layers as richer representation

Is it the case, that in the initial formulation it is rather difficult to give a precise mathematical meaning, whether we have a cat or a dog on the image, but after the pass through the deep network, dogs, for instance, map to one cluster, and cats map to another cluster, and the data is linearly separable (or not linearly, but in some simple way) in this representation?

And if this representation is simple to split enough, may it be the case, that instead of fully connected neural network classifier on the bottom layer, the gradient boosting or SVM classifier may perform better?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.