损失函数改进方法总览
损失函数改进方法总览
https://blog.csdn.net/u014380165/article/details/76946358
这篇博客主要列个引导表,简单介绍在深度学习算法中损失函数可以改进的方向,并给出详细介绍的博客链接,会不断补充。
1、Large Marge Softmax Loss
ICML2016提出的Large Marge Softmax Loss(L-softmax)通过在传统的softmax loss公式中添加参数m,加大了学习的难度,逼迫模型不断学习更具区分性的特征,从而使得类间距离更大,类内距离更小。核心内容可以看下图:
详细了解可以参看:损失函数改进之Large-Margin Softmax Loss
2、Center Loss
ECCV2016提出的center loss是通过将特征和特征中心的距离和softmax loss一同作为损失函数,使得类内距离更小,有点L1,L2正则化的意思。核心内容如下图所示:
详细了解可以参看:损失函数改进之Center Loss
3、Angular Softmax Loss
CVPR2017提出的A-softmax loss(angular softmax loss)用来改进原来的softmax loss,并将A-softmax loss用于人脸识别,这就是SphereFace,作者还是Large margin softmax loss的原班人马。A-softmax loss简单讲就是在large margin softmax loss的基础上添加了两个限制条件||W||=1和b=0,使得预测仅取决于W和x之间的角度。核心思想可以参看下面这个图。
详细了解可以参看:SphereFace算法详解
4、Focal Loss
Focal loss是Facebook的RBG和Kaiming大神在ICCV2017的best paper,主要是改进了目标检测(object detection)算法的效果,在COCO数据集上的AP和速度都有明显提升。核心思想在于概括了object detection算法中proposal-free一类算法准确率不高的原因在于:类别不均衡。于是在传统的交叉熵损失上进行修改得到Focal Loss。
详细了解可以参看:Focal Loss
5、Additive Angular Margin Loss
这篇文章提出一种新的用于人脸识别的损失函数:additive angular margin loss,基于该损失函数训练得到人脸识别算法ArcFace(或者叫InsightFace)。ArcFace的思想(additive angular margin)和SphereFace(angular softmax loss)以及不久前的CosineFace(additive cosine margin )有一定的共同点,重点在于:在ArchFace中是直接在角度空间(angular space)中最大化分类界限,而CosineFace是在余弦空间中最大化分类界限,这也是为什么这篇文章叫ArcFace的原因,因为arc含义和angular一样。
公式如下: