砂锅
预计阅读时间:3分钟38秒

随机梯度下降为何比全梯度更擅长泛化

精确反而是缺陷:全量梯度下降极易让模型卡进对训练数据过度敏感的狭窄极小值;而随机梯度下降的采样噪声并非误差,而是隐式筛选器,能持续将参数推离陡峭沟壑,自然滑向更稳健的平坦区域从而大幅提升泛化能力。

可能包含AI生成内容

0
0

确定性优化易陷于尖锐极小值


“凡事预则立”这句话放在梯度下降上并不完全成立。训练深度网络的时候,全量梯度下降每次迭代都老老实实地算完整个数据集的平均梯度,方向精确,步幅稳定,按理说应该能最快收敛,但实际跑出来的模型在测试集上往往拟合得过于紧密。我后来反复调整参数,看那些损失曲面的演化轨迹,才意识到确定性本身可能就是一种缺陷。


损失函数在高参数空间里呈现的几何形态,跟二维坐标系里画的碗状曲线根本不是一回事。它更像一片布满褶皱、鞍点和狭长沟壑的山地,绝大多数局部最优解并不是孤立的坑底,而是沿着某些低曲率方向连成片的平坦区域。研究者通常把这种区域分成两类,一类底部狭窄陡峭,海森矩阵的特征值集中偏大,参数只要稍微偏离中心,损失值就急剧攀升;另一类底部宽阔平缓,各个主方向的变化率都很微弱。全量梯度下降沿着最速下降方向推进,走到梯度为零的位置就停止更新,它不区分地形的宽窄,结果很容易卡进那些又窄又深的沟壑里。这些窄沟里的参数对训练数据拟合得极好,但参数一旦遇到测试集里的微小扰动,模型输出就会跟着大幅波动。


随机噪声驱散高曲率区域的陷阱


随机梯度下降的采样逻辑粗暴得多。每次只抽取一小批样本计算梯度,得到的方向跟真实全量梯度之间必然存在夹角,长度也会上下跳动。这种跳动不是浮点运算带来的舍入误差,它直接反映了数据集内部的分布方差。当优化轨迹靠近一个尖锐极小值的时候,局部曲率很大,梯度更新会迅速放大微小的参数偏移,噪声的协方差矩阵正好在这个高曲率方向上施加了一个持续的外力。外力积累到一定程度,轨迹就会被推离窄沟,继续在山坡上滚动。说白了,优化算法没有显式添加任何惩罚项,它靠的是小批量采样自带的统计波动,把参数更新往曲率更低的区域驱赶。


这种驱赶过程可以用过阻尼朗之万方程做近似推导。学习率乘以批次大小的倒数,构成了噪声强度的核心标度。批次越小,梯度方差越强;学习率越大,单步跨度越夸张。几何上看,平坦区域的曲率小,噪声在低曲率方向上的累积效应能维持更久,而在高曲率方向上,噪声被陡峭的梯度迅速拉回原点,形成一种各向异性的扩散。实证研究反复验证了这一扩散图景:参数更新轨迹的协方差矩阵会与局部海森矩阵的特征空间发生投影对齐。在特征值较小的平坦方向,随机扰动得以持续累积,而在特征值较大的陡峭方向,强恢复力会迅速压制偏移。SGD的轨迹取决于梯度协方差与局部海森矩阵的数学耦合,高曲率极小值处的参数逃逸概率显著高于低曲率区域,优化路径自然向平坦山谷收敛。


方向并不决定一切。


批次大小只是标度。


实验数据印证噪声的早期逃逸作用


实验记录一直支持这个几何解释。2016年前后,多个研究组同时报告了同一现象,把训练批次从一百逐步放大到数万,训练损失曲线的下降轨迹几乎完全重合,但验证集准确率却出现显著下滑。后续工作尝试用不同的权重衰减系数和学习率衰减策略去复现结果,发现只要维持噪声强度不变,泛化表现就能稳定在同一水平线附近。学术界对此的讨论持续了很长时间,一部分学者认为随机波动只是伴随现象,真正起决定作用的是大批次训练导致的过早收敛,模型在遍历足够多的鞍点之前就被固定在了某个次优位置;另一部分学者坚持各向异性噪声的隐式筛选机制才是主因。近期的理论推导把两种解释做了整合,指出在过参数化设定下,损失景观的平坦程度与噪声逃逸的统计概率高度耦合,但不同网络架构对噪声方向的响应差异非常明显。卷积层对高频梯度噪声具有天然的平滑作用,而深层全连接模块更容易被随机扰动重塑参数分布。


