醒刻 Logo
← 返回文章列表

CNN 五大经典网络结构笔记:LeNet、AlexNet、VGG、GoogLeNet 与 ResNet

这篇笔记用适合入门者的方式梳理 CNN 五个经典网络:LeNet、AlexNet、VGG、GoogLeNet 和 ResNet,重点讲清楚它们各自解决了什么问题、结构怎么理解,以及为什么会影响后来的计算机视觉模型。

2026年5月2日 · 3528 · 更新于 2026年5月2日

学习 CNN 的时候,很容易一上来就被各种网络名字淹没:LeNet、AlexNet、VGG、GoogLeNet、ResNet……它们看起来都叫“卷积神经网络”,但每一个出现的背景和解决的问题并不一样。

这篇笔记不追求把论文细节全部展开,而是先从小白能理解的角度,把五个经典结构串起来:

  • LeNet:CNN 的早期雏形,证明卷积网络可以做图像识别
  • AlexNet:让深度学习在 ImageNet 上爆发
  • VGG:用很规整的小卷积核堆出深网络
  • GoogLeNet:用 Inception 模块提高计算效率
  • ResNet:用残差连接解决深层网络难训练的问题

如果你刚开始学计算机视觉,可以把这篇当成一张“CNN 发展路线图”。

目录

  1. 先理解 CNN 在做什么
  2. LeNet:CNN 的经典起点
  3. AlexNet:深度学习视觉时代的开端
  4. VGG:简单、规整、容易迁移
  5. GoogLeNet:让网络在不同尺度上看图像
  6. ResNet:让网络可以真正变深
  7. 五个网络放在一起怎么记

1. 先理解 CNN 在做什么

CNN,全称是 Convolutional Neural Network,中文一般叫卷积神经网络

它最擅长处理图像,因为图像有两个非常明显的特点:

  1. 局部相关性:一个像素和周围像素关系很强,比如边缘、纹理、角点通常都出现在局部区域。
  2. 空间结构:图像不是一串无序数字,左上、右下、上下左右的位置关系都很重要。

普通全连接网络会把图片拉平成一个长向量,这样会破坏很多空间信息。而 CNN 会保留图像的二维结构,通过卷积核在图像上滑动,逐步提取特征。

一个最基础的 CNN 通常由这些部分组成:

组成部分作用小白理解
卷积层提取局部特征像一个小窗口,在图像上寻找边缘、纹理、形状
激活函数加入非线性让网络不只是做简单线性变换
池化层降低特征图尺寸保留主要信息,减少计算量
全连接层输出分类结果根据前面提取的特征判断类别

可以把 CNN 理解成一个从低级到高级的识别过程:

原始像素
  ↓
边缘、颜色、简单纹理
  ↓
局部形状、部件
  ↓
完整物体特征
  ↓
分类结果

下面的五个网络,就是 CNN 从“能用”到“很深、很强、很高效”的几个重要阶段。


2. LeNet:CNN 的经典起点

LeNet 通常指 LeNet-5,由 Yann LeCun 等人在 1998 年提出,最早主要用于手写数字识别,比如识别支票、邮政编码里的数字。

LeNet 网络结构图

2.1 它解决了什么问题?

在 LeNet 之前,图像识别更多依赖人工设计特征。比如你要识别数字 8,可能需要人为设计“有没有闭环”“上下是否对称”等特征。

LeNet 的意义在于:它让模型自己从数据中学习特征。

也就是说,不再完全依赖人手写规则,而是让卷积层自己学会哪些局部形状对分类有用。

2.2 LeNet 的结构怎么理解?

LeNet 的整体结构比较简单:

输入图像
  → 卷积层
  → 池化层
  → 卷积层
  → 池化层
  → 全连接层
  → 输出类别

它有两个非常重要的思想:

  1. 卷积提特征:用卷积核扫描图像,提取局部模式。
  2. 池化做压缩:降低特征图大小,让后面的计算更轻。

2.3 小白应该记住什么?

LeNet 不复杂,但它奠定了 CNN 的基本模板:

卷积 → 池化 → 卷积 → 池化 → 分类

后来很多 CNN 虽然变得更深、更复杂,但基本思想还是从这里发展出来的。


3. AlexNet:深度学习视觉时代的开端

AlexNet 是 2012 年 ImageNet 比赛中的冠军模型。它的出现通常被认为是深度学习在计算机视觉领域真正爆发的标志。

AlexNet 网络结构图

3.1 为什么 AlexNet 这么重要?

