深度学习—损失函数专题

发布时间 2023-05-09 18:15:08作者: JevonChao

损失函数概念

  1、对于监督学习:估量神经网络模型的预测值和真实值的不一致的程度,衡量的是:在神经网络训练阶段,某个或若干个输入样本,在输出层上的预测值和真实值之间不一致的程度

  2、广义上(无监督):衡量两个特征向量之间的差异程度/不一致程度/距离

  3、作用:定义最终的损失值,是神经网络误差回传和权值更新的主要依据。对神经网络的模型训练起着关键基础性的作用。

  4、常见的损失函数:MSE均方差损失、Cross Entropy交叉熵损失函数、Softmax损失、Focal Loss损失、Dice Loss等。

  5、设计损失函数的一般原则是:

    1)区分CV/PR的任务类型和数据特点:有监督学习或无监督学习、长尾分布或均衡分布;

    2)要归类拟解决的问题属于哪个领域:回归或分类、物体识别或目标检测或图像分割、坐标位置、年龄估计、颜值评分等;

    3)设计损失函数的关键是要能解决问题,或能取得更好的效果,以好的结果为前提,追求公式简单和优美;

    4)注意损失函数本身与神经网络的设计及优化调参技巧密切相关,缺一不可、相互影响,需要消融实验。

  6、损失函数归类

    回归损失:MSE损失、MAE损失、Huber损失;

    分类损失:Hinge Loss、Focal(可用来做目标检测)

 

 

各个损失函数

  1、L1 Loss/绝对误差损失MAE

    概念:
    特点:回归任务、目标检测

    优点:MAE作为损失函数更稳定,并且对离群值不敏感。

    缺点:MAE函数不连续(0点处不可导),求解效率低、收敛较慢。

  2、L2 Loss/均方差损失MSE

 

 

  3、Huber Loss 与 Smooth L1 Loss   

  4、Cross Entropy Loss / Softmax Loss 交叉熵损失

    用于分类任务和图像分割任务,当前样本在预测真实值的概率的对数

  5、Binary Cross Entropy Loss 二元交叉熵损失

    输出层只有一个神经元

    用于分类和图像分割任务

  6、Focal Loss 

    用于分类任务和目标检测

  7、Center Loss 

    用于分类任务,是Softmax损失函数Ls与center损失函数Lc的结合

  8、Hinge Loss 

    用在激活前的值上,其他都在激活后

  9、Dice Loss

    用于图像分割任务,尤其是语义分割 / 二分类

    矩阵运算,速度快

  10、Tversky Loss

 

高级损失函数

  改动激活函数,并非是损失函数和交叉熵