L大语言模型从理论到实践
阅读 PDF ↗
CHAPTER 17

优化及泛化

反向传播回答了“当前参数怎样影响损失”,优化算法则必须进一步决定沿什么方向、以多大幅度改变参数。即使梯度完全正确,训练仍可能因学习率不合适而振荡,因初始化尺度不当而失去有效信号,或在训练集上持续改善的同时损害对新样本的预测。优化及泛化因此是两个相互联系而不能相互替代的问题:前者研究如何降低既定目标,后者研究从有限数据获得的预测规律能否适用于未参与拟合的数据。

本章先把训练目标与统计目标分开,在可精确求解的二次函数上推导梯度下降的稳定条件,再将结论扩展到随机梯度和小批量计算。随后从信号传播解释初始化,从目标函数解释正则化,最后讨论偏差、方差、数据划分与分布漂移。数值例题均给定明确的目标、参数与抽样假设,以便逐项验证结论。

17.1训练目标及统计目标

总体风险、经验风险及正则化目标

设观测 \(z=(x,y)\) 来自联合分布 \(P\),训练集为 \(S=\{(x_i,y_i)\}_{i=1}^{n}\)。参数 \(\theta\in\Real^p\) 确定预测函数 \(f_\theta\),损失 \(\ell(f_\theta(x),y)\) 衡量预测与目标之间的差异。定义

\begin{align} R_P(\theta)&=\mathbb E_{(x,y)\sim P}\bigl[\ell(f_\theta(x),y)\bigr],\tag{17.1}\\ \widehat R_S(\theta)&=\frac1n\sum_{i=1}^{n}\ell(f_\theta(x_i),y_i),\tag{17.2}\\ F_S(\theta)&=\widehat R_S(\theta)+\lambda\Omega(\theta),\qquad\lambda\geq0. \tag{17.3}\end{align}

总体风险 \(R_P\) 是希望降低的统计量,经验风险 \(\widehat R_S\) 是有限样本上的可计算估计,正则化目标 \(F_S\) 是实际交给优化算法的函数。三者可能具有不同的最小点。正则化项 \(\Omega\) 并非测试误差的一部分;它通过改变训练时偏好的解,间接影响总体风险。

若训练样本独立同分布,而且参数 \(\theta\) 在抽取 \(S\) 之前已经固定,则 \(\mathbb E_S\widehat R_S(\theta)=R_P(\theta)\)。但是训练得到的 \(\widehat\theta(S)\) 依赖同一批样本,不能把这个固定参数下的无偏性直接代入数据选择后的参数。一个足以记忆标签的模型可以使训练误差接近零,同时在新样本上没有预测能力。这一差别是必须保留独立评估数据的根本原因。1

符号 含义与范围
\(n,B,p\) 训练样本数、批量大小、参数维数,均为正整数。
\(\theta_k,g_k,\eta_k\) \(k\) 步参数、梯度估计和学习率;前两者属于 \(\Real^p\)\(\eta_k>0\)
\(H,L,\mu\) 对称 Hessian 矩阵,以及最大、最小曲率;正定情形满足 \(0<\mu\leq L\)
\(\Sigma,\lambda,q\) 单样本梯度的协方差矩阵、正则强度、Dropout 保留概率;\(0<q\leq1\)
\(n_{\mathrm{in}},n_{\mathrm{out}}\) 线性层的输入、输出宽度。

这里的 \(L\) 表示梯度变化的尺度或最大曲率,不表示序列长度。后文按局部问题说明符号,避免把参数维数、样本数与批量大小混为一谈。

优化误差及统计误差

在本小节暂取 \(\lambda=0\)。设 \(\widehat\theta\) 是经验风险的一个全局最小点,\(\theta^*\) 是同一参数集合内总体风险的最小点,\(\theta_K\) 是执行 \(K\) 次更新后实际得到的参数。插入并减去经验风险可得

\begin{align} R_P(\theta_K)-R_P(\theta^*) ={}&[R_P(\theta_K)-\widehat R_S(\theta_K)]\notag\\ &+[\widehat R_S(\theta_K)-\widehat R_S(\widehat\theta)]\notag\\ &+[\widehat R_S(\widehat\theta)-\widehat R_S(\theta^*)]\notag\\ &+[\widehat R_S(\theta^*)-R_P(\theta^*)]. \tag{17.4}\end{align}

第二项是非负的优化误差;第三项因经验最优性而非正。若能够在整个参数集合上控制 \(\Delta_S=\sup_\theta|R_P(\theta)-\widehat R_S(\theta)|\),则

\[ R_P(\theta_K)-R_P(\theta^*) \leq 2\Delta_S+\widehat R_S(\theta_K)-\widehat R_S(\widehat\theta). \tag{17.5}\]

这个上界不是宣称大网络的 \(\Delta_S\) 容易估计,而是说明减小优化误差与减小统计估计误差承担不同职责。延长训练不能修复数据泄漏,增加样本也不能自动修复错误梯度。若参数集合本身不能表达最优预测规律,还要在总体最优值之外考虑模型的近似误差。

17.2梯度下降及曲率

负梯度的下降性质

对可微目标 \(F\),在当前位置 \(\theta\) 附近有

\[ F(\theta+\delta)=F(\theta)+\nabla F(\theta)^\mathsf T\delta+o(\|\delta\|_2). \tag{17.6}\]

在固定步长 \(\|\delta\|_2=r\) 下,柯西–施瓦茨不等式给出 \(\nabla F(\theta)^\mathsf T\delta\geq-r\|\nabla F(\theta)\|_2\),等号在 \(\delta\) 沿负梯度方向时成立。因此欧氏距离下最陡的一阶下降方向是 \(-\nabla F(\theta)\)。这并未给出可以任意增大的步长,因为较大的 \(\delta\) 会使曲率项无法忽略。

若梯度满足 \(L\)-Lipschitz 条件,即 \(\|\nabla F(u)-\nabla F(v)\|_2\leq L\|u-v\|_2\),沿线段积分可得

\begin{align} F(\theta+\delta)-F(\theta) &=\int_0^1\nabla F(\theta+t\delta)^\mathsf T\delta\,\dif t\notag\\ &\leq\nabla F(\theta)^\mathsf T\delta+\frac L2\|\delta\|_2^2. \tag{17.7}\end{align}

代入 \(\delta=-\eta\nabla F(\theta)\) 后,

