3
$\begingroup$

I was going through some material and the term "localized filters" was used, can someone please explain what it means and what are the advantages of having a localized filter.

EDIT-1 My question is in the context of the word used in NIPS 2017 tutorial on Geometric Deep Learning on Graphs and Manifolds at 7:23 it is said that "In many successful instances of CNN models, these filters are localized in space. And the intuition why they have to be localized can be understood from the geometric point of view, that if I apply my filters to the inputs that are slightly deformed then many of the filter responses are going to be stable." I am not able to understand the last line. For this purpose, I have read stuff related to localization of rings and related things in Algebra but can't relate from there as well.

$\endgroup$
  • 1
    $\begingroup$ I haven't voted to close the question even if it is too broad, I would suggest you to edit the question and point out to the reference material. So that we can suggest you better, as it is incomplete for now. $\endgroup$ – Toros91 Jan 17 '18 at 11:38
  • $\begingroup$ Agreed. The term 'localized filter' may be used instead of 'filter', but without context we can't really be of much help. Please edit the question to include at least one reference. $\endgroup$ – StatsSorceress Jan 17 '18 at 16:28
1
$\begingroup$

Attempt at a Conceptual Approach

Graphical Representation of Conv. Filter

I will attempt to answer this question focusing primarily on the concept itself, rather than the mathematics which have little explicit relevance. Therefore, correct me if I am wrong, but I believe that when you state "Localized Filter" you are referring to what is also, commonly known as a "Convolution Layer" or "Neuron" even occasionally a "Kernel". In a manner, of which I hope will be suitable to your application, I would have one visualize this as a sort of mask, who's depth MUST equal that of the source image depth, that is to be masking the source input data, centered at some point (x,y,z), then sequentially shifted one position at a time in a manner such that, the area covered by the filter in the second position will be overlapping the first all but one column. To better understand this concept, imagine the way the data input to a CNN would be "seen" by the machine, the following images attached to this guide, show the general concept; although the picture above this paragraph is AN ACTUAL GRAPHICAL REPRESENTATION OF A NEURON, the same principle applies to both:


Some array -> N1xN2xN3 of numbers. CNN, how we see, how machine see


After successfully shifting, the algorithm will then perform an element wise multiplication across the values in the original matrix(X0) that the "conv layer" currently Filters and its own numeric values(X1) then stored in some other array (A), referred to as the "Activation Map", that becomes some degree smaller than the original data in relation to the filter size:


np.multiply(X0,X1)


Of which the result is stored in some Matrix, of numerals, Pt, position total. Upon completion of the sequence of the entire original input data, the algorithm then computes the sum of all elements and stores them, so to gain the ability to pass to the next layer of the CNN:


Ptfinal = sum(Pt) Activation map representation


The filter itself, being representative of some pattern, for example a circle, would then result in the outcome of a large number after completing the second step if there was another circle within its area as the pixels that have any data within them will result in an element of the original array having some positive number. As an example reference the below picture's and notice the difference in the resulting Integers for both instance's:


Image of filter Example image set Matching values

enter image description here

Where as the opposite is true, of an area's values of which do not match those of the "conv layer". This scenario will result in a very low number, relative to a confirmed match, or even a zero if the element happens to be empty of data other than zero. This method is what comprises the "secret layer" in a CNN, which generally alternates in a sequence between different variants, "Convolution", "ReLU" as well as "Pool" layers.


Fully connected CNN


I hope that this explained better what is going on in the localized filters that you came upon in your research! If I was to ambiguous on any part of the explanation, please feel free to espouse and I will try to extrapolate.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thank you for an elaborate answer. The visual examples helped a lot but I am not able to understand what this means "This method is what comprises the "secret layer" in a CNN, which generally alternates in a sequence between different variants, "Convolution", "ReLU" as well as "Pool" layers.". The other doubt I have is, when do we say an output is stable? and what is the meaning of the phrase "filters are localised in space" i.e what additional properties do these filters/kernels enjoy over any normal filter? And how does being localised help in getting a stable output? $\endgroup$ – Prateek Yadav Jan 23 '18 at 9:59

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.