type
status
date
slug
summary
tags
category
icon
password
priority
在现代深度学习的图谱中,无论是大语言模型(LLM)还是视觉 Transformer(ViT),LayerNorm + AdamW + Linear Warmup 已然成为一套不可撼动的标准配置。长期以来,这套组合更多被视为一种“经过验证的工程经验”——实践者们熟知其有效性,却往往将其视为三个独立的组件,忽略了它们之间精密的动力学互锁。
本文包括:
- 深度网络依赖LayerNorm(RMSNorm),这创造了局部的尺度不变性(Scale Invariance),它带了独特的梯度动力学(Gradient Dynamics)。
- 在这个独特的动力学场域中,我们关于机器学习的直觉被颠覆了,Norm的物理含义从特征强度表示变成了学习进度的旋钮,Norm理论上稳步增加,SGD自带学习率衰减,但是刹车踩的太狠导致了学习的早停,而Weight Decay从正则化项进化为有效学习率的动态调节阀。
- AdamW如何成为标配:Adam做到了梯度的步长恒定,有效学习率的平缓刹车;Warmup来处理训练早期的权重过小(梯度爆炸)和二阶矩估计不准的问题;AdamW修正了L2正则的问题,引入Weight Decay,把“方向更新”和“进度控制”拆成两个干净的旋钮。
- 原始论文的罗列,这些理论大概在20年左右就足够完善了,我觉得它如此关键又被很多人忽视——至少没有AdamW出名。
物理根源:0 齐次性导致”权重即阻尼”
一切始于 LayerNorm(或 RMSNorm)。归一化层的存在使得网络具有了 近似0 齐次性或叫尺寸不变性(Scale Invariance)。
定义:对于网络参数 和任意标量 ,输出满足 。
正如论文 《Robust Training of Neural Networks Using Scale Invariant Architectures》 所论述的,这种架构赋予了模型对权重初始化尺度极强的鲁棒性,同时也引入了复杂的梯度动力学。
反向传播悖论:根据链式法则,前向传播的尺度不变性导致了反向传播的尺度倒数关系:
结论:在 Scale Invariant 网络中,权重的范数 不再代表特征强弱(norm变化不影响输出),而是变成了优化的全局阻尼系数(norm越大梯度越小)。
补充防杠: - 0齐次和尺寸不变我并不是指网络整体,而是说局部网络结构 - LayerNorm是近似0齐次,因为有bias;RMSNorm是严格0齐次。我提到LN时,更多是泛化到了所有近似、严格方法。
动力学困境:SGD自带隐形刹车
在 Scale Invariant 网络(如LayerNorm包住的参数网络)中,因为梯度被除以了,它像是一边学习,导致参数膨胀,进而自动地降低了学习率。
梯度的绝对步长衰减:
再者,在Scale Invariant的层里,重要的是权重方向 。这点在 《Norm matters: efficient and accurate normalization schemes in deep networks》里讲得非常直接:当层是 rescaling invariant 时,“关键特征是方向”,并推导出方向更新的有效步长与 强相关。
梯度的有效(相对)步长,就要再除以一个,称作有效学习率:
上面的平方级影响,揭示了在现代深度网络中SGD 失败的真因:模型“假死”不是因为收敛了,而是因为参数膨胀,导致有效学习率自动衰减至零。
Norm稳定增长
这里有一个疑问:Scale Invariant 网络里,会一直增大么?答案是会,并且稳定增长,这有非常稳固的理论推导。
由于 0 齐次函数的欧拉性质,梯度与参数永远正交:
这意味着梯度永远沿着切线方向推动参数。动力学演变:勾股定理单步更新公式:。由于 ,这构成了一个直角三角形,斜边是 :
只要梯度不为 0, 就必然单调增加。
Weight Decay在Scale Invariant 网络的物理含义变化
在SGD下,WD和L2正则数学上完全一致,但它已经不是传统机器学习上正则的作用,而是变成了对学习进度的控制旋钮。
《L2 Regularization versus Batch and Weight Normalization》 提醒的核心:在带 normalization 的网络里,L2/WD 往往不是在“正则化函数”,而是在通过控制尺度来影响有效学习率
这件事在 “Norm matters” 的叙述里也非常明确:没 WD 时 norm 会无界增长,导致有效步长下降;WD 的作用是把 norm 固定在一个小范围内,从而稳定有效步长。
AdamW的成王之路
在传统深度学习的解释里,Adam是一种自适应学习率的梯度下降算法,它会根据每个参数历史梯度的情况,自动调整每个参数的学习率;Warmup是因为初始参数是随机初始化的,梯度分布非常不稳定。
接下来要讲的不是这些老故事,而是在普遍存在LayerNorm(或 RMSNorm)的现代深度网络中,0齐次网络的背景下,Adam展现出来的全新的性质,以及与Weight Decay和Warmup的必然耦合。
Adam 的改进:恒定步长与线性缓刹 (Linear Decay)
先简单回顾下Adam做了什么。
一阶动量,记录梯度的滑动平均,让更新方向更稳定:
二阶动量,传统解释自适应学习率,不同参数用不同“步长”:
在0齐次网络语境下,梯度的,而,相当于抵消了梯度的幅度缩放,Adam不再是自适应步长,而是奇迹般地变为了恒定步长(量级恒定)。
当 稳定变大,梯度 变小时,绝对步长保持恒定:
相对步长(有效学习率),也就是的角度变化:
对比SGD的,Adam的刹车变得更为平缓,更合理地推进学习率地衰减,减少了训练中的“假死”。
而在训练早期,当很小时,反直觉的是SGD这样的朴素算法反而可能会有更大的梯度,不合理的参数初始化,可能直接导致梯度爆炸!
这就是Xavier/ He初始化的意义,,0齐次网络下必要性更加充分!
AdamW:Weight Decay并不是L2 正则,它需要正确地实现
先说AdamW的老故事,是说在Adam中加入L2正则,由于工程实现的bug,导致了L2正则的实际效果并不是Weight Decay所预期的。
在 SGD时代,L2 正则化(在 Loss 上加 )和 权重衰减(Weight Decay,在更新时减去 )在数学上是完全等价的。
但在 Adam 这种自适应学习率算法中,两者不等价,且 L2 正则化效果很差。
Adam 的机制:它会除以梯度的平方根(方差) 来调整步长。实际的Decay变为:
后果:
- 对于梯度变化大( 大)的参数,正则化力度被人为削弱了。
- 对于梯度变化小( 小)的参数,正则化力度被人为放大了。
尺寸不变网络中,极端情况会出现以接近常量步长将拉向0,这已经不是Weight Decay的乘法缩小了。
于是,AdamW解耦了梯度和Decay:
它可以理解成在没有L2正则的标准Adam上,对权重额外做了decay;也可以理解成,每一轮对权重进行的乘性缩小。
在尺度不变网络中,Weight Decay不是传统机器学习上正则的作用,而是变成了对学习进度的控制旋钮。权重的有效更新只有角度(方向更新),AdamW相当于解耦了方向跟新和学习的速度控制:
AdamW期望有的乘性缩放,我们前面讲了会稳步增长,这一改动达成了一个精密的物理平衡,即 《Rotational Equilibrium: How Weight Decay Balances Learning Across Neural Networks》 提出的“旋转平衡”(Rotational Equilibrium):
- 向外的力(梯度):不断试图推大 ,触发刹车。
- 向内的力(Decay):以恒定的比例 缩小 ,松开刹车。
由于 Decay 不再受 干扰,它提供了一个极其稳定的向心力。当两力平衡时, 被锁定在固定值,有效学习率也就被“定速巡航”在了最佳区间。
Adam为什么要搭配Warmup?
答案已经很简答了,在尺度不变的网络结构中,Adam通过的滑动平均估计,避免的SGD的级刹车。它即为关键,但滑动平均的估计在早期是统计失真的。
“On the Variance of the Adaptive Learning Rate and Beyond” 揭示了为什么需要 Warmup:在训练最开始,Adam 的二阶矩估计 使用的是极少量的样本,导致其方差(Variance)无穷大。这会让模型进行极其离谱的跳跃。
所以Warmup真正的作用不是先用小学习率初始化权重,而是帮 Adam 建立好正确的优化器状态再开始学习。
总结
现代深度网络中频繁出现的LN(RMSNorm)有0齐次性质,创造了一个独特的梯度动力场域。
传统的认知也需要改变:
- 尺度不影响结果,Norm不再是特征强度,而代表学习的进度
- 学习自带刹车,而Weight Decay是对抗刹车的向心力
这使得AdamW成为了标配:
- Adam修正了SGD步长随权重缩减,从急刹车变成了缓步刹车
- Weight Decay,对抗Norm无限增长,松刹车变成了定速巡航
- Warmup是Adam初始化的标准冷启动补丁
延伸阅读
Decoupled Weight Decay Regularization
提出AdamW,发现了一个工程上的 bug:在 Adam 中,直接加 L2 Regularization(加在 Loss 上)和 Weight Decay(直接减权重)是不等价的。 在标准 SGD 中,两者等价。但在 Adam 中,由于 L2 梯度会被 (二阶矩)缩放,导致 Decay 的力度取决于梯度的历史大小。
L2 Regularization versus Batch and Weight Normalization
这是最早明确指出“在带有 Normalization 的网络中,Weight Decay 不起正则化作用,而是起到了学习率衰减(Learning Rate Decay)的作用”的论文之一。它推导出了有效学习率 。
On the Optimization of Deep Networks: Implicit Acceleration by Overparameterization
这篇文章用极其严谨的数学证明了:在 Scale Invariant 网络中,SGD + Weight Decay 等价于一种复杂的、自适应的学习率调度(State-dependent Learning Rate Schedule)。
On Layer Normalization in the Transformer Architecture
专门研究 Transformer 里的 LayerNorm。这篇论文解释了为什么 Pre-LN(现在的主流,如 LLaMA)比 Post-LN(如 BERT)好训练。 深入分析了 LayerNorm 在梯度反向传播中的作用,它指出了 LayerNorm 带来的梯度消失/爆炸风险,以及 Warmup 如何在梯度剧烈波动的初期稳住局面。
Norm matters: efficient and accurate normalization schemes in deep neural networks
深入研究了 Weight Normalization 和 Batch Normalization 下的权重增长问题。他们发现,如果不加控制,权重的 Norm 会随时间 增长,导致训练效率对数级下降。他们提出,既然 Norm 影响的是学习率,那我们甚至可以固定 Norm,只调学习率。这从侧面印证了 Norm 和 LR 的数学等价性。
On the Variance of the Adaptive Learning Rate and Beyond
RAdam (Rectified Adam) 的论文。他们揭示了为什么需要 Warmup:在训练最开始,Adam 的二阶矩估计 (分母)使用的是极少量的样本,导致其方差(Variance)无穷大。这会让模型进行极其离谱的跳跃。
Root Mean Square Layer Normalization
这是 RMSNorm 的出处。 它证明了 LayerNorm 的核心作用来自于 Rescaling(缩放),而不是 Re-centering(去均值)。 Scale(尺度)才是核心,Shift(平移)不重要。这让“0 齐次性”的假设在 RMSNorm 网络中变得更加纯粹(因为少了一个减均值的操作,LN有bias不是严格0齐次)。
Robust Training of Neural Networks Using Scale Invariant Architectures
这篇文章回答了一个深层问题:“既然 0 齐次性这么麻烦(会导致有效学习率衰减),我们为什么还要用 Norm 层?直接去掉不行吗?” 论文证明了:Scale Invariant(尺度不变)架构具有极强的鲁棒性。它能让模型对初始化的权重尺度不敏感,对梯度的噪声更包容。
Rotational Equilibrium: How Weight Decay Balances Learning Across Neural Networks
它提出了 "Rotational Equilibrium"(旋转平衡) 的概念:在训练中,梯度的“离心力”和 Weight Decay 的“向心力”最终会达成一种动态平衡。在这种平衡状态下,权重的 Norm 会稳定下来,使得不同层、不同神经元之间的学习速度自动对齐。
How to set AdamW’s weight decay as you scale model and dataset size
假设你有一个基准实验(Base Run),参数为 。现在你要改变 数据量 ()、Batch Size () 或 模型宽度 ()。新的 Weight Decay 应该按照以下统一公式计算: 数据越多,Decay 越小;Batch 越大,Decay 越大;模型越宽,Decay 越大。
Why Do We Need Weight Decay in Modern Deep Learning
因为现代网络(如含 ReLU + BN/LayerNorm)对权重是 0-齐次、具有尺度不变性,单靠梯度下降会导致权重范数无约束增长、等效学习率不断变大而训练不稳定,而 weight decay 通过显式惩罚权重范数打破这种尺度不变性、固定有效步长并起到真正的正则化作用。