GoogLeNet
7 memberslucid.models.vision.googlenetGoogLeNet (Inception v1) family — Szegedy et al., 2014.
Szegedy, Christian, et al. "Going Deeper with Convolutions." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 1–9.
GoogLeNet (Inception v1) is the ILSVRC-2014 classification winner and introduced the Inception module — a multi-branch building block that lets a single layer apply convolutions at several receptive-field scales in parallel and concatenate their outputs. The motivation is that natural images contain salient structure at multiple sizes, and forcing the network to commit to a single kernel per layer wastes capacity.
Each Inception module computes four branches in parallel and concatenates them along the channel axis, giving the next layer an enriched, multi-scale representation. To keep the computation tractable, cheap bottlenecks sit before the larger spatial convolutions and after the pooling branch:
where each is a learned convolution and each is a dimensionality-reducing projection.
Divergence, deliberate: the paper's third branch is a convolution. The reference implementation the shipped weights come from uses a there instead — a documented deviation on its side — and this build follows the weights, so the third branch is in the code and in the equation above.
GoogLeNet stacks nine such modules into a 22-layer network with only 5 M parameters — roughly 12× fewer than AlexNet — while achieving a top-5 error of 6.67%. Two auxiliary classifiers were attached to intermediate layers during training to combat vanishing gradients and add a regularising effect; they are discarded at inference. The Inception family launched here led to Inception v2/v3 (factorised convolutions, label smoothing) and eventually Inception-ResNet.
Classes
GoogLeNetConfig1 methodsConfiguration for GoogLeNet (Inception v1).
GoogLeNet4 methodsGoogLeNet (Inception v1) feature-extracting backbone.
GoogLeNetForImageClassification2 methodsGoogLeNet image classifier with optional auxiliary classifiers.
GoogLeNetOutput1 methodsStructured forward output for GoogLeNetForImageClassification.