损失能收敛到0么 深度学习_深度学习之损失函数小结

本文详细介绍了深度学习中常见的损失函数,包括图像分类中的交叉熵及其改进的Label Smoothing,目标检测中的Focal Loss、L1/L2损失、IOU Loss以及GIOU、DIOU和CIOU,还有图像识别中的Triplet Loss、Center Loss、Sphereface、Cosface和Arcface。通过对这些损失函数的分析,揭示了它们在模型优化和泛化能力提升上的作用。
摘要由CSDN通过智能技术生成

在深度学习中,损失函数扮演着至关重要的角色。通过对最小化损失函数,使模型达到收敛状态,减少模型预测值的误差。因此,不同的损失函数,对模型的影响是重大的。接下来,总结一下,在工作中经常用到的损失函数:

图像分类:交叉熵

目标检测:Focal loss,L1/L2损失函数,IOU Loss,GIOU ,DIOU,CIOU

图像识别:Triplet Loss,Center Loss,Sphereface,Cosface,Arcface

图像分类

交叉熵

在图像分类中,经常使用softmax+交叉熵作为损失函数,具体的推导可以参考我以前的博客。

$$Cross Entropy=-\sum_{i=1}^{n}p(x_i)ln(q(x_i))$$

其中,$p(x)$表示真实概率分布,$q(x)$表示预测概率分布。交叉熵损失函数通过缩小两个概率分布的差异,来使预测概率分布尽可能达到真实概率分布。

后来,谷歌在交叉熵的基础上,提出了label smoothing(标签平滑),具体介绍,可以参考这篇博客。

在实际中,需要用预测概率去拟合真实概率,而拟合one-hot的真实概率函数会带来两个问题:

无法保证模型的泛化能力,容易造成过拟合;

全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难adapt,会造成模型过于相信预测的类别。

因此,为了减少这种过于自信,同时减缓人为标注的误差带来的影响,需要对$p(x)$进行变化:

$$p'{(x)}=(1-\epsilon )\delta _{(k,y)}+\epsilon u(k)$$

其中,$\delta _{(k,y)}$为Dirac函数,$u(k)$为均匀分布。简单而言,降低标签y的置信度,提高其余类别的置信度。从而,交叉熵变成了:

$$H(p',q)=-\sum_{i=1}^{n}p'(x_i)ln(q(x_i))=(1-\epsilon )H(p,q)+\epsilon H(p,u)$$

目标检测

在目标检测中,损失函数一般由两部分组成,classification loss和bounding box regression loss。calssification loss的目的是使类别分类尽可能正确;bounding box regression loss的目的是使预测框尽可能与GT框匹对上。

Focal loss

该Focal loss损失函数出自于论文《Focal Loss for Dense Object Detection》,主要是解决正负样本之间的不平衡问题。通过降低easy example中的损失值,间接提高了hard example中损失值的权重。Focal loss是基于交叉熵进行改进的:

$$Focal loss=-\alpha _t(1-p_t)^\gamma log(p_t)$$

可以看到,在交叉熵前增加了$(1-p_t)^\gamma $,当图片被错分时,$p_t$会很小,$(1-p_t)$接近于1,所以损失受到的影响不大;而增加参数$\gamma $是为了平滑降低esay example的权重。当$\gamma =0$时,Focal loss退化成交叉熵。对于不同的$\gamma $,其影响如下图所示。

L1,L2,smooth L1损失函数

利用L1,L2或者smooth L1损失函数,来对4个坐标值进行回归。smooth L1损失函数是在Fast R-CNN中提出的。三个损失函数,如下所示:

$$L1=\left | x \right |$$

$$L2=x^{2}$$

$$smoothL1=\left\{\begin{matrix} 0.5x^2\qquad if\left |x \right |<1\\  \left |x \right |-0.5 \qquad otherwise \end{matrix}\right.$$

从损失函数对x的导数可知:$L1$损失函数对x的导数为常数,在训练后期,x很小时,如果learning rate 不变,损失函数会在稳定值附近波动,很难收敛到更高的精度。$L2$损失函数对x的导数在x值很大时,其导数也非常大,在训练初期不稳定。smooth L1完美的避开了$L1$和$L2$损失的缺点。

在一般的目标检测中,通常是计算4个坐标值与GT框之间的差异,然后将这4个loss进行相加,构成regression

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值