3.1 为什么是卷积:归纳偏置的力量
第 1 讲给了我们一个通用范式:结构 + 损失 + 梯度下降。按这个范式,处理图像最直接的做法就是把图像展平成一个长向量,喂给多层感知机(MLP)。这个做法在数学上完全合法,在工程上却是一场灾难——本节要把它失败的原因算清楚,由此引出整个第 3 讲的主角:卷积。
更值得注意的是失败的方式:把每张图都用随机平移再补零的方式扩增,MLP 也能「学会」平移不变,只是要为此付出多几个数量级的样本与参数。也就是说,MLP 缺的不是能力,而是把「图像该长什么样」的先验写进结构这一步。这个先验就是本讲反复出现的词:归纳偏置(inductive bias)。
这一节的结论会成为后九节的地基:卷积 = 局部连接 + 权值共享 + 平移等变,它用「关于图像的先验假设」换来了「参数量的四个数量级」与「泛化所需样本量」。
3.1.1 全连接处理图像的两宗罪
先把账算出来。一张 的 RGB 图有 个数。
把 的图像展平成一个向量,接一层 维的全连接隐层(不带偏置)。求这一层的参数量;并回答:若改用 卷积(输入输出都是 通道),参数量是多少?
全连接层:每个输出单元都连到全部的 个输入像素,
这还只是第一层。若再接一层 ,又是 个参数;参数量的大头被结构性地锁在「输入维数 × 隐层维数」这个乘积里。
卷积层: 核、 时(公式见 3.2.4)
两者之比
差三个半到四个数量级。这就是第一宗罪:参数爆炸。
∎参数多本身还不是致命的——如果数据足够多,参数多只是贵。真正致命的是第二宗罪。
把图像 按固定顺序拉直成 的操作称为展平(flatten)。展平后:
- 相邻像素(如 与 )在向量里可能相邻,也可能跨行远离;「谁挨着谁」这一信息只以「下标差」的形式隐式保留,而全连接层对下标没有任何偏好——它给每一对(输入维,输出维)独立分配权重。
- 于是「同一图案出现在不同位置」被当成完全不同的输入模式:网络必须为左上角的眼睛和右下角的眼睛各学一套权重。
图像是一个二维网格,网格上相邻的像素在物理世界中也是相邻的——这是最强的先验。展平把它变成了一条线性的下标序列,于是「相邻」只剩下「下标差 1」这一种形式。
后果有两个,都很具体:① 参数冗余——同一个图案出现在不同位置时,网络为每一个位置各记一套权重(同一概念被重复学几百遍);② 对平移没有结构性的对策——模型只能靠看到大量"同一物体出现在不同位置"的样本,自己归纳出这个规律。这两点加起来,就是「用数据换结构」的代价。下一节的卷积会用一条假设(同一个检测器在所有位置都适用)把这两个代价同时消掉。
一个值得记住的判断:把先验写进结构,等于提前排除了大量不可能的假设,因此能用少得多的样本学到规律——但前提是这个先验在你的任务上确实成立(定义 3.1.3 会给出代价的表述)。
参数爆炸与无视空间结构是同一个原因的两个后果:全连接层假设输入的每一个维度都同等重要、彼此可任意组合(所谓「置换等变」)。这个假设对表格数据是合理的——把「身高、体重、年龄」三列换个顺序,任务不该变;但图像不是这样:把像素顺序打乱,图像就毁了。结构没有告诉网络「哪些维度是邻居」,网络只能靠海量参数与样本自己学出来,这就是代价的来源。
3.1.2 卷积的三种归纳偏置
卷积用三件武器同时处理这两宗罪。
设输入图像为 ,卷积核(filter / kernel)为一个小窗口 ,输出 为核在输入上滑动得到(严格定义见 定义 3.2.1)。
- 局部连接(local connectivity):输出位置 只与输入的 邻域相连,而不是与整张图相连。
- 权值共享(weight sharing):同一个核在图像上逐位置滑动,所有空间位置共用这 个权重。
- 平移等变(translation equivariance):把输入整体平移 ,输出也只是被平移 (在边界处理允许的范围内),
省参数:局部连接把每个输出位置的连接数从 降到 (降了约 倍);权值共享再让所有位置共用同一组权重,于是参数量只剩 与「输出通道数」有关,与图像尺寸完全无关。两层压缩叠起来,就是例 3.1.1 里那 4000 倍。
平移等变:核在所有位置用的是同一套权重,那么「眼睛」这个局部图案无论出现在左上角还是右下角,都会激活同一个检测器,输出只是把激活搬到了对应位置。这正是视觉世界的基本事实:物体是什么,与它在哪里无关。
一句话:局部连接回答「看多大范围」,权值共享回答「在哪学、在哪用」,等变是这两条的直接推论。
设卷积算子 (无边界填充,或填充足够大到平移不越界)。则对任意整数平移 ,
反之,若一个线性、局部(每个输出只看 邻域)、且与平移可交换的算子,则它是某个核的卷积。
充分性:卷积在 的某个位置 的输出是 。把输入平移 得 ,则
即输出被同样平移——这就是等变。
必要性(要点):设线性算子 满足 。考察脉冲输入 ,其响应 完全刻画了算子;由平移可交换性,任意输入 的响应为
这正是「以 为核」的卷积(相关)。因此在「线性 + 平移等变」这两个条件下,卷积不是一种选择,而是唯一的形态。
∎平移等变:输入平移,输出特征图跟着平移——这是卷积自带的性质,见 命题 3.1.1。 平移不变:物体在哪都给出同一个标签——这是分类任务需要的性质。
卷积只给等变。把等变升级为不变的是后续的池化与全局池化(3.3 节):它们把「在哪里」这个信息逐步抹掉。二者混用是本章最常见的概念错误(见本节陷阱 4)。
3.1.3 归纳偏置:定义、收益与代价
到这里我们可以把「卷积为什么省」上升为一条通用原理。
一个学习算法(或模型族)在假设空间之外额外携带的、用于在等价假设之间做选择的先验约束,称为它的归纳偏置。模型族 与真实规律 之间的差距受两部分影响:
归纳偏置是双向的工具:它把「与先验相符的解」提前排除在候选之外,降低估计误差;但如果真实规律不满足这个先验,它会抬高近似误差。
想象要在一个巨大的假设空间里找一个解,样本有限。归纳偏置相当于提前说:「别在那一片区域找,据我所知没有答案。」——如果这个信念是对的,你需要的样本量会下降几个数量级;如果错了,你永远找不到正确答案。
卷积的信念是三条:像素的重要性是局部的、同一图案在任何位置含义相同、低层特征是可复用的. 对自然图像,这三条几乎是定义性的;对「把像素随机打乱之后的数据集」,它们就是错的——那时卷积会输给 MLP。这就是「偏置的代价」。
某任务是「在手写数字图上检测一条竖线,位置无关」。用全连接网络与用单核卷积网络实现,写出各自的参数量,并说明为什么两者的样本需求差别是数量级的。
全连接实现:输入 。若隐层尺寸为 (与输入同规模),第一层参数量为 ;对每一个位置,网络都要从数据中独立地学「竖线」这一模式,等于把同一个概念学了 700 多遍。
卷积实现:一个 核,参数量 (加偏置 ),它在所有位置同时检测竖线。要教会它「什么是竖线」,只需要训练样本中在任意位置出现过竖线即可。
样本需求的差别:卷积把「位置」这一无关变量从假设空间里消掉了(消去而非忽略),因此它需要的样本量与「有多少种图案」有关,而与「图案能出现在多少位置」无关;全连接则要覆盖「图案 × 位置」的组合。这就是 3.4 节要见的实证现象的结构性原因:在中小数据上,一个好先验可以顶几倍的参数量与数据集。
∎- 「卷积一定能比全连接更好」:错。这是条件结论——数据具有平移统计结构(自然图像、音频频谱图、部分时序)时成立;对「位置本身携带语义」的任务(如人类姿态的关键点编号、表格中带列序的字段),强行卷积会抬高近似误差。
- 「参数共享意味着所有位置的输出一样」:错。共享的是权重,不是输出;不同位置的输入不同,输出自然不同。共享带来的是「检测器一致」,不是「响应一致」。
- 「卷积天生平移不变」:错。卷积给的是等变(见 命题 3.1.1);分类要的不变要靠池化 / 全局池化换取,且由于下采样、边界效应、padding 的存在,实际网络的平移不变性只是局部的、有限的(平移几个像素可能不变,平移半个感受野通常会变)。
- 「全连接层已经能表达卷积,所以卷积没有本质增益」:半对半错。全连接能表示卷积(把大部分权重置零并令其余位置相等即可),但那是「表示能力」层面;卷积的价值在统计效率与优化难度层面——这个等效解在全连接参数化下极难被梯度法找到。
- 「卷核大小越大约好」:错。核越大感受野越大但参数量按 涨、非线性层数变少。堆小核是更划算的做法(见 3.2.5 节 与 3.4 节)。
Q1 一张 的图像接一层 维全连接隐层,参数量是多少(不算偏置)?换成 卷积、 通道呢?
Q2 「卷积具有平移不变性」这句话哪里不对?请给出正确的两句表述,并指明「不变」是哪一步换来的。
Q3 为什么说归纳偏置是「用先验换样本」?请举一个先验不成立从而导致卷积吃亏的具体数据形态。
Q4 全连接层能否表达卷积?如果能,为什么工程上不这么干?
参考要点
Q1 (约 6 亿);卷积为 。比值约 。
Q2 错在把等变当不变。正确表述:① 卷积具有平移等变——输入平移,输出特征图跟着平移;② 分类任务需要的平移不变由池化 / 全局平均池化 / 后续的下采样步骤逐步换来(3.3 节)。补充:真实 CNN 的不变性是局部的,受 padding 与下采样影响。
Q3 归纳偏置把先验不符的解提前排除,从而降低估计误差、减少所需样本;先验错时抬高近似误差。反例:把每张图像的像素按固定随机置换打乱后再训练(位置信息被人为破坏)、或者把「关键点编号」这类位置语义当作图像通道输入——此时局部性与平移等变都不成立,MLP 或带位置编码的结构更合适。
Q4 能。把卷积核权重填进一个稀疏的大矩阵(每行只有 个非零,且这些非零值在不同行之间相等)即可。但这样参数化后:① 参数量并未真正减少(大矩阵仍然要存储);② 梯度下降要在巨大的参数空间里「自动发现」这种稀疏且跨行相等的结构,优化上远比直接参数化困难。卷积的价值在于给出了正确的参数化,而不只是更大的假设空间。
- LeCun, Bottou, Bengio & Haffner, Gradient-Based Learning Applied to Document Recognition(1998,Proc. IEEE)——LeNet-5 原文,卷积 + 权值共享用于手写数字识别的奠基文献。
- Fukushima, Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position(1980)——局部连接与层次化特征的早期神经科学启发模型。
- Hubel & Wiesel, Receptive Fields of Single Neurones in the Cat's Striate Cortex(1959)——简单细胞 / 复杂细胞,局部感受野的实验来源。
- Zhang et al., Understanding Deep Learning Requires Rethinking Generalization(2017,arXiv:1611.03530)——关于「参数化与隐式正则」的经典讨论,帮助理解为什么「表达得下」不等于「学得到」。
- 3Blue1Brown 卷积与 CNN 章节、以及 CS231n(
cs231n.stanford.edu)卷积笔记——建立滑窗手感的最快路径。
本节小结:全连接处理图像的两宗罪是参数爆炸( 量级)与无视空间结构;卷积用局部连接 + 权值共享把参数量压到与图像尺寸无关,并顺带得到平移等变(命题 3.1.1);这三条合起来是「把图像先验写进结构」的归纳偏置,它降低样本需求、也带来先验不符时的代价。下一节把这句「核在图上滑动」写成精确的公式,并把通道、步幅、填充、感受野逐项算清。