第13章 卷积神经网络与视觉学习
本章核心问题
在第12章已经说明深层网络终于具备可扩展训练条件之后,接下来的关键问题是:如何让网络结构本身真正利用图像数据的空间组织方式,而不是仍把图像视为一长串彼此独立的数字?
更具体地说,本章要回答:图像为什么不适合直接交给普通全连接网络处理;卷积、局部感受野、参数共享与池化分别在数学上表达了什么结构假设;以及为什么卷积神经网络会首先在视觉任务中成为深度学习复兴的标志性模型。
1. 问题背景
第12章已经说明,深度学习的复兴并不是因为人们突然“发现了深层网络”,而是因为随机梯度下降、参数初始化、ReLU、Batch Normalization 与 Dropout 等一整套条件终于使高容量模型能够稳定训练。但训练条件成熟之后,另一个同样重要的问题立刻出现:即使网络已经能训起来,它的结构是否与任务本身匹配?
对于图像任务,这个问题尤其突出。若把一张二维图像简单拉平成一个长向量,再交给普通全连接网络,那么模型虽然在形式上仍然可以学习,但图像的空间邻近关系会被严重破坏。两个本来在图像中相邻的像素,经过拉平之后不一定在向量中仍然邻近;而一个小局部纹理若平移到图像另一处,全连接网络也不会自动把它识别成“同一种模式出现在不同位置”。换言之,普通前馈网络虽然表达能力很强,却没有把图像中的局部相关性和平移规律直接写进结构之中。
这就说明,仅仅拥有“可训练的深层模型”还不够。若模型完全忽略数据的几何结构,那么它往往需要更多参数、更多样本和更强算力去间接学会那些本可以直接编码进结构中的规律。对于图像这种高度结构化的数据,研究者很自然地开始追问:是否存在一种网络形式,既保留深度学习的表示能力,又把空间局部性、重复模式和多尺度层级组织直接写进模型?
卷积神经网络正是在这一背景下成为关键突破。它并不是简单地把第12章的训练技术“换个应用场景”,而是进一步把任务结构引入网络结构。正因为图像中的边缘、纹理、角点和局部形状会在不同位置重复出现,卷积网络才能通过局部连接与参数共享,大幅降低参数规模并提升泛化能力。
从全书主线看,这一章有承上启下的作用。它承接第12章对“深度学习终于能训起来”的解释,进一步回答“为什么视觉任务会率先发生质变”;同时,它也为第14章关于深度表示学习的理论讨论奠定直观基础。因为卷积神经网络最清楚地展示了一个事实:当结构先验与深层表示学习结合时,神经网络的成功就不再只是优化层面的改善,而成为一种新的学习范式。
2. 数学原理
2.1 图像为何不能被简单看作普通向量
设一张灰度图像写成矩阵
其中 $H$ 表示图像高度,$W$ 表示图像宽度,$X_{ij}$ 表示第 $i$ 行第 $j$ 列像素值。若是彩色图像,则还可加入通道维,写成
其中 $C$ 表示通道数,例如 RGB 图像常有 $C=3$。
若把图像直接拉平成一个向量
再输入全连接层,则该层输出可写成
其中 $W$ 是权重矩阵,$b$ 是偏置向量。这个形式与第11章中的一般前馈网络完全一致。但问题在于:在这个表达中,图像的二维空间关系已经被抹平。权重矩阵 $W$ 并不知道某个像素是在左上角还是右下角,也不知道两个像素在原图中是否相邻。
这带来两类直接困难。第一,参数数量会非常庞大。若输入维数为 $HWC$,输出维数为 $d$,则全连接层参数量大约为
当图像分辨率稍大时,这个数量会迅速增长。第二,这种结构没有利用图像中的局部平移规律。同一种边缘或纹理若出现在不同位置,全连接层往往需要分别学习不同位置上的相似模式,因而样本效率较低。
因此,视觉学习真正需要的,不只是“更深的非线性函数”,而是“尊重图像空间结构的深层函数”。
2.2 卷积的基本运算
卷积神经网络的核心操作是卷积。先考虑最简单的一维离散情形。给定输入序列 $x$ 和卷积核 $w$,它们的离散卷积可写成
这里 $t$ 表示输出位置索引,$\tau$ 表示求和变量,$x(\tau)$ 表示输入在位置 $\tau$ 的取值,$w(t-\tau)$ 表示卷积核在相对位移 $t-\tau$ 处的权重。这个公式的含义是:在每个输出位置 $t$,卷积核都会在输入上滑动一次,并对局部邻域做加权求和。
对二维图像,更常见的写法是
其中 $X$ 是输入图像,$K$ 是卷积核,$Y$ 是输出特征图,$(i,j)$ 表示输出位置,$(u,v)$ 表示卷积核内部索引。这个公式的意思是:输出位置 $(i,j)$ 的值,不再依赖整张图像,而只依赖输入图像在该位置附近的一小块区域。
这一步与全连接层有根本不同。全连接层把每个输出都连接到全部输入;卷积层则让每个输出只连接到一个局部邻域。因此,卷积首先引入的是一种空间局部性假设:对视觉任务来说,许多有意义的模式本来就是在局部区域中定义的。
2.3 局部感受野为何合理
卷积网络中的每个神经元只看输入的一小块区域,这块区域称为它的感受野。若卷积核大小为
其中 $k_h$ 表示核的高度,$k_w$ 表示核的宽度,那么输出特征图中一个位置对应的原图感受野,初始就大致是一个 $k_h\times k_w$ 的局部窗口。
为什么这种限制是合理的?因为图像中的许多基础模式本来就是局部定义的。例如,边缘是一种像素值在某个小区域内发生方向性变化的结构;角点、纹理和简单形状片段也通常由局部像素组合决定。若模型一开始就试图用整张图像去决定一个低级特征,不仅参数浪费严重,也不符合视觉信息的自然组织方式。
局部感受野还有一个更深的意义:它把复杂模式的识别分解成层次过程。底层卷积层可以先识别局部边缘与纹理;更高层再把这些局部模式组合成部件;更高层继续把部件组合成对象轮廓。这正是卷积网络能够形成层级表示的重要原因。也就是说,局部连接并不是削弱表达能力,而是在结构上鼓励“由局部到整体”的表示构造。
2.4 参数共享为何能显著减少复杂度
若每个局部窗口都使用不同的一组参数,那么模型仍会非常庞大。卷积网络进一步采用的关键机制,是参数共享。设一个二维卷积核为
则无论它在图像左上角、中央还是右下角滑动,使用的都是同一组核参数 $K(u,v)$。这意味着,模型假定“同一种局部模式在不同空间位置上应当以相同方式被检测”。
这一机制带来的参数量变化非常显著。若某卷积层从 $C_{\mathrm{in}}$ 个输入通道映射到 $C_{\mathrm{out}}$ 个输出通道,则参数量大约为
这里 $C_{\mathrm{in}}$ 表示输入通道数,$C_{\mathrm{out}}$ 表示输出通道数。注意,这个数量与图像的空间尺寸 $H,W$ 无关,只与卷积核大小和通道数有关。相比全连接层参数量随 $H,W$ 线性甚至更快增长,卷积层把复杂度大幅压缩了。
但参数共享的意义不只是减少参数。更本质地说,它引入了一种关于视觉世界的结构假设:边缘检测器在左边有效,就应当在右边也有效;纹理模式在上方有意义,在下方也应当有意义。这实际上是在用模型结构表达某种近似平移等变性。
2.5 平移等变性与卷积层的结构意义
所谓平移等变性,粗略地说,是指输入发生平移后,输出特征也以相应方式平移。若把平移算子记为 $T_\Delta$,其中 $\Delta$ 表示空间位移,那么卷积操作具有如下结构关系:
这里 $*$ 表示卷积运算,$X$ 表示输入图像,$K$ 表示卷积核。这个公式的含义是:先平移输入再做卷积,与先做卷积再平移输出,结果是一致的。
这个性质在视觉中非常重要。因为一个目标若在图像中稍微移动,其语义通常并不会改变。卷积层并不会直接保证最终分类结果完全不变,但它至少保证了局部特征检测会以一致方式随位置变化而移动。这比全连接层“每个位置完全重新学一套参数”的方式更符合视觉任务本身。
应当注意,这里说的是等变,而不是不变。等变意味着特征图会跟着输入一起移动;不变则意味着输出不受某些变化影响。卷积层主要提供前者,而后面池化等操作则进一步帮助模型获得某种程度的不变性。
2.6 多通道卷积与特征图
真实卷积网络通常不是在单通道灰度图上工作,而是在多通道输入和多通道输出之间进行映射。设输入特征张量为
输出特征张量为
对每个输出通道 $c$,都会有一组卷积核
它会同时整合所有输入通道的信息。于是输出通道 $c$ 在位置 $(i,j)$ 的值可写成
其中 $b_c$ 是第 $c$ 个输出通道的偏置。这个公式说明:一个输出通道并不是只看某一个输入通道,而是在局部空间窗口内综合全部输入通道,从而形成一种新的特征检测器。
从表示学习角度看,每一个输出通道都可以被理解为一种可学习的局部模式探测器。底层通道可能响应边缘、方向和颜色变化;更高层通道则可能响应局部部件、纹理组合甚至语义片段。因此,卷积网络中的“通道数”并不是简单的维度堆叠,而是在逐层扩展可表达的局部模式族。
2.7 池化为何会带来稳定性与不变性
卷积层给出的是一张特征图,但特征图仍然保留相当精细的位置敏感性。为了让模型对小幅平移、轻微形变和局部扰动更稳健,卷积网络常加入池化操作。以最大池化为例,若池化窗口为
表示围绕位置 $(i,j)$ 的一个局部区域,则池化输出可以写成
这里 $Y$ 表示输入特征图,$P$ 表示池化后的特征图。若局部区域内某个模式只是在位置上稍有移动,但仍然落在同一个池化窗口中,那么最大池化输出就可能保持不变。也就是说,池化把“某个特征在精确位置上出现”转化成了“某个特征是否在这一局部区域中出现”。
这正是池化带来局部不变性的原因。它不是说空间信息完全不重要,而是适度降低了模型对像素级精确位置的依赖,使高层表示更关注“有没有某种模式”,而不是“它精确地出现在第几个像素”。在视觉识别中,这种适度不变性往往有利于提高泛化。
2.8 层级特征提取如何形成
卷积网络之所以不仅仅是“带局部连接的网络”,关键还在于它通过多层堆叠形成层级表示。设第 $\ell$ 层卷积块的输出记为
其中 $A^{(\ell-1)}$ 表示上一层特征图,$\mathrm{Conv}(\cdot;K^{(\ell)})$ 表示由卷积核 $K^{(\ell)}$ 定义的卷积算子,$b^{(\ell)}$ 表示偏置项,$\sigma(\cdot)$ 表示非线性激活函数。这个公式与第11章的一般层级复合形式是一致的,只是线性变换被替换成了更有结构的卷积算子。
多层堆叠带来的一个核心现象,是有效感受野会逐层扩大。第一层可能只看一个很小的局部窗口;第二层再在这些局部特征之上做卷积,于是它间接地已经整合了更大范围的信息;更高层继续叠加,就能逐步从局部模式走向整体结构。这也是为什么卷积网络既能利用局部性,又能最终形成全局语义判断。
因此,卷积网络真正强大的地方,不是单个卷积核本身,而是“局部连接 + 参数共享 + 非线性 + 多层组合”共同形成的层次特征提取机制。
2.9 卷积网络为什么能更高效地学习视觉表示
把前面几节连起来,可以看出卷积网络并不是仅仅“比全连接层参数少一点”。它实际上通过结构先验改变了学习问题本身。全连接网络试图从数据中自己学会局部性、重复模式和平移规律;卷积网络则把这些假设直接写进模型,因此能把有限参数和有限样本更集中地用于学习真正困难的部分。
从数学上看,这种优势体现在至少三个方面。第一,局部感受野降低了单个神经元需要处理的输入维数。第二,参数共享使参数量不再随空间尺寸迅速膨胀。第三,卷积与池化共同引入了更符合视觉任务的等变与局部不变结构。因此,当第12章所描述的深层训练条件已经成熟时,卷积网络就能在视觉任务上首先把这些优势真正兑现为性能跃升。
3. 代表模型或算法
3.1 LeNet
LeNet 是卷积神经网络的早期经典模型之一。结构上,它通常由若干卷积层、池化层和末端全连接层组成。训练方式上,它利用反向传播和梯度下降来学习卷积核与分类层参数;推理方式上,则对输入图像依次执行卷积、非线性、池化与最终分类。
它在本章中的典型性在于:它最早清楚展示了卷积网络的基本结构逻辑,即用局部感受野和参数共享提取空间特征,再通过层级组合完成分类。对于手写数字这类任务,这种结构比普通全连接网络更自然,因为数字形状本身就主要由局部笔画模式组成。
3.2 AlexNet
AlexNet 是深度学习复兴在视觉领域真正形成历史转折的代表模型。结构上,它比早期卷积网络更深,通道数更多,并结合了 ReLU、Dropout 等第12章讨论过的训练技术。训练方式上,它依赖大规模数据、GPU 加速和 mini-batch SGD;推理方式上,则通过多层卷积特征逐步形成对象级判别。
它在本章中的典型性尤其重要,因为它证明了两件事:第一,卷积结构先验确实能大幅提高视觉任务中的表示学习效率;第二,只有当这种结构先验与第12章的可扩展训练条件结合时,深度学习才会在现实大规模视觉任务中压倒传统方法。
3.3 典型 CNN 结构
典型卷积神经网络可以概括为如下流水线:
- 卷积层提取局部模式
- 非线性激活提高表达能力
- 池化或步幅操作降低空间分辨率并增强局部不变性
- 更深层卷积继续组合低层特征
- 最终分类头输出类别分布
它的典型性在于:这一结构几乎定义了深度视觉模型在相当长时期内的基本范式。无论后续网络怎样加深、加宽或改造,卷积、通道、特征图和层级组合的核心思想都成为视觉学习的共同语言。
4. 典型应用
4.1 手写识别
手写数字识别是卷积网络最经典的早期应用之一。其任务是把输入图像 $X$ 映射到数字类别标签 $y$。数学上,这仍然可以写成监督学习目标
其中 $X_i$ 是第 $i$ 张手写图像,$y_i$ 是对应数字标签。卷积网络在这个任务中的有效性,不在于它换了一个新的损失函数,而在于模型结构与任务本身高度匹配。数字的局部笔画、边缘和转角可以由卷积核直接检测;参数共享使同一种笔画模式在不同位置上都能被同一检测器识别;池化则使模型对轻微位移和书写差异更加稳健。
因此,手写识别中卷积网络的成功,正是本章数学内容如何落到应用中的最清楚例子:局部感受野对应局部笔画结构,参数共享对应笔画模式的空间复用,池化对应小尺度位置扰动下的稳定识别。
4.2 ImageNet 分类
ImageNet 分类之所以在历史上如此关键,是因为它把视觉识别从相对小规模、受控的数据集推进到了大规模自然图像场景。在这个任务中,输入图像包含复杂背景、姿态变化、尺度变化和类内差异,因此模型既要有足够大容量,又要有足够合理的结构先验。
本章的数学机制在这里几乎全部同时发挥作用。卷积层利用图像局部空间相关性构造特征;参数共享把模型容量集中在可重复模式的学习上;多通道卷积让不同特征探测器并行形成;池化与层级堆叠使模型逐步从边缘、纹理走向部件和对象级表示。再结合第12章讨论的 ReLU、SGD 与 Dropout,卷积网络终于能够在大规模视觉任务上形成显著优势。
也就是说,ImageNet 的突破不是“深度更深”这么简单,而是“卷积结构 + 深层训练条件 + 大规模数据”三者共同汇合的结果。
4.3 目标检测与视觉特征提取
目标检测与通用视觉特征提取比单纯分类更进一步。它们不仅关心图像中“有没有某类对象”,还关心“对象在哪里”以及“能否学到可迁移的中间表示”。卷积网络在这里之所以有效,正是因为卷积特征图天然保留了一定空间布局信息。
从数学角度看,卷积输出
本身就是带有位置索引 $(i,j)$ 的特征响应。因此,当某个高层通道在某些位置上强烈激活时,这些响应不仅提供“出现了某种模式”的信息,还提供“这种模式大致出现在哪一片区域”的信息。这使卷积特征既适合做分类,也适合进一步扩展到检测、分割和通用表征提取。
因此,在目标检测与视觉特征提取中,本章的数学结构对应得非常直接:卷积负责局部模式检测,通道负责不同模式族的并行表示,特征图保留空间组织,层级结构支持从局部到整体的逐层抽象。
5. 局限性与历史转折
卷积神经网络在视觉任务中的成功极其深刻,但它的优势也依赖于任务本身具有明确的局部空间结构。图像中的边缘、纹理、局部部件与空间邻接关系,正好与卷积的局部连接和参数共享机制高度匹配。然而,这也意味着它的归纳偏置并不是普适的。
对于语言和一般序列任务,困难往往不再只是局部模式识别,而是长程依赖、顺序关系和上下文条件建模。卷积虽然可以通过加深网络或扩大感受野来间接整合更长距离的信息,但这种方式通常并不如专门的序列模型自然。换言之,卷积网络强于“局部结构重复出现”的数据,却不天然擅长“依赖关系跨越很长距离”的建模问题。
此外,卷积网络的成功虽然说明结构先验非常重要,但它也引出新的理论问题:为什么深层卷积表示如此有效?为什么这些分层特征能够迁移到其他任务?为什么过参数化卷积网络仍能表现出良好泛化?这些问题已经不再只是工程问题,而开始逼近深度表示学习的理论本质。
因此,本章既标志着视觉学习的重大突破,也推动第三编向两个方向继续展开。一个方向是第14章,将进一步讨论深度表示学习本身的理论视角;另一个方向则是后续序列建模路线,它将回答当任务不再主要受局部二维结构支配时,神经网络还需要怎样的新结构。
6. 本章小结
本章讨论了卷积神经网络为何会成为视觉学习中的关键模型。核心结论是:图像不是普通向量,而是具有局部相关性、重复局部模式和平移规律的结构化对象;卷积、局部感受野、参数共享与池化,正是把这些结构假设直接写入网络的方式。
因此,卷积网络的成功并不只是“更深网络在图像上表现更好”,而是结构先验与深层表示学习首次大规模结合的结果。它在 AI 发展史上的意义,在于证明了一个极其重要的原则:当模型结构真正贴合数据几何时,深度学习的表示能力才会被充分释放。也正因为如此,卷积网络既为第14章的表示学习理论讨论提供了最直观的例证,也为后续寻找适合序列与语言的新结构奠定了历史背景。
关键公式
关键概念
- 卷积
- 局部感受野
- 参数共享
- 平移等变性
- 池化
- 特征图
- 层级表示
- 卷积神经网络