L2_Softmax Loss

  • 《L2-constrained Softmax Loss for Discriminative Face Verification》
    2017,Rajeev Ranjan,L2-constrained Softmax Loss

引言:
人脸验证在LFW数据集上做的很好,但是在实际场景:存在大量视角、分辨率、图像质量变化和遮挡时,验证效果并没有那么理想。主要是两个原因造成的:
1.数据质量不均衡:目前常用的人脸识别公开训练集图像大都是高清、正脸人脸图像,很少包含无限制条件下的难以识别的人脸图像。现在大多数的DCNN模型,使用softmax loss做分类,使用前面提到的训练集训练出来的模型,对高质量的图像过拟合,但对难以识别的图像欠拟合。
DCNN人脸识别流程:
在这里插入图片描述
2.softmax loss不适合做人脸验证任务:softmax loss只是保证学习到的特征不用做任何matric learning的时候,能够使得人脸特征可分。但是softmax loss并没有保证positive pairs学到的特征足够近而negative pairs学到的特征足够远,因此不是很适合去做人脸验证任务。另外一点是,softmax loss是要最大化给定的mini-batch中所有样本的条件概率。但是,由于高质量的人脸图像的特征​范数较大,低质量人脸图像的特征​范数较小,如果直接让容易验证的样本的​范数比较大,让难以验证的样本的​范数较小,则可以得到最小化的softmax loss。因此,如果直接使用softmax loss只关注了mini-batch中高质量的人脸图像,而忽略了该mini-batch中较少的低质量的人脸图像。
实验验证:
在这里插入图片描述
如上图所示,低质量的图像对验证准确率最差,而高质量的图像对验证准确率最高。证明了作者上述观点。

解决办法:
提出L2-Softmax损失函数,将学习的特征x归一化。作者观测到好的正面的脸,特征的L2-norm大,而特征不明显的脸,其对应的特征L2-norm小,因此提出这样的约束来增强特征的区分度。

在这里插入图片描述
上面式就是将其归一化到固定值α。实际训练的时候都不需要修改代码,只需要添加L2-norm层与scale层,如下图。
在这里插入图片描述
好处:
由于​损失函数使得所有人脸图像的特征的​范数大小相同,所以softmax loss不会只偏重于对easy samples的学习,也会对diffcult samples进行学习;
还是由于特征的​范数大小一致,所以所有的特征样本的特征都分布于一个固定半径的超球面上,此时最小化softmax loss等价于最大化positive pairs之间的余弦相似度,同时最小化negative pairs之间的余弦相似度。

在MNIST数据集上验证L2-softmax:
在这里插入图片描述
在这里插入图片描述
参数α的限制:
参数α有两种设置方式,一是在训练过程中设置α为固定值,二是​通过训练获得。但是第二种方式得到的α会得到比较大的值,添加的​限制太过宽松。作者建议设置​为一个比较小的固定值。

但是作者也观察到α的值设置太小的时候,超球面的表面积太小,特征分布不开,最后验证准确率也不高。

在这里插入图片描述
上图(b)表示以验证准确率p=0.9时,类别数C越大,需要值越大。

作者建议的最小值为:
在这里插入图片描述
网络结构:Face-Resnet
在这里插入图片描述
实验结果:
在这里插入图片描述
α值需要手动设置或者自动学习,手动设置比较麻烦,调参费劲。

和centerloss进行比较:

在这里插入图片描述
总结:
本文提出了L2-constrained Softmax Loss,来提高人脸识别系统的准确率。同时证明了特征范数可以对图像质量进行判断,特征范数越大图像质量越好。

Tensorflow参考代码:

 # L2-constrained Softmax
        bottleneck_normalized = tf.nn.l2_normalize(bottleneck, 1, 1e-12)
        scale = tf.get_variable("scale", (), dtype=tf.float32,
                            initializer=tf.constant_initializer(4.0), 
                            regularizer=slim.l2_regularizer(FLAGS.weight_decay))
        bottleneck_scale = tf.multiply(bottleneck_normalized, scale)

参考: https://zhuanlan.zhihu.com/p/34044634
https://blog.csdn.net/cdknight_happy/article/details/80392523


注:博众家之所长,集群英之荟萃。

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peanut_范

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值