\[ F(\theta-\eta\nabla F(\theta)) \leq F(\theta)-\eta\left(1-\frac{L\eta}{2}\right)\|\nabla F(\theta)\|_2^2. \tag{17.8}\]

因此 \(0<\eta<\frac{2}{L}\) 能保证非零梯度处的下降。对非凸目标,这一结论只控制函数值,不保证到达全局最小点;驻点可能是局部最小点、鞍点或退化的平坦区域。深度网络中的 ReLU 还含不可微位置,不能不加说明地把处处光滑定理视为整个训练过程的严格证明。

二次目标稳定域

考虑正定二次目标

\[ F(\theta)=\frac12(\theta-\theta^*)^\mathsf T H(\theta-\theta^*), \quad H=H^\mathsf T\succ0. \tag{17.9}\]

令误差 \(e_k=\theta_k-\theta^*\),梯度为 \(He_k\)。固定学习率的更新满足

\[ e_{k+1}=(I-\eta H)e_k. \tag{17.10}\]

对称矩阵可作正交特征分解 \(H=Q\Lambda Q^\mathsf T\),其中 \(Q^\mathsf TQ=I\)\(\Lambda=\operatorname{diag}(\lambda_1,\ldots,\lambda_p)\)。转到特征坐标 \(a_k=Q^\mathsf Te_k\) 后,各方向独立递推:

\[ a_{k+1,j}=(1-\eta\lambda_j)a_{k,j},\qquad a_{k,j}=(1-\eta\lambda_j)^k a_{0,j}. \tag{17.11}\]

要使所有初值在所有方向收敛,必须且只需每个放大因子的绝对值小于一。逐步解不等式可得

\[ |1-\eta\lambda_j|<1 \iff -1<1-\eta\lambda_j<1 \iff 0<\eta\lambda_j<2. \tag{17.12}\]

\(L=\max_j\lambda_j\),所有方向的交集即

\[ \boxed{\quad 0<\eta<\frac2L.\quad} \tag{17.13}\]

\(0<\eta\lambda_j<1\),误差不变号地衰减;若 \(1<\eta\lambda_j<2\),误差交替变号而幅值衰减;在 \(\eta\lambda_j=2\) 处,非零初始误差保持等幅振荡;超过二则沿该方向发散。\(\eta\lambda_j=1\) 则在一步内消去该方向的误差。

如果 \(H\) 仅半正定,零特征值方向不改变,算法只能收敛到由初值决定的最小点;若出现负特征值,对应因子 \(1-\eta\lambda_j>1\),负曲率方向会放大扰动。这些情况不能沿用正定情形“收敛到唯一最优参数”的表述。

条件数及特征尺度

\(\mu=\min_j\lambda_j>0\)。最坏方向的收缩因子为 \(\rho(\eta)=\max_j|1-\eta\lambda_j|\)。在 \([\mu,L]\) 上平衡两端幅值,即令 \(1-\eta\mu=-(1-\eta L)\),得到

\[ \eta_{\mathrm{bal}}=\frac2{L+\mu},\qquad \rho(\eta_{\mathrm{bal}})=\frac{L-\mu}{L+\mu} =\frac{\kappa-1}{\kappa+1},\qquad\kappa=\frac L\mu. \tag{17.14}\]

\(\kappa\) 称为条件数。它很大时,陡峭方向限制学习率,而平缓方向前进缓慢。标准化输入可改善某些由单位差异引起的条件问题,却不保证消除特征相关性。对最小二乘 \(F=\frac{\|X\theta-y\|_2^2}{2n}\),Hessian 为 \(\frac{X^\mathsf TX}{n}\);标准化主要调整对角尺度,高度相关的列仍可能使最小特征值接近零。

下降、振荡及发散

\(F(u,v)=\frac{u^2+9v^2}{2}\),初值 \((u_0,v_0)=(1,1)\)。此时 \(L=9\)\(\mu=1\),稳定区间为 \(0<\eta<\frac{2}{9}\)。由式(17.11)直接计算得到下表。

\(\eta\) \(u_1\) \(v_1\) \(F(u_1,v_1)\) \(F(u_2,v_2)\)
\(0.10\) \(0.9\) \(0.1\) \(0.45\) \(0.3285\)
\(0.20\) \(0.8\) \(-0.8\) \(3.2\) \(2.048\)
\(0.25\) \(0.75\) \(-1.25\) \(7.3125\) \(11.14453125\)

初始目标值为 \(5\)。第二行虽然发生变号,仍稳定下降;第三行在陡峭方向的误差放大因子为 \(-1.25\),因而发散。不能仅凭参数或梯度的正负交替判断失败,也不能把较大的学习率简单理解为较快的有效学习。

二次例题的陡峭方向:实线振荡收敛,虚线振荡发散。点由 $v_k=(1-9\eta)^k$ 精确计算,连线仅用于识别离散更新顺序。
图 17.1 二次例题的陡峭方向:实线振荡收敛,虚线振荡发散。点由 \(v_k=(1-9\eta)^k\) 精确计算,连线仅用于识别离散更新顺序。

17.3随机梯度及批量大小

无偏抽样条件

\(h_i(\theta)=\nabla_\theta\ell(f_\theta(x_i),y_i)\)。固定数据集和当前参数,从 \(\{1,\ldots,n\}\) 独立均匀有放回抽取 \(B\) 个索引 \(I_1,\ldots,I_B\),构造

\[ g(\theta)=\frac1B\sum_{b=1}^B h_{I_b}(\theta),\qquad \mathbb E[g(\theta)\mid S,\theta]=\frac1n\sum_i h_i(\theta)=\nabla\widehat R_S(\theta). \tag{17.15}\]

若每步使用的新随机索引独立于给定训练历史后的参数状态,则这个等式也是条件于训练历史的无偏性。它估计的是当前训练集的经验梯度,并不自动等于总体梯度。在总体抽样模型下,要写成 \(\nabla R_P=\mathbb E\nabla\ell\),还需要足够的可微性、可积性等条件,允许交换求导与期望。

非均匀采样时,若抽样概率为 \(\pi_i>0\),直接平均 \(h_{I_b}\) 的期望变为 \(\sum_i\pi_i h_i\),对应另一个加权目标。要保留原等权目标,可以使用

