模型怎么从答错里学习
用损失函数、反向传播和梯度下降理解训练阶段如何调整参数。
模型不会因为“意识到自己错了”而学习。它靠的是一套计算过程:预测、算损失、传回错误信号、更新参数。
第一步:先给出预测
训练时,模型会拿到输入,然后给出预测。
比如语言模型看到:
太阳从东方升起,从 ____ 落下。
它会给不同 token 分配概率。理想情况下,“西方”的概率应该高。如果它把“北方”排得更高,就说明当前参数还不够好。
第二步:损失函数衡量错多少
Loss Function 会把预测和目标答案之间的差距变成一个数字。损失越大,说明预测越差;损失越小,说明更接近目标。
损失函数很重要,因为它定义了模型“努力的方向”。如果目标设计错了,模型会认真优化一个错误目标。
现实里很多问题都卡在这里:
- 推荐系统只优化点击率,可能推标题党;
- 对话模型只优化用户满意,可能变得过度迎合;
- 安全模型只优化拒答,可能什么都不敢答。
第三步:反向传播把错误传回去
模型有很多层。输出错了,要知道内部哪些参数该调整。
Backpropagation(反向传播)会把损失信号从输出层往前传,计算每个参数对错误的影响。你可以把它理解成一套责任分摊机制:这次预测错了,哪些连接更该被调大,哪些更该被调小。
第四步:梯度下降更新参数
Gradient Descent(梯度下降)根据这些方向更新参数。它不是一次就找到最优答案,而是一小步一小步往损失更低的方向走。
训练就是大量重复这个过程:
- 看一批样本;
- 做预测;
- 计算损失;
- 反向传播;
- 更新参数;
- 再看下一批样本。
为什么这不是“背答案”
模型确实可能记住训练数据里的内容,但训练目标不是建立一张答案表。训练主要是在参数里形成一种统计规律,让模型面对新输入时也能给出合理预测。
这也解释了两个现象:
- 模型可能知道很多事实,但不能精确说明事实存在哪里;
- 模型可能在训练集上表现很好,换到新场景就变差。
前者和参数表示有关,后者和泛化有关。
这对普通读者有什么用
理解这条链路后,你看 AI 产品会更容易定位问题:
- 数据错,模型会学错;
- 目标函数设计偏,模型会优化偏;
- 训练集太窄,真实场景会翻车;
- 参数训练好了,也不代表推理时永远可靠。
模型不是从“答错”里顿悟。它是在大量错误信号里一点点被调出来的。