用户工具

站点工具


cnn

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 等视觉架构的发展提供了重要基础。

相关条目

参考资料

* 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》

cnn.txt · 最后更改: 由 holdsark