3.4.4 · D5Convolutional Neural Networks

Question bank — Feature maps and receptive fields

1,430 words7 min readBack to topic

This is a question bank for the ideas in the parent topic. Each line is a question ::: answer reveal. The goal is not arithmetic (that lives in D3/D4) — it is to catch the conceptual traps: what a feature map really is, why receptive fields grow the way they do, and the boundary cases that break naive intuition.

Prerequisites worth re-reading if a question stings: 3.4.01-Convolutional-layers, 3.4.02-Pooling-layers, 3.4.03-Padding-and-stride, 3.3.02-Activation-functions.


True or false — justify

A feature map and a filter are the same kind of object.
False. A filter is a small fixed grid of learned weights (the same numbers everywhere); a feature map is the large grid of activations those weights produced by sliding across the input — one is the stamp, the other is the ink it left everywhere.
One convolutional layer with 32 filters produces one feature map.
False. It produces 32 feature maps, one "opinion" per filter, stacked into a tensor of shape — each channel answers "where did my pattern fire?"
Increasing padding makes the receptive field of a deep neuron larger.
False. Padding changes the output size (border handling), not how many real input pixels feed a neuron; receptive field is driven by kernel sizes and strides, so padding leaves it unchanged.
For a stack of stride-1 layers, the receptive field grows exponentially with depth.
False. With every stride product is , so — that is linear growth. Exponential growth needs stride/pooling () to multiply the expansion.
A pooling layer does not change the receptive field because it has no learnable weights.
False. Having no weights is irrelevant — a pool still spans 2 previous-layer pixels, so it both adds to the receptive field and multiplies later layers via its stride .
A neuron in layer looks directly at the input image pixels.
False. It only reads layer , which read , and so on — the receptive field is a recursive accumulation through every intermediate layer, not a direct view.
Two 3×3 convolutions stacked give the same receptive field as one 5×5 convolution.
True. , matching a single — but the stacked pair uses fewer parameters and adds a nonlinearity in between, which is why deep nets prefer it.
Dilation makes a kernel physically bigger, so it costs more parameters.
False. Dilation only spaces out the same taps, so parameters stay fixed; the effective kernel size grows to while the weight count does not.
Every value in a feature map is guaranteed to be non-negative.
False in general. The raw convolution output can be negative; non-negativity only holds after a non-negative activation like ReLU is applied.

Spot the error

"Receptive field at layer is ."
Wrong stride. The multiplier is the cumulative stride of all earlier layers , not the current layer's own stride — layer 's stride affects layers after it, not itself.
"The first conv layer with has receptive field ."
Wrong. For the very first layer regardless of stride; stride spaces out where outputs land, it does not shrink how many input pixels each output reads.
"Padding 'same' means the receptive field equals the input size."
Wrong. "Same" padding just keeps the output spatial size equal to the input; the receptive field can still be a tiny patch (e.g. ) far smaller than the whole image.
" because the input hasn't been convolved yet."
Wrong base case. : an input pixel already "sees itself," so the recursion starts at 1, and starting at 0 undercounts every later layer by one.
"A 5×5 conv with stride 1 and padding 2 on a input gives a output."
Wrong. — padding 2 exactly compensates the reach, so the size is preserved at , not shrunk.
"Global average pooling has a receptive field of one pixel because it outputs one number per channel."
Wrong. It averages the entire feature map, so its receptive field is the full spatial extent that feature map already accumulated — outputting one number does not mean it saw one pixel.

Why questions

Why does the size formula have "" at the end?
Because valid filter positions are fencepost-counted: placeable positions are 3 outputs, not 2 — the converts a count of gaps into a count of positions.
Why do we take the floor in the output-size formula?
A filter can only sit at whole-pixel positions; if the stride does not divide the leftover space evenly, the last partial step is discarded rather than producing a fractional output row.
Why does stride multiply later receptive-field expansions instead of adding?
A stride- layer means each of its output pixels is input pixels apart, so every "extra" pixel a later kernel reaches corresponds to input pixels — the effect compounds multiplicatively down the stack.
Why do deeper layers "understand context" that shallow layers cannot?
Their larger receptive field lets one neuron aggregate a wide input region, so it can encode "this edge belongs to a face" rather than just "there is an edge here."
Why are stacked small kernels preferred over one large kernel for the same receptive field?
They reach the same coverage with fewer weights and insert extra nonlinearities between them, giving more expressive power at lower cost.
Why do dilated convolutions help semantic segmentation specifically?
They enlarge the receptive field (global context) without downsampling, so spatial resolution is kept intact — essential when every output pixel needs a precise label.
Why must pooling layers be included when computing receptive fields?
Their window covers multiple previous-layer pixels (adding to ) and their stride downsamples (multiplying later expansions) — omitting them drastically undercounts the true receptive field.

Edge cases

What is the receptive field of a convolution?
Exactly 1 pixel of the current layer: so it adds nothing to — it mixes channels at a single spatial location, never widening the spatial view.
What happens to the output size when the kernel is larger than the padded input?
The numerator goes negative, the formula yields a non-positive value, and the layer is invalid — there is simply no place to fully seat the filter.
If stride and , what is the output size relative to input?
Identical: — a stride-1 conv preserves spatial dimensions exactly.
Two feature maps in the same layer at the same spatial location: do they share a receptive field?
Yes. Receptive field is a purely geometric property of the architecture, so all channels at one position see the identical input patch; only their weights (and thus values) differ.
Can a neuron's receptive field extend beyond the actual image (into padding)?
Yes. Padded zeros lie inside the receptive-field window at the borders, so edge neurons "see" a region partly filled with padding rather than real pixels.
Does an activation function like ReLU change the receptive field?
No. Activations act pointwise (one input → one output at the same location), so they alter values but never the spatial region a neuron depends on.
If a stride-2 pool is applied to an odd-sized map, what size results?
, giving — the leftover final row/column that cannot fill a full window is simply dropped.
Recall One-line self-test

Name the two things a pooling layer contributes to the receptive-field recursion. ::: An additive term from its window, and a multiplicative factor into the cumulative stride product for all later layers.

Related: 3.4.05-CNN-architectures, 4.2.01-Object-detection.