目录
CNN
CNN(Convolutional Neural Network,卷积神经网络)是一类以 卷积(Convolution)为核心计算操作的 DNN。CNN 最初主要用于处理具有网格结构的数据,尤其是图像。现代 CNN 的理论与应用基础来自 1980 年代 Yann LeCun 等人对卷积网络的研究,其中 LeCun 等人在 1989 年提出用于手写数字识别的卷积神经网络,并在 1998 年的论文《Gradient-Based Learning Applied to Document Recognition》中系统介绍了 LeNet-5。
CNN 的核心思想是利用局部连接、权重共享和层次化特征提取,让网络能够从原始输入中逐层学习空间结构。
基本结构
典型 CNN 可以表示为:
输入图像 → 卷积层 → 激活函数 → 池化层 → 卷积层 → 激活函数 → …… → 全连接层 → 输出
现代 CNN 不一定包含全连接层,也可以使用 Global Average Pooling 等结构直接产生分类结果。
例如一张猫的图片:
像素 → 边缘 → 纹理 → 局部形状 → 身体部件 → 猫。
这种从低级特征逐渐构建高级特征的过程是 CNN 的核心特点。
为什么需要卷积
如果直接使用 全连接层 处理图像,会产生非常多的参数。
例如一张 224 × 224 × 3 的 RGB 图片具有:
224 × 224 × 3 = 150,528
个输入特征。
如果下一层有 4096 个神经元,仅这一层就需要约 6.17 亿个权重。
CNN 使用卷积核只在局部区域进行计算,同时让同一个卷积核在整个图像上共享参数,因此可以大幅减少参数量。
卷积
卷积层使用一个较小的卷积核(Kernel)在输入上滑动。
例如一个 3 × 3 卷积核:
输入 → 3×3 局部区域 → 计算 → 输出一个值 → 移动卷积核 → 再计算。
整个过程会产生一个 Feature Map(特征图)。
卷积核中的参数通过训练自动学习。
早期卷积核可能学习到:
* 水平边缘。 * 垂直边缘。 * 纹理。 * 颜色变化。
更深层的卷积则能够组合这些低级特征,学习更加复杂的结构。
局部连接
CNN 的第一个重要特点是局部连接(Local Connectivity)。
一个神经元不需要连接输入图像的所有像素,而只关注一个局部区域。
例如 3 × 3 卷积核每次只观察 3 × 3 的像素区域。
随着网络层数增加,神经元能够间接看到越来越大的输入区域。
这个区域称为 感受野(Receptive Field)。
因此:
浅层 → 小感受野 → 局部特征
深层 → 大感受野 → 全局结构
权重共享
CNN 的第二个重要特点是权重共享(Weight Sharing)。
同一个卷积核会在输入的不同位置重复使用。
例如:
左上角使用同一个卷积核 → 中间使用同一个卷积核 → 右下角仍然使用同一个卷积核。
这意味着 CNN 不需要为每个图像位置学习一套完全独立的参数。
权重共享不仅减少参数,也使模型具有一定的平移等变性。
Padding
当卷积核在输入上进行计算时,可以在输入周围补充额外像素,这称为 Padding。
常见方式包括:
* Valid:不进行 Padding。 * Same:通常使输出空间尺寸保持不变。 * Zero Padding:使用 0 填充边缘。
Padding 可以防止特征图尺寸随着网络深度增加而过快缩小。
Stride
Stride(步幅)决定卷积核每次移动多少个像素。
例如:
Stride = 1 → 每次移动 1 个像素。
Stride = 2 → 每次移动 2 个像素。
增加 Stride 通常会降低输出特征图的空间尺寸,因此卷积本身也可以承担 下采样 的作用。
池化
Pooling(池化)是一种常见的下采样操作。
最常见的是 Max Pooling 和 Average Pooling。
例如 2 × 2 Max Pooling:
4 2 1 3
经过 Max Pooling 后得到:
4
即保留局部区域中的最大值。
池化可以降低特征图空间尺寸、减少计算量,并提高一定程度上的位置鲁棒性。
CNN 的层次化特征
CNN 最重要的特点之一是层次化表示学习。
例如在图像分类任务中:
第一层 → 边缘
第二层 → 简单纹理
第三层 → 局部形状
更深层 → 物体部件
最后 → 完整目标
因此,CNN 能够自动学习从低级视觉特征到高级语义特征的层次结构。
LeNet
LeNet 是早期最著名的 CNN 之一,由 Yann LeCun 等人发展。
1998 年,LeCun、Léon Bottou、Yoshua Bengio 和 Patrick Haffner 在论文《Gradient-Based Learning Applied to Document Recognition》中系统介绍了 LeNet-5,并将其用于手写数字和文档识别。
LeNet-5 的典型结构包括:
输入 → 卷积 → 子采样 → 卷积 → 子采样 → 全连接 → 分类。
它证明了卷积神经网络可以有效处理视觉识别任务,并成为后来 CNN 发展的重要基础。
AlexNet
2012 年,Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 提出的 AlexNet 在 ImageNet 图像分类任务上取得突破性结果。
AlexNet 使用:
* 深层 CNN。 * ReLU。 * GPU 训练。 * Dropout。 * 数据增强。 * Max Pooling。
AlexNet 的成功被认为是现代 深度学习 革命的重要转折点之一。
VGG
VGG 由牛津大学 Visual Geometry Group 提出,并在 2014 年的论文《Very Deep Convolutional Networks for Large-Scale Image Recognition》中系统研究。
VGG 的重要思想是大量使用 3 × 3 小卷积核,并通过增加网络深度提高模型表达能力。
它展示了:
更深的网络 → 更强的特征表示能力。
ResNet
ResNet 由 Kaiming He 等人在 2015 年提出。
其核心思想是引入 残差连接:
输入 x → F(x) → F(x) + x
这种结构解决了深层神经网络训练中的部分优化困难,使网络可以达到非常深的层数。
ResNet 对之后的 CNN 以及整个 深度学习 领域产生了巨大影响。
CNN 与计算机视觉
CNN 长期以来是 计算机视觉 的核心模型之一。
典型应用包括:
* 图像分类。 * 目标检测。 * 图像分割。 * 人脸识别。 * OCR。 * 医学图像分析。 * 自动驾驶视觉系统。 * 视频分析。
例如目标检测模型可以使用 CNN 提取图像特征:
图像 → CNN Backbone → Feature Map → Detection Head → 目标位置与类别。
CNN 与 Transformer
随着 Vision Transformer(ViT)的出现,Transformer 开始进入计算机视觉领域。
CNN 与 Transformer 的一个重要区别是:
CNN → 通过卷积的局部感受野提取特征。
Transformer → 通过 Self-Attention 建立不同位置之间的关系。
CNN 天然具有局部性和权重共享结构,而 Self-Attention 更容易建立全局依赖关系。
现代视觉模型也经常将二者结合使用。
CNN 的优点
* 参数共享,参数量通常低于对应的全连接网络。 * 能够利用图像的局部空间结构。 * 具有层次化特征学习能力。 * 对图像平移具有一定鲁棒性。 * 可以使用 GPU 进行高效并行计算。 * 在图像任务上具有成熟的训练和部署体系。
CNN 的局限
* 卷积天然偏向局部信息,需要较深网络才能建立较大的感受野。 * 对长距离依赖关系的建模能力有限。 * 对输入的旋转、尺度等变化并不天然完全不变。 * 大型 CNN 仍然需要大量训练数据和计算资源。 * 在部分视觉任务中已经受到 Vision Transformer 等架构的竞争。
CNN 的核心意义
CNN 的核心贡献不是简单地使用“卷积”代替全连接,而是把图像的空间结构先验引入神经网络。
它通过:
局部连接 + 权重共享 + 层次化特征学习
使神经网络能够高效地处理具有空间结构的数据。
从 LeNet 到 AlexNet、VGG、ResNet,CNN 的发展推动了 深度学习 在 计算机视觉 中的大规模应用,也为后来 Vision Transformer 等视觉架构的发展提供了重要基础。
相关条目
* DNN * 深度学习 * 卷积 * Feature Map * 感受野 * AlexNet * VGG * ResNet * Vision Transformer
参考资料
* LeCun et al., 1998, 《Gradient-Based Learning Applied to Document Recognition》 * Krizhevsky, Sutskever, Hinton, 2012, 《ImageNet Classification with Deep Convolutional Neural Networks》 * Simonyan, Zisserman, 2014, 《Very Deep Convolutional Networks for Large-Scale Image Recognition》 * He et al., 2015, 《Deep Residual Learning for Image Recognition》 * LeCun, Bengio, Hinton, 2015, 《Deep learning》
