liveBook · Manning

Receptive field

As explained in Deep Learning with PyTorch, Second Edition

The region of the original input that can influence a particular output unit in a convolutional network.

A receptive field is the region of the original input that can influence one output pixel or voxel. A convolution starts with a small neighborhood, but stacking layers lets later outputs draw on a wider area. section 8.2.3 section 13.4.1

Trace one output pixel backward

Start with an 8 × 8 image. Apply a 3 × 3 convolution, halve the image with max pooling, then apply another 3 × 3 convolution. One output of the second convolution depends on several pooled values, each representing an area of the first convolution’s output. Tracing those dependencies back gives an 8 × 8 receptive field away from the boundary. At a padded corner, only a 7 × 7 region of actual input pixels contributes. section 8.2.3

The same idea applies to volumes. One 3 × 3 × 3 convolution sees 3 × 3 × 3 input voxels; two stacked convolutions give an output voxel an effective 5 × 5 × 5 receptive field. Stacking these smaller kernels uses fewer parameters than one 5 × 5 × 5 convolution. A following max-pooling layer widens the region represented by its output again. section 13.4.1

Figure 8.10 More convolutions by hand, showing the effect of stacking convolutions and downsampling: a large cross is highlighted using two small, cross-shaped kernels and max pooling
figure

Follow the small convolutions and downsampling to see how a later output responds to a larger pattern. section 8.2.3

How Deep Learning with PyTorch, Second Edition covers it

How deep it goes
Traces input influence through stacked 2D and 3D convolutions, padding, and pooling, without giving a general calculation formula.
Examples
Traces an 8 × 8 image through convolution and pooling, then compares one and two 3 × 3 × 3 convolutions.
What it assumes
Introduces the idea through a 2D example, while the 3D treatment recommends reviewing basic convolution mechanics.
What you can do after
Evaluate/understand how stacking convolutions and pooling changes the input area represented by an output pixel or voxel.
How it connects
Links receptive fields to convolution, max pooling, downsampling, padding, and progressively composed features.

Also explained in

Compare how 2 books explain receptive field →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Deep Learning with PyTorch, Second Edition. The section links point to the parts of the book it draws on.