L1 和 L2 loss 有什么区别。
L1 我理解成 1 维向量的距离。假设只有一个座标轴,上面每一个点都有一个 x 座标。现在需要求 x1 , x2 两个点的距离。很简单吧,距离就是: |x1-x2| 。 loss function 计算网络残差就是所有预测值跟 label 距离求和。
l1 = sigma( | x1 - x2 | )
L2 就是二维空间向量的距离。假设有 x,y 轴的平面上有两个点: (x1, y1), (x2, y2) 。现在求两个点的距离,高中数学讲过的,很简单。
l2 = sqrt ( power(x2 - x1) + power(y2 - y1))
同理求和就是总 loss 了。
smooth L1 loss 跟 L1 loss 有什么区别。
L1 loss 存在一个问题,数据中数值反常的 outlies 对 loss 计算产生非常大的干扰,比如传感器由于信号干扰出来一个超过正常值 100 倍的噪点,差值的绝对值会对求和结果产生巨大影响。
smoothl1 = (x) --> piecewise(abs(x) < 1, 0.5 * power(x), abs(x) - 0.5)
超过一定数值的取近似值,避免爆炸。