人脸识别——margin来龙去脉

一 L-Softmax(ICML2016)

1. 前置工作:softmax, contrasive loss, tripliet loss,

2. Preliminaries

其中是向量和之间的夹角,去除偏置项之后,精度几乎保持不变,所以一般可将偏置项去除。

3. Intuition

考虑二分类问题,为了将样本正确分类到类别1,原始的softmax是让

为了让分类更严格,在上乘以一个margin,由于cos函数在0到上单调递减,所以:

新的分类准则在训练过程会更强烈的要求将分类到类别1,于是会产生更加严格的分类边界。

4. Definition

L_l=-\frac{1}{M} \sum_{i=1}^Mlog\frac{e^{\left\|W_{y_i}^T\right\| \left\|f(x_i)\right\|\psi (\theta _{y_i,i}) }}{e^{\left\|W_{y_i}^T\right\| \left\|f(x_i)\right\|\psi (\theta _{y_i,i}) }+\sum_{j!=y_i}e^{\left\|W_j^T\right\|\left\|f(x_i)\right\|\psi (\theta _{j,i})} }

m是个整数,表示margin,越大分类边界越分离,学习目标也越困难。paper中m=4时取得最好结果。

二 A-Softmax( CVPR2017 :SphereFace)

1. 前置工作:softmax, contrasive loss, tripliet loss, center loss, L-softmax(直观上看在其基础上归一化权重).

2. 从softmax loss到modified softmax loss(从优化inner product到优化angles):

其中是向量和之间的夹脚。归一化权重,并且将偏置置0,便可得到modified softmax loss:

该损失函数可以优化角度边界进而学习特征,但学习得到的特征依然没有很好的辨别性--->angular margin,强化特征的可辨别性。

3. 从modified softmax loss到A-Softmax soll (使分类边界更强,更可分)

,paper中取m=4。

三 L2-Softmax(2017)

1. 前置工作:softmax, contrasive loss, tripliet loss, center loss。

2. Softmax的主要问题:(1)训练和测试过程相互解耦,用该损失函数不能保证在归一化的空间中正例对更接近,负例对更远离;(2)处理难样本和极限样本的能力弱,在一个质量不平衡的训练batch内,该函数通过增加简单样例特征的L2范数来小化。

3. 解决办法:迫使每个图片特征的L2范数为相同值,让特征分布在一个固定半径的球面。优点1:在球面上最小化softmax loss等价于最大化正样本对的cosine 相似度以及最小化负样本对的cosine相似度;优点2:由于所有人脸特征都有相同的L2范数,softmax loss能更好的处理难样本和极限样本。

4. L2-softmax定义:\left\{ \begin{array}{**lr**}-\frac{1}{M}\sum_{i=1}^Mlog\frac{e^{W_{y_i}^Tf(x_i)+b_{y_i}}}{\sum_{j=1}^C e^{W_j^Tf(x_i)+b_j}}   , &  \\ \vert \vert f(x_i)\vert \vert_2=\alpha,\forall i=1,2,...,M & \end{array}  \right.

5. 新参数:让该参数可学习的话,优化过程中会不断变大,导致失去了该参数的意义,更好的选择是将它设定为一个较小的固定值(实验验证了可学习的方法精度会略微降低)。但是如果该值太小,训练将很难收敛,因为一个半径很小的超球面表面积有限,以至不能很好的分开不同类的特征以及聚拢同一个类别的特征。——>类别数越多,该值应该越大。对于5w以下id,取32,5w以上实验32,40,64。

四 NormFace(2017)

1. 前置工作:softmax, contrasive loss, triplet loss, center loss。

1. 当损失函数是softmax loss时,为什么进行特征比对时要归一化特征?由于softmax loss倾向于产生一个放射状的特征分布,如果不对特征进行归一化,同一个类中两个样本的Euclidean距离往往会大于不同类中两个样本的距离。通过归一化,便可采用两个特征向量的cosine距离衡量相似度。注意,当全联接层存在偏置b时,一些类别的特征会分布在原点附近,归一化后,将会拉伸这些特征,以至于出现这些类别特征分布重叠的现象,所以在该工作中,去除了全联接层的偏置b。

2. 如果直接优化cosine相似度(归一化softmax loss前面的特征和权重w),为什么不会收敛?由于cosine相似度的取值为[-1,1],这样小的range会阻止正确类别的预测概率接近1。对于不同的类别数目和归一化值,softmax loss会对应一个下限,如果把权重和特征归一化到1,该下限会比较大,如果将二者归一化到一个更大的值,该下限会持续降低。——> 在consine layer后添加scale layer:

3. 由于归一化后采用softmax loss会难以收敛,有没有其他的损失函数适合于归一化后的特征?agent strategy:

,C-contrasive,建议margin:1。

, C-triplet,建议margin:0.8。

是第j个类别的summarizer。

4. 实验结论:有pretrain模型的前提下,归一化后采用softmax loss也能得到reasonably的结果,如果随机初始化,归一化权重会造成训练collapse,归一化特征will lead to a worse accuracy。当FAR较低的时候归一化技术会表现得更好。

5. 一个trick:采用加法融合图片的特征和mirror后的图片的特征,而不是concat。

五 AM-Softmax(2018)

1. 前置工作:softmax, L-softmax, A-softmax, contrasive loss,triplet loss。

2. 定义

,可得:

让s可学习会收敛比较慢,所以固定s=30。

3. Angular Margin 还是 Cos Margin

Sphere face --- Angular Margin; AM-Softmax -- Cos Margin。Angular Margin在概念上更好,但是Cos Margin对于计算更友好,它能以较小的开销达到和Angular Margin相同的目的。

4. CosFace(CVPR2018)方法基本一致。

六 ArcFace(CVPR2019)

1. 定义

2. 在ArcFace中加入Inter-loss,Intra-loss,Triplet-loss,并没有提升。

3. 训练得到的全联接层W没有通过模型计算出来的特征中心有代表性。

你可能感兴趣的:(人脸识别——margin来龙去脉)