不同margin的对比

目前人脸识别算法以large margin为主,这里提出并讨论两个问题:

问题一:large margin为什么能work?

  • L-Softmax重构了Softmax,输出x变成Wf=Wfcos(θ)W\cdot f=|W|\cdot |f|\cdot cos(\theta ),SphereFace归一化权值W,变成Wf=fcos(θ)W\cdot f=|f|\cdot cos(\theta );最新AM-Softmax和ArcFace继续归一化特征乘尺度因子,变成Wf=scos(θ)W\cdot f=s\cdot cos(\theta )。所以这里我们简化问题,默认归一化权值W和特征f,即 ex=escos(θ)e^{x}=e^{s\cdot cos(\theta )},仅考虑cos(θ)cos(\theta )这一项变动对分类任务的影响。
  • 还是讨论四分类问题,输出{ x1,x2,x3,x4{x_{1},x_{2},x_{3},x_{4}}}等价于{scos(θ),x2,x3,x4{s\cdot cos(\theta ),x_{2},x_{3},x_{4}}}。原始Softmax在输出x = {5, 1, 1, 1}时就接近收敛,训练停止,此时改用large margin softmax,第一列的cos(θ)cos(\theta )强制变成cos(mθ)cos(m\cdot \theta )cos(θ)mcos(\theta )-mcos(θ+m)cos(\theta+m ),会使输出减小,其他列保持不变,此时输出可能变成了x = {4, 1, 1, 1},网络又可以继续训练了。
  • 这一过程与“从hardmax的 到softmax的 exe^{x}非线性放大了输出,减小训练难度,使分类问题更容易收敛”正好相反,从cos(θ)cos(\theta )cos(mθ)cos(m\cdot \theta )cos(θ)mcos(\theta )-mcos(θ+m)cos(\theta+m ),都非线性减小了输出,增加训练难度,使训练得到的特征映射更好。
  • 不同loss的曲线对比,下图来自ArcFace,所有loss都是单调递减的。对比Softmax的 cos(θ)cos(\theta ) 曲线,乘性margin的SphereFace对应cos(mθ)cos(m\cdot \theta )曲线下降最多,训练难度剧增,退火技术也难以收敛,反观加性margin的CosineFace和ArcFace下降较少,训练难度稍微增加,所以更容易收敛。
    人脸识别损失:优化Margin

问题二:Large Margin到底优化了什么?

前面提到large margin显式约束了类间分离,看可视化结果好像也是这样,但其实这种说法是不对的。

  • large margin优化的核心——夹角θ\theta是权值W和特征f之间的夹角,并不是不同类别之间的夹角,loss函数也完全没有涉及不同类别特征向量之间的夹角约束。
  • 具体来看Wf=Wfcos(θ)W\cdot f=|W|\cdot |f|\cdot cos(\theta ),考虑W和f都是归一化的,训练目标从cos(θ)cos(\theta )变成cos(4θ)cos(4\cdot \theta )cos(θ)0.35cos(\theta )-0.35cos(θ+0.5)cos(\theta+0.5 ),,都减小了输出**值,如果要达到目标置信度100%,就需要优化出比Softmax更小的夹角θ\theta,也就是说large margin的优化目标是让权值向量W和特征向量f之间的夹角更小。
  • 对特定类别来说,假如有1000张图像,经CNN特征映射后得到1000个特征向量,而权值向量W是每个类别只有一个,large margin loss要求这1000个特征向量和这1个权值向量的夹角非常小,也就是说,优化让1000个特征向量都向权值向量W的方向靠拢。
  • 下图是SphereFace(m=4)在MNIST上跑出来的特征映射,不同颜色代表不同类别,每个类别的中心白线就是这个类别的权值向量可视化的结果,与前面的分析完全一致。结论就是:large magin是显式的类内夹角约束,目标是让同一类的所有特征向量都拉向该类别的权值向量。
    人脸识别损失:优化Margin
    摘录: https://zhuanlan.zhihu.com/p/34436551
    参考:
    [1] Liu W, Wen Y, Yu Z, et al. Large-Margin Softmax Loss for Convolutional Neural Networks [C]// ICML, 2016.
    [2] Liu W, Wen Y, Yu Z, et al. SphereFace: Deep Hypersphere Embedding for Face Recognition [C]// CVPR. 2017.
    [3] Wang F, Liu W, Liu H, et al. Additive Margin Softmax for Face Verification [C]// ICLR 2018 (Workshop) .
    [4] Wang H, Wang Y, Zhou Z, et al. CosFace: Large Margin Cosine Loss for Deep Face Recognition [C]// CVPR, 2018.
    [5] Jiankang Deng, Jia Guo, Stefanos Zafeiriou. ArcFace: Additive Angular Margin Loss for Deep Face Recognition [J]. arXiv:1801.07698. (Submitted to IJCV)

注:博众家之所长,集群英之荟萃。

相关文章: