Sitemap
Arko Sengupta

Arko Sengupta

Machine Learning Engineer | Tech Speaker | Google Cloud Ready Facilitator

VGG-19 Network: A Comprehensive Guide

Explore detailed VGG-19 Network

9 min readOct 2, 2026

--

Press enter or click to view image in full size
Data Science & Machine Learning — Article 64

Introduction

VGG-19 is VGG-16 with three more convolutional layers, one added to each of the last three blocks.

Nothing else changes: the same 3 × 3 kernels, the same channel schedule, the same dense head. That makes it the cleanest controlled experiment in depth that the pre-residual era produced, because exactly one variable moves.

The arithmetic is worth having before the argument. Those three layers add 5, 309, 696 parameters, which is 3.84 percent of the network but 36.08 percent of its convolutional parameters, and they add 26.90 percent to the compute.

All of the added parameters are convolutional and the dense head is byte-for-byte identical.

What they buy is the subject of this article, and one thing they demonstrably buy is a receptive field that finally covers the input.

Table of Contents

  • Introduction
  • Table of Contents
  • What is VGG-19
  • Core Components of VGG-19
  • Mathematical Foundation
  • Types of VGG-19
  • Evaluation Metrics
  • Selecting Evaluation Metrics
  • Assumptions and Practical Considerations

What is VGG-19

Definition

VGG-19 is configuration E of the VGG family: nineteen weight layers comprising sixteen 3 × 3 convolutions in five blocks of sizes 2, 2, 4, 4, 4, followed by the same three dense layers as VGG-16.

Why it exists

  • It is the deepest configuration in a study designed to isolate depth. Configurations A, B, D, and E differ only in the number of convolutional layers, so any difference in result is attributable to depth alone.
  • It marks where the pre-residual approach stopped paying. The VGG paper’s own conclusion was that depth helped up to 16 to 19 layers, and going further required something other than stacking.
Press enter or click to view image in full size

The difference, exactly

Press enter or click to view image in full size

Core Components of VGG-19

The three added layers

  • conv3_4, conv4_4, and conv5_4, each a 3 × 3 convolution at the block’s existing channel count.
  • Their cost is set entirely by that count: 590,080 at 256 channels and 2, 359, 808 at 512.

The unchanged head

  • fc6, fc7, and fc8 are identical to VGG-16’s, contributing 123,642,856 parameters to both.

The unchanged blocks

  • Blocks 1 and 2 are untouched, which is a deliberate choice: adding layers at 64 and 128 channels would be cheap in parameters and expensive in FLOPs, since those blocks operate at 224 and 112 resolution.

Staged initialization

  • The paper initialized the deeper configurations from the shallower ones, because training the deepest from scratch was unstable.
  • This is a training detail that turns out to be the substantive finding, and Section 5.5 returns to it.

Mathematical Foundation

Press enter or click to view image in full size

The exact delta

Every added parameter is convolutional. The dense head is unchanged, so 100.0 percent of the delta lands in the trunk.

Press enter or click to view image in full size

The share row is worth reading carefully, because the dense head did not shrink by a single parameter. It holds 123, 642, 856 in both networks, and its share still falls from 89.36% to 86.06%:

The denominator moved and the numerator did not. That is the whole mechanism by which the dense share has been falling across this part of the series.

Press enter or click to view image in full size

The three percentages are the interesting part, because they measure the same change against three different denominators and give three very different impressions.

Against the whole network the change is 3.84 percent and looks negligible. Against the convolutional trunk it is 36.08 percent and looks substantial.

Against compute it is 26.90 percent, which is what a user actually pays.

Reporting only the first is how a change like this gets described as free. It is not free; it is 27 percent more compute for every image, forever.

Why the delta lands where it does

Press enter or click to view image in full size

The added layers cost 590, 080 + 2, 359, 808 + 2, 359, 808, and the asymmetry is entirely the channel count:

Press enter or click to view image in full size

Quadrupling in parameters for a doubling in channels. So 88.9 percent of the added parameters are in blocks 4 and 5.

Press enter or click to view image in full size

The FLOP picture is different again. A layer’s FLOPs are c²k²HW, and since VGG halves H and W at each pool while doubling c, a layer in block 3 at 56 × 56 with 256 channels costs the same as one in block 4 at 28 × 28 with 512.

conv3_4 costs a quarter of conv4_4’s parameters and exactly the same compute.

Parameter count and compute cost rank the three added layers in opposite orders.

The receptive field finally covers the input

Tracking through the convolutional trunk, with each pool doubling the step:

Press enter or click to view image in full size

VGG-16, 13 layers:

Press enter or click to view image in full size

VGG-19, 16 layers:

Press enter or click to view image in full size

This is a genuine, structural thing the three layers buy. In VGG-16 no convolutional unit sees the whole image, so all spatial integration is deferred to fc6.

Get Arko Sengupta’s stories in your inbox

Join Medium for free to get updates from this writer.

In VGG-19 a conv5_4 unit’s receptive field exceeds the input, so the trunk itself can in principle relate any two parts of the image.

Two caveats keep this honest. The theoretical receptive field is an upper bound on influence, and the effective receptive field is known to be substantially smaller and roughly Gaussian, so crossing 224 on paper does not mean the corners actually matter.

