liveBook · Manning

GoogleNet

As explained in Math and Architectures of Deep Learning

A deep convolutional neural network architecture that improved on earlier image-classification results.

GoogleNet is a deep convolutional architecture built from nine Inception modules stacked linearly. It reaches 22 layers, or 27 when pooling layers are counted, and ends with global average pooling. Its central design runs several receptive-field sizes in parallel while controlling channel growth. section 11.2.2

A naive Inception module concatenates outputs from 1 × 1, 3 × 3, 5 × 5, and pooling branches. Concatenation increases output channels, so the dimension-reduced version inserts 1 × 1 convolutions before the 3 × 3 and 5 × 5 operations, and after pooling. These projections reduce input channels and therefore reduce the parameter cost of larger filters. section 11.2.2

The architecture also addresses vanishing gradients with two auxiliary classifiers attached to intermediate Inception modules. Each applies softmax and computes an auxiliary loss; the training objective combines these losses with the final loss using weights. section 11.2.2

From architecture to PyTorch

A dimension-reduced Inception module can define separate PyTorch sequential branches: a direct 1 × 1 convolution, a 1 × 1 reduction followed by 3 × 3 convolution, a 1 × 1 reduction followed by 5 × 5 convolution, and a pooling projection. Each branch uses batch normalization and ReLU before its outputs are concatenated.

How Math and Architectures of Deep Learning covers it

How deep it goes
Explains Inception branches, channel-reduction rationale, network depth, global pooling, and auxiliary losses, but defers full architecture details.
Examples
Shows naive and dimension-reduced Inception blocks through PyTorch listings and an Inception v1 architecture figure.
What it assumes
Assumes familiarity with convolutional layers, pooling, softmax, losses, and PyTorch modules.
What you can do after
Build it from scratch by implementing an Inception block with parallel PyTorch branches and dimensionality-reduction convolutions.
How it connects
Connects Inception modules with convolution, pooling, global average pooling, softmax, batch normalization, ReLU, and vanishing gradients.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Math and Architectures of Deep Learning. The section links point to the parts of the book it draws on.