L-Softmax

Large-Margin Softmax Loss for Convolutional Neural Networks.pdf

Softmax Loss 函数经常在卷积神经网络中被广泛应用,但是这种形式并不能够有效地学习得到使得类内较为紧凑、类间较离散的特征。论文Large-Margin Softmax Loss for Convolutional Neural Networks提出了 L-Softmax loss,能够有效地引导网络学习使得类内距离较小、类间距离较大的特征。
对于 Softmax loss 而言(注:作者为了简化分析,省略的偏置项b。Note that, we omit the constant b in f j ,∀j
here to simplify analysis, but our L-Softmax loss can still be easily modified to work with b. In fact, the performance
is nearly of no difference, so we do not make it complicated here.):
L-Softmax和A-Softmax - 图1

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

L-Softmax和A-Softmax - 图2

假设一个 2 分类问题,如果属于类别 1 的概率大于类别 2 的概率,则:
L-Softmax和A-Softmax - 图3

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

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

最终 L-Softmax loss 定义如下:
L-Softmax和A-Softmax - 图6

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

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

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

A-Softmax

SphereFace Deep Hypersphere Embedding for Face Recognition.pdf

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 这两个限制条件):
L-Softmax和A-Softmax - 图9

其中 Modified Softmax loss 数学表达式如下:
L-Softmax和A-Softmax - 图10

A-Softmax 表达式如下:
L-Softmax和A-Softmax - 图11

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

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

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

在 LFW 和 YFT 上不同 m 值的表现如下:
L-Softmax和A-Softmax - 图16

与 softmax loss 对比如下:
L-Softmax和A-Softmax - 图17

与其他算法对比如下:
L-Softmax和A-Softmax - 图18

在 Megaface 上的表现如下:
L-Softmax和A-Softmax - 图19

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