ImageNet 是一个大规模图像分类数据集,类别多、图片多,难度远高于手写数字识别。

AlexNet 在这个比赛中大幅领先传统方法,说明深层 CNN 可以在大规模自然图像上取得非常强的效果。

它的重要性不只是“准确率高”,而是证明了几件事:

  1. 深层网络真的可以训练起来
  2. GPU 可以显著加速深度学习训练
  3. 大数据 + 深模型 + 强算力 是计算机视觉突破的重要组合

3.2 AlexNet 的关键设计

AlexNet 比 LeNet 更深,大致由多个卷积层和全连接层组成。

它有几个经典设计:

设计作用
ReLU 激活函数相比 sigmoid/tanh,更容易训练深层网络
Dropout减少全连接层过拟合
数据增强通过裁剪、翻转等方式增加训练样本变化
GPU 训练让大规模 CNN 训练变得可行

其中 ReLU 很关键。它的形式很简单:

ReLU(x) = max(0, x)

输入大于 0 就保留,小于 0 就变成 0。这个简单函数让深层网络训练速度明显提升。

3.3 小白应该记住什么?

AlexNet 的意义是把 CNN 从“小规模任务”推向了“大规模真实图像分类”。

如果 LeNet 证明了 CNN 能做图像识别,那么 AlexNet 证明了:深层 CNN 可以在大数据上击败传统视觉方法。


4. VGG:简单、规整、容易迁移

VGG 是 2014 年提出的经典网络,常见版本有 VGG-16 和 VGG-19。这里的数字表示网络中带参数的层数。

VGG 网络结构图

4.1 VGG 的核心思想

VGG 最有代表性的特点是:大量使用 3×3 小卷积核,并把它们重复堆叠起来。

你可能会问:为什么不用一个大的卷积核,比如 5×5 或 7×7?

原因是多个 3×3 卷积堆起来,也可以获得较大的感受野,同时参数量更可控,还能引入更多非线性。

例如,两个 3×3 卷积连续堆叠后,看到的区域大致相当于一个 5×5 感受野:

3×3 卷积 → 3×3 卷积 ≈ 5×5 感受野

三个 3×3 卷积连续堆叠后,感受野大致相当于 7×7。

4.2 VGG 为什么适合学习?

VGG 的结构非常规整,基本就是不断重复:

卷积 → 卷积 → 池化
卷积 → 卷积 → 池化
卷积 → 卷积 → 卷积 → 池化
...
全连接 → 分类

这种结构的优点是容易理解,也容易作为特征提取器使用。

在很多早期迁移学习任务中,人们会直接拿预训练好的 VGG,把最后的分类层换掉,用来做自己的任务。

4.3 VGG 的不足

VGG 的缺点也很明显:参数量很大,尤其是后面的全连接层非常重。

所以它虽然经典,但在实际部署中不一定高效。后来很多网络都在尝试解决一个问题:怎么在保持准确率的同时减少计算量和参数量?

4.4 小白应该记住什么?

VGG 可以用一句话概括:

用简单统一的 3×3 卷积不断堆叠,构造更深的 CNN。

它的价值在于结构清晰,非常适合入门者理解“深度增加”这件事。


5. GoogLeNet:让网络在不同尺度上看图像

GoogLeNet 是 2014 年 ImageNet 比赛中的冠军模型,也叫 Inception v1。注意它的名字中间是 LeNet,完整写法常见为 GoogLeNet

GoogLeNet 网络结构图

5.1 为什么需要 Inception?

前面的网络大多是“一层接一层”地往下堆。但图像里的物体大小并不固定:

  • 有些特征很小,比如边缘、角点
  • 有些特征稍大,比如眼睛、轮子
  • 有些特征更大,比如脸、车身

如果只用一种卷积核尺寸,可能不够灵活。

GoogLeNet 的想法是:在同一层里并行使用多种尺度的卷积,再把结果拼接起来。

5.2 Inception 模块怎么理解?

一个简化的 Inception 模块可以理解为:

输入特征图
  ├── 1×1 卷积
  ├── 3×3 卷积
  ├── 5×5 卷积
  └── 池化
        ↓
     拼接输出

这样做的好处是,网络可以同时从不同尺度观察图像。

小卷积核擅长看局部细节,大卷积核能看到更大范围的信息,池化分支则提供另一种压缩后的特征。

5.3 1×1 卷积的作用

GoogLeNet 里大量使用 1×1 卷积。刚接触时可能会觉得奇怪:1×1 这么小,能提取什么空间特征?

其实 1×1 卷积主要不是为了看空间范围,而是为了调整通道数

