
GoogLeNet 学习笔记
论文信息
论文链接:Going deeper with convolutions
论文作者:
- Christian Szegedy (Google Inc.)
- Wei Liu (University of North Carolina, Chapel Hill)
- Yangqing Jia (Google Inc.)
- Pierre Sermanet (Google Inc.)
- Scott Reed (University of Michigan)
- Dragomir Anguelov (Google Inc.)
- Dumitru Erhan (Google Inc.)
- Vincent Vanhoucke (Google Inc.)
- Andrew Rabinovich (Google Inc.)
摘要:
We propose a deep convolutional neural network architecture codenamed Inception, which was responsible for setting the new state of the art for classification and detection in the ImageNet Large-Scale Visual Recognition Challenge 2014 (ILSVRC14). The main hallmark of this architecture is the improved utilization of the computing resources inside the network. This was achieved by a carefully crafted design that allows for increasing the depth and width of the network while keeping the computational budget constant. To optimize quality, the architectural decisions were based on the Hebbian principle and the intuition of multi-scale processing. One particular incarnation used in our submission for ILSVRC14 is called GoogLeNet, a 22 layers deep network, the quality of which is assessed in the context of classification and detection.
论文拆解
1. Introduction
略过。
2. Related Work
略过。
3. Motivation and High Level Considerations
显然,提升深度网络性能最直接的做法就是加深(depth)和加宽(width),但直接这样做会有两个问题:过拟合(overfitting)和计算资源爆炸。
为解决这两个问题,作者提出的想法是,使用稀疏连接的深层网络。这个做法是有理论支撑的,Arora 的研究结果表明,若数据分布可由极稀疏的深层网络表示,则可通过分析神经元激活相关性,逐层构建最优拓扑。尽管严格的数学证明需要一些严格的条件,但这个理论和 Hebbian principle 是一致的:
Neurons that fire together, wire together – suggests that the underlying idea is applicable even under less strict conditions, in practice.
所以干就完了,吗?
虽然理论可行,但稀疏结构在硬件上并不高效。对当前的 CPU / GPU 来说,稀疏结构所导致的 Cache miss、索引开销远超算术节省,相比之下,高度优化的 dense GEMM 在现有硬件上是压倒性占优的。
于是作者考虑的是,能否“既要又要”:在结构上接近稀疏网络,同时在计算上仍使用高效的 dense 运算?
The vast literature on sparse matrix computations (e.g. [3]) suggests that clustering sparse matrices into relatively dense submatrices tends to give state of the art practical performance for sparse matrix multiplication.
以此为灵感,论文的第一作者设计并研究了 Inception 架构,起初这只是“用致密模块近似理论稀疏结构”的折中方案,但实践结果是,仅通过少量拓扑迭代,该架构就已优于参考网络,且在进一步调参后,其在检测与定位任务中表现突出。这个架构扛住了各种质疑,经反复实验验证,被证明至少是局部最优。
对此,作者仍抱有审慎态度:Inception 的成功未必完全来自上述理论,这个做法需要更完全的分析与验证。不过,Inception 的成功至少证明:沿“稀疏结构 + 致密计算”的方向探索是值得的。
4. Architectural Details
直接上图:

使用不同大小的卷积核提取多尺度特征,用ReLU的作用),将各分支输出在通道维度拼接。
这就是 Inception 的核心模块。
对于整体网络:
- 层层堆叠 Inception 模块。
- 用步幅为
的 max-pooling 减少尺寸。 - 底层使用传统卷积,中高层才用 Inception(非必需)。
这个架构的优点如下:
- 大幅增加网络深度和宽度的同时,控住了计算复杂度。
- 符合“视觉信息应通过融合不同尺度的特征来提取”的直觉。
- Inception 模块可调程度高,可按需平衡性能与计算资源。
5. GoogLeNet
参数一览表:

结构图:
点我展开

或转 Netscope 查看更详细的网络结构。
要点一览:
- 输入:
RGB with mean subtraction。 - 所有卷积使用
ReLU。 - 计参数的层数为
层;若计 pooling 则 层。 - 分类的 fc 前要 avg-pool + dropout。
为缓解深网络的梯度消失并增强中间层判别力,加入两个辅助分类器(接在 Inception(4a) 和 (4d) 后):
- 训练阶段:辅助分类器的损失以权重
加入总 loss,用于加梯度信号与正则化。 - 推理阶段:丢弃这些辅助分支(仅主分支推理)。
辅助分类器的结构:
- avg-pooling (
, stride = ), for (4a), for (4d). conv with 128 filters for dimension reduction and ReLU. - FC
, ReLU, dropout( ) - A linear layer with softmax loss as the classifier (remove at inference time).
6. Training Methodology
GoogLeNet 使用 DistBelief 分布式系统训练,采用异步 SGD +
训练过程中大量依赖数据增强,包括随机裁剪(面积覆盖
7. ILSVRC 2014 Classification Challenge Setup and Results
任务是在 ImageNet 的
GoogLeNet 未使用任何外部数据,通过以下策略取得最佳成绩:
- 训练
个 GoogLeNet 模型(含一个加宽版本)并进行集成; - 测试阶段采用 多尺度 + 多位置裁剪(
个尺度 多 crop 翻转); - 综合多模型、多裁剪预测结果。
最终在验证集和测试集上均取得
8. ILSVRC 2014 Detection Challenge Setup and Results
检测任务要求在
GoogLeNet 的检测方案基于 R-CNN 框架,但:
- 使用 Inception 网络作为区域分类器;
- 结合 Selective Search + Multi-box 提高候选框召回率;
- 通过减少候选框数量、提升覆盖率来降低误检;
- 对每个候选区域使用
个模型的集成进行分类。
在未使用上下文信息、未进行 bounding box 回归的情况下,单模型 mAP 已具竞争力,集成后性能从约
9. Conclusions
Our results seem to yield a solid evidence that approximating the expected optimal sparse structure by readily available dense building blocks is a viable method for improving neural networks for computer vision.
稀疏化、模块化网络结构具有研究价值。
论文复现
PyTorch 实现 GoogLeNet
参考了这篇文章以及 AI 的现代化改进建议:
- 加入
Batch Normalization; - 使用
nn.AdaptiveAvgPool2d以支持任意输入尺寸;
import torch |
训练 & 评估
先咕咕咕
- 标题: GoogLeNet 学习笔记
- 作者: Coast23
- 创建于 : 2026-01-27 16:57:40
- 更新于 : 2026-01-30 16:31:05
- 链接: https://coast23.github.io/2026/01/27/GoogLeNet-学习笔记/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。