And VGG-16 as a whole still sees everything through fc6, so this is a statement about where the integration happens rather than whether it happens.

Depth is added where it is cheapest in parameters, not in compute

Press enter or click to view image in full size

The added layers went into blocks 3, 4, and 5. Consider the alternative of adding three layers to blocks 1, 2, and 3 instead:

Press enter or click to view image in full size

Adding depth early would cost 6.9× fewer parameters and more compute, because early layers operate at high resolution.

The choice VGG made buys parameters cheaply in FLOP terms and expensively in memory terms.

This is a design tradeoff that only becomes visible when both quantities are reported. A parameter-count summary makes the early placement look obviously better; a latency summary makes it look worse.

What the comparison actually showed

The VGG paper’s own conclusion was that depth helped through their range and that the deepest configurations were close to each other.

Reproducing the accuracy comparison is beyond what can be computed here, so this article does not quote error rates it has not measured.

What can be stated from the architecture alone is the cost, and the cost is 26.90 percent more compute for three more layers.

What is not in dispute is what happened next. Within a year, residual connections allowed networks of 50, 101, and 152 layers, and ResNet-50 reaches better accuracy than VGG-19 with roughly 25.6 million parameters against 143.7 million, a 5.6× reduction.

The lesson drawn was not that depth stopped mattering but that stacking was the wrong way to add it.

Residual connections address this directly by giving the gradient a path of length 1 to every layer, which is what Article 67 covers.

Why VGG-19 is still used

Press enter or click to view image in full size

Despite being superseded for classification, VGG-19 remains common as a feature extractor, particularly for perceptual losses and style transfer.

The reason is architectural rather than nostalgic: its uniform structure means the feature maps at each block have a clean, predictable relationship to spatial scale, with no skip connections mixing representations across depths.

A ResNet’s features at a given depth mix information that took many different path lengths, which is what makes it train well and what makes its intermediate representations harder to interpret as a scale hierarchy.

Press enter or click to view image in full size

Types of VGG-19

Configuration C against D

  • Both have 16 weight layers, but C uses 1 × 1 convolutions in three positions where D uses 3 × 3.
  • D performed better, which the paper read as evidence that spatial context matters beyond channel mixing. It is a controlled comparison of kernel size at fixed depth.

VGG-19 with batch normalization

  • Removes the need for staged initialization.
  • Adds 2c parameters per convolutional layer, which across the 16 layers of VGG-19 is 2×(64·2 + 128·2 + 256·4 + 512·8) = 11,008 parameters, negligible against 143.7 million.

Truncated VGG-19

Press enter or click to view image in full size
  • Using only the convolutional trunk, discarding the head.
  • This is the form used for perceptual losses, and it is 20, 024, 384 parameters rather than 143, 667, 240: 13.94 percent of the published model.

Evaluation Metrics

Parameter delta against three denominators

  • Section 5.1’s 3.84, 36.08, and 0.00 percent. Reporting one without the others is how a change gets mischaracterized.

FLOP delta

  • +26.90 percent. The number a deployment actually pays, and it does not track the parameter delta.

Final receptive field against input size

  • 181 against 224 for VGG-16, 237 for VGG-19. A ratio below 1 means the trunk cannot integrate globally.

Parameters per added layer by block

  • 590, 080 against 2, 359, 808, a factor of 4 for a doubling of channels. It determines where depth is affordable.

Trunk parameters only

  • 20, 024, 384. The quantity that matters for transfer learning, and 13.94 percent of the headline figure.

Whether staged initialization is required

  • A binary that indicates the depth is at the edge of what the architecture can train.
Press enter or click to view image in full size

Selecting Evaluation Metrics

Selection rules

  • Report a parameter delta against both the total and the relevant subsystem. Here they are 3.84 and 36.08 percent for the same change.
  • Always report the FLOP delta separately. Section 5.4 shows a placement that reduces parameters 6.9× and increases compute.
  • Compute the final receptive field before adding layers for context. VGG-16 has genuine headroom at 181/224; VGG-19 does not.
  • Treat a need for staged initialization as an architectural signal, not a training inconvenience. It is what motivated residual connections.

Assumptions and Practical Considerations

The added layers go in blocks 3, 4, and 5

  • Configuration E is specific. Distributing three extra layers differently gives a different model with different cost, per Section 5.4.

The dense head is identical to VGG-16's

  • 123, 642, 856 parameters in both. Any comparison that changes the head is not measuring depth.

Staged initialization, or batch normalization

  • The original required initializing from a shallower configuration. Without that and without normalization, training from scratch may not converge.

The trunk is what transfers

  • 20, 024, 384 of 143, 667, 240. Loading the full model for feature extraction wastes 86 percent of the memory.

The receptive field figure is theoretical

  • The effective receptive field is smaller and roughly Gaussian, so 237 > 224 does not mean corner pixels meaningfully influence the output.

FLOPs scale with input area

  • 19, 632 MFLOPs is for 224 × 224. Doubling each dimension quadruples it and leaves the parameter count alone.

Depth beyond this range needs a different mechanism

  • The empirical result of the VGG study is that stacking runs out. Articles 66 and 67 cover the two answers that followed.

--

--

Arko Sengupta
Arko Sengupta

Written by Arko Sengupta

Machine Learning Engineer | Tech Speaker | Google Cloud Ready Facilitator