loss的变化
Y = wx + b
softmax loss
使得该类的样本更多地落入到该类的决策边界之内。
- 而这种方式主要考虑样本是否能正确分类,缺乏类内和类间距离的约束。
Center Loss
Center Loss的整体思想是希望一个batch中的每个样本的feature离feature 的中心的距离的平方和要越小越好,也就是类内距离要越小越好。作者提出,最终的损失函数包含softmax loss和center loss,用参数λ来控制二者的比重。
Center Loss的出现,使得人脸识别的研究转向损失函数的改进
- Softmax Loss学习到的特征分辨性不够强,Center Loss考虑到了使得类内紧凑,却不能使类间可分,而Contrastive Loss、Triplet Loss增加了时间上的消耗
L-Softmax
A-Softmax Loss(SphereFace)
令 b j = 0就是为了让特征学习到更可分的角度特性
由于cosθ在[ 0 , π ] 上单调递减,因此θ 有上界,为了使得这个函数随角度单调递减,作者构造一个函数去代替cosθ。
这里面包含softmax约束,因为实验证明这样更好,所以最后公式如下:
其中作者说s=64但是没有理解啥意思
Cosine Margin Loss(CosineFace)
与SphereFace相比,CosineFace最明显的变化就是将cos(t⋅θ)中的t提出来变成cos(θ)-t
优点:更易实现,计算简便、更易收敛(没有softmax的约束)
Angular Margin Loss(ArcFace)
对于cos(θ+t)可以得到cos(θ+t)=cosθcost−sinθsint,对比CosineFace的cos(θ)−t,ArcFace中的cos(θ+t)不仅形式简单,并且还动态依赖于sinθ,使得网络能够学习到更多的角度特性。
这一过程与“从hardmax的 x到softmax的 ex非线性放大了输出,减小训练难度,使分类问题更容易收敛”正好相反,从 cos(θ+t) 到cos(mθ)] 、 cos(mθ)+ t或cos(mθ)- t,都非线性减小了输出,增加训练难度,使训练得到的特征映射更好
还有一个知乎来着忘记在哪里了
参考链接:https://blog.csdn.net/Wuzebiao2016/article/details/81839452