1. L1 Loss:
令,忽略求和及系数,则有,其导数为
随机梯度下降法更新权重为:
其中是学习率。由此可知,不管预测值和真实值的差值大小如何变化,反向传播时其梯度不变。除非调整学习率大小,不然每次权重更新的幅度不变。
理想中的梯度变化应该是:训练初期值较大,则梯度也大,可以加快模型收敛;训练后期值较小,梯度也应小,使模型收敛到全局(或局部)极小值。
L1 Loss 优点:梯度值稳定,使得训练平稳;不易受离群点(脏数据)影响,所有数据一视同仁。
L1 Loss 缺点:处不可导,可能影响收敛;值小时梯度大,很难收敛到极小值(除非在值小时调小学习率,以较小更新幅度)。
2. L2 Loss
令,忽略求和及系数,则有,其导数为
可知,对于L2 Loss来说,预测值和真实值的差值越大,梯度越大;越小,则梯度值越小。
L2 Loss 优点:平滑可导;较大时梯度大,收敛快;较小时梯度小,容易收敛至极值点。
L2 Loss 缺点:训练初期较大导致梯度大,更新幅度太大使得训练不稳定,容易出现梯度爆炸现象;受离群点(脏数据)影响大,容易在离群点的干扰下大幅更新,使拟合函数偏向离群点而导致准确率低。
3. Smooth L1 Loss
从上式可知Smooth L1 Loss 是一个分段函数,它综合了 L1 Loss 和 L2 Loss 两个损失函数的优点,即在较小时采用平滑地 L2 Loss,在较大时采用稳定的 L1 Loss。
公式(6)衡量的较大和较小的分界线是,当然也可以采用其它值来做这个临界点。设作为衡量预测值和真实值的差值的阈值,则公式(6)变为更一般的形式: