![58c604cd3c4cbaf6a6b39c52e3a54316.png](https://img-blog.csdnimg.cn/img_convert/58c604cd3c4cbaf6a6b39c52e3a54316.png)
近期,人脸识别研究领域的主要进展之一集中在了 Softmax Loss 的改进之上;在本文中,旷视研究院(上海)(MEGVII Research Shanghai)从两种主要的改进方式——做归一化以及增加类间 margin——展开梳理,介绍了近年来基于 Softmax 的 Loss 的研究进展。
- 引言
- Softmax简介
- 归一化(Normalization)
- Weight Normalization
- Feature Normalization
- 增加类间angular margin
- 总结
参考文献
- [DeepID2]:[2014, NIPS],[Deep Learning Face Representation by Joint Identification-Verification]
- [FaceNet]:[2015, CVPR],[FaceNet: A Unified Embedding for Face Recognition and Clustering]
- [WeightNorm]:[2016, NIPS],[Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks]
- [L-Softmax]:[2016, ICML],[Large-Margin Softmax Loss for Convolutional Neural Networks]
- [DeepVisage]:[2017, arxiv],[DeepVisage: Making face recognition simple yet with powerful generalization skills]
- [L2-Softmax]:[2017, arxiv],[L2-constrained Softmax Loss for Discriminative Face Verification]
- [SphereFace]:[2017, CVPR],[SphereFace: Deep Hypersphere Embedding for Face Recognition]
- [UPLoss]:[2017, arxiv],[One-shot Face Recognition by Promoting Underrepresented Classes]
- [NormFace]:[2017, ACM MultiMedia],[NormFace: L2 Hypersphere Embedding for Face Verification]
- [AM-Softmax]:[2018, ICLR workshop],[Additive Margin Softmax for Face Verification]
- [CCL]:[2018, arxiv],[Face Recognition via Centralized Coordinate Learning]
- [ArcFace]:[2018, arxiv],[ArcFace: Additive Angular Margin Loss for Deep Face Recognition]
- [CosFace]:[2018, CVPR],[CosFace: Large Margin Cosine Loss for Deep Face Recognition]
- [RingLoss]:[2018, CVPR],[Ring loss: Convex Feature Normalization for Face Recognition]
- [CrystalLoss]:[2018, a journal],[Crystal Loss and Quality Pooling for Unconstrained Face Verification and Recognition]
- [FaceRecSurvey]:[2018],[Deep Face Recognition: A Survey]
- [HeatedUpSoftmax]:[2018],[Heated-Up Softmax Embedding]
- [UnequalTraining]:[2019 CVPR],[Unequal-Training for Deep Face Recognition With Long-Tailed Noisy Data]
- [人脸识别的LOSS(上,下)]:[知乎]
- [人脸识别最前沿在研究什么?]:[知乎]
关于人脸识别领域 Softmax Loss 相关的科普文章其实很多。例如 [人脸识别的 LOSS(上,下)] 以及 [人脸识别最前沿在研究什么?] 等文章分别从 paper 和目前主流工作的角度做了梳理。因此,本文不再挨个盘点时下各个 paper 所做的工作,而是从人脸识别中的 Softmax Loss 的历史发展脉络这个角度出发,沿着这条时间线详细介绍 Softmax Loss 的各种改进在当时的背景下是如何提出来的。
Softmax Loss 因为其易于优化,收敛快等特性被广泛应用于图像分类领域。然而,直接使用 softmax loss 训练得到的 feature 拿到 retrieval,verification 等“需要设阈值”的任务时,往往并不够好。
这其中的原因还得从 Softmax 的本身的定义说起,Softmax loss 在形式上是 softmax 函数加上交叉熵损失,它的目的是让所有的类别在概率空间具有最大的对数似然,也就是保证所有的类别都能分类正确,而 retievel 和 verification 任务所需要的是一个泛化性能更好的度量空间(metric space)。保证分类正确和保证一个泛化性优良的 metric space 这两者之间虽然相关性很强,但并不直接等价。
因此,近年来,face recognition 领域的主要技术进展集中在如何改进 softmax 的 loss,使得既能充分利用其易于优化,收敛快的优良性质,又使得其能优化出一个具有优良泛化性的 metric 空间。而这些技术改进主要又能被归为两大类别,做归一化以及加 margin。以下从这两个方面进行一些梳理。
从一个简单的基于 Softmax Loss 的例子出发。下图描述了基于 softmax loss 做分类问题的流程。输入一个训练样本,倒数第二层的 feature extraction layer 输出 feature x,和最后一层的 classification layer 的类别权重矩阵
![2a8537367b0e0200aa4b5cd94d9daeba.png](https://img-blog.csdnimg.cn/img_convert/2a8537367b0e0200aa4b5cd94d9daeba.png)
类别 weight
Softmax 能够放大微小的类别间的 logit 差异,这使得它对这些微小的变化非常敏感,这往往对优化过程非常有利。我们用一个简单的三分类问题以及几个数值的小实验来说明这个问题。假设正确的类别为 1。如下表的情况(d)所示,正确类别的概率才 1/2,并不高。
如果要进一步提高正确类别概率,需要正确类别分数远高于其它类别分数,需要网络对于不同样本(类别)的输出差异巨大。网络要学习到这样的输出很困难。然而,加了 softmax 操作之后,正确类别概率轻松变