AlexNet、VGG 和 ResNet 可以串成一条理解卷积网络的线索:先看局部特征怎样计算,再看网络加深带来了什么,最后看深层网络为什么需要更容易优化的结构。这里整理的是概念与论文阅读笔记,不是训练复现实验。

卷积层怎样产生特征图

以单通道图片上的 3×3 窗口为例,卷积核在不同位置复用同一组权重,对窗口内的数值逐项乘加,得到输出特征图。多输入通道时,还要合并各通道的贡献。

对不分组的二维卷积,若输入通道数为 Cin、输出通道数为 Cout,核为 kH×kW,带偏置时参数数目是:

Cout × Cin × kH × kW + Cout

输入 3 通道、输出 16 通道、3×3 核时,参数数目是 16×3×3×3+16=448。参数不随图像高宽直接增加,但计算量会随输出空间尺寸变化。PyTorch Conv2d 定义

“找边缘的小模板”有助于入门,但特征由训练学习,不是预先给每个核指定“鼻子”或“眼睛”。位置共享也不意味着整个网络对任意平移严格不变:步长、填充、池化和后续层都会影响结果。

AlexNet:网络设计与训练工程一起起作用

Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 在 2012 年发表的工作,把多层卷积、非饱和激活、GPU 实现以及控制过拟合的训练方法组合起来。阅读时应同时关心结构和训练条件,而不只记比赛成绩。

ReLU、数据增强和 dropout 是理解这项工作的关键线索:激活函数影响优化,增强改变训练样本的呈现方式,dropout 用来减少部分层对训练数据的过度适应。它们并不保证在所有网络里都产生同样收益。AlexNet 论文入口

VGG:用较小的卷积核研究深度

Karen Simonyan 和 Andrew Zisserman 的 VGG 工作使用小型 3×3 卷积核,系统比较更深的配置,包含 16~19 个带权重层的网络。连续堆叠小卷积可以逐步扩大感受野,并在中间引入非线性变换。

它说明论文所研究的设计和训练条件下,加深网络能够改善表现;不是“层数越多,任何任务都更准确”的定律。参数、计算和内存成本仍需单独评估。VGG v6 摘要

ResNet:把目标映射改写为残差

更深的普通网络有时连训练误差也更高,这属于优化退化问题,不能简单等同于过拟合。ResNet 让若干层学习残差 F(x),再与快捷分支相加:

y = F(x) + x          输入输出维度匹配
y = F(x) + Ws(x)      需要投影以匹配维度

快捷连接给信息和梯度提供了更直接的路径。基本块与瓶颈块的内部结构不同;不是每层卷积都使用步长 2,也不能把残差相加解释成随意拼接张量。

论文使用 Batch Normalization,并区分单模型与集成、验证集与测试集的结果。它的重点是让深层网络更容易优化,而不是宣称解决所有梯度消失或泛化问题。ResNet v1,方法与实现部分

把三条线索分开

卷积回答怎样利用局部连接和空间共享;深度回答怎样逐层构造表示;残差结构回答怎样改善深层网络的优化。训练误差、测试表现和计算成本则是不同的评价维度。

读后续视觉论文时,先对齐网络结构、训练条件和评测口径,再比较结论,比按年份记住几个冠军分数更有帮助。