\[ g(\theta)=\frac1B\sum_b\frac{h_{I_b}(\theta)}{n\pi_{I_b}}. \tag{17.16}\]

其无偏性由 \(\sum_i\frac{\pi_i h_i}{n\pi_i}=n^{-1}\sum_i h_i\) 得到,但极小的 \(\pi_i\) 可能造成很大的方差。因此重采样、类别权重和重要性校正既影响数据分布,也影响更新稳定性。

梯度方差及有限总体修正

\(\bar h=n^{-1}\sum_i h_i\),定义有限训练集上的协方差

\[ \Sigma=\frac1n\sum_i(h_i-\bar h)(h_i-\bar h)^\mathsf T. \tag{17.17}\]

有放回独立抽样使交叉协方差为零,所以

\[ \operatorname{Cov}(g\mid S,\theta)=\frac{\Sigma}{B},\qquad \mathbb E\|g-\bar h\|_2^2=\frac{\operatorname{tr}\Sigma}{B}. \tag{17.18}\]

\(n>1\) 时,对均匀无放回批量,两个不同抽样位置的协方差为 \(-\frac{\Sigma}{n-1}\)。把 \(B\) 个方差项和 \(B(B-1)\) 个交叉项相加,得到

\[ \operatorname{Cov}(g)=\frac1{B^2}\left(B\Sigma-\frac{B(B-1)}{n-1}\Sigma\right) =\frac{n-B}{B(n-1)}\Sigma. \tag{17.19}\]

\(B=n\) 时协方差为零,当 \(B\ll n\) 时接近 \(\frac{\Sigma}{B}\)。这里比较的是同一个固定参数处随机选取一个批量的分布。逐轮随机打乱后依次消费批量时,参数已经依赖之前消费的样本,剩余样本上的梯度一般不再条件无偏于全训练集梯度。不能将单次无放回抽样公式无条件推广为整条训练轨迹上的独立噪声模型。

若样本存在相关性,更一般的表达是

\[ \operatorname{Cov}(g)=\frac1{B^2}\sum_{b,c}\operatorname{Cov}(h_{I_b},h_{I_c}). \tag{17.20}\]

同一文档的相邻片段、同一用户的重复记录可能具有正相关性,增加名义批量并不产生同等数量的独立信息。语言模型中还必须说明批量按序列、有效词元还是文档计算。

随机梯度下降条件

设条件期望 \(\mathbb E[g_k]=\nabla F(\theta_k)\),条件方差满足 \(\mathbb E\|g_k-\nabla F(\theta_k)\|_2^2\leq\frac{\sigma^2}{B}\)。将随机更新代入光滑上界,并使用 \(\mathbb E\|g_k\|_2^2=\|\nabla F(\theta_k)\|_2^2+\mathbb E\|g_k-\nabla F(\theta_k)\|_2^2\),可得

\[ \mathbb E[F(\theta_{k+1})\mid\theta_k] \leq F(\theta_k)-\eta\left(1-\frac{L\eta}2\right)\|\nabla F(\theta_k)\|_2^2 +\frac{L\eta^2\sigma^2}{2B}. \tag{17.21}\]

最后一项说明单步可能上升。靠近驻点时梯度信号减弱,固定学习率下的噪声仍持续作用;降低学习率或增加批量能减小该项,但也改变了计算开销与单位预算下的更新次数。

在一维二次函数 \(F(e)=\frac{he^2}{2}\) 上,若 \(g_k=he_k+\xi_k\)\(\xi_k\) 独立、零均值、方差为 \(\frac{s^2}{B}\),则

\[ \mathbb E[e_{k+1}^2]=(1-\eta h)^2\mathbb E[e_k^2]+\frac{\eta^2s^2}{B}. \tag{17.22}\]

\(0<\eta h<2\),长期二阶矩收敛到

\[ \lim_{k\to\infty}\mathbb E[e_k^2] =\frac{\frac{\eta^2s^2}{B}}{1-(1-\eta h)^2} =\frac{\eta s^2}{Bh(2-\eta h)}. \tag{17.23}\]

这是一组明确假设下的噪声稳态,不是所有神经网络的通用最终误差公式。它同时揭示:较大的学习率使快速移动与较大的稳态波动相伴;当学习率接近稳定边界时,即使噪声很小,波动也可能很大。

批量、步数及有效监督量

某固定参数处四个标量样本梯度为 \(1,3,5,7\),均值为 \(4\)、总体方差为 \(5\)。有放回抽取两个样本,均值梯度方差为 \(\frac{5}{2}\);无放回抽取两个样本,则为 \(\frac{5(4-2)}{2\cdot3}=\frac{5}{3}\)。两种批量的均值相同,随机性不同。

再设训练集含 \(1,024\) 个样本,完整遍历一轮且不丢尾批。批量 \(32\) 对应 \(32\) 次参数更新,批量 \(128\) 仅对应 \(8\) 次。若固定更新次数,则后者消费更多样本;若固定 epoch 数,则后者更新更少;若固定墙钟时间,还会受到设备利用率与通信影响。三种比较回答不同问题,不能互相替代。

梯度累积只有在各微批梯度于同一参数处计算、按真实样本数或有效词元数加权、期间不更新参数,并保持等价的计算状态时,才可与相应大批量梯度比较。含批量统计的层、不同随机掩码及不均匀有效长度会使简单的“微批均值再平均”偏离目标。具体训练状态与分布式归约将在训练章节展开。

动量通过累计过去梯度减弱方向的短时变化,自适应优化器进一步按坐标调节更新尺度。它们改变上述标量学习率的动力学,不能直接套用 \(\frac{2}{L}\) 作为完整稳定界。本章建立的目标、条件期望与曲率分析仍是解释其行为的基础;Adam、AdamW 的矩估计、偏差修正和恢复状态在训练过程一章推导。

算法17.1 带验证集早停的小批量梯度下降

