在人脸识别中,算法的提高主要体现在损失函数的设计上,损失函数会对整个网络的优化有着导向性的作用。我们看到许多常用的损失函数,从传统的softmax loss到cosface, arcface 都有这一定的提高,这篇文章自己就来整理下这几个算法。
无论是SphereFace、CosineFace还是ArcFace的损失函数,都是基于Softmax loss来进行修改的。
Base line
Softmax loss
各种延伸的算法
Triplet loss, center loss
最新算法
A-Softmax Loss(SphereFace), Cosine Margin Loss, Angular Margin Loss, Arcface
1. Softmax loss
这就是softmax loss函数,
表示全连接层的输出。在计算Loss下降的过程中,我们让
的比重变大,从而使得log() 括号内的数更变大来更接近1,就会 log(1) = 0,整个loss就会下降。
这种方式只考虑了能否正确分类,却没有考虑类间距离。所以提出了center loss 损失函数。(paper)
2. Center loss