L1 loss 与 MSE

---恢复内容开始---

今天在训练时遇到的问题

把损失函数由 MSE 改成 L1 Loss 的时候 Loss 有了明显的下降

以前一直觉得 MSE 相对来说会更好 ,因为求导的话有标签与结果的差值作为系数,相差越大梯度越大。 L1 Loss 梯度都是一样的。

查了一下,看到了另一种说法:

当预测值与目标值相差很大时, 梯度容易爆炸, 因为梯度里包含了x−t. 所以rgb在Fast RCNN里提出了SmoothL1Loss.

当差值太大时, 原先L2梯度里的x−t被替换成了±1, 这样就避免了梯度爆炸, 也就是它更加健壮.


这。。。。应该就是原因吧

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/wujunde/p/8997175.html