【深度学习基础】损失函数

深度学习基础:

  1. 性能评估指标
  2. 超参数介绍
  3. 损失函数

前言

本文主要总结一下常见目标检测的损失函数以及一些基础的函数,主要损失函数为mask-rcnn涉及到的损失函数包括:

  • MSE均方误差损失函数、
  • Cross Entropy交叉熵损失函数
  • 目标检测中常用的Smooth L1损失函数
  • focal loss,log loss
  • dice loss ,iou loss
    在这里插入图片描述

损失函数:

共分为两类,分类问题的损失,和回归问题的损失。
分类损失:

  • cross entropy loss
  • focal loss
  • log loss

回归损失:

  • L1 loss
  • L2 loss
  • smooth L1 loss

均方差损失函数(仅为比较经典)

均方差损失函数常用在最小二乘法中。它的思想是使得各个训练点到最优拟合线的距离最小(平方和最小)。均方差损失函数也是我们最常见的损失函数,定义如下:

在这里插入图片描述

其中, a=f(z)=f(w·x+b) :x是输入、w和b是网络的参数、 f(·) 是激活函数。

交叉熵损失函数(分类)

在这里插入图片描述

  • :是信息论中最基本、最核心的一个概念,它衡量了一个概率分布的随机程度,或者说包含的信息量的大小。
  • 交叉熵:的定义与熵类似,不同的是定义在两个概率分布而不是一个概率分布之上。对于离散型随机变量,交叉熵定义为
    在这里插入图片描述

交叉熵刻画的是两个概率分布之间的距离,或可以说它刻画的是通过概率分布q来表达概率分布p的困难程度,p代表正确答案,q代表的是预测值,交叉熵越小,两个概率的分布约接近。

  • softmax:(指在max的数据经常被取得,而小的数据也能被取得的softmax)计算公式:
    在这里插入图片描述
    softmax直白来说就是将原来输出是3,1,-3通过softmax函数一作用,就映射成为(0,1)的值,而这些值的累和为1(满足概率的性质),那么我们就可以将它理解成概率,在最后选取输出结点的时候,我们就可以选取概率最大(也就是值对应最大的)结点,作为我们的预测目标!

  • 交叉熵损失:计算神经网络gt分数和预测分数之间的差距,交叉熵损失函数公式为:

在这里插入图片描述
在这里插入图片描述

log loss(二分类)

在这里插入图片描述

focal loss(二分类)

focal loss为凯明大神的大作,主要用于解决多分类任务中样本不平衡的现象,可以获得比softmax_cross_entropy更好的分类效果。由log loss改进而来的,为了于log loss进行对比,公式如下:
在这里插入图片描述
在这里插入图片描述
比log loss多了一个
( 1 p i ) γ (1−p i ​ ) γ
在这里插入图片描述

Smooth L1损失函数(回归)

Smooth L1损失函数是在Fast R-CNN中被提出,他的bound box的回归方式使用了该损失函数

对于目标检测中的回归问题,最初大多采用均方误差损失 y f ( z ) 2 ||y-f(z)||^{2} 这样反向传播对w或者b求导时仍存在 y f ( z ) y-f(z) 那么当预测值和目标值相差很大时,就容易造成梯度爆炸。

所以我们将 y f ( z ) 2 ||y-f(z)||^{2} 这种均方误差形式,转变成 S m o o t h L 1 ( y f ( z ) ) Smooth_{L1}(y-f(z)) 这种形式
smoothL1主要公式如下:
在这里插入图片描述

  • 当预测框与 ground truth 差别过大时,梯度值不至于过大;
  • 当预测框与 ground truth 差别很小时,梯度值足够小。
  • Smooth L1 Loss结合了L2 Loss收敛更快,且在0点有导数,便于收敛的好处。也在边界区域结合了L1 Loss的好处,让网络对异常值更加robust,能够在偏移值较大时还能拉回来
    在这里插入图片描述

dice loss

Dice 可以理解为是两个轮廓区域的相似程度,用A、B表示两个轮廓区域所包含的点集,定义为:
在这里插入图片描述
或者可表示为:
在这里插入图片描述

IOU loss

在这里插入图片描述

参考链接

【地址1】
【地址2】
【交叉熵参考】
【图像处理中的loss汇总】
【深度学习激活函数/损失函数总结】

发布了68 篇原创文章 · 获赞 31 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35307005/article/details/102530601