机器是怎么知道自己错了并改进的?答案藏在两个概念里:损失函数负责把错误量化成一个数,梯度下降负责沿着最陡的下坡方向一步步调整参数。本文用蒙眼下山和做题对答案的类比,解释学习率、局部最优与随机梯度下降等关键细节。
核心要点
- 损失函数把“错得多离谱”变成一个可比较的数字
- 梯度指向上坡最陡方向,沿反方向走就是最快下降
- 学习率决定步长,太大容易震荡,太小收敛缓慢
先给错误打个分
训练模型的第一步,是给它一个自我批评的标准。模型输出一个预测,我们拿它和真实答案比对,算出一个数:差得越多,这个数越大。这个数就是损失,计算它的规则叫损失函数。好比打靶,损失函数就是你这套动作对应的离靶心多少环。
有了损失,学习就变成了找最小值的过程:在所有可能的参数组合中,找到让总损失最小的那一组。可惜参数动辄上亿,不可能穷举,于是有了梯度下降(gradient descent),一种蒙眼下山的方法。
蒙眼下山
想象你被蒙上眼睛放在山坡上,看不见路,只能用脚感受哪个方向最陡。梯度告诉你的正是上坡最陡的方向,那你就朝反方向迈一步。走一步,再感受一次,再迈一步,反复下去,就有机会走到谷底。
每一步迈多大,就是学习率。迈得太小,下山极慢,还容易卡在半山腰的小坑里;迈得太大,会在山谷两侧来回震荡,甚至越跳越高。实践中常采用先大后小的策略,让训练前期快速接近,后期精细收敛。
工程上的妥协
还有个现实问题:如果每次都用全部数据算梯度,一次计算就极其昂贵。于是有了随机梯度下降,每次只抽一小批样本估算方向,虽然每一步不那么精确,但胜在快,大量步数叠加起来反而更快到达。
关于卡在小坑要多说一句:直觉上局部最优很可怕,但在高维空间里,真正难走的往往是平缓的高原和狭长的峡谷,而不是孤立的坑。这也是带动量、自适应学习率等改进算法被广泛使用的原因。
常见问题
为什么训练时损失会上下抖动?
通常是两个原因。一是随机梯度下降每次只用一小批数据估算方向,这批样本有随机性,方向自然带噪声;二是学习率偏大,步子迈过了头。若整体趋势仍向下就不必担心,可以减小学习率或增大批量让曲线更平滑。
本文为 AI 科普内容,仅用于知识普及,不构成任何技术选型、投资或职业决策建议。