输入:相互隔离的训练集和验证集、可微损失、学习率序列、批量大小、最大步数 \(K\)、验证间隔 \(r\)、耐心窗口 \(M\)、正则强度 \(\lambda\ge0\) 和最小改善量 \(\delta_{\min}\ge0\);验证损失越小越好。输出:验证指标最优的已保存参数。

  1. 初始化参数 \(\theta_0\);在固定评估模式下计算初始验证损失,保存参数和当前最小验证损失,并将耐心比较基准设为此损失,连续未改善次数置零。

  2. \(k=0,\ldots,K-1\),从训练集按明确规则抽取批量,在 \(\theta_k\) 处求其平均数据梯度 \(g_k\);二次正则项在下一步统一加入。

  3. 完成全部梯度计算后更新 \(\theta_{k+1}=\theta_k-\eta_k(g_k+\lambda\theta_k)\)。这里 \(g_k\) 仅指数据梯度,正则项只加入一次。

  4. 每隔 \(r\) 步按同一口径计算验证数据损失;若损失小于已保存的最小值,保存当前参数并更新最小值;另将损失与耐心比较基准比较,下降量严格大于 \(\delta_{\min}\) 时更新该基准并清零未改善次数,否则加一。连续 \(M\) 次不改善或达到 \(K\) 步时停止。

  5. 返回保存的最优参数;配置冻结后再使用封存测试集。验证过程不反向传播,也不更新训练预处理状态。

批量损失的求导遵循第3章《神经网络基础》中的反向传播规则。恢复后继续训练还必须保存随机状态、数据位置和优化器状态,不能只保存用于预测的参数。

17.4初始化及信号传播

打破对称性及控制尺度

若同一隐藏层的神经元具有相同输入权重、偏置及后续连接,并经过相同运算,则它们产生相同激活和梯度,更新后仍保持对称。这使多个神经元难以学习不同特征。随机初始化的首要作用是打破这种对称性,而不是仅为实验提供随机种子。

随机并不意味着任意尺度都合适。考虑线性层 \(z_j=\sum_{i=1}^{n_{\mathrm{in}}}W_{ij}a_i\),其中 \(W\in\Real^{n_{\mathrm{in}}\times n_{\mathrm{out}}}\)。设权重独立、零均值、方差为 \(s_W^2\),与输入独立;输入分量具有相同二阶矩 \(q_a=\mathbb E[a_i^2]\)。对权重和输入共同取期望,交叉项因独立零均值权重消失:

\[ \mathbb E[z_j]=0,\qquad \mathbb E[z_j^2]=\sum_i\mathbb E[W_{ij}^2]\mathbb E[a_i^2] =n_{\mathrm{in}}s_W^2q_a. \tag{17.24}\]

这里即使输入均值不为零,公式仍使用二阶矩 \(q_a\),不能擅自替换成输入方差。

Xavier 初始化的前后向平衡

在线性或激活近似线性的区域,保持前向二阶矩要求 \(n_{\mathrm{in}}s_W^2\approx1\)。反向传播给出 \(\delta a_i=\sum_{j=1}^{n_{\mathrm{out}}}W_{ij}\delta z_j\);在梯度与权重近似独立、同尺度的分析下,保持反向二阶矩要求 \(n_{\mathrm{out}}s_W^2\approx1\)。输入输出宽度不相等时,两者不能同时严格满足。Xavier 初始化采用折中尺度(Glorot 和 Bengio 2010)

\[ s_W^2=\frac2{n_{\mathrm{in}}+n_{\mathrm{out}}}. \tag{17.25}\]

若权重服从对称均匀分布 \(\mathcal U[-r,r]\),其方差为 \(\frac{r^2}{3}\),于是

\[ W_{ij}\sim\mathcal U\!\left[-\sqrt{\frac6{n_{\mathrm{in}}+n_{\mathrm{out}}}}, \sqrt{\frac6{n_{\mathrm{in}}+n_{\mathrm{out}}}}\right]. \tag{17.26}\]

该推导关注初始尺度;反向梯度与权重的独立性通常是近似分析,不是训练全过程都成立的事实。激活进入饱和区域、参数更新导致相关性增强后,初始矩匹配不再足以保证梯度稳定。

He 初始化方差

对关于零对称的预激活 \(z\),令 \(a=\max(0,z)\)。由于正负半轴对 \(z^2\) 的贡献相等,

\[ \mathbb E[a^2]=\mathbb E[z^2\mathbf1_{z>0}]=\frac12\mathbb E[z^2]. \tag{17.27}\]

将其代入式(17.24),相邻层预激活的二阶矩满足

\[ q_z^{(\ell+1)}=\frac12n_{\mathrm{in}}s_W^2q_z^{(\ell)}. \tag{17.28}\]

因此保持这一尺度要求

\[ s_W^2=\frac2{n_{\mathrm{in}}}, \qquad W_{ij}\sim\mathcal N\!\left(0,\frac2{n_{\mathrm{in}}}\right), \tag{17.29}\]

这就是面向 ReLU 的 He 初始化尺度(He 等 2015)。若改用均匀分布,对应半宽为 \(\sqrt{\frac{6}{n_{\mathrm{in}}}}\)。对于负半轴斜率为 \(a\) 的分段线性激活,同样的对称性给出 \(\mathbb E[\phi(z)^2]=\frac{(1+a^2)\mathbb E[z^2]}{2}\),所以尺度改为 \(\frac{2}{[(1+a^2)n_{\mathrm{in}}]}\)

ReLU 输出的均值通常为正;若 \(z\sim\mathcal N(0,v)\),则

\[ \mathbb E[\operatorname{ReLU}(z)]=\sqrt{\frac v{2\pi}},\qquad \operatorname{Var}(\operatorname{ReLU}(z))=v\left(\frac12-\frac1{2\pi}\right). \tag{17.30}\]

因此“He 初始化使每层 ReLU 输出方差精确不变”并不是上述推导得到的结论。推导直接保持的是预激活方差与相应激活二阶矩的层间尺度。2

数值尺度及结构边界

设一层输入宽度为 \(512\)、输出宽度为 \(2048\)。Xavier 正态尺度的标准差为 \(\sqrt{\frac{2}{2560}}\approx0.02795\),He 前向尺度的标准差为 \(\sqrt{\frac{2}{512}}=0.0625\)。两者差异来自宽度和激活假设,不能依据名称任选其一。

残差分支将多个信号相加,注意力引入输入相关的混合权重,门控前馈层包含乘法,归一化改变激活分布。这些结构均会改变简单链式网络的矩传播。初始化应结合完整结构分析,并观察分层激活、梯度及实际更新量;一个全局梯度范数可能掩盖少数层异常。归一化和残差连接可以改善信号传播条件,但不替代合理初始化或数值稳定的损失计算。

17.5正则化及其作用机制

二次惩罚及权重衰减

