在利用深度学习模型解决有监督问题时,比如分类、回归、去噪等,我们一般的思路如下:
- 信息流forward propagation,直到输出端;
- 定义损失函数L(x, y | theta);
- 误差信号back propagation。采用数学理论中的“链式法则”,求L(x, y | theta)关于参数theta的梯度;
- 利用最优化方法(比如随机梯度下降法),进行参数更新;
- 重复步骤3、4,直到收敛为止;
在第2步中,我们通常会见到多种损失函数的定义方法,常见的有均方误差(error of mean square)、最大似然误差(maximum likelihood estimate)、最大后验概率(maximum posterior probability)、交叉熵损失函数(cross entropy loss),下面我们就来理清他们的区别和联系。一般地,一个机器学习模型选择哪种损失函数,是凭借经验而定的,没有什么特定的标准。具体来说,
(1)均方误差是一种较早的损失函数定义方法,它衡量的是两个分布对应维度的差异性之和。说点题外话,与之非常接近的一种相似性度量标准“余弦角”,则衡量的是两个分布整体的相似性,也即把两个向量分别作为一个整体,计算出的夹角作为其相似性大小的判断依据,读者可以认真体会这两种相似性判断标准的差异;
(2)最大似然误差是从概率的角度,求解出能