可以把它理解成:

在每个像素位置上,对不同通道的信息做一次重新组合

它常用于降维,减少后续 3×3、5×5 卷积的计算量。

5.4 小白应该记住什么?

GoogLeNet 的关键词是:

  • Inception 模块
  • 多尺度并行卷积
  • 1×1 卷积降维
  • 更高效地利用计算资源

它不只是单纯把网络加深,而是在思考:怎么让网络结构更聪明、更高效。


6. ResNet:让网络可以真正变深

ResNet 是 2015 年提出的残差网络,在深度学习历史上非常重要。它解决了一个关键问题:网络越来越深以后,反而可能更难训练。

ResNet 网络结构图

6.1 深层网络为什么不好训练?

直觉上,网络越深,表达能力应该越强。但实际训练时会遇到问题:

  • 梯度在反向传播中变得很弱,前面的层学不动
  • 层数增加后,优化难度变大
  • 更深的网络不一定比浅层网络效果好

这不是简单的过拟合问题,而是深层网络本身训练困难。

6.2 残差连接是什么?

ResNet 的核心设计是残差块。普通网络学习的是:

H(x)

也就是直接学习输入到输出的完整映射。

ResNet 改成学习:

F(x) = H(x) - x

最后输出时再把输入加回去:

H(x) = F(x) + x

结构上可以理解为:

输入 x
  ├───────────────┐
  ↓               │
卷积 → 卷积 → F(x)│
  ↓               │
      F(x) + x ←──┘
  ↓
输出

这条直接把输入传到后面的路径,通常叫 shortcut connectionskip connection

6.3 为什么残差连接有用?

残差连接的好处可以从两个角度理解。

第一,它让网络更容易学习“什么都不改变”。如果某几层暂时学不到有用东西,至少可以让输入直接传过去,不至于把信息破坏掉。

第二,它让梯度更容易往前传。反向传播时,梯度可以沿着 shortcut 路径流动,缓解深层网络训练困难的问题。

所以 ResNet 让人们可以训练 50 层、101 层甚至更深的网络。

6.4 小白应该记住什么?

ResNet 的核心就是一句话:

不让每一层都强行重新学习全部映射,而是学习“在原输入基础上需要改多少”。

这个思想后来影响非常大,不只是在 CNN 中,在 Transformer 等模型里也能看到类似的残差连接。


7. 五个网络放在一起怎么记

最后把这五个网络放在一张表里,方便复习。

网络年份核心特点主要意义
LeNet1998卷积 + 池化 + 全连接奠定 CNN 基本结构
AlexNet2012ReLU、Dropout、GPU、大规模训练引爆深度学习视觉应用
VGG2014大量堆叠 3×3 小卷积结构规整,适合理解深 CNN
GoogLeNet2014Inception 模块,多尺度并行卷积在准确率和计算量之间做平衡
ResNet2015残差连接,shortcut解决深层网络难训练问题

如果按 CNN 发展的主线来看,可以这样理解:

LeNet:CNN 基本模板出现
  ↓
AlexNet:深层 CNN 在大规模图像分类中爆发
  ↓
VGG:用统一小卷积核把网络规整地加深
  ↓
GoogLeNet:用 Inception 模块提高多尺度表达和计算效率
  ↓
ResNet:用残差连接让非常深的网络也能训练

对入门者来说,不需要一开始就记住每一层的具体参数。更重要的是理解每个网络背后的问题:

  • LeNet 解决“CNN 能不能做图像识别”
  • AlexNet 解决“大规模真实图像上 CNN 有没有优势”
  • VGG 解决“怎么用简单规则构建更深网络”
  • GoogLeNet 解决“怎么兼顾多尺度特征和计算效率”
  • ResNet 解决“网络很深以后怎么训练”

理解了这条线,再去看后来的 DenseNet、MobileNet、EfficientNet,甚至视觉 Transformer,都会更容易抓住重点。


小结

这五个网络不是孤立的名字,而是 CNN 发展过程中的几个关键节点。

LeNet 给出了卷积神经网络的基本雏形,AlexNet 证明深度学习可以在大规模视觉任务中取得突破,VGG 用极其规整的方式展示了深度的重要性,GoogLeNet 开始关注多尺度和计算效率,ResNet 则解决了深层网络训练困难的问题。

如果你刚开始学 CNN,建议先抓住每个网络的“核心贡献”,再逐步深入具体结构和论文细节。这样学起来不会被层数、参数和公式压垮,也更容易理解它们为什么经典。

评论区