上一节介绍了训练的过程,一个模型在训练的过程中,每一轮训练数据计算到到最后一层时,都会输出本轮的预测值,那么如何将本轮的预测值与标签中的真实值进行对比呢?
这就要用到损失函数(Loss function)。
什么是损失函数
损失函数是用来衡量模型预测结果与真实标签(ground truth)之间差别的函数。
一般而言,损失函数会接收两个输入,一个是本轮的预测值,另一个是标签的真实值,通过一定的算法来将预测值和真实值之间的差别计算出来。
损失函数的输出被定义为loss值,Loss值越大,说明预测值与真实值之间的差别越大。
因此每轮迭代的目的就是为了降低loss值,直到将loss值降低到为零,或者接近零。如此一来就说明模型训练收敛,训练过程也就结束了,这便是损失函数的作用。
loss值降低曲线
之所以损失函数需要输出一个loss值,是因为在每次迭代时我们需要一个可见的参数来衡量结果。
试想一下,如果没有loss值,我们是没有办法在训练的过程中将训练程序突然停掉保存中间参数,还有办法来衡量已经训练的模型到底收敛到什么程度了的。
除此之外,损失函数还有其他的几个作用。
1. 因为损失函数反映了模型的预测能力,lo