卷积神经网络是针对图像数据特性设计的网络架构。其核心思路是:从参数冗余的全连接网络出发,通过三次符合图像本质的观察与简化,得到高效且泛化能力强的模型。
简化一:局部连接(感受野)

观察:图像中有意义的模式(如边缘、纹理)仅存在于局部区域。
简化:神经元无需连接整个图像,只需连接一个局部区域(感受野)。这将连接数量从全局降至局部。
关键参数:
- 核大小:感受野的尺寸(如3×3)。
- 步幅:感受野移动的间隔。步长为1确保精细扫描,步长为2实现下采样。
- 填充:在图像边缘补零,以控制输出尺寸。
参数量对比:
- 全连接层(输入100×100×3,输出1000个神经元):3000万个权重。
- 局部连接层(3×3感受野):每神经元仅27个权重。
简化二:参数共享(卷积核)

观察:同一模式(如垂直边缘)可能出现在图像任何位置。
简化:让不同位置检测同一模式的神经元共享同一组权重。这组共享的权重称为滤波器或卷积核。
效果:参数量进一步锐减,且与输入图像尺寸无关。一个滤波器负责检测一种特定模式。
卷积层定义:局部连接 + 参数共享 = 卷积运算。
核心组件解析:

为了简化,这边去掉了偏置。神经元是有偏置的,滤波器也是有偏置的。在一般的实践上,卷积神经网络的滤波器都是有偏置的。
- 滤波器:一个三维权重张量
[高度, 宽度, 输入通道数],是需要学习的参数。 - 特征图:一个滤波器在整个输入上滑动计算后输出的二维网格。特征图上的每个像素对应一个神经元的激活值。一层有N个滤波器,则输出N个特征图(即输出通道数为N)。
输出尺寸计算:
: 输入高度 : Padding (填充) : Dilation (空洞率,默认为1) : Kernel Size (卷积核大小) : Stride (步幅)
简化三:空间下采样(汇聚层)
观察:对图像进行下采样通常不影响其语义类别识别。
简化:在网络中插入汇聚层,对特征图进行降维。
常用操作:
- 最大汇聚:取局部区域(如2×2)的最大值,保留最显著特征。
- 平均汇聚:取局部区域的平均值。
作用:
- 减少后续层的数据量和计算量。
- 提供一定的平移不变性。
现代趋势:许多现代网络为保留更多空间信息,选择减少或不用汇聚层。
经典结构与维度流转
一个经典的CNN顺序为:
输入 → [卷积层 → 激活函数(ReLU)] × N → [汇聚层] → 扁平化 → 全连接层 → 输出
维度流转示例:
- 输入:
(100, 100, 3)的RGB图像。 - 卷积层(64个3×3滤波器,步幅1,无填充):
- 滤波器形状:
(3, 3, 3, 64)。 - 输出形状:
(98, 98, 64)。计算:(100-3)/1+1=98。
- 滤波器形状:
- 下一层卷积的滤波器深度必须为64,以匹配输入的通道数。
深度如何构建复杂模式:第二层一个3×3的滤波器,作用于第一层的输出上,其等效感受野对应于原始图像上更大的区域(如5×5)。网络越深,有效感受野越大,能组合出更复杂的模式。
案例:CNN在围棋(AlphaGo)中的应用
关键洞察:围棋棋盘可视为一张19×19的特殊“图像”,每个位置用48个手工特征(如棋子、气)描述,形成19×19×48的张量。
图像特性的复用:
- 局部性:重要棋形(如“叫吃”)由局部棋子决定。
- 平移不变性:同一棋形在棋盘任何位置意义相同。
网络设计:
- 使用卷积层(如5×5、3×3滤波器)提取局部棋形。
- 摒弃汇聚层,以保留精确位置信息。
- 最终通过Softmax直接输出
19×19个落子点的概率分布。
部分信息可能已经过时









