〇、引言
在生活中,我们常被劝告 “别想太多”。也许是不要多想遥远的未来,或是把他人的言行当成无心,或者只是在考试时好好拟合不要突发奇想。但是,多想一点,真的有那么糟糕嘛?
不妨来看这个知乎提问。用我们小学二年级学过的知识,这道题的答案无疑是32。不过,既然在网络平台问出来,答案肯定没有那么简单。许多答主凭借惊人的数学注意力,发现下一项竟然是114514,然后惊喜地“发现”再下一项竟是1919810。
其实,用我们小学二年级没学过的拉格朗日多项式插值法,可以让一个给定的数列后续写出任何想要的数值。这似乎是一件恐怖的事情——“找规律的大厦已经建成,上空漂浮着一朵巨大的令人不安的乌云”——既然任何数值都可以找到一个规律,那我们曾笃信的美妙找规律方法是否就此崩塌?
一、曲线拟合
我们不妨来看一个实际的问题,看一看我们所信仰的规律之美是否依然存在。对一年里温度变化规律的探索是一个古往今来人们一直关心的问题,我们来看北京2024年的数据。
我们把这些数据标在坐标系上,就可以用我们初中二年级学过的最小二乘法拟合出一条曲线。我们依次拟合出3,6,9,11次方程拟合曲线。随着拟合次数的增加,我们发现残差MSE逐渐减小,这说明对数据点的拟合越来越精确。然而拟合次数过高时,虽然偏差持续下降,但曲线开始剧烈波动。
从3次到6次再到9次,曲线逐渐贴合数据。但第9次11月到12月的上凸不免是一个令人担忧的突兀,失去了让我们安心的平滑美感。我们继续增加这条回归曲线的复杂度,我们就会发现它的形状变得越发怪异。无疑它会更加接近每一个点,甚至在更为精确的时候,拟合曲线会完全的经过所有的样本点。而在最精确的11次曲线中,1月到2月中间出现了一个反常的极值。在冬天突然平均气温到达10℃附近,这显然不符合实际。
其实,根据我们初中二年级学过的知识,两点确定一条直线,三点确定一条抛物线,……n点确定一条n-1次曲线。所以11次曲线可以完美贴合12个数据点(图像上没有完美贴合是绘图库特性的问题,应当所有点都在线上),即使使用12次曲线拟合结果也会退化成11次曲线。正是这样最“完美”的拟合迫使曲线必须被每个数据点固定住,过度贴近已知的信息,而失去了对数据点之间未知的泛化能力,也就是预测的作用。这就叫做过拟合。
二、机器学习
在AI浪潮的裹挟中,我们知道大模型的本质是对函数的拟合。既然拟合函数会遇到过度拟合的问题,那么大模型同样面临过拟合的风险。
在机器学习中,不同种类的样本与气温一样,会被转化成空间里的点,模型通过学习这些点的分布来构建预测函数。比如,我们来解决一个二分类的问题,就是找到一条线来把平面上的点分成两部分;如果样本分布在三维空间空间中,模型则需要找到一个面来把点分成两部分。为了方便呈现,我们从一个平面上的样本来看。
欠拟合与过拟合
当模型过于简单,便出现欠拟合,无法应对相对复杂的规律;而在右面图里可以看到,模型的学习能力过强而学习到了样本的噪声,这样的过拟合不能反应两个分类的真实界线。
上图中我们使用左面作为训练集,右面作为测试集。我们可以发现随着方程复杂度的增加,对训练数据拟合得更好,但对新数据的预测能力却更差。这是因为模型过于复杂,捕捉到了数据的噪声而非本质规律。而适当舍弃对训练数据的拟合,以追求更简洁的模型,反而能在新数据上表现出更强的泛化能力。
其实,尽管各大厂商都在尽力避免,大模型过拟合的例子已经不罕见。模型厂商间常见的互相蒸馏,即通过学习其他大模型输出的语料来提升自身性能,就经常出现自称其他大模型的现象,把自称名牌大模型当作较好的输出,这也是一种过拟合的体现。
三、对抗过拟合
众所周知,大模型训练是未知的黑箱,人们很难通过像上面图形那样画出曲线的解释决策机理,来判断有没有过拟合。为了对抗机器学习“想得太多”,工程师们也创造出了许多有趣的方法。
早停
在温度的例子里,我们通过11次曲线在1-2月反常的上升来判定过拟合。我们也可以同样,使用不在训练素材里的样本去检验模型是否发生过拟合。如果在训练集的表现越来越好,而在测试集上的表现却开始下降,这就明确指示了过拟合使得模型解决未知问题的能力下降,这时停止训练就保存了相对最好的模型状态。
正则化
在工程上,工程师们也对一个问题的复杂程度形成了经验与直觉。他们把训练结果的评估方式加上了一个关于复杂度的负数惩罚项,这个惩罚的合适比例就是根据经验来猜测的。用我们小学学过的移项把复杂度移到不等式另一侧,这样训练的结果最优就相当于天平的平衡(但其实应该求一个导数反应变化率,但理解方便就不提了),一边是模型对训练数据的拟合程度,另一边是模型的复杂度。添加这个负的惩罚项,就在复杂度那一侧加上了一个砝码,使得天平不会过度倾向于高度复杂的模型,从而确保最终得到的最优结果所对应的模型不会过于复杂。
数据增强
过拟合的本质是学习到训练集的特殊规律,而不是判断一般性的规律。所以消灭训练集的特殊规律,可以对缓解过拟合有帮助。但是,大量增加样本数量会引起成本数量级的上升。因此,富有经验的工程师们会巧妙变换现有样本生成新样本,这叫做数据增强。例如,在图像识别领域,工程师们可以对现有的图像进行旋转、翻转、缩放、亮度对比度调节等操作,这些经过变换的图像就成为了新的样本,既能丰富样本的多样性,又无需付出大量收集新样本的成本。
四、回归生活
过拟合其实常常发生在我们身边。也许是一直焦虑从未发生的事情,或是过度解读了一条朋友圈徒增烦恼,或者只是在考试时纠结于琐屑的知识点老师有没有挖坑。“如无必要,勿增实体”,对现实生活的过度复杂化往往让我们深陷到内耗之中,拥抱朴素规律有时可以更好地走向自洽。
在更大的尺度上,如果我们将需要去达成的目标看作人生中的样本点,例如在学业上取得优异的GPA,读研读博上岸大厂或是编制,在大城市拥有属于自己的房子,在体育方面有出色表现……我们会发现,当我们试图越来越接近这些众多目标时,生活的轨迹就会变得扭曲、怪异。看似马不停蹄地登上了一个个高峰,但人生轨迹却在这个过程中失去了自然的平滑。
消费社会所包装的光鲜亮丽,越来越偏离我们真实热爱的生活。当家人闲坐灯火可亲的美好,被“给孩子买一套北京学区房”的执念所占据;当一日三餐的温馨被“升职加薪”的压力下工业化的快餐所取代;当与朋友畅谈的欢愉被“社交圈层”的焦虑所侵蚀;对大学生活的期待与许诺也在无休止的内卷中被背叛。现代社会对人异化的进程不断加剧,以至于我们猛然发现自己已经无法跳出吱吱作响的社会机器而回归自我的生活。
当我们勾勒的轨迹已然让我们在未设计的生活中迷失方向,或许正是我们采取early stopping策略的时候,停止对外在标准的过度拟合,重新审视内心真正的需求,回归自身踏实的幸福。
正是:
休系缰缠,莫算机衡。
看人间、百样浮名。
强求合辙,曲轨车倾。
似线头鸢,网中雀,浪上萍。
舟横野岸,风过空庭。
且由它、月落星升。
炊烟自袅,笑语谁听?
且休役役,远熙熙,忘营营。