A bottleneck layer is a narrow, highly compressed representation between earlier feature extraction and later reconstruction or prediction. In a U-Net, the bottleneck connects the contracting encoder to the expansive decoder, processing the most abstracted features before reconstruction. section 6.2.2 section 6.5
Trace the bottleneck through a denoising U-Net:
- The contracting path applies convolution and pooling to detect patterns, reduce spatial dimensions, and build increasingly abstract features. section 6.2.2
- The bottleneck holds the smallest spatial representation and the most condensed information about the noisy image. section 6.5
- The expansive path upsamples the bottleneck output, while skip connections restore fine-grained information from matching encoder stages. section 6.5
Implementing the bottleneck flow
A denoising U-Net sends the input through down blocks, converts the result into a hidden vector at the bottleneck, and passes it through up blocks. Time and label embeddings condition the upsampling stages, while skip connections merge corresponding contracting-path features. section 6.3.1
The term also describes ResNet50 bottleneck units: each unit uses three convolutional layers and a residual connection, allowing information and gradients to flow through deep residual blocks. section 13.3.1
Figure 6.4 The components of the denoising U-Net model
Use the architecture figure to follow the encoder, bottleneck, decoder, and skip-connection paths in one view. section 6.2.2