\(\Omega(\theta)=\frac{\|\theta\|_2^2}{2}\),则 \(\nabla\Omega(\theta)=\theta\)。普通梯度下降变为

\[ \theta_{k+1}=\theta_k-\eta\bigl(\nabla\widehat R_S(\theta_k)+\lambda\theta_k\bigr) =(1-\eta\lambda)\theta_k-\eta\nabla\widehat R_S(\theta_k). \tag{17.31}\]

在这个特定更新规则中,目标中的二次惩罚等价于每步乘性权重衰减。若先用一个自适应对角矩阵 \(D_k\) 缩放梯度,则惩罚项变为 \(\lambda D_k\theta_k\),不再等价于统一的 \(\lambda\theta_k\) 衰减。二次正则化与解耦权重衰减的区别由此产生。

在线性回归中,正则目标为

\[ F(\theta)=\frac1{2n}\|X\theta-y\|_2^2+\frac\lambda2\|\theta\|_2^2. \tag{17.32}\]

令梯度为零,得到

\[ \left(\frac{X^\mathsf TX}{n}+\lambda I\right)\widehat\theta_\lambda =\frac{X^\mathsf Ty}{n}. \tag{17.33}\]

\(\lambda>0\) 使原来可能奇异的正规方程变为正定系统。对 \(\frac{X}{\sqrt n}=U\operatorname{diag}(s_j)V^\mathsf T\) 作奇异值分解,参数在第 \(j\) 个右奇异方向的系数为

\[ (V^\mathsf T\widehat\theta_\lambda)_j =\frac{s_j}{s_j^2+\lambda}\left(U^\mathsf T\frac y{\sqrt n}\right)_j. \tag{17.34}\]

相对于无正则解 \(\frac{1}{s_j}\) 的放大,弱约束方向受到更强抑制,这能降低对噪声的敏感性,同时引入系统性收缩偏差。正则化强度还依赖特征尺度与损失归一化:将平均损失改成总和而保持 \(\lambda\) 不变,会改变两项的相对权重。

Dropout 的期望及方差

随机失活(Dropout)在训练时随机屏蔽部分激活(Srivastava 等 2014)。设确定激活向量为 \(a\),各分量独立抽取 \(m_j\sim\operatorname{Bernoulli}(q)\)\(q\) 是保留概率。采用反向缩放形式

\[ \widetilde a_j=\frac{m_j}{q}a_j, \tag{17.35}\]

可得

\begin{align} \mathbb E[\widetilde a_j\mid a]&=a_j,\tag{17.36}\\ \operatorname{Var}(\widetilde a_j\mid a) &=\mathbb E[\widetilde a_j^2\mid a]-a_j^2 =\frac{1-q}{q}a_j^2. \tag{17.37}\end{align}

对于下一层线性输出 \(s=w^\mathsf T\widetilde a\),独立掩码使交叉协方差为零,因而

\[ \mathbb E[s\mid a]=w^\mathsf Ta,\qquad \operatorname{Var}(s\mid a)=\frac{1-q}{q}\sum_jw_j^2a_j^2. \tag{17.38}\]

若目标为标量 \(y\)、使用平方损失,则恒等式 \(\mathbb E[(s-y)^2]=(\mathbb Es-y)^2+\operatorname{Var}(s)\) 给出

\[ \mathbb E_m[(w^\mathsf T\widetilde a-y)^2] =(w^\mathsf Ta-y)^2+\frac{1-q}{q}\sum_jw_j^2a_j^2. \tag{17.39}\]

在这一特定线性读出问题中,随机屏蔽等效于与激活尺度相关的二次惩罚。一般深层非线性网络和交叉熵目标不能直接套用该等式,但仍可看出掩码噪声为何惩罚过度依赖少数激活的拟合方式。

推理时关闭随机屏蔽并使用原激活,保持了该层输入的期望尺度。不过一般有 \(\mathbb E[\phi(s)]\ne\phi(\mathbb E[s])\),所以确定性推理不等于所有随机子网络输出的精确平均。训练模式与推理模式必须显式区分,改变模式也不能代替关闭梯度记录。

例如 \(a=(2,-1)\)\(w=(1,2)\)\(q=\frac{1}{2}\),原线性输出为零。四种等概率掩码产生 \(s=0,4,-4,0\),均值为零、方差为 \(8\),与公式 \([\frac{1-q}{q}](4+4)=8\) 一致。若 \(y=0\),原平方误差为零,而期望随机损失为 \(8\),直接展示了随机失活对脆弱抵消关系的惩罚。

早停作为受控的模型选择

早停在一系列参数 \(\theta_0,\ldots,\theta_K\) 中,依据验证集选择停止位置。它通过限制优化过程影响最终解,不是向训练目标显式加入一个固定惩罚项。在线性最小二乘且从零初始化的情形,令 \(H=\frac{X^\mathsf TX}{n}\)\(b=\frac{X^\mathsf Ty}{n}\),某个正特征值方向满足

\[ a_{k+1,j}=(1-\eta\lambda_j)a_{k,j}+\eta b_j. \tag{17.40}\]

把等比数列相加可得

\[ a_{K,j}=\frac{1-(1-\eta\lambda_j)^K}{\lambda_j}b_j. \tag{17.41}\]

\(0<\eta\leq\frac{1}{L}\) 时,\(1-(1-\eta\lambda_j)^K\) 从零逐渐增大,低曲率方向在有限步内尚未完全拟合。这说明早停具有谱方向上的过滤作用。其过滤因子与岭回归的 \(\frac{\lambda_j}{\lambda_j+\lambda}\) 不同,二者并非一般等价。

实际选择停止时刻需要预先明确验证指标、评估频率、最小改善幅度和耐心窗口,并保存被选中的参数状态。测试集不能承担这一角色。对验证集反复增添候选配置,会逐渐把验证集的信息吸收到选择结果中,因此仍需要封存的最终测试或外层评估。

17.6偏差、方差及泛化

平方损失下的偏差–方差分解

令真实回归函数为 \(f^*(x)=\mathbb E[Y\mid X=x]\),观测满足 \(Y=f^*(x)+\varepsilon\),其中 \(\mathbb E[\varepsilon\mid x]=0\)\(\operatorname{Var}(\varepsilon\mid x)=\sigma_\varepsilon^2(x)\)。训练集 \(S\) 以及算法随机性共同产生预测 \(\widehat f_S(x)\)。测试噪声与训练过程条件独立,且各变量二阶矩有限。固定 \(x\),定义 \(\bar f(x)=\mathbb E_S\widehat f_S(x)\),则

