L-Softmax Loss & A-Softmax Loss解析

L-Softmax

Softmax Loss函数经常在卷积神经网络中被广泛应用,但是这种形式并不能够有效地学习得到使得类内较为紧凑、类间较离散的特征。论文Large-Margin Softmax Loss for Convolutional Neural Networks提出了L-Softmax loss,能够有效地引导网络学习使得类内距离较小、类间距离较大的特征。
对于Softmax loss而言:

其中fj表示最终全连接层的类别输出向量f的第j个元素,N为训练样本的个数。由于f=W*X是全连接层的激活函数的输出,W和X均为多维向量,最终的损失函数又可以写为:


假设一个2分类问题,如果属于类别1的概率大于类别2的概率,则:

L-Softmax loss的动机是希望通过增加一个正整数变量m,从而产生一个决策余量,能够更加严格地约束上述不等式,即:

其中m是正整数,cos函数在0到π范围又是单调递减的,所以cos(mx)要小于cos(x)。m值越大则学习的难度也越大,使得模型可以学到类间距离更大的,类内距离更小的特征,具体示意如下:

最终L-Softmax loss定义如下:

以一个二分类问题为例,L-Softmax loss学习到的参数可以将两类样本的类间距离加大,最后学到的特征之间的分离程度比原来的要明显得多,具体示意图如下:

论文在MNIST,CIFAR10以及CIFAR100三个分类问题和人脸比对LFW数据集进行评测,最后的结果是相对于softmax loss,L-Softmax Loss均取得了更好的效果,而且当m越大时,最终的结果会越好。而且论文仅使用了WebFace的人脸数据作为训练集和一个较小的卷积网络,就在LFW上达到了98.71%的正确率,具体LFW测试结果如下:

L-Softmax Loss有一个清楚的几何解释,并且能够通过设置m来调节训练难度。它还能够有效地防止过拟合,能够有效地减小类内距离,同时增加类间距离。最终的分类和人脸验证实验也证明,它确实取得了比softmax loss更好的结果。

A-Softmax

A-Softmax loss是CVPR2017的论文SphereFace: Deep Hypersphere Embedding for Face Recognition提出的,简单来说就是在L-Softmax loss的基础上添加了两个限制条件||W||=1和b=0,使得预测仅取决于W和x之间的角度,具体示意图如下(其中Modified Softmax Loss仅是在Softmax上加入||W||=1和b=0这两个限制条件):

其中Modified Softmax loss数学表达式如下:

A-Softmax表达式如下:

对于一个二分问题,从几何角度看A-Softmax与其他loss的区别:

A-Softmax loss在使用时需要注意的一些特性如下:

  • 通常情况下,m值越大,学习到的特征区分性更强,但学习难度更大,通常m取4时可以取得较好的效果:
  • 针对二分类问题,m最小值值需满足:
  • 针对多分类问题,m最小值需满足:

在LFW和YFT上不同m值的表现如下:

与softmax loss对比如下:

与其他算法对比如下:

在Megaface上的表现如下:

从实验结果可以看出,A-Softmax loss相对L-Softmax和centerloss在效果上会有所提升。

如果觉得我的文章对您有用,请随意赞赏