Bug or Feature^2:权重漂移、激活稀疏性与尖峰

Hugging Face Daily Papers 论文

摘要

本文正式证明了使用非对称激活函数(如ReLU、GELU或SiLU)训练神经网络会导致权重向负方向漂移,进而使激活稀疏性高达90%。同时,研究表明平方激活函数(如ReLU²)能提升性能,但会导致激活尖峰,这一问题可通过裁剪解决,其中GELU²达到了最低验证损失。

现代神经架构的设计是通过渐进式经验选择收敛而成的,但支配其训练动态的机制仍然仅部分被理解。我们识别并分析了由标准损失函数与正偏置激活函数之间的相互作用引发的负权重漂移。我们证明,在均方误差或交叉熵损失下,初始化时正预激活的梯度在期望上非负,这会在早期训练中将下游权重推向负值。该漂移是优化固有的而非数据引起的,并且跨架构(MLP、ResNet、ViT、GPT-nano、MP-SENe)及非对称激活函数(ReLU、GELU、SiLU)均存在。与ReLU结合时,权重漂移导致激活稀疏性在GPT-nano中高达90%。我们刻画了79种配置下的稀疏性-准确率权衡,并发现当激活稀疏性超过70%时存在一个陡峭的准确率悬崖。虽然ReLU²在GPT-nano中实现了良好的稀疏性-准确率比,但它会病态地放大中间Transformer层中已识别的激活尖峰。裁剪能解决这一问题,同时保留平方运算的表征优势:裁剪后的ReLU²优于未裁剪版本,而GELU²在GPT-nano上取得了最低验证损失。代码见 https://github.com/On-Point-RND/BugOrFeature。
查看原文
查看缓存全文

缓存时间: 2026/05/20 22:40

论文页面 - Bug or Feature^2:权重漂移、激活稀疏性与尖峰

来源:https://huggingface.co/papers/2605.17659

每次你用 ReLU、GELU 或 SiLU 训练网络时,权重都会悄悄地向负值漂移。这不是数据的问题,即便是随机输入也会发生。这是梯度下降与非对称激活函数的数学特性所固有的。

我们从数学上证明了这一点(MSE 和交叉熵),并在 MLP、ResNet、ViT、GPT 以及一个语音模型上展示了这种现象。

这种漂移会导致什么? 负权重将预激活值推入负区域,而使用 ReLU 时,多达 90% 的激活最终变为零——正是被最初导致漂移的同一个函数清零了!这到底是 bug 还是 feature?取决于如何使用。

最有趣的发现: ReLU2 提升了 GPT-nano 的性能,但病态地将激活尖峰放大了 25 倍。解决方法很简单:进行裁剪。裁剪后的 ReLU2 和 GELU2 都优于其非平方版本,其中 GELU2 在 GPT-nano 上取得了整体最佳的验证损失。

💻 代码:github.com/On-Point-RND/BugOrFeature

相似文章

深度隐含偏差:从神经坍缩到Softmax编码

arXiv cs.LG

本文研究深度本身如何在没有正则化训练的情况下,在深度无约束特征模型中引致隐式低秩偏差,将最优解从神经坍缩转向Softmax编码,并首次给出了在交叉熵损失下梯度下降中这一偏差的渐近和动态表征。

平坦最小值是幻觉吗?

arXiv cs.LG

本文挑战了关于平坦最小值能导致神经网络更好泛化的普遍观点,认为‘弱性’——一种函数简单性的重参数化不变度量——才是真正的驱动力。在MNIST和Fashion-MNIST上的实验结果表明,弱性能够预测泛化,而尖锐性则与之负相关,且随着训练数据增加,大批次泛化优势消失。