本文档全面概述了卷积神经网络 (CNN),这是一种专门的神经网络架构,彻底改变了计算机视觉领域。它涵盖了 CNN 的基本组成部分、操作机制以及 LeNet、AlexNet、VGGNet 和 GoogLeNet 等经典 CNN 架构的演进。有关循环神经网络的信息,请参阅 循环神经网络 (RNN),有关生成对抗网络的信息,请参阅 生成对抗网络 (GAN)。
卷积神经网络是专门为处理网格状数据(如图像)而设计的深度学习模型。与传统神经网络不同,CNN 利用执行卷积运算的专用层来检测边缘、纹理和图案等特征,然后将这些特征组合起来识别更复杂的模式。
使 CNN 在图像处理方面强大的关键创新包括:
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md, 英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md
卷积层是 CNN 的基本构建块。它执行卷积运算,该运算涉及将滤波器(或核)跨输入滑动并在每个位置计算点积。此运算会产生一个特征图,突出显示输入中特定特征的存在。
对于二维输入,卷积运算定义为:
$$A_{i,j} = f(\sum_{m=0}^{k-1} \sum_{n=0}^{k-1} w_{m,n} x_{i+m, j+n} + w_b)$$
其中
输入尺寸、滤波器尺寸、步长和填充之间的关系如下:
$$W_2 = \frac{W_1 - F + 2P}{S} + 1$$ $$H_2 = \frac{H_1 - F + 2P}{S} + 1$$
其中
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:186-232
池化层减小了特征图的空间维度,降低了计算负载,并提供了一种平移不变性。最常见的两种类型是:
对于深度为 $D$ 的特征图,池化独立应用于每个深度切片,保持原始深度。
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:260-267
全连接层将前一层的每个神经元连接到当前层的每个神经元。在 CNN 中,这些层通常出现在网络的末端,负责:
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md
CNN 通常使用非线性激活函数在模型中引入非线性。流行的选择包括:
ReLU 因其计算效率和缓解梯度消失问题的能力而特别受 CNN 欢迎。
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:425-456
单个输出元素的卷积操作可以可视化为,取输入中与滤波器尺寸匹配的部分,与滤波器权重进行逐元素乘法,对结果求和,加上偏置项,然后应用激活函数。
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:186-243
在步长为 2 的 2x2 最大池化操作中,特征图被划分为不重叠的 2x2 区域,并从每个区域中选择最大值以形成下采样特征图。
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:260-267
自推出以来,CNN 架构已取得显著发展,每个新架构都解决了先前设计的局限性或引入了新颖的概念。
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md:1-290
LeNet-5 由 Yann LeCun 开发,是第一个成功的用于手写数字识别的 CNN 架构。其结构包括:
关键创新
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md:4-47
Alex Krizhevsky 创建的 AlexNet 通过在 2012 年 ImageNet 竞赛中赢得冠军,并取得了比传统方法显著更好的准确率,从而彻底改变了计算机视觉。
结构
关键创新
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md:48-93
ZFNet 由 Matthew Zeiler 和 Rob Fergus 开发,改进了 AlexNet 的架构,并通过可视化技术深入了解了 CNN 的工作原理。
与 AlexNet 的主要区别
贡献
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md:96-143
Network in Network 由 Min Lin 提出,通过用更强大的微型神经网络替换线性卷积,引入了一种新的 CNN 设计方法。
关键创新
影响
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md:144-175
VGGNet 由牛津大学视觉几何小组开发,强调简洁和深度,表明更深层次、结构更简单的网络可以获得更好的性能。
主要特性
优点
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md:176-222
GoogLeNet 由 Google 研究人员开发,引入了 Inception 模块,可以在保持计算效率的同时实现更宽更深的网络。
Inception 模块特性
关键创新
通过多次迭代(v1-v4),Inception 架构不断发展,性能和效率不断提高。
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md:223-261
下表比较了经典 CNN 架构的关键方面:
| 架构 | 年 | 深度 | 关键创新 | 参数数量 | Top-5 错误率 (ImageNet) |
|---|---|---|---|---|---|
| LeNet-5 | 1998 | 7 | 首个成功的 CNN | 约 60K | 不适用(未在 ImageNet 上测试) |
| AlexNet | 2012 | 8 | ReLU、Dropout、GPU 训练 | 约 60M | 15.3% |
| ZFNet | 2013 | 8 | 可视化、更好的参数调整 | 约 60M | 11.2% |
| NiN | 2013 | 可变 | MLPConv、1x1 卷积、全局平均池化 | 约 7.5M | 不适用 |
| VGG16 | 2014 | 16 | 统一的 3x3 滤波器、更深的架构 | 约 138M | 7.3% |
| GoogLeNet | 2014 | 22 | Inception 模块、1x1 降维 | 约 6.8M | 6.7% |
来源:英文版/ch04_ClassicNetwork/ChapterIV_ClassicNetwork.md
虽然存在许多激活函数,但 CNN 通常使用:
选择激活函数时:
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:495-503
批量归一化通过对层输入进行归一化来帮助稳定和加速 CNN 训练。CNN 还采用各种正则化技术:
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:715-740
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md:103-121
下图展示了 CNN 组件在典型深度学习框架中的交互方式。
来源:英文版/ch03_DeepLearningFoundation/ChapterIII_DeepLearningFoundation.md
卷积神经网络通过其自动从数据中学习层次化特征的能力,革新了计算机视觉及相关领域。从 LeNet-5 到 GoogLeNet 等复杂架构的演进,说明了 CNN 设计的快速进步,每一代都解决了先前模型的局限性。
现代 CNN 研究继续探索更高效的架构、迁移学习技术以及超越图像分类的应用,例如对象检测、分割和生成建模。理解本文档提供的 CNN 基础知识,为探索这些高级主题奠定了基础。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(6087a0)