Lec5: 用卷积神经网络做图像分类
卷积层、感受野、步长、填充与池化,以及图像分类中的平移等变性。
课程导航与课程讲次
课程讲次
文章目录
图像特征 vs 卷积网络
传统视觉两阶段:人工设计特征提取(颜色直方图、HoG 等)+ 线性分类器,只训练分类层。卷积网络把特征提取也做成可学习参数,端到端训练。

为什么需要卷积
全连接网络要求输入是向量, 图像须拉平成 维,空间结构被破坏。

CNN 思路:卷积 + 池化在保留 2D 结构下提特征,末端 FC 做 MLP 输出得分,整体端到端反传训练。历史脉络:LeNet (1998) → AlexNet (2012) → ConvNets 主导视觉 (2012–2020) → Transformer/ViT (2021–)。
卷积层
保留输入为三维体,用滤波器在空间上滑动算局部点积。
- 滤波器尺寸如 ,深度始终等于输入通道数。
- 单个位置:( 维点积加偏置)。
- 滑过所有位置得一张激活图(activation map)。
- 滤波器个数 = 输出通道数;每个滤波器配一个偏置。

一般形式:输入 ,权重 ,输出 。
堆叠方式:Conv、ReLU、Conv、ReLU 交替。激活函数不可省,否则多层退化为单个线性卷积。
归纳偏置:局部连接、参数共享(同一滤波器在所有位置复用,参数少且平移等变)。第一层滤波器学到有向边与对比色,深层学到更大的语义结构。
输出尺寸、padding 与 stride
无填充步长 1:,特征图每层缩小。
加填充 :
same padding 使输出与输入同尺寸( 取 )。

加步长 后通用公式:
步长卷积同时实现提特征与下采样。

感受野
核尺寸 时每个输出依赖输入一个 区域;堆叠 层后感受野边长
大图需很多层才能覆盖全图,故在网络内下采样(步长卷积或池化)加速感受野扩张。
计算示例
输入 , 个 滤波器,,。
- 输出:,因 。
- 参数:每个滤波器 ,共 。
- 乘加: 个输出,每个 维点积,合计 。
参数少源于参数共享。一般地,参数量 ,乘加 。
卷积层总结

输出尺寸 ,。常见设置:
- : 卷积,保持尺寸(最常用)。
- : 卷积,仅通道线性组合。
- :下采样两倍。
PyTorch:torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding),实际计算为互相关(cross-correlation)。卷积可推广到 1D(序列)、3D(视频/体数据)。
池化层
逐通道对每个 平面下采样,通道数不变,无可学习参数。

最大池化最常用, 实现两倍下采样,提供对小幅位移的不变性。输出尺寸 (通常无填充)。
下采样两条路:步长卷积(带参数,提特征 + 下采样)vs 池化(无参数,下采样 + 位移不变)。
平移等变性
输入物体平移,输出特征随之平移。源自参数共享。直觉:图像特征不依赖其在图中的位置。区分:卷积平移等变(跟着动),池化局部平移不变(不受影响)。
小结

四大组件:全连接层、激活函数、卷积层、池化层。
- 卷积层:保留空间结构,局部连接 + 参数共享 + 平移等变,参数少;输出 。
- 池化层:逐通道下采样,无参数,提供位移不变性。
下一讲:CNN 架构(AlexNet、VGG、GoogLeNet、ResNet)。

