3.4.8 · D1Convolutional Neural Networks

Foundations — Inception - GoogLeNet

1,518 words7 min readBack to topic

Before you can read the parent note you need to own every piece of notation it throws at you. We build them in order — each one uses only the ones before it.


1. What is a feature map? The box

Everything in a CNN is a box of numbers. When we write , we mean:

  • = height = how many rows of numbers (here 28)
  • = width = how many columns (here 28)
  • = channels = how many such 28×28 grids are stacked behind each other (here 192)
Figure — Inception - GoogLeNet

Look at the figure: the front face is the spatial part (), the depth into the page is the channel count . When the parent says "output ", it just means this box got 64 grids deep.

Why the topic needs it: every branch of an Inception module produces one of these boxes, and the final step stacks them. You cannot understand "concatenate along depth" without first seeing the box.

Prerequisite: this is the language of CNN basics.


2. What a convolution actually does

A convolution slides a small window (a filter or kernel) across the feature map and, at each position, multiplies-and-adds to produce one output number.

  • = the kernel size (the side length of the window). means a 3×3 window.
  • = channels the filter reads from (input depth).
  • = number of filters = channels it writes out (output depth).
Figure — Inception - GoogLeNet

In the figure the yellow 3×3 window sits on the input; every position it visits produces one number in the output grid (blue). Because the window has size , it "sees" a neighbourhood — this is the receptive field.


3. The special case : the 1×1 convolution

Set . Now the window is a single pixel deep in space but still reaches through all channels.

The symbol (capital Greek "sigma") just means "add up all the terms" — here, add up over every channel from to .

Figure — Inception - GoogLeNet

Look at the red arrow drilling straight through the channel stack at one pixel: it collapses numbers into numbers. This is why we call it a bottleneck — if , the box gets thinner, and that is dimensionality reduction with weights the network learns (more flexible than fixed methods like PCA).

Why the topic needs it: the 1×1 conv is the single trick that makes Inception affordable. Everything in the cost analysis rests on it.


4. Counting the work: what "operations" means

The parent multiplies big numbers to compare costs. Here is where those numbers come from.

Each output value of a conv requires multiply-adds (one per number the window covers). We produce such outputs per filter, and filters:

Plug and you recover the 1×1 cost — the term simply vanishes. That is why 1×1 convs are cheap: no factor.

Why the topic needs it: the entire "12× fewer operations" argument is this one formula applied twice.


5. Depth-concatenation: stacking the branches

Four branches each hand back a box of the same but possibly different depth. To combine them:

The spatial sizes must match for this to be legal, which is why every branch is designed to keep (or whatever the module lives at).


6. Loss and gradient — the training symbols

The parent writes .

  • (script "L") = the loss = a single number measuring how wrong the network's prediction is. Smaller is better.
  • Training nudges every weight to lower using the gradient (the direction of steepest decrease).
  • In very deep nets the gradient signal shrinks as it travels backward — the vanishing gradient problem. The extra terms inject fresh gradient into the middle, like a booster halfway down a long pipe.

The is a weight: it makes the helper losses count 30% as much as the main one, so they assist without dominating.

Why the topic needs it: the auxiliary classifiers exist only to fix vanishing gradients — later solved more cleanly in ResNet.


7. How it all feeds together

Feature map box H x W x C

k x k convolution

1 x 1 convolution

Receptive field = scale

Bottleneck channel reduction

Operations count H W k^2 Cin Cout

Parallel branches

Depth concatenation

Inception module

Loss and gradient

Auxiliary classifiers

Related roads from here: earlier fixed-size stacks in VGG, the successor Inception v2/v3, and automating the hand-tuned channel counts with Neural Architecture Search.


Equipment checklist

Cover the right side and answer aloud.

What do the three numbers in mean?
Height (rows), Width (columns), and Channels (how many stacked grids / depth) of a feature map box.
What is a receptive field?
The size of the input patch one output value "sees" — bigger kernel means bigger receptive field.
What does a 1×1 convolution do if it has no spatial reach?
It mixes channels — a learned weighted sum across depth at each pixel; can shrink to .
Write the operation count of a conv.
.
Why is a 1×1 conv cheap?
Its , so the kernel-area factor vanishes from the cost.
What does depth-concatenation require and preserve?
Requires all branches to share the same ; preserves every channel by stacking along depth.
What does stand for and why the weight on aux losses?
= loss (how wrong the net is); keeps auxiliary losses as helpers, not the main objective.
Why do auxiliary classifiers exist?
To inject gradient into middle layers and fight vanishing gradients during training — discarded at test time.