\begin{align} Y-\widehat f_S(x) =\varepsilon+[f^*(x)-\bar f(x)]+[\bar f(x)-\widehat f_S(x)]. \tag{17.42}\end{align}

平方展开后,交叉项因零均值及独立性消失,得到

\[ \mathbb E_{S,Y\mid x}[(Y-\widehat f_S(x))^2] =\underbrace{[f^*(x)-\bar f(x)]^2}_{\text{偏差平方}} +\underbrace{\mathbb E_S[(\widehat f_S(x)-\bar f(x))^2]}_{\text{预测方差}} +\underbrace{\sigma_\varepsilon^2(x)}_{\text{观测噪声}}. \tag{17.43}\]

再对 \(X\) 积分即可得到总体平方风险。偏差衡量平均预测偏离真实条件均值的程度,方差衡量训练样本与训练随机性改变时预测波动的程度。这里的预测方差不同于前文单步梯度估计的方差,二者不能直接相加或互相替代。

这一加法分解依赖平方损失及条件均值目标,不能原样用于准确率或交叉熵。深度网络的测试表现也不必随参数量呈简单的 U 形关系;数据规模、结构、优化过程和正则化共同决定预测函数的分布。因此“模型更大必然方差更大”不是本分解证明的命题。

收缩估计的取舍

考虑无输入的回归问题 \(Y=\mu+\varepsilon\),训练样本独立且噪声方差为 \(\sigma^2\)。样本均值 \(\bar Y\) 满足 \(\mathbb E\bar Y=\mu\)\(\operatorname{Var}(\bar Y)=\frac{\sigma^2}{n}\)。令预测器为 \(\widehat\mu_a=a\bar Y\)\(0\leq a\leq1\),则

\[ \operatorname{Bias}^2=(1-a)^2\mu^2,\qquad \operatorname{Var}(\widehat\mu_a)=a^2\frac{\sigma^2}{n}. \tag{17.44}\]

\(\mu=1\)\(\sigma^2=4\)\(n=4\)。不收缩时 \(a=1\),偏差平方为零、预测方差为 \(1\),对新观测的均方误差为 \(5\)。取 \(a=\frac{1}{2}\) 时,偏差平方与预测方差各为 \(\frac{1}{4}\),总误差为 \(4.5\)。牺牲无偏性可以降低总风险,但这组最合适的收缩程度依赖未知分布,实际仍需由独立验证选择。

独立评估的判定范围

若测试样本彼此独立同分布于总体 \(P\),且测试集独立于已经冻结的预测器,测试平均损失才是该预测器总体风险的无偏估计。样本有限时,它仍有抽样波动。对于预先固定的预测器和范围在 \([0,1]\) 的损失,Hoeffding 不等式给出

\[ \Pr\!\left(|\widehat R_{\mathrm{test}}-R_P|\geq\epsilon\right) \leq2\exp(-2n_{\mathrm{test}}\epsilon^2). \tag{17.45}\]

这是有界独立样本条件下的概率控制,不能直接套在无界交叉熵或强相关文档片段上。若在同一测试集上挑选表现最好的模型,预测器便不再独立于测试数据,固定预测器的保证失去适用前提。

报告均值时应说明划分单位、样本量、指标定义与随机性来源。多个训练随机种子主要测量优化随机性,多个独立数据划分还反映数据抽样的不确定性;两者不能混为同一种重复试验。严重类别不平衡时,准确率较高也可能对应少数类识别失败,须结合召回率、精确率及错误代价理解结果。指标与决策阈值的统计细节将在评估篇展开。

17.7数据隔离及分布漂移

目标应用划分

训练集用于拟合参数与预处理状态,验证集用于选择配置,测试集用于配置冻结后的估计。随机逐行划分隐含“未来面对的是同一总体中的新独立样本”这一假设。如果目标是对新用户、新设备或未来时间段泛化,划分方式必须反映这个外推单位。

同一患者的多次记录应按患者分组,同一文档的切片应按文档或近重复簇分组,同一会话的多个轮次应按会话分组。时间预测应遵守观测时点,仅使用预测发生前能够得到的信息。分层抽样可保持类别比例,却不能替代实体隔离;先切片后随机划分尤其容易让几乎相同的上下文同时进入训练与测试。

学习与评估的信息边界。虚线表示允许依据验证结果重新训练;最终测试结果不回流到本轮配置选择。
图 17.2 学习与评估的信息边界。虚线表示允许依据验证结果重新训练;最终测试结果不回流到本轮配置选择。

预处理泄漏及选择泄漏

对第 \(j\) 个特征,训练集估计的标准化状态为

\[ \widehat\mu_j=\frac1n\sum_{i\in S_{\mathrm{train}}}x_{ij},\qquad \widehat s_j^2=\frac1n\sum_{i\in S_{\mathrm{train}}}(x_{ij}-\widehat\mu_j)^2. \tag{17.46}\]

验证和测试数据均使用相同变换 \(\frac{x_j-\widehat\mu_j}{\widehat s_j}\),零方差特征需制定明确处理规则。若先在全部数据上估计均值、缺失值填充值或特征排序,再划分数据,就让评估样本改变了预测函数的构造。交叉验证时也必须在每个训练折内重新拟合这些状态,而不是复用全数据上的预处理器。

泄漏还可能发生在目标定义和样本选择中。例如使用诊断完成后才形成的字段预测诊断结果,或根据测试错误逐一修改规则。这些行为可能显著改善测试数字,却并未改善模型在真实预测时点的能力。语言模型的评估污染还包含测试题、解析或近重复文本进入预训练和微调语料;文本去重必须考虑这一来源边界,而不只是减少存储量。

一次发布的预测器包含模型权重、预处理参数、类别映射、提示模板及决策阈值。仅冻结权重而继续修改这些组件,也意味着继续进行模型选择。数据隔离与制品重载共同保证统计预测函数的一致性。

训练分布及部署分布不一致

