上一节介绍了训练的过程,一个模型在训练的过程中,每一轮训练数据计算到到最后一层时,都会输出本轮的预测值,那么如何将本轮的预测值与标签中的真实值进行对比呢?
这就要用到损失函数(Loss function)。
什么是损失函数
损失函数是用来衡量模型预测结果与真实标签(ground truth)之间差别的函数。
一般而言,损失函数会接收两个输入,一个是本轮的预测值,另一个是标签的真实值,通过一定的算法来将预测值和真实值之间的差别计算出来。
损失函数的输出被定义为loss值,Loss值越大,说明预测值与真实值之间的差别越大。
因此每轮迭代的目的就是为了降低loss值,直到将loss值降低到为零,或者接近零。如此一来就说明模型训练收敛,训练过程也就结束了,这便是损失函数的作用。

loss值降低曲线
之所以损失函数需要输出一个loss值,是因为在每次迭代时我们需要一个可见的参数来衡量结果。
试想一下,如果没有loss值,我们是没有办法在训练的过程中将训练程序突然停掉保存中间参数,还有办法来衡量已经训练的模型到底收敛到什么程度了的。
除此之外,损失函数还有其他的几个作用。
1. 因为损失函数反映了模型的预测能力,loss值越小,预测能力越强。我
损失函数是衡量模型预测结果与真实值差别的关键,如均方误差(MSE)适用于回归,交叉熵损失函数用于分类。不同的任务需要选择不同的损失函数,如二分类问题使用对数损失函数,而KL散度用于衡量概率分布差异。训练过程中,通过优化损失函数来调整模型参数,降低loss值以达到模型收敛。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