架构差异带来的泛化分歧,在近年来的大规模预训练实验中表现得尤为清晰。当网络层数超过一定深度,损失景观的拓扑结构会发生相变,极小值之间的连通性显著增强。此时,大批次训练的收敛速度优势被极度放大,但验证集表现的衰退曲线也变得更加陡峭。研究者尝试通过梯度裁剪和动量衰减来压制噪声的负面效应,却发现泛化性能并未恢复到大批次训练的初始水平。这说明噪声在训练早期的逃逸作用具有不可逆性,一旦模型在初始阶段被锁定在某个高曲率区域,后续的确定性优化很难将其重新推向平坦地带。动量项的引入进一步改变了噪声的传播方式,累积的历史梯度会过滤掉高频波动,保留低频趋势,这相当于在时间维度上对噪声谱进行了低通滤波。滤波后的轨迹在平坦区域的探索效率更高,但在逃离尖锐极小值时所需的临界噪声强度也随之提升。


侧向漂移促成参数空间的随机游走


隐式正则化这个说法听起来抽象,拆开看就是梯度流在特定更新规则下的偏好。SGD在迭代过程中,隐式地给参数空间加了一层动态权重,权重由每步小批量采样带来的梯度差异决定。差异显著的方向更新被自动抑制,差异微弱的方向更新被完整保留,模型最终停留的极小值点,对训练集内的局部扰动表现出更强的鲁棒性。全量梯度下降缺少这层动态筛选,它把所有样本的梯度强行平均成一个绝对光滑的方向,模型为了贴合这个平均梯度,会过度拟合训练集中的特定样本。过拟合不是模型记住了太多细节,是优化路径太缺乏弹性。


噪声的统计特性与泛化误差上界之间存在直接的数学联系。当优化器在参数空间中移动时,每一步的梯度更新都可以分解为信号分量和噪声分量,信号分量负责将轨迹推向损失更低的区域,噪声分量则在信号方向的垂直面上产生侧向漂移。在尖锐极小值附近,损失曲面的曲率很大,信号分量的模长迅速衰减,噪声分量的相对权重随之上升。此时,轨迹的侧向位移不再受梯度的强约束,而是由小批量采样的随机性主导。这种侧向漂移在多次迭代后形成一种有效的随机游走,游走步长与学习率的平方根成正比。当游走范围超过尖锐沟壑的局部半径时,参数组合就会跳出当前区域,进入相邻的平坦盆地。平坦盆地的曲率较小,信号分量衰减缓慢,轨迹能在该区域内停留更长时间,同时继续接受小幅度的噪声扰动。停留时间的延长意味着模型在该区域的参数配置有更多机会被验证集数据评估,泛化误差的期望值随之下降。


噪声方向的结构分析成为新焦点


参数空间的度量变换进一步放大了这种效应。自然梯度下降的早期尝试已经表明,用费雪信息矩阵重新缩放梯度,能让更新步长与损失曲面的几何弯曲度匹配。SGD在未经显式度量的情况下,通过随机噪声的协方差结构,近似地完成了类似的方向校正。当噪声协方差与局部海森矩阵的对角线元素成比例时,优化轨迹在各个主方向上的有效步长趋于一致,避免了在某些方向上反复震荡而在另一些方向上停滞不前。这种隐式的各向同性平滑,让模型在到达平坦极小值时,权重分布更加均匀,不会过度依赖少数几个关键连接。


现在的研究重心已经从单纯的噪声强度测量转向噪声方向的结构分析。各向同性的假设在高维非独立同分布数据里很难成立,真实的小批量梯度波动往往沿着特征空间的某些主轴高度集中。如果在数据预处理阶段主动调整样本的协方差分布,或者在参数更新公式里引入方向感知的自适应缩放,优化轨迹可能会以更少的迭代步数锁定更稳定的解。工程实践依然依赖经验调参去试探极其复杂的非凸曲面,靠的是逐步验证的反馈循环,而不是封闭形式的解析解。把采样波动视为需要压制的干扰项,还是把它视为探索地形的探测针,代码里的那几个超参数设定,到底偏向哪一边,取决于实验日志里跑出来的验证曲线,还是更相信纸面上的收敛定理。

评论
Copyright Created by DataER | 沪ICP备2024052789号-5 | 沪公网安备31010402336337号