1. Softmax
如果有n类,则权重w为n个向量组成的矩阵。
是特征向量x与对应权重向量之间的角度。在softmax中,只需要即可判定x属于第1类。
2. L-Softmax
首次提出angular margin的思想。对softmax进行改造,引入角度间隔系数m。m是一个大于1的数,需要在的情况下,才判定x属于第1类,相比softmax的判别要求更加严格。
3. A-Softmax
与L-Softmax类似,不同的是对权重w L2正则化并把bias设定为0之后才引入角度间隔系数m。
4. AM-Softmax
对特征x和权重w L2正则化后,引入余弦间隔距离m。要求才判定x属于第1类。由于标准化后的两个向量,它们的欧氏距离的平方与余弦距离成正比,因此,这里实际上就是要求归一化后的特征x与归一化后的权重欧氏距离很近,即两个向量之间的夹角很小。AM-Softmax比A-Softmax的优势在于:A-Softmax倍角计算是要通过倍角公式,反向传播时不方便求导,而只减m反向传播时导数不用变化。
5. ArcFace
对特征x和权重w L2正则化,并引入角度间隔距离m。需要在的情况下,才判定x属于第1类,比单纯的softmax更加严格。
与AM-Softmax不同的是ArcFace引入角度距离,而非余弦距离。因为相比余弦距离,增加角度对分类的影响更加直接。
与A-Softmax有两点不同:
1.A-Softmax是乘以一个角度系数,而ArcFace是加上一个角度。
2.A-Softmax只对权重w 进行L2正则化,而ArcFace是对权重w和特征向量x都进行了正则化,再乘以一个缩放比例s。
6. 补充一个很关键的知识点:
标准化后的两个向量,它们的欧氏距离的平方与余弦距离成正比
7. xmind总结
8. ArcFace代码
9. 可视化结果
论文地址:
L-Softmax
A-Softmax
AM-Softmax
ArcFace
参考资料:
人脸识别中的常见softmax函数总结
Softmax、L-Softmax、A-Softmax的整理对比
人脸识别系列(十六):AMSoftmax
人脸识别:arcFace Loss详解