人脸识别之 Center Loss

2016年的 ECCV

1. Introduction

对于人脸识别来说,不仅要将不同类的特征分开,还应该将同一类内样本的特征变得紧凑

本文提出一个新的损失函数:center loss,有效增强CNN对学到的深度特征的辨别力。

什么是辨别力?
如图:
这里写图片描述
不同类分开了,但是同一类的样本距离也比较大(图左)。
有了辨别力后,同一类内样本变得更紧凑了(图右)。

center loss为每一个类学习一个特征中心,让属于这个类的样本特征靠近特征中心。训练时,同时更新特征中心并最小化深度特征与所属类特征中心的距离。

本文采用softmax loss和center loss共同监督。

softmax 可以让不同类的深度特征分开。center loss可以将同一类的特征吸引到类中心。
这样,不仅可以扩大不同类的特征区别,还可以减小同一类的特征的区别。

另外提到3元组(非本文算法)的缺点,3元组的问题在于3元组数量巨大,需要挑选合适的三元组。挑选过程需要很大的计算资源,同时训练流程变得不方便。

2. The Proposed Approach

2.1 center loss

这里写图片描述
c_yi表示第yi个类的特征中心,xi表示属于第yi个类的样本的特征

随着提取的特征变化,计算出的特征中心也会变化,反向传播时还会对计算出的中心进行修正,因为CNN提取的特征不好会导致特征中心不能代表该类。

理论上特征中心应该将所有的训练集考虑,计算特征中心。但每一次迭代都这样做不现实。
为了解决这个问题,我们:
(1)计算mini-batch的特征中心
(2)为了避免由错误标签引起的巨大扰动,设置一个权重来控制特征中心的学习率。

将softmax loss也加进来,新的loss funtion为
这里写图片描述
Ls指softmax loss, Lc指center loss
lambda用于平衡两个损失,lambda的值对特征的辨别很重要。
如图,lamda = 1,可以让类内的特征离特征中心更近
这里写图片描述

具体学习细节:
(1)计算softmax loss与center loss
(2)反向传播,求梯度
(3)更新权重W
(4)更新特征中心
(5)更新卷积层的初始化参数
这里写图片描述

2.2 Disccussion

联合监督的必要性
如果只选择softmax loss,将会有很大的类内变化
如果只选择center loss,所有类的特征中心都会非常小,接近0,导致类间的区分就不大

3. Architecture

这里写图片描述

这里需要注意的是,第4个池化层输出的feature map会和第3个LC层输出的feature map相拼接,作为FC层的输入。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值