Skip to content

Fully convolutional network

How fully convolutional networks preserve a grid, accept different input lengths and separate positionwise prediction from optional global pooling.

A fully convolutional network (FCN) is a convolutional neural network that processes a spatial or temporal grid without flattening it into a fixed-width vector for a fully connected layer. Shared filters let the same learned model process different grid sizes, subject to its kernel, stride and padding constraints. For a quant working with sequential observations, this separates two decisions: how to extract local patterns, and whether to retain their positions or summarise the whole window.
"Fully convolutional" does not mean every operation is a convolution: activations, pooling and upsampling can participate. Its grid of predictions can remain spatially indexed; optional global pooling is a subsequent readout. Long, Shelhamer and Darrell, §3.

A shrinking grid is still a grid

Consider a toy 1D network, not a reproduction of the original image-segmentation architecture. Take eight sequential input positions and apply two convolutions, each with kernel width three, stride one, dilation one and valid padding, meaning no padding. Ignore the batch and channel dimensions when counting positions.

For one such layer, the output length is

Lout=Lin−k+1.L_{\text{out}} = L_{\text{in}} - k + 1.
The first layer has six complete windows; the second has four. Thus 8→6→48\to6\to4. Each final position depends on five original positions: the first covers input positions one through five, and the last covers four through eight. These are overlapping local views, not four independent samples. The padding and shape conventions match the official Keras Conv1D documentation.
The filters can also slide across a longer input without acquiring new weights. For example, ten input positions would produce lengths eight and six under the same rules. Variable input size does not imply unchanged output size, nor does it guarantee that a model trained on short windows will generalise to much longer ones.
A toy 1D FCN reduces lengths from 8 to 6 to 4 using width-3 valid convolutions. Each final site sees 5 original positions. Stipulated unitless final activations 1, 3, 2, 6 can feed a positionwise head retaining 4 sites, or optional global averaging producing 3.
A toy 1D FCN reduces lengths from 8 to 6 to 4 using width-3 valid convolutions. Each final site sees 5 original positions. Stipulated unitless final activations 1, 3, 2, 6 can feed a positionwise head retaining 4 sites, or optional global averaging producing 3.
Original illustrative architecture: local feature extraction and the final readout make different choices about position.

Four predictions or one summary?

A positionwise head applies the same channel-mixing rule at each remaining location. A width-one convolution can produce class scores at each of the four output sites without mixing those sites together. Here “dense prediction” means predicting across locations; it does not mean attaching a fully connected dense layer.
For a different task, suppose one final channel has stipulated unitless activations 1,3,2,61,3,2,6. These values are supplied for the readout example, not calculated from unspecified input values or filters. Optional global average pooling gives
hˉ=1+3+2+64=3.\bar h = \frac{1+3+2+6}{4}=3.
This returns one value for that channel, as described by the Keras global-average-pooling documentation. It is a feature summary, not automatically a probability or forecast. Averaging would also return three if those four activations were reordered: their location has been discarded. If the target is a label at each position, that summary cannot replace a positionwise head. Global average pooling is optional, not a defining requirement of an FCN.

Why the name is associated with segmentation

Long, Shelhamer and Darrell's 2015 work adapted image classifiers into networks producing spatial class-score maps. Fully connected layers were reinterpreted as convolutions; upsampling connected coarse predictions back to pixels. Their skip architecture combined coarse semantic information with finer features. That is a two-dimensional dense-prediction application of the FCN idea, rather than the global-average readout above. Upsampling restores output resolution, not a guarantee that all discarded detail has been recovered. Original paper, §§3.1, 3.3 and 4.1–4.2.
For a worked continuation, Dense Prediction: Segmentation Heads and Encoder–Decoder Intuition explains decoder resolution and skip connections. The preview is public; the full lesson requires membership.
For financial sequences, keep causality separate from architecture. A valid convolution looking at positions one through five is available only after position five has arrived; attaching its output to position one would introduce look-ahead bias. A temporal convolutional network adds sequence-specific design choices; the FCN label alone does not promise causal predictions. Likewise, a global summary of a completed window can serve an end-of-window decision but cannot retroactively become an earlier signal.

Sources

Last updated
  • neural networks
  • convolution
  • dense prediction
  • time series
← Back to the glossaryBack to top ↑