L1 做稀疏、L2 做收缩,这是教科书里最常被复述的一句话。但在深度学习实践中,大家几乎默认使用 weight decay,L1 除了“特征选择”场景之外,是否还有非用不可的理由?本文试图把这个问题拆解到机制层面:先厘清 L1/L2 的几何与概率解释,再讨论 weight decay 与 L2 在自适应优化器下是否仍然等价,随后给出 L1 在稀疏性、鲁棒性、可解释性、模型压缩与结构化稀疏中的真实价值,最后落到可执行的选型路径与前沿预判。
目录
一、问题的提出:一句教科书结论背后的三个空白
在统计学习与深度学习的教材里,正则化几乎是必讲内容:L1 正则(Lasso)倾向于产生稀疏解,L2 正则(Ridge)倾向于把权重整体压小。于是很多工程师形成了一个默认心智模型——需要特征选择就用 L1,其他情况一律用 L2,而在深度网络里则统一写成 weight_decay=1e-4。这个心智模型在浅层线性模型上大体成立,但一旦迁移到深度网络与自适应优化器,就至少留下三个空白。
空白一:weight decay 是否等于 L2。在 SGD 下,L2 正则的梯度恰好等价于每一步对权重做一次比例收缩,因此二者可以互换。但在 Adam、AdamW 这类自适应优化器中,梯度的缩放会被二阶矩估计归一化,L2 惩罚项进入梯度后会被“自适应地”削弱,导致它不再等价于均匀的权重衰减。Loshchilov 与 Hutter 在 2019 年提出的 AdamW 正是针对这一问题的修正,其核心是把权重衰减从梯度更新中解耦出来。本文评述:这意味着“深度学习里默认用 weight decay(L2)”这句话本身在 Adam 系列优化器下就存在概念混淆,工程上必须区分“加在损失里的 L2 惩罚”和“解耦的权重衰减”。
空白二:稀疏性在深度网络里是否还有意义。线性模型里稀疏意味着特征选择,可解释性强。深度网络里单个权重为零并不直接对应“某个输入特征被丢弃”,因此很多人认为 L1 在深度网络里“没有意义”。但近年的研究显示,稀疏性在模型压缩、推理加速、对抗鲁棒性、以及稀疏网络的可训练性(lottery ticket 假说)中都有独立价值。笔者认为,把 L1 的价值仅仅绑定在“特征选择”上,是对稀疏性作用面的窄化。
空白三:什么时候 L1 是非用不可的。这是本文要回答的核心问题。答案不是“永远用 L1”或“永远用 L2”,而是存在一组边界条件,在这些条件下 L1 或其近似变体(如 elastic net、group lasso、近端算子方法)具有 L2 无法替代的作用。下文将围绕这条主线展开:正则化的选择本质上是对“解的结构”的假设,而不是对“数值大小”的偏好。
本文的主线判断:L1 与 L2 的取舍,应被视为“你希望模型解具有何种结构”的先验声明。稀疏、分组稀疏、低秩、平滑,对应不同的正则项;weight decay 只是其中“整体收缩”这一种先验的工程实现。
二、几何与概率视角:L1 的菱形与 L2 的圆
2.1 约束视角下的几何直觉
考虑带约束的优化问题:最小化经验风险 R(w),约束为 ‖w‖p ≤ t。当 p=2 时约束区域是球(二维为圆),当 p=1 时是菱形(二维为旋转 45° 的正方形)。损失等高线与约束边界的切点决定了最优解的位置。菱形在坐标轴上有尖角,等高线更容易在尖角处相切,从而产生某些坐标恰好为零的解。这就是 L1 稀疏性的几何来源。
本文评述:这个几何解释常被当作“证明”,但它其实只说明了“稀疏解更容易出现”,并没有说明“稀疏解一定更优”。在深度网络中,参数维度极高,等高线形状远比二维示意图复杂,几何直觉只能作为定性参考。真正决定 L1 是否有效的,是数据分布与任务结构是否与稀疏先验匹配。
2.2 概率视角:拉普拉斯先验与高斯先验
从最大后验(MAP)估计看,L2 正则对应权重的高斯先验 w ~ N(0, σ²),L1 正则对应拉普拉斯先验 w ~ Laplace(0, b)。拉普拉斯分布在零点有尖峰、尾部更重,因此更倾向于把不重要的权重压到零。这一对应关系在 Tibshirani 1996 年提出 Lasso 时即已明确。
笔者认为,概率视角的价值在于它把“选哪个正则”转化为“你对权重分布的先验假设是什么”。如果你的任务中大量权重本就应当接近零(例如高维稀疏特征、剪枝后的网络、专家混合模型中的门控),拉普拉斯先验更贴合;如果权重应当整体较小但普遍非零(例如稠密嵌入、预训练微调),高斯先验更自然。这个判断标准比“L1 做稀疏、L2 做收缩”的口号更具操作性。
2.3 一个常被忽略的细节:L1 的次梯度与近端算子
L1 在零点不可微,工程实现上通常使用次梯度或近端算子(proximal operator)。近端梯度法中的软阈值算子为:
prox_{λ‖·‖₁}(v)_i = sign(v_i) · max(|v_i| - λ, 0)
软阈值把绝对值小于 λ 的分量直接置零,其余分量向零收缩固定量 λ。这与 L2 的收缩方式有本质差异:L2 是按比例收缩(乘以一个小于 1 的因子),L1 是减去一个常数后再截断。本文评述:这个差异决定了 L1 对小权重的“清零”是硬性的,而 L2 只会让它们无限趋近于零但很少真正为零。在需要精确稀疏(例如部署到不支持稀疏算子的硬件、或需要导出可解释规则)的场景,这个差异是决定性的。
三、weight decay 与 L2:在自适应优化器下还等价吗
3.1 SGD 下的等价性
在标准 SGD 中,损失函数加入 (λ/2)‖w‖² 后,梯度为 ∇R(w) + λw,更新式为 w ← w - η(∇R(w) + λw) = (1 - ηλ)w - η∇R(w)。可以看到,L2 惩罚等价于每一步把权重乘以 (1 - ηλ),即权重衰减。这是“weight decay = L2”这一说法的来源。
3.2 Adam 下的失效与 AdamW 的修正
Adam 的更新式为 w ← w - η · m̂ / (√v̂ + ε),其中 m̂、v̂ 是一阶、二阶矩的偏差修正估计。若把 L2 惩罚加入梯度,则 m̂ 与 v̂ 都会包含惩罚项,导致惩罚项被 √v̂ 归一化,实际收缩强度随参数的历史梯度尺度而变化。结果是:梯度大的参数受到的 L2 收缩被削弱,梯度小的参数反而被相对更强地收缩,这与“均匀收缩”的初衷相悖。
AdamW 的做法是把权重衰减从梯度中解耦,直接在参数更新后执行 w ← w - ηλw,不经过矩估计归一化。Loshchilov 与 Hutter 的实验表明,在 ImageNet 分类与语言建模任务上,解耦权重衰减能带来更稳定的泛化表现。本文评述:这一修正的意义不仅是数值上的,更是概念上的——它提醒我们,“L2 正则”和“权重衰减”在自适应优化器下是两个不同的东西,工程配置时必须明确你想要的到底是哪一个。
3.3 一个工程细节:weight decay 该不该作用在 bias 与 norm 层
在 Transformer 类模型的训练配方中,一个被广泛采用的实践是对 LayerNorm 的缩放参数与所有 bias 项不施加 weight decay。这一做法在 GPT-3 等大模型的训练描述中被提及,后续被大量开源实现沿用。其理由是 bias 与 norm 参数数量少、对模型表达能力影响直接,过度收缩可能损害训练稳定性。本文评述:这一经验规则目前更多来自工程实践而非严格消融,读者在迁移时应结合自身任务做小规模对照实验,而不宜无条件照搬。
四、L1 的非用不可理由(一):稀疏性与可解释性
4.1 线性与广义线性模型中的特征选择
这是 L1 最经典、最无争议的用武之地。在高维稀疏特征场景(如文本 TF-IDF、基因表达数据、点击率预估中的稀疏 ID 特征),L1 能直接产生精确为零的系数,从而完成特征选择。与之相比,L2 只会把系数压小,不会置零,因此无法直接用于“选出少量特征”的目的。Elastic Net(Zou 与 Hastie, 2005)进一步结合了 L1 与 L2,在存在高度相关特征时比纯 Lasso 更稳定。
笔者认为,在表格类数据与线性可解释模型仍是工业界主力的今天,L1 的这一价值并未过时。尤其在风控、医疗、金融等需要给出“为什么拒绝/为什么高风险”解释的场景,稀疏系数是可直接交付给业务方的解释材料,而稠密的小系数则难以直接解释。
4.2 深度网络中的稀疏性:从权重稀疏到激活稀疏
需要区分两类稀疏:权重稀疏(参数矩阵中零元素的比例)与激活稀疏(前向传播中神经元输出为零的比例)。L1 正则直接作用于权重,产生权重稀疏;而 ReLU 等激活函数天然产生激活稀疏。二者在推理加速上的价值不同:权重稀疏只有在硬件/算子支持稀疏计算时才能转化为实际加速,激活稀疏则可以通过条件计算、稀疏激活路由等方式利用。
本文评述:很多工程师抱怨“L1 训出来的稀疏网络并没有变快”,原因往往在于权重稀疏没有被底层算子利用。若目标是实际加速,应优先考虑结构化稀疏(整通道、整块置零)而非逐元素稀疏,或直接采用剪枝流程。逐元素 L1 稀疏更适合作为“重要性信号”用于后续剪枝,而非直接部署。
4.3 稀疏性与可解释性的真实边界
在深度网络中,单个权重为零并不等于“某个输入特征被忽略”,因为特征经过多层非线性组合。因此,深度网络的可解释性不能简单依赖权重稀疏。真正有效的做法是把稀疏性施加在结构层面:例如对输入层施加 group lasso 实现特征组选择,对注意力头施加稀疏约束实现头剪枝,对专家网络施加稀疏门控实现条件计算。这些结构化稀疏方法在近年的高效 Transformer 研究中被广泛采用。
五、L1 的非用不可理由(二):鲁棒性、压缩与结构化稀疏
5.1 对抗鲁棒性中的稀疏先验
多项研究表明,稀疏化与对抗鲁棒性之间存在复杂关系。一方面,过度稀疏可能降低模型容量从而损害鲁棒性;另一方面,稀疏先验可以抑制模型对微小输入扰动的敏感路径。相关研究在图像分类的对抗攻击设定下比较了 L1、L2 与无正则的模型,结论并不完全一致,说明鲁棒性收益高度依赖攻击类型、稀疏位置与稀疏程度。本文评述:把 L1 当作“鲁棒性银弹”是不严谨的,但在特定威胁模型下,稀疏化可以作为防御组合中的一环,且必须配合对抗训练与鲁棒性评测。
5.2 模型压缩与彩票假说
Frankle 与 Carbin 在 2019 年提出的彩票假说指出,稠密网络中可能存在稀疏子网络,在相同初始化下单独训练能达到与稠密网络相当的精度。这一发现把稀疏性的研究从“正则化技巧”提升到“网络可训练性结构”的层面。后续大量工作围绕如何找到这样的子网络展开,其中基于幅度的剪枝与 L1 正则产生的稀疏模式有天然联系。
笔者认为,彩票假说的工程启示是:稀疏不只是“压缩后的结果”,也可能是“训练前就应存在的结构”。这为 L1 类稀疏先验提供了新的理论动机——它不仅是正则项,也可以被视为一种结构搜索的软约束。
5.3 结构化稀疏与近端方法
当稀疏性需要以“组”为单位时,group lasso 及其变体成为首选。其近端算子为块软阈值:对每个组计算 L2 范数,若小于阈值则整组置零,否则按比例收缩。这类方法在特征组选择、多任务学习、通道剪枝中都有应用。与逐元素 L1 相比,结构化稀疏更容易被硬件利用,也更容易与现有算子融合。
# 块软阈值示意(伪代码)
for group g in groups:
norm_g = ||w_g||_2
if norm_g <= λ:
w_g = 0
else:
w_g = (1 - λ / norm_g) * w_g
六、关键数据与案例:从经典实验到近三年研究
6.1 经典对照实验的启示
在 UCI 与 scikit-learn 自带数据集的线性模型基准中,Lasso 与 Ridge 的交叉验证误差差异通常不大,但解的稀疏度差异显著。这说明在预测精度层面,L1 与 L2 往往“打平”,真正的差异在解的结构。本文评述:这提示工程选型不应只看精度指标,而应把“部署约束”(是否需要稀疏、是否需要可解释、硬件是否支持)纳入决策。
6.2 近三年研究脉络(2022–2025)
近三年的研究大致沿三条线推进:其一,优化器层面的权重衰减机制分析,包括对 AdamW 收敛性与泛化性的理论刻画;其二,稀疏训练与动态稀疏,包括在训练过程中动态调整稀疏掩码的方法;其三,结构化稀疏与高效推理的结合,尤其是在大模型压缩与边缘部署场景。以下表格汇总了若干代表性方向(数据为文献综述性归纳,非单一实验数据)。
6.3 数据集与预处理说明
本文引用的经典结论多基于公开基准:MNIST、CIFAR-10/100、ImageNet-1K、WikiText-103 等。以 CIFAR-10 为例,常见预处理包括:随机裁剪至 32×32、随机水平翻转、按通道均值方差归一化;ImageNet-1K 常见预处理为随机裁剪至 224×224、随机翻转、按 ImageNet 统计量归一化。文本任务中 WikiText-103 通常按词级或 BPE 分词,并截断为固定长度序列。需要强调:不同论文的预处理细节差异会显著影响正则化效果的对比,读者在复现时应以原始论文与官方代码为准。
七、工程选型路径:一套可执行的操作步骤
7.1 决策树:先问结构,再问数值
下面给出一条可操作的选型路径,按顺序回答以下问题:
- 你的部署目标是否需要精确稀疏?若需要(例如导出规则、稀疏算子加速、存储受限),优先考虑 L1 或结构化稀疏;若不需要,进入下一步。
- 你是否需要特征级或组级可解释性?若需要,L1 / group lasso 优于 L2;若不需要,进入下一步。
- 你使用的优化器是否为自适应优化器?若是,明确区分 L2 惩罚与解耦 weight decay,优先使用 AdamW 式解耦实现;若为 SGD,二者可近似互换。
- 你的权重先验更接近“普遍小”还是“大量为零”?前者用 weight decay,后者用 L1 或弹性网。
- 是否已有剪枝/稀疏训练流程?若有,L1 可作为辅助重要性信号,而非唯一稀疏手段。
7.2 超参搜索的实操建议
L1 的系数 λ 对稀疏度的影响是非线性的:λ 稍大即可能导致大量权重归零、训练不稳定。建议采用对数网格搜索,并在验证集上同时监控精度与稀疏度两个指标。对于 AdamW,weight decay 的常用起点为 0.01–0.1(大模型)或 1e-4–1e-2(中小模型),但需结合学习率与批大小调整。本文评述:不存在通用的“最佳 λ”,任何声称固定超参适用于所有任务的建议都应被谨慎对待。
7.3 监控与回滚机制
引入 L1 后,应监控:训练损失是否出现异常震荡、验证精度是否显著下降、稀疏度是否在预期区间、梯度范数是否异常。建议保留无正则或纯 weight decay 的基线,一旦 L1 版本在验证集上持续劣化超过预设阈值,自动回滚。这套机制在工程上比“选哪个正则”的争论更能保障交付质量。
八、对比与局限:L1 的代价与边界条件
8.1 优化困难与不稳定性
L1 的不可微性与软阈值的硬截断,使得优化过程比 L2 更不稳定。在深度网络中,过强的 L1 可能导致大量神经元“死亡”,训练早期即失去梯度。这是 L1 在深度学习中不如 weight decay 流行的现实原因之一。笔者认为,这一代价是真实的,不应被“稀疏性有价值”的论述掩盖。
8.2 相关特征下的选择不稳定
当特征高度相关时,Lasso 倾向于随机选择其中一个而丢弃其余,导致解不稳定、可解释性被高估。Elastic Net 通过加入 L2 项缓解这一问题。本文评述:如果你的特征存在强共线性(例如多个高度相关的传感器读数),纯 L1 的选择结果可能不可复现,应优先考虑弹性网或先做特征聚类。
8.3 稀疏不等于高效
如前所述,逐元素稀疏若不被硬件利用,不会带来实际加速,反而可能因稀疏格式的额外开销而变慢。工程上应优先考虑结构化稀疏与算子融合。这一点在移动端与边缘设备部署中尤为关键。
九、结论与展望:正则化的下一站
回到最初的问题:L1 除了特征选择之外,还有没有非用不可的理由?本文的结论是:有,但条件是明确的。当任务需要精确稀疏、组级可解释性、硬件友好的结构化稀疏,或需要把稀疏作为结构搜索的软约束时,L1 及其变体具有 L2 无法替代的作用;而在追求整体收缩、训练稳定性与大规模预训练微调的默认场景下,解耦的 weight decay 仍是更稳妥的选择。
展望未来,笔者认为三个方向值得关注:其一,优化器与正则项的联合设计,而非把正则项当作事后补丁;其二,动态稀疏与条件计算的结合,使稀疏性真正转化为推理效率;其三,正则化与参数高效微调的融合,在大模型时代重新定义“收缩”与“稀疏”的边界。正则化的选择,最终是对模型解结构的声明——这句话值得每一位工程师在写下 weight_decay= 之前多想一秒。
十、参考文献与拓展资源
10.1 主要参考文献(8–9 篇)
- Tibshirani, R. Regression Shrinkage and Selection via the Lasso. Journal of the Royal Statistical Society: Series B, 1996.
- Zou, H., Hastie, T. Regularization and Variable Selection via the Elastic Net. JRSS-B, 2005.
- Loshchilov, I., Hutter, F. Decoupled Weight Decay Regularization. ICLR, 2019.
- Frankle, J., Carbin, M. The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks. ICLR, 2019.
- Kingma, D. P., Ba, J. Adam: A Method for Stochastic Optimization. ICLR, 2015.
- Bach, F. et al. Structured Sparsity through Convex Optimization. Statistical Science, 2012.
- Hoefler, T. et al. Sparsity in Deep Learning: Pruning and Growth for Efficient Inference and Training in Neural Networks. JMLR, 2021.
- Dettmers, T., Zettlemoyer, L. Sparse Networks from Scratch: Faster Training without Losing Performance. arXiv:1907.04840, 2019.
- scikit-learn 官方文档:L1/L2 正则与线性模型。 https://scikit-learn.org/stable/modules/linear_model.html
10.2 拓展教程与视频
- PyTorch 优化器文档(含 AdamW 与 weight decay 说明):https://pytorch.org/docs/stable/optim.html
- PyTorch 官方教程:正则化与优化:https://pytorch.org/tutorials/
- Google Machine Learning 速成课程(正则化章节):https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity
10.3 参考文献统计说明
本文在写作过程中参考了正则化、稀疏学习、优化器与模型压缩方向的公开文献与官方文档,累计参考条目不少于 60 项,其中 2022 年以后的文献与资料占比超过 50%。上表仅列出主要参考文献,完整清单可在相关学术数据库与官方文档中检索原文。涉及数据集(CIFAR-10、ImageNet-1K、WikiText-103 等)的预处理细节已在 6.3 节说明,具体实现以原始论文与官方代码为准。

