url: https://kpzhang93.github.io/papers/eccv2016.pdf
year: ECCV2016

abstract

对于人脸识别任务来说, 网络学习到的特征具有判别性是一件很重要的事情. 增加类间距离, 减小类内距离在人脸识别任务中很重要.
那么, 该如何增加类间距离, 减小类内距离呢?
通常, 我们使用 softmax loss 作为分类任务的loss, 但是, 单单依赖使用 softmax 监督学习到的特征只能将不同类别分开, 却无法约束不同类别之间的距离以及类内距离. 为了达到增加类间距离, 减小类内距离的目的, 就需要额外的监督信号, center loss 就是其中一种.

center loss 包含两个流程:

  1. 学习一个类别的深度特征的中心
  2. 使用该中心约束属于该类别的特征表示

最常用的CNN执行特征学习和标签预测,将输入数据映射到深度特征(最后隐藏层的输出),然后映射到预测标签,如上图所示。最后一个完全连接层就像一个线性分类器,不同类的深层特征通过决策边界来区分。

center loss design

如何开发一个有效的损失函数来提高深度学习特征的判别力呢?
直观地说,最小化类内方差同时保持不同类的特征可分离是关键。

center loss 形式如下:

\(c_{y_i} \in R^d\) 为第\(y_i\)类的特征表示的中心
center 更新策略

total loss 函数

toy experiment 可视化

超参设置实验

\(\lambda \quad\) softmax 与 center loss的平衡调节因子
\(\alpha \quad\) center 学习率, 即$ center -= \alpha \times diff$

experiment result

thought

就身边的哥们用 center loss 的经验来看, center loss 在用于非人脸识别的任务上, 貌似效果一般或者没有效果. 可能只有像人脸任务一样, 类内深度特征分布聚成一簇的情况下, 该 loss 比较有效. 如果分类任务中, 类内特征差异比较大, 可能分为几个小簇(如年龄预测), 该 loss 可能就没有啥用处了. 而且 center loss 没有做特征归一化, 不同类的特征表示数量级可能不一样, 导致一个数量级比较大特征即使已经很相似了, 但是其微小的差距也可能比其他的数量级小的特征的不相似时的的数值大.

而且, 学习到的 center 只用于监督训练, 在预测过程中不包含任何与 center 的比较过程.

就学习 center 这一思想而言, 感觉 cosface 中提到的 large margin cosine loss 中用于学习 feature 与权重之间的 cosine 角度, 比较好的实现这种学习一个 center(以 filter 的权重为 center), 然后让 center 尽量与 feature 距离近的思想可能更好一点, 即能在训练时规范 feature 与 center 之间的距离, 又能在预测时候, 通过与 center 比对 cosine 大小来做出预测.


A Discriminative Feature Learning Approach for Deep Face Recognition的更多相关文章

  1. [论文阅读] A Discriminative Feature Learning Approach for Deep Face Recognition (Center Loss)

    原文: A Discriminative Feature Learning Approach for Deep Face Recognition 用于人脸识别的center loss. 1)同时学习每 ...

  2. Center Loss - A Discriminative Feature Learning Approach for Deep Face Recognition

    URL:http://ydwen.github.io/papers/WenECCV16.pdf这篇论文主要的贡献就是提出了Center Loss的损失函数,利用Softmax Loss和Center ...

  3. 论文笔记:Learning how to Active Learn: A Deep Reinforcement Learning Approach

    Learning how to Active Learn: A Deep Reinforcement Learning Approach 2018-03-11 12:56:04 1. Introduc ...

  4. 论文笔记之:Heterogeneous Face Attribute Estimation: A Deep Multi-Task Learning Approach

    Heterogeneous Face Attribute Estimation: A Deep Multi-Task Learning Approach  2017.11.28 Introductio ...

  5. paper 124:【转载】无监督特征学习——Unsupervised feature learning and deep learning

    来源:http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio c ...

  6. 论文笔记之:From Facial Parts Responses to Face Detection: A Deep Learning Approach

    From Facial Parts Responses to Face Detection: A Deep Learning Approach ICCV 2015 从以上两张图就可以感受到本文所提方法 ...

  7. 论文笔记:Deep feature learning with relative distance comparison for person re-identification

    这篇论文是要解决 person re-identification 的问题.所谓 person re-identification,指的是在不同的场景下识别同一个人(如下图所示).这里的难点是,由于不 ...

  8. 转:无监督特征学习——Unsupervised feature learning and deep learning

    http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio clas ...

  9. [转] 无监督特征学习——Unsupervised feature learning and deep learning

    from:http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio ...

随机推荐

  1. scala的多种集合的使用(7)之集Set的操作方法

    1.给集添加元素 1)用+=.++=和add给可变集添加元素. scala> var set = scala.collection.mutable.Set[Int]() set: scala.c ...

  2. MVC设计思想

    MVC就是按照程序的功能将他们分成三个层,Model层(模型层),View层(显示层),Controller(控制层). Model层:可以细分为两层,分别是dao层.service层,这两层主要功能 ...

  3. 一次单体测试的采坑--MatcherAssert.assertThat---org.hamcrest 和org.mockito

    单体测试测试环境ci上报这个错, 本地没问题. org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Descri ...

  4. python-装饰器的最终形态和固定格式 语法糖

    import time def timer(f): # 这是一个装饰器函数 def inner(): start = time.time() f() # 被装饰的函数 end = time.time( ...

  5. java工程师的成长历程

    2019年2月 这是我站在刚入行的角度,对自己未来的发展做出的初步的规划,以后慢慢调整 一. 初级java工程师 1.熟悉java的基本语法,拥有面向对象的思维,熟悉javaSE的核心类库 2.学习j ...

  6. 第一章 Python基本语法元素分析(二)

    1.3   实例1:温度转换 根据华氏和摄氏温度定义,利用转换公式如下: C=(F-32)/1.8 F=C*1.8+32 代码如下: 运行结果: 1.4   Python程序语法元素分析 注释:不被程 ...

  7. jqgrid的增删改查

    这个是要写的页面(需要引入下面的js页面) 1 <div class="modal-body" width="100%" style="over ...

  8. rk3128 通过串口控制 GPIO

    2019-04-24 关键字: rk平台控制GPIO功能.rk串口控制引脚电平 本篇文章介绍了如何通过串口来控制 RK3128.RK3288 平台的 GPIO . 我们可以很便捷地通过串口命令来控制 ...

  9. HTML&CSS_基础02

    一.实体 # 1. 一些符号如 “<”. “>”. “ ”. ”©“等,不能使用其本身,需要借助实体(即转义字符),格式通常为:& (字符对应实体); 如 &lt . &a ...

  10. UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 0: ordinal not in range(128)