8
$\begingroup$

In a CNN, the receptive field is the portion of the image used to compute the filter's output. But one filter's output (which is also called a "feature map") is the next filter's input.

What's the difference between a receptive field and a feature map?

$\endgroup$
3
$\begingroup$

Receptive Field

The Receptive Field, in the context of CNN mechanics, is the discrete range of input selected as input to the convolution kernel of a specific layer. The range of a receptive field is a function of both position and size. The range applies to one or more dimensions.1

  • Horizontal
  • Vertical
  • Frame index
  • Time increment
  • Pixel layer index
  • Other dimensions

The position of the receptive field is varied systematically to select a subset of the range of indices in each dimension to cover the full range.2 The size is matched to the input of the kernel operating upon it and therefore normally constant.3

These are the three defining characteristics of receptive fields in CNNs.

  • Specifies the range of indices selected for input into the convolution kernel in terms of index position and size
  • The size of index range in each dimension (usually odd and less than 20) matched to the kernel input size characteristics
  • The position of index range in each dimension, systematically varied to cover the full range of information in all dimensions, usually varied by fixed increments

Note that the term Receptive Field originates from the bounds of signal representation of the visual field captured in biological systems. In this context, the term Receptive Field refers to the geometric range acquired through imaging devices or organs. Just as an eye may scan a landscape, the selection of a position within the total field of information occurs in CNN design.

The commonality between the biological and artificial is the use of varying the focus of attention over the total sensory space.

Feature Map as a Representation of Features Extracted

The term Feature Map in this context is a map representing the features extracted through one or more layers of convolution. The term may be inaccurately used for the intermediate output of kernels, but notice that the output of intermediate layers prior to layers that are pooled do not yet directly represent features. In those stages, extraction is incomplete, so there is no direct relationship between values and features.

The term feature map is most accurately used when describing the output of the last pooling layer in a section of CNN layers. This section may lie within a sequence of CNN sections or may otherwise be components in a larger system architecture.

Examples of feature mappings include these.

  • Edges
  • Appearance or disappearance (temporal domain)
  • Object elements
  • Motion trajectory
  • Zoom
  • Objects
  • Actions

In this use of the term, the mapping of features is relative to the dimensions of the information, the positional space over which the kernel was applied.

Feature Map as a Representation of a Transform in Discrete Hilbert Space

When the term Feature Map is applied to the mapping accomplished by one or a set of CNN layers, the features at the output are mapped to the input, not to positions. In this context, the mapping is the tensor transformation in Hilbert Space. Notice that the map is not a representation of the signal but the representation of the transformation, the kernel and its learned parameters in their current state.

To disambiguate this context from the previous one, it may be useful to use the term Feature Mapping to indicate a tensor transformation rather than the output of such a transformation.

Overlap of the Terms

When the output of a convolution section contains a map of features and is fed into another convolution layer or section, the feature map of one section becomes the full space over which the receptive field selects the subset of information to be fed into the next kernel as input.

Notice that a feature map is a complete signal representing all of the data in its section of the network, where as a receptive field is most often a subset of the complete signal applied multiple times to cover the full signal's breadth in multiple dimensions.

The two terms are not synonymous in any context but merely related by theory and practice.

Footnotes

[1] Both position and size are specified in each of $n$ dimensions in $\mathbb{I}^n$, where $n \ge 1$.

[2] The selection of ranges within each dimension may be accomplished via looping in algorithms or through hardware solutions that performs windowing operations with DSP or GPU circuitry, possibly accomplished via hardware or firmware controlled parallel RISC operations.

[3] Example and epoch indices can be bounded similarly in some CNN designs, but such indices are not, in the usual sense of the term, considered part of receptive fields. Only the dimensions within each example are. Also, input stream indices, such as camera identifier are not usually included as a dimension within a receptive field.

$\endgroup$
2
$\begingroup$

I hope this illustration will help you:

Receptive field(s): is a small portion of the input to produce only one node in a feature map.

Feature map(s): is a convolutional process output, a feature map can be said as a feature representation of filter's input. One feature map consists of many filter's outputs (from different receptive fields) from one kernel. The number of feature maps depends on the number of the kernel.

So even feature maps are the next filter's input, but the next receptive fields is not a feature map. The next receptive field consists of a small portion node from different feature maps (not only one feature map).

And also, we can see from the illustration above, a feature map has two-dimensional size $(46 \times 46)$, then a receptive field size will always three-dimensional $(5 \times 5 \times \text{Number Of Feature Maps})$.

$\endgroup$

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.