Feature Map

A feature map is the two-dimensional grid of values produced when one filter of a convolutional layer is slid across its input, recording at each position how strongly the pattern that the filter detects is present there. A layer with 64 filters produces 64 feature maps, stacked into a tensor whose depth is called the channel dimension, and that tensor becomes the input for the next layer. Seen this way, a feature map is the network's intermediate answer to a narrow question, such as "where are vertical edges?" or, deeper in the network, "where does something resembling fur appear?"

A concrete count shows how the shapes and the parameter budget work. Take an image of 224×224 pixels with 3 colour channels and apply a convolutional layer with 64 filters of size 3×3, padding 1, and stride 1. Each filter spans all 3 input channels, so it holds 3 × 3 × 3 = 27 weights plus one bias; across 64 filters that is 27 × 64 + 64 = 1,792 parameters. By the output-size formula (covered in the entry on stride) the spatial size stays 224×224, so the output is 224×224×64, which is 3,211,264 activation values, about 64 times the parameters in this layer and roughly 21 times as many numbers as the input image holds. A following 2×2 pooling with stride 2 halves each side to 112×112×64. This is the VGG pattern (Simonyan and Zisserman, 2014): parameters stay modest while the activations that must be stored for backpropagation dominate memory.

Input image 224×224×3
3 colour channels
64 filters of 3×3×3, padding 1, stride 1
1,792 parameters including 64 biases
64 feature maps, each 224×224
Map 1
may respond to horizontal edges
Map 2
may respond to a colour contrast
Map 64
may respond to a texture
Stack: 224×224×64 = 3,211,264 activations
this tensor is the next layer's input

The same filter is reused at every position, and that weight sharing is what makes a feature map meaningful. Because one small set of weights scans the whole image, a detected pattern produces the same response wherever it occurs, so the feature map shifts when the object shifts (a property called equivariance), and the parameter count does not grow with image size. This is the central economy of the convolutional neural network introduced by LeCun and colleagues for digit recognition in the late 1980s and 1990s and scaled up by AlexNet (Krizhevsky, Sutskever, and Hinton, 2012), whose first layer learned 96 filters resembling oriented edges and colour blobs.

Feature maps get more abstract and spatially coarser with depth, and each unit sees a growing patch of the original image called its receptive field. Zeiler and Fergus's 2013 "Visualizing and Understanding Convolutional Networks" projected activations back to pixel space and showed the progression: early maps respond to edges and colours, middle ones to textures and parts such as eyes or wheels, and late ones to whole objects. As stride and pooling shrink the grid, each late-layer position summarizes a large region, so the network trades where for what. The final maps are typically collapsed by global average pooling or flattened into a classifier, and architectures like U-Net and feature pyramid networks deliberately keep maps from several depths so that both fine location and high-level meaning remain available.

Feature maps are also the raw material for much of the visualization and compression work around convolutional networks. Grad-CAM (Selvaraju and colleagues, 2017) weights a late layer's maps by the gradient of a class score to draw a heatmap of the regions that drove a prediction, and channel pruning removes the filters whose maps contribute little, shrinking a model without changing its structure. Transfer learning reuses early and middle feature maps trained on ImageNet as general-purpose descriptors, and object detectors attach their prediction heads directly to maps at several scales. In transformers the analogue is the grid of patch tokens, which is why vision transformers can be read as producing feature maps with a different mixing rule.

The common confusions are about what a channel is and what a feature map is not. A channel is not necessarily a human-interpretable concept; Bau, Zhou, Khosla, Oliva, and Torralba's 2017 network dissection study found that some units align cleanly with named concepts while many do not, so reading meaning into one map from a picture can mislead. Displayed maps usually come after a nonlinearity such as ReLU and have been normalized for display, which hides their real magnitudes. And the term is distinct from the unrelated kernel feature map in classical machine learning, where it means a mapping of inputs into a higher-dimensional space, and from the feature matrix of rows and columns in tabular data.

Read feature map as one channel of a layer's output, a spatial record of where a single learned detector fired: stacking many of them gives the network its working representation, and following their shapes from layer to layer is the clearest way to understand what a convolutional network is doing.

Take feature map further

Ask the copilot about this term, or have our engineers assess it against your process.