设训练分布为 \(P\)、部署分布为 \(Q\)。即使 \(R_P(\theta)\) 已得到准确估计,也未必等于 \(R_Q(\theta)\)。常见变化包括:协变量漂移,即 \(P(X)\ne Q(X)\)\(P(Y\mid X)=Q(Y\mid X)\);标签比例变化,即类别先验改变而类条件输入分布近似不变;概念漂移,即 \(P(Y\mid X)\) 本身发生改变。现实中多种变化可以同时出现,不能只凭输入均值变化就断定某一种机制。

在协变量漂移假设成立、且 \(Q_X\) 相对于 \(P_X\) 绝对连续时,可把部署风险写为

\begin{align} R_Q(\theta) &=\int \ell(f_\theta(x),y)Q(y\mid x)Q(x)\,\dif x\,\dif y\notag\\ &=\mathbb E_{(x,y)\sim P}\left[\frac{Q(x)}{P(x)}\ell(f_\theta(x),y)\right]. \tag{17.47}\end{align}

这给出重要性加权的理论依据,但密度比估计困难,大权重会放大方差,训练分布完全未覆盖的区域也无法用有限权重修复。若条件规律已经变化,上式的替换前提不成立,重加权输入分布不足以恢复正确风险。

部署后的观测应同时覆盖输入、预测、延迟获得的真实标签和分组质量。输入分布改变不必然导致性能下降,反之总体输入统计看似稳定也可能掩盖少数群体或任务的退化。是否再训练应由与目标应用一致的评估决定,并保留数据版本和独立回归集。

17.8优化失败及过拟合诊断

训练损失高、验证损失也高,只是一种现象,可能由模型表达不足、有效信息不足、标注噪声、优化未完成或实现错误引起。将它直接命名为“欠拟合”并增大模型,会跳过必要诊断。首先应在固定参数与固定数据上核对损失定义、目标形状及梯度;随后检查各层激活和梯度是否有限、实际更新是否发生,以及学习率与输入尺度是否相容。

训练损失降低而验证损失上升,是过拟合的常见证据,但比较前必须统一计算口径。训练时含 Dropout、数据增强或正则惩罚,而验证时关闭随机扰动并只计算数据损失,两条曲线并非同一统计量;训练日志又可能只是滚动小批量均值,验证则是完整留出集均值。更严格的诊断是在相同评估模式下分别计算训练和验证的数据损失,必要时按有效词元总数加权。

观察 需要区分的原因 有针对性的检查
损失非有限或持续爆炸 数值溢出、梯度错误、尺度过大 稳定损失形式、非有限值起点、分层梯度与更新幅度。
训练与验证损失均高 信息不足、容量不足或优化失败 简单基线、梯度核对、不同学习率与预算。
训练改善而验证退化 过拟合、分布差异或口径不同 相同评估模式、组别分布、早停与正则强度。
离线质量高而部署退化 泄漏、漂移或输入协议变化 时间可用性、实体隔离、预处理与模板版本。

有限差分能检查局部梯度,确定性小批量拟合能检查更新链路,独立验证能检查留出分布上的预测,部署监控能检查运行后的变化。这些证据各自回答不同问题。梯度范数很小既可能意味着接近驻点,也可能是激活饱和或信号消失;梯度裁剪只能限制更新前的幅度,不能把错误目标变为正确目标。3

习题参考结果

第1题稳定区间为 \(0<\eta<\frac{1}{4}\),平衡步长为 \(\frac{1}{5}\);最大曲率方向在边界上等幅变号。第3题在所述独立条件下标准差变为原来的一半,完全相关时平均不能降低随机波动。第4题为 \(\frac{\eta s^2}{[2B(2-\eta h)]}\)。第5题方差为 \(\frac{2}{1.01\cdot256}\)。第7题若整体缩放 \(F\),学习率除以 \(c\) 即可保持更新;若只缩放数据损失,还须把 \(\lambda\) 乘以 \(c\)。第9题得到 \(a^*=\frac{\mu^2}{\mu^2+\frac{\sigma^2}{n}}\),它依赖未知总体参数。


  1. “独立”指评估信息没有通过参数拟合、特征选择、超参数搜索或人工筛选等路径进入模型选择,并不只是文件存放在另一个目录。↩︎

  2. 文献和实现中常将这类方法统称为方差缩放初始化。阅读具体公式时仍须区分中心化方差 \(\mathbb E[(X-\mathbb EX)^2]\) 与二阶矩 \(\mathbb E[X^2]\)↩︎

  3. 用固定小批量检查能否拟合,是定位实现问题的诊断手段。它不提供泛化质量证据,也不意味着应在实际训练中追求对所有噪声标签的完全记忆。↩︎

WORKBOOK / 习题

配套习题与解析

先独立作答,再展开参考解析。选修题保留原书标记。

习题 17.1选修

\(F(u,v)=\frac{2u^2+8v^2}{2}\),求梯度下降对任意初值收敛的学习率区间,以及平衡最坏方向收缩因子的学习率。解释边界取值为何不能保证收敛。

展开参考解析

梯度为 \((2u,8v)\),迭代因子为 \(1-2\eta\)\(1-8\eta\)。对任意初值趋零需两者模均小于1,故 \(0<\eta<\frac{1}{4}\)。最小化最大模时令 \(1-2\eta=-(1-8\eta)\),得 \(\eta=\frac{1}{5}\),收缩因子 \(\frac{3}{5}\)\(\eta=0\) 不移动;\(\eta=\frac{1}{4}\) 的陡方向因子−1,非零初值等幅振荡。

习题 17.2选修

对式17.11,证明目标值满足 \(F(\theta_k)\leq\rho^{2k}F(\theta_0)\)。指出正定假设在证明中的作用。

展开参考解析

将正定矩阵正交对角化 \(H=U\Lambda U^{\mathsf T}\),令 \(a=U^{\mathsf T}\theta_0\)。则 \(F(\theta_k)=\frac12\sum_i\lambda_i(1-\eta\lambda_i)^{2k}a_i^2\le\rho^{2k}\frac12\sum_i\lambda_i a_i^2\)。正定性保证各项权重为正且稳定区间内 \(\rho<1\);半正定时目标仍可能下降,但零特征方向不收缩,不能推出参数趋唯一零点。

习题 17.3

某总体的单样本梯度协方差为 \(\Sigma\)。在有放回独立抽样下将批量从 \(B\) 增加到 \(4B\),梯度标准差如何变化?若每个批量内样本梯度完全相同,为什么这一结论不再成立?

展开参考解析

