外观
双下降 vs. 偏差-方差权衡
Double Descent vs. Bias-Variance Trade-off
众所周知,随着模型参数(parameter)数量增加,我们通常会越来越过拟合(overfitting)数据。例如,考虑用多项式回归拟合下面这个虚拟数据集来训练:

我们可以画出随着模型复杂度增加,损失值的变化情况:

可以预期,当我们增大次数(m)并训练多项式回归模型时:
- 训练损失会越来越接近零。
- 测试(或验证)损失会先减小,然后变得越来越大。
这是因为次数越高,模型就越容易把它的回归拟合扭过来扭过去地穿过每一个训练数据点,这也说得通。
事实上,从下面这张损失图也能看出这一点:

但注意当我们继续增大次数(m)时会发生什么:

这很奇怪,对吧?为什么测试损失先上升到某一点,然后又下降了呢?这并不是我们预期的,对吧?
嗯……你所看到的叫做“双下降(double descent)现象”,它在很多 ML 模型中都相当常见,尤其是在深度学习模型中。它表明,与直觉相反,把模型复杂度(complexity)增加到超过插值点之后,反而能提升泛化(generalization)性能。事实上,这整个想法深深解释了为什么 LLM 虽然体量巨大(数十亿甚至数万亿参数)却仍能相当好地泛化。而它之所以难以接受,是因为这种现象直接挑战了我们在任何入门 ML 课上都会学到的传统偏差-方差权衡(bias-variance trade-off):

换个说法,训练非常大的模型,哪怕参数比训练数据点还多,也仍然可以很好地泛化。据我所知,这仍是一个开放问题,目前并不完全清楚为什么神经网络会表现出这种行为。围绕正则化(regularization)有一些理论,比如:可能是模型施加了某种隐式正则化,借助它模型能够恰好聚焦于合适数量的参数来实现泛化。但说实话,目前一切还不清楚。