第12章 深度学习复兴的条件
本章核心问题
为什么反向传播在第11章已经给出了多层网络的训练机制,深度学习却并没有立刻全面成功,而要到 21 世纪初以后才重新崛起?
更具体地说,本章要回答:多层网络“原则上可训练”与“在大规模现实任务中稳定成功”之间,还隔着哪些关键条件;随机梯度下降、参数初始化、ReLU、Batch Normalization 与 Dropout 分别在数学上解决了什么困难;以及深度学习的复兴为何不是单一理论突破,而是训练可扩展性真正成熟的结果。
1. 问题背景
第10章说明,早期神经网络第一次低潮的根本原因,不只是研究热情的变化,而是单层结构在表达能力上存在明确边界。第11章进一步说明,多层网络并非不可训练,只要网络由可导复合函数组成,就可以借助链式法则和反向传播来计算所有参数的梯度。到这一步为止,神经网络已经在原理上完成了一次关键突破:多层表示不再只是直觉设想,而是拥有了系统训练机制。
但历史并没有因此直接进入深度学习时代。原因在于,第11章解决的是“梯度如何计算”,而不是“深层模型如何在大规模现实任务中稳定、高效、可扩展地训练”。一旦层数增加、数据规模扩大、参数数量上升,新的困难立刻出现。梯度虽然能写出来,却可能在传播过程中急剧衰减或放大;训练集虽然存在,却可能不够大,无法支撑高维参数模型;算力虽然不断增长,但若每次迭代都必须在全数据上精确求梯度,训练成本仍然过高。换言之,多层网络的复兴并不只取决于“有没有反向传播”,而取决于一整套训练条件是否同时成熟。
从全书主线看,这一章处在一个非常特殊的位置。第二编主要讨论非线性学习与表示问题的提出,第三编前两章则把问题推进到神经网络的结构表达与梯度训练。第12章的任务,是解释为什么这些已经存在的思想,直到更晚时期才真正转化为现代人工智能的主导范式。它既承接第11章“可训练性”的结论,也为第13章卷积网络在视觉任务上的突破做准备。因为只有当训练技术、数据规模和计算资源达到某种新的平衡点时,神经网络的结构优势才会在视觉、语音和表示学习等任务中真正压倒传统方法。
因此,本章讨论的不是某一个单独模型,而是一组让深度学习得以复兴的关键条件。它们共同回答的问题是:为何到了这一历史阶段,深层网络终于不再只是理论上可训练,而是开始在实践中可靠地学出复杂表示。
需要顺带说明的是,本章为了叙述集中,主要以图像分类、语音识别等有明确标签的监督学习任务为背景来讨论训练机制,因此公式中常写成 $L\big(y_i,f_\theta(x_i)\big)$ 的形式,其中 $y_i$ 表示监督标签。但这并不意味着神经网络只能用于监督学习。这里讨论的 mini-batch SGD、参数初始化、ReLU、Batch Normalization 与 Dropout,本质上都是深层参数化模型的训练技术,只要目标函数能够写成可优化形式,它们同样可以用于无监督学习、自监督学习与生成建模。后文中,第14章会从深度表示学习的角度继续讨论这一问题,第17章会更直接进入自编码器、VAE 与 GAN 等神经网络生成模型,第20章则会在预训练语言模型中系统展开自监督学习如何在没有人工标签的情况下学出通用表示与能力。
2. 数学原理
2.1 从经验风险最小化到大规模参数训练
设训练集为
其中 $x_i$ 表示第 $i$ 个输入样本,$y_i$ 表示对应目标,$n$ 表示样本数。设深度神经网络记为
其中 $\theta$ 表示网络全部参数,包括各层权重矩阵与偏置向量。给定单样本损失函数
则总体经验风险可以写成
这里 $J(\theta)$ 表示训练目标,也就是平均训练损失。这个式子在表面上与第1编的经验风险最小化完全一致,但在深度学习语境中,它面临的数学困难已经明显加重。第一,参数维数可能极高;第二,目标函数通常非凸;第三,梯度由多层复合函数构成,其数值性质远比浅层模型复杂。
因此,深度学习复兴的首要问题,不是重新定义学习目标,而是让这个目标在大规模参数空间中变得可优化。后面讨论的随机梯度下降、初始化、ReLU、归一化和正则化,本质上都围绕一个中心问题展开:如何让
从原则上可写,推进到事实上可训练。
2.2 为什么全批量梯度下降不再现实
若直接对总体经验风险做梯度下降,则更新式为
其中 $\theta_t$ 表示第 $t$ 次迭代时的参数,$\eta>0$ 表示学习率,$\nabla_\theta J(\theta_t)$ 表示训练目标对参数的梯度。由经验风险的定义可知,
这个公式说明:若要精确计算一次全梯度,就必须遍历全部 $n$ 个样本。当 $n$ 很大时,每一步更新的代价就会非常高。对于浅层小模型,这个代价也许尚可接受;但对深层网络而言,前向传播与反向传播本身已经不便宜,再叠加全数据求和,训练就很难扩展到大样本场景。
更关键的是,深度学习的成功恰恰建立在大量数据之上。若优化算法的单步成本随数据规模线性增长,而且每次参数更新都必须等待全数据扫描完成,那么数据规模越大,训练反而越难推进。也就是说,神经网络的复兴必须同时解决一个“优化与规模”的矛盾:模型需要更多数据,但训练又不能被数据规模压垮。
2.3 随机梯度下降为何成为转折点
随机梯度下降的核心思想,是用一个小批量样本构造总体梯度的近似。设在第 $t$ 次迭代中,从训练集抽取一个小批量
其中 $|B_t|=m$ 表示批量大小,通常有 $m\ll n$。定义小批量目标为
则对应的随机梯度更新写成
其中 $\eta_t$ 表示第 $t$ 次迭代时的学习率。这里要特别注意,$\nabla_\theta \hat J_{B_t}(\theta_t)$ 不再是精确全梯度,而是由当前小批量给出的梯度估计。
若小批量是从训练集均匀采样得到的,则在适当假设下有
这里 $\mathbb E[\cdot]$ 表示对抽样随机性的期望。这个公式的含义是:小批量梯度虽然带有噪声,但在平均意义下仍然指向总体梯度。因此,随机梯度下降并不是“随意替代精确计算”,而是在可接受的统计波动下,用更便宜的局部计算逼近全局下降方向。
这一步为何关键,可以从两方面理解。第一,它显著降低了单次更新的计算成本,使参数能够更频繁地更新。第二,它天然适合并行硬件,因为一个小批量可以被组织成矩阵运算,从而在现代加速器上高效执行。也就是说,随机梯度下降不仅是优化方法的变化,更是“深度学习能够随数据规模扩展”的基础条件。
2.4 小批量梯度中的噪声为何反而有益
与全梯度相比,小批量梯度包含随机波动。若把单样本梯度记为
则小批量梯度可以写成
这里 $\hat g_t(\theta)$ 表示第 $t$ 次迭代的随机梯度估计。它与精确梯度的差异来自样本抽样,因此可以把这种差异理解为优化过程中的噪声。
这种噪声表面上看会降低每一步的精确性,但它也带来两个重要效果。其一,它降低了单步计算成本,使训练在大规模数据上可行。其二,在非凸优化中,这种噪声并不总是坏事。若目标函数存在大量平坦区域、鞍点或狭窄谷底,那么完全精确的梯度可能在局部地形中推进缓慢;而带有适度扰动的随机梯度,反而可能帮助参数摆脱某些不良局部结构。这里应当强调,这是一种经验与理论共同支持的现象,而不是简单的“噪声越大越好”。关键不在于制造任意波动,而在于用受控的统计噪声换取更好的规模适应性与更灵活的搜索行为。
因此,SGD 的意义不只在于“省算力”,还在于它改变了深层非凸优化的实际运行方式。深度学习的复兴,首先依赖于这样一种可扩展优化机制的成熟。
2.5 参数初始化为何会影响可训练性
即使有了反向传播和 SGD,深层网络仍然可能训练失败。一个常见原因,是参数初始化不合理。为了说明这一点,考虑某一层的线性变换
其中 $W^{(\ell)}$ 表示第 $\ell$ 层权重矩阵,$b^{(\ell)}$ 表示偏置向量,$a^{(\ell-1)}$ 表示上一层激活输出。若初始化时权重过大,则线性输入 $z^{(\ell)}$ 的方差可能随着层数迅速放大;若权重过小,则信号又可能迅速衰减。这样一来,不仅前向传播的数值尺度会失衡,反向传播中的梯度也会出现相同问题。
这个现象可以用方差传播的思路理解。若假设某层输入分量近似独立、均值为零,且每个神经元的输入维数为 $d_{\ell-1}$,那么在粗略近似下有
其中 $\mathrm{Var}(\cdot)$ 表示方差,$z^{(\ell)}_j$ 是第 $\ell$ 层第 $j$ 个线性输入分量,$W^{(\ell)}_{jk}$ 表示权重矩阵中的单个元素。这个公式并不是严格普适定理,而是一个帮助理解初始化机制的近似关系。它告诉我们:若权重方差不随输入维数进行缩放,信号的数值尺度就会在层与层之间不断累积偏移。
因此,现代初始化策略的基本目标,是让前向信号和反向梯度在层间传播时尽量保持稳定尺度。例如,Xavier 初始化倾向于让权重方差与输入、输出维数共同匹配;He 初始化则进一步针对 ReLU 一类激活函数调整尺度。它们的共同思想不是“随机给一个起点”而已,而是尽量让深层复合系统在训练开始时处于既不过大也不过小的数值范围内。
2.6 ReLU 为什么改变了深层训练
早期多层网络常使用 sigmoid 或 $\tanh$ 激活函数。它们平滑可导,这是第11章反向传播成立的重要前提。但当网络层数加深时,这类函数也暴露出一个严重问题:在输入绝对值较大时,导数会变得很小。以 sigmoid 为例,
其导数为
由于 $\sigma(z)\in(0,1)$,因此 $\sigma'(z)$ 的最大值也有限,而且当 $z$ 很大或很小时,$\sigma'(z)$ 会接近于零。若反向传播要经过很多层,每一层都乘上一个偏小的导数因子,梯度就很容易快速衰减。这正是梯度消失问题的核心来源之一。
ReLU 激活函数写成
它的导数在分段上可以写成
这里在 $z=0$ 处导数不唯一,实践中通常取某个约定值即可。ReLU 的关键不在于它“更光滑”,事实上它比 sigmoid 更不光滑;关键在于当 $z>0$ 时,它的导数恒为 1,不会像 sigmoid 那样在大正区间进入饱和。这意味着,只要神经元处于激活状态,梯度就更容易稳定传播。
从函数形态看,ReLU 还带来另一种重要偏置。它把负区间压为零,而在正区间保持线性,因此网络整体变成一种分段线性复合函数。这样的结构既保留了非线性表达能力,又避免了某些早期激活函数的严重饱和问题。正因为如此,ReLU 成为深度学习复兴阶段最重要的激活函数之一。
2.7 Batch Normalization 如何稳定中间表示
即使采用了更好的初始化和激活函数,深层训练仍然可能因为各层输入分布不断漂移而变得不稳定。Batch Normalization 的出发点,正是对每一层的中间表示做适度标准化处理。设在某一层、某一特征维度上,小批量输入为
其中 $m$ 表示当前批量大小。先定义该批量的均值
再定义批量方差
然后把每个输入标准化为
其中 $\varepsilon>0$ 是一个很小的常数,用来避免分母为零。若只做到这一步,所有特征都会被强行变成零均值、单位方差;这可能过于僵硬。因此,Batch Normalization 还会进一步引入可学习的缩放与平移参数:
这里 $\gamma$ 与 $\beta$ 是可学习参数,分别控制标准化后特征的缩放与平移。这个结构很有意思。它一方面通过标准化稳定了每层输入的数值尺度,另一方面又通过 $\gamma,\beta$ 保留了模型恢复适当表示分布的自由度。
从数学作用看,Batch Normalization 缓和的是训练过程中的尺度漂移问题。若某层输入分布在训练中不断变化,后续层就必须持续适应一个移动目标;而标准化操作让这种变化在一定程度上被约束在更可控的范围内。它并没有改变经验风险最小化的总体目标,却显著改善了优化过程的条件数与稳定性,因此成为深层训练成功的重要技术条件。
2.8 Dropout 为什么具有正则化作用
深层网络容量很大,这让它们能够学习复杂表示,但也让它们更容易过拟合。Dropout 的思路,是在训练过程中随机暂时关闭一部分神经元,以削弱特征之间过强的共适应。设某层激活向量为
其中 $d$ 表示该层维数。对每个分量引入一个伯努利随机变量
这里 $r_j$ 取值为 0 或 1,$p$ 表示保留该单元的概率。然后构造经过随机屏蔽后的激活
在向量形式下也可写成
其中 $r=(r_1,\dots,r_d)^\top$ 是随机掩码向量,$\odot$ 表示按分量相乘。这个过程意味着:在每次训练迭代中,网络实际上都在使用一个被随机删减过的子网络。
为什么这样做会有正则化效果?因为模型不能再依赖少数固定通路稳定存在,也不能让某个神经元与其他特定神经元形成过强耦合。为了在许多不同随机子网络中都保持合理输出,表示必须变得更加分散和鲁棒。换言之,Dropout 并不是直接在参数范数上加一个惩罚项,而是通过对结构施加随机扰动,间接抑制过拟合。
从期望角度看,训练阶段的随机屏蔽与测试阶段的完整网络之间,需要做适当尺度匹配。现代实现常采用“反向 Dropout”写法,即在训练时直接把保留的激活除以 $p$,从而使测试时不必再额外缩放。这说明 Dropout 虽然看上去是简单随机删除,但背后仍然有明确的统计一致性考虑。
2.9 深度学习复兴的数学本质
把前面几节连起来,就能看出深度学习复兴并不是某一个孤立技巧突然奏效,而是一组条件在数学上互相补足。SGD 解决的是大数据下单步更新成本过高的问题,使优化能够随数据规模扩展;初始化解决的是深层信号与梯度在传播中失衡的问题,使训练从一开始就处于更稳定的尺度区间;ReLU 改善了梯度在多层链式传播中的衰减特性;Batch Normalization 进一步稳定中间表示分布,缓和训练中的数值漂移;Dropout 则在高容量模型中提供了一种有效的随机正则化。
因此,本章真正要强调的结论是:深度学习的复兴并不是“人们终于想到了更深的网络”这么简单,而是“深层网络第一次具备了可扩展训练的数学与工程条件”。只有当这些条件共同成熟时,第11章中的可训练性才真正转化成大规模现实成功。
3. 代表模型或算法
3.1 mini-batch SGD
mini-batch SGD 是深度学习复兴阶段最具代表性的训练算法。其结构并不复杂:在每轮迭代中抽取一个小批量样本,计算该批量上的前向传播、损失和反向传播梯度,再按学习率更新参数。训练方式上,它通过不断重复这一过程逐步降低经验风险;推理方式上,则只保留前向传播,不再需要梯度计算。
它在本章中的典型性极强,因为它直接对应“深层网络如何在大规模数据上真正训练起来”这一核心问题。没有 mini-batch SGD,反向传播虽已存在,但训练成本仍很难扩展到现代数据规模。
3.2 ReLU 网络
ReLU 网络指的是以 ReLU 作为主要隐藏层激活函数的深层前馈网络。模型结构上,它仍然遵循“线性变换 + 非线性激活”的层级复合形式,只是把早期常见的 sigmoid 或 $\tanh$ 换成了分段线性的 ReLU。训练方式上,仍依赖反向传播与 SGD;推理方式上,则执行标准前向传播。
它的典型性在于:它展示了一个看似简单的局部结构选择,如何直接改变深层训练的全局数值性质。第11章说明多层网络可以训练,而 ReLU 网络则说明“怎样的多层网络更容易被训练”。
3.3 Batch Normalization
Batch Normalization 不是独立模型,而是一种插入网络层间的训练机制。其算法流程通常是:对当前小批量计算均值和方差,标准化特征,再用可学习参数恢复缩放和平移。训练方式上,它与反向传播、SGD 联合工作;推理方式上,则常使用训练阶段估计得到的全局均值和方差统计量。
它在本章中的典型性,在于它把“训练不稳定”这一模糊经验问题,转化为“中间表示数值分布如何被控制”的明确数学机制。
3.4 Dropout
Dropout 的算法流程是在训练时随机屏蔽部分神经元,在测试时恢复完整网络并做尺度匹配。结构上,它并不改变网络的基本函数形式;训练方式上,它通过随机扰动改变每一步实际参与计算的子网络;推理方式上,则使用确定性网络输出。
它在本章中的典型性,在于它代表了深度学习复兴阶段的另一个重要方向:不仅要让深层网络能训起来,还要让高容量模型在大数据之外不过度记忆训练集。
4. 典型应用
4.1 大规模图像分类
深度学习首先在视觉任务上取得决定性突破,并非偶然。图像数据规模大、输入维度高、结构复杂,恰好需要高容量模型来学习层次表示。但高容量模型若没有本章这些训练条件,也很容易陷入训练失败或过拟合。
从数学对应关系看,图像分类任务通常仍可写成经验风险最小化问题
只是这里的 $x_i$ 是高维图像,$y_i$ 是类别标签。mini-batch SGD 让这个大规模优化问题能在海量数据上迭代推进;ReLU 改善了深层网络中的梯度传播;Batch Normalization 稳定了各层中间表示;Dropout 则帮助模型在大容量条件下抑制过拟合。也就是说,图像分类中的成功,并不是单靠某一个结构或损失函数,而是本章一整套训练机制共同作用的结果。
这也正是为什么第13章会顺理成章地进入卷积神经网络。第12章先解释“深层训练终于可行”,第13章再说明“当这种可行性与图像结构先验结合时,性能为何会出现历史性跃升”。
4.2 语音识别
语音识别的输入通常是高维声学特征序列,目标是把这些特征映射到音素、词或更高层语言单位。早期方法往往依赖复杂手工特征和多阶段流水线,而深度学习的复兴则使端到端或近端到端的表示学习成为可能。
在这个应用中,本章的数学内容有非常直接的落点。深层网络需要通过多层复合函数把底层声学模式转化为更抽象的判别表示,因此训练目标仍是关于参数 $\theta$ 的高维优化问题;mini-batch SGD 让大规模语音数据上的训练成为现实;ReLU 与良好初始化改善了深层声学模型的可训练性;Dropout 则有助于缓解有限标注语音数据中的过拟合。换言之,语音识别中的突破并不是“深度模型天然更懂语音”,而是这些数学机制第一次让高容量表示学习在语音任务上变得稳定可行。
4.3 网络表示学习与通用特征提取
在更广义的表示学习任务中,研究者关心的并不只是最终分类准确率,而是能否通过深层网络学到对后续任务有用的中间表示。无论是用户行为建模、网络嵌入,还是通用特征抽取,其共同点都是:模型需要在大样本条件下把原始输入逐层映射为更抽象、更可迁移的表示。
这一类应用与本章数学原理的对应关系更加清楚。第11章已经把多层网络写成复合函数
而第12章进一步说明,只有当 SGD、初始化、ReLU 与归一化等机制共同存在时,这种复合结构才真正能够在大规模数据上稳定学出有用表示。因此,本章条件在这些任务中的作用,不只是提高某个最终指标,而是让“逐层表示可被实际训练出来”这件事变成现实。
5. 局限性与历史转折
深度学习的复兴虽然极其重要,但它并没有在这一阶段解决全部问题。首先,本章讨论的大部分关键技术仍然主要围绕前馈网络与一般深层训练稳定性展开,它们说明“深层模型能训起来”,却没有自动回答“什么结构最适合哪类数据”。图像具有明显空间局部性,因此在视觉领域率先成功;但语言、时间序列和一般序列数据具有更复杂的依赖结构,仅靠普通全连接深层网络仍然并不理想。
其次,SGD、ReLU、Batch Normalization 与 Dropout 改善的是优化与泛化条件,但并没有从结构上利用图像的平移不变性、局部相关性,也没有直接解决长程依赖问题。这意味着,深度学习的复兴还需要与更强的归纳偏置结合,才能在具体任务上进一步放大优势。
因此,本章完成的是“训练条件成熟”的历史解释,而不是“结构创新已经结束”的终点。深度学习真正压倒传统方法,还需要网络结构与任务结构更紧密地结合。对于视觉任务,这种结合首先表现为卷积神经网络;对于序列任务,则会继续推动循环网络、注意力机制和后来的 Transformer 发展。
这也就是为什么下一章自然转向卷积神经网络。第12章回答“为什么深层网络终于能大规模训练”,第13章则回答“为什么一旦把这种训练能力与图像的空间结构结合起来,视觉学习会首先发生质变”。再往后,第14章会从表示学习理论上重新理解深层表示,第17章会把神经网络推进到生成模型与无监督表示学习,第20章则会进一步把这种路线发展为大规模自监督预训练。
6. 本章小结
本章讨论了深度学习为何直到较晚时期才真正复兴。核心结论是:反向传播给出了多层网络的梯度计算机制,但深度学习的现实成功还依赖于更完整的训练条件,包括可扩展的随机梯度优化、合理的参数初始化、更有利于梯度传播的激活函数、稳定中间表示的归一化机制,以及抑制过拟合的随机正则化。
因此,深度学习的复兴不是单一技巧突然奏效,而是多种数学与工程条件汇合的结果。它在 AI 发展史上的意义,在于把“多层网络原则上可训练”真正推进成了“高容量表示模型可以在大规模数据上稳定学习”。这一步为卷积网络在视觉中的突破,也为后续更复杂的序列模型与大规模表示学习奠定了现实基础。
关键公式
关键概念
- 深度学习复兴
- mini-batch SGD
- 参数初始化
- ReLU
- Batch Normalization
- Dropout
- 可扩展训练
- 表示学习