独立有放回时 \(\operatorname{Cov}(\bar g_B)=\frac{\Sigma}{B}\);批量变为 \(4B\) 后任一固定投影方向的标准差减半,均方范数噪声减为四分之一。若批内梯度完全相同,交叉协方差与对角项同量级,平均仍是同一个随机梯度,方差不随批量下降。

习题 17.4选修

从式17.23求一维二次目标的稳态期望损失。解释固定批量时降低学习率的收益及其代价。

展开参考解析

令误差递推 \(e_{k+1}=(1-\eta h)e_k-\eta\xi_k\),条件零均值噪声方差为 \(\frac{s^2}{B}\)。稳态二阶矩满足 \(v=(1-\eta h)^2v+\frac{\eta^2s^2}{B}\),解得 \(v=\frac{\eta s^2}{[Bh(2-\eta h)]}\);乘 \(\frac{h}{2}\) 得损失 \(\frac{\eta s^2}{[2B(2-\eta h)]}\)。需 \(0<\eta h<2\)。减小步长降低噪声底,但收缩因子趋近1,达到稳态更慢。

习题 17.5选修

对负半轴斜率为 \(0.1\) 的分段线性激活,推导输入宽度为 \(256\) 时的前向初始化方差。说明“保持二阶矩”与“每次具体初始化均保持范数”的区别。

展开参考解析

对称零均值预激活满足 \(\mathbb E\phi(z)^2=\frac{(1+0.1^2)\mathbb Ez^2}{2}\)。下一层前向二阶矩乘子为 \(\frac{256s_W^2(1.01)}{2}\);令其为1得 \(s_W^2=\frac{2}{256\times1.01}\approx0.00773515\)。结论是对随机权重及输入取期望的尺度保持,不保证每次抽到的矩阵是等距映射。

习题 17.6

在式17.39中改用平方损失的一半,写出对应的惩罚系数。若掩码不独立,需要加入什么交叉项?

展开参考解析

取保留概率 \(q\),半平方损失的额外项为 \(\frac{1-q}{2q}\sum_jw_j^2a_j^2\)。若掩码相关,读出方差还含 \(2\sum_{j<k}\frac{w_jw_ka_ja_k\operatorname{Cov}(m_j,m_k)}{q^2}\);半平方损失对应增加其一半。这里假设各掩码的边缘保留率均为q,且条件于固定a求期望。

习题 17.7

若对目标函数整体乘以正常数 \(c\),固定学习率的梯度下降会发生什么变化?如何同时调整学习率和正则系数,保留原来的数据项与惩罚项比例及更新轨迹?

展开参考解析

原目标 \(F=L+\lambda\Omega\)。整体改为 \(cF\) 时梯度乘c,故用 \(\eta'=\frac{\eta}{c}\) 可保留更新,目标内部\(\lambda\)不变。若接口只把数据损失改为 \(cL\),需同时设 \(\lambda'=c\lambda\),再用 \(\frac{\eta}{c}\)。若只改学习率而不改相对惩罚系数,优化的是另一目标;自适应优化器还需单独核查\(\epsilon\)等状态,不直接套本结论。

习题 17.8

某公司按记录随机划分同一客户的多次交易,并在全部记录上拟合标准化器。分别指出两类泄漏,并为“预测未见客户的未来交易”设计训练、验证和测试边界。

展开参考解析

逐记录随机划分泄漏客户特征,全部数据拟合标准化器又泄漏测试分布。可固定时间截点 \(t_0<t_1\),训练仅用训练客户在 \(t\le t_0\) 的记录;验证用另一组未见客户在 \((t_0,t_1]\) 的目标;测试用再一组未见客户在 \(t>t_1\) 的目标。任何历史特征只能取预测时可获得的数据;客户身份跨集合互斥,预处理仅在训练集拟合,超参数在验证后冻结。需报告新客户群体选择与上线群体是否相符。

习题 17.9选修

推导收缩例题中使偏差平方与预测方差之和最小的 \(a\),说明为什么计算出的最优值不能直接作为未知总体上的可用超参数。

展开参考解析

待最小化项为 \((1-a)^2\mu^2+\frac{a^2\sigma^2}{n}\)。求导得 \(-2(1-a)\mu^2+\frac{2a\sigma^2}{n}=0\),所以 \(a^*=\frac{\mu^2}{\mu^2+\frac{\sigma^2}{n}}\);二阶导非负,非退化时为正。若两项均为零任意a等价。\(\mu\)\(\sigma\)未知,不能使用测试真值选a;可在独立验证中选择或构造训练内估计并评估其误差。

习题 17.10

一个模型的训练损失与验证损失都很高,开发者准备增强正则化。设计检查顺序,区分损失统计口径不一致、数据或标签错误、优化失败和容量不足;说明哪些证据才支持过拟合判断,以及小批次拟合检查的局限。

展开参考解析

先在相同评估模式下重算可比的数据损失,统一有效目标分母并区分正则项,核对训练与验证的预处理、标签和划分。再固定一个人工核验的小批次,关闭随机扰动,检查能否显著降低损失,同时记录梯度、更新幅度和非有限数值。小批次仍难拟合时,依次检查计算路径、学习率和参数更新,再通过受控容量变化检验表达能力;仅凭高损失不能认定容量不足。训练数据损失持续改善而独立验证退化,且已排除分布与统计口径变化,才支持过拟合判断。小批次拟合成功只能排除部分实现与优化故障,不能证明全量训练充分或模型能够泛化。

REFERENCES

参考文献

Glorot, Xavier, 和 Yoshua Bengio. 2010. 《Understanding the difficulty of training deep feedforward neural networks》. 收入 Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics, 9:249–56. Proceedings of Machine Learning Research. https://proceedings.mlr.press/v9/glorot10a.html.
He, Kaiming, Xiangyu Zhang, Shaoqing Ren, 和 Jian Sun. 2015. 《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》. 收入 Proceedings of the IEEE International Conference on Computer Vision, 1026–34. https://www.cv-foundation.org/openaccess/content_iccv_2015/html/He_Delving_Deep_into_ICCV_2015_paper.html.
Srivastava, Nitish, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, 和 Ruslan Salakhutdinov. 2014. 《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》. Journal of Machine Learning Research 15 (56): 1929–58. https://jmlr.org/papers/v15/srivastava14a.html.

搜索全书

搜索全书正文、习题与解析