Convolutional Neural Networks

dilated convolution

A dilated convolution spreads the kernel's sampling points apart by inserting gaps between them, instead of reading a contiguous patch. A 3x3 kernel with dilation 2 still has just 9 weights, but it reads pixels that are 2 apart — so it covers a 5x5 footprint while sampling only 9 of those 25 positions. Intuitively it lets a filter 'see wider' without using more weights or shrinking the feature map: you enlarge the receptive field by spreading the gaze, not by zooming out.

Precisely, with dilation rate d a kernel of size k behaves like one of effective size d(k-1)+1, but with only k weights along each axis (the gaps contribute nothing). The general output-size formula floor((W + 2P - (d(k-1)+1))/S) + 1 reduces to the ordinary case when d = 1. Stacking layers with growing dilation (e.g. 1, 2, 4, 8) makes the receptive field grow exponentially with depth while every layer keeps the same resolution — the key trick of WaveNet for long-range audio and of DeepLab's atrous pyramids for semantic segmentation.

The payoff is dense prediction with broad context. In segmentation you want a label at every pixel, so you cannot keep pooling resolution away, yet you still need a large receptive field to know whether a blue region is sky or sea — dilation gives the context without the downsampling. The well-known pitfall is gridding (the 'gridding artifact'): if every stacked layer uses the same dilation, the sampled positions form a sparse lattice that ignores intermediate pixels, leaving checkerboard-like holes in coverage. The fix is hybrid dilation rates (e.g. 1, 2, 3) chosen so the combined sampling has no common gap.

A 3x3 kernel at dilation 1, 2, then 4 has receptive fields of 3, 5, then 9 along each axis; stacked, the three layers reach a 1 + (3-1) + (5-1) + (9-1) = 15-pixel receptive field using only 3*9 = 27 weights and never downsampling.

Why it matters: dilation decouples receptive field from resolution and parameter count — the three usually move together. That independence is why it became standard in segmentation (DeepLab), audio generation (WaveNet), and any setting where you need broad context but must keep a high-resolution output.

Also called
atrous convolutionà trous