Skip to content

DenseNet

How DenseNet concatenates earlier feature maps: growth-rate accounting, a 3-to-9-channel example, transitions and the distinction from residual addition.

DenseNet is a convolutional neural network architecture in which each layer inside a dense block receives the feature maps of every earlier layer in that block, together with the block input. It combines them by concatenating channels. For a quant researcher evaluating image-like alternative data, the practical question is how earlier representations remain available as deeper features are learned. DenseNet makes that reuse explicit. The original definition is in Huang et al., §3.

The growing feature bank

Write x0x_0 for the block input and xℓx_\ell for the new features produced by layer ℓ\ell. Its transformation is

xℓ=Hℓ ⁣(concat⁡(x0,x1,…,xℓ−1)).x_\ell = H_\ell\!\left(\operatorname{concat}(x_0,x_1,\ldots,x_{\ell-1})\right).
Here HℓH_\ell is a learned transformation; concatenation simply puts the earlier maps alongside one another on the channel axis. In the basic paper architecture, the transformation uses batch normalisation, ReLU and convolution. The maps within a block have matching spatial dimensions.
The growth rate kk is the number of new channels each layer produces. With k0k_0 input channels and LL such layers, layer ℓ\ell consumes k0+(ℓ−1)kk_0+(\ell-1)k channels, while the concatenated block output contains k0+Lkk_0+Lk channels. These are feature counts, not parameter counts. Huang et al., §3 gives the architecture and growth-rate convention.
Consider an illustrative block that starts with 3 channels, has 3 layers, and adds 2 channels per layer. Keep spatial resolution fixed and omit transitions inside this example.
LayerChannels consumedNew channels producedChannels retained after concatenation
1325
2527
3729
Layer 3 sees the original three channels, the two produced by layer 1, and the two produced by layer 2. It produces two more. The whole block therefore returns 9 channels, even though the last learned transformation produces only two. A shape audit that records only each transformation's output would miss the retained channels.
Illustrative DenseNet block: 3 initial channels remain available as three layers each append 2 channels. Layers read 3, 5 and 7 channels; the retained feature bank grows to 5, 7 and finally 9 channels.
Illustrative DenseNet block: 3 initial channels remain available as three layers each append 2 channels. Layers read 3, 5 and 7 channels; the retained feature bank grows to 5, 7 and finally 9 channels.
Original shape-accounting diagram. Each horizontal group represents channels, not learned values or a measured contribution to prediction.

Concatenation changes what is preserved

A residual network uses elementwise addition to merge a shortcut with a transformed branch. DenseNet keeps the earlier feature maps as separate channels instead. The distinction is developed in Dive into Deep Learning, §8.7.1. Having access to a feature does not mean the fitted model must use it strongly, or that each new channel carries independent information.
Growth is local to a dense block. Transition layers between blocks can change resolution and compress channels; bottleneck convolutions inside a layer can reduce the width processed by a subsequent convolution. Neither operation changes concatenation into addition. Dive into Deep Learning, §§8.7.2–8.7.3 illustrates channel growth and the separate transition operation.

For research, the diagram is a representation audit, not a forecast result. It contains no fitted weights, targets or return observations. It cannot establish predictive skill, profitability, or a universal speed or memory advantage over another architecture. A financial application still needs its own data design and out-of-sample evaluation.

For the underlying shape arithmetic and residual comparison, see CNN Building Blocks: Receptive Fields and Residual Design Patterns (public preview; full lesson requires membership).

Sources

Last updated
  • deep learning
  • convolution
  • feature reuse
  • neural architecture
← Back to the glossaryBack to top ↑