损失函数#
术语解释#
在机器学习和深度学习中,损失(Loss),也常被称为损失函数(Loss Function)、代价函数(Cost Function)或目标函数(Objective Function),是用于刻画模型预测标签与真实标签之间差距的函数。
例如在一个给定的模型 $h(x)$ 中,当输入样本 $x$ 后,模型会输出一个预测值 $\hat{y}$,损失函数就是通过数学方式计算 $\hat{y}$ 与真实值 $y$ 之间的误差(Error)。由此我们便可以得出,若是模型输出的预测值与真实值之间的误差越小,那么便证明模型的效果越好。
进一步,我们就可以利用梯度下降等算法通过最小化这一误差来间接求解模型的参数(如权重 $W$ 和偏置 $b$),使得计算机能够自动迭代更新参数而无需显式编程。因此,求解模型参数的过程,本质上就是寻找一组参数,使得在训练集上损失函数的值达到最小。
常见损失函数#
-
均方误差(MSE):常用于回归任务,计算预测值与真实值差值的平方和。相关内容可参见「2.4 回归模型评估指标:MSE、RMSE、R2 与误差分析」。
-
交叉熵损失(Cross Entropy Loss):常用于分类任务,衡量预测概率分布与真实分布之间的相似性。相关内容可参见「3.6 Softmax分类实战:PyTorch DataLoader与MNIST手写体分类」。
-
KL 散度:在模型蒸馏中常用,用于衡量学生模型与教师模型输出概率分布之间的差异。相关内容可参见「DistilBERT 蒸馏原理与 PyTorch 实现:从 BERT-base 到轻量模型 60% 大小 97% 效果」。
-
排序损失(Ranking Loss):在奖励模型(RM)中,通过比较“我比你好”的对数似然来构建目标函数。相关内容可参见「奖励模型目标函数推导教程:OpenAI 三篇论文带你搞懂 RLHF 中 Reward Model 的变迁」