18.4.9 Range Loss for Deep Face Recognition with Long-tail 小感

最近读了一篇《Range Loss for Deep Face Recognition with Long-tail》,是继centerloss,A-softmax loss之后的有一篇对loss进行的工作,即提出了range loss。其中caffe中定义的range loss的层定义已经在github上上传了(传送门)。

首先,作者提出了现在数据库中普遍存在的问题,就是数据存在长尾分布的情况。那么什么是长尾分布呢?其实有点类似于二八定律,即80%的财富集中在20%的人手里等等。
这里写图片描述图1

如图1所示,右边黄色的尾巴部分虽然值普遍很小,但是由于数量很多,导致其对一个模型的训练有很大的影响。长尾分布的数学定义为:
这里写图片描述
对于人脸数据库而言,长尾分布主要表现在很多的identity含有较少的赝本数量,如图2所示。
这里写图片描述图 2

作者考虑到人脸数据库存在长尾分布的情况,为了能够分析出长尾分布对识别的影响,所以作者先做了几组对比实验。实验在LFW数据库上进行。考虑到该实验是为了分析出long tail对识别的影响,所以作者对tail部分进行不同程度的裁剪来比较识别率。裁剪的规则如图3所示,详细的数据如图4所示,识别结果如图5所示。
这里写图片描述 图3
这里写图片描述 图4
从图3和图4中可以看出,LFW数据库中存在明显的长尾分布情况。最多的10000个identity人均有69张图片,而剩下的89891个人人均只有11张图片左右。
这里写图片描述 图5
从图5 的实验结果可以看出来,当截取50%的tail部分的时候,识别率达到最高。随着截取的百分比变化的时候,识别的结果也有所变化,足以看出来tail对识别的影响还是比较大的。

为了进一步看看long tail对识别率的影响,作者还利用VGG在LFW上进行了实验,考虑到在上一个实验中50%的截取率得到的performance最好,所以作者在此次实验中仅仅做了不截取和截取50%d的两组实验,但是不同的是,作者不单单选取softmax作为最后的目标函数,还加上了contrastive loss和 triplet loss。实验结果如图6所示。
这里写图片描述 图6
从图6的结果中可以看出截取50%的tail对实验的识别率有着一定的提升,进一步说明了长尾数据对识别率的影响还是比较大的。为了能够解决或者说是减少这种长尾分布带来的影响,作者提出了range loss。range loss所要带来的影响其实和centerloss很类似,就是减小类内距,增大类间距。不同的是,range loss还有一个目的是减小tail部分数据(poor class)对识别率的影响。
range loss的损失函数如下:
这里写图片描述
其中,
这里写图片描述
这里写图片描述
其中部分的参数可以从图7中去理解。作者在这利用的是调和平均值来解决的类内距离的,其中k的值,作者按照经验设置为2。值得一提的是,调和平均值特别受到极值的影响。
这里写图片描述 图7
实现的伪代码如图8所示。
这里写图片描述 图8

作者在LFW和YTF数据库上在VGG网络的基础上加上了range loss分别进行了实验,实验结果如图9所示。
这里写图片描述 图9
其中model A表示的是softmax loss,model B表示的是softmax loss 和constrative loss, model C表示的是softmax loss和range loss。从实验的结果中可以看出,利用了range loss之后不截取tail的识别率明显高于截取了50%的结果。这说明了,range loss减少了poor class对识别率的影响。

为了能够说明range loss的普遍适应性,作者在ResNet上也进行了实验,实验的结果如图10所示。
这里写图片描述 图10
其中model D 是仅利用softmax loss,model E是利用softmax loss和range loss的联合损失。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值