SphereFace算法详解_AI之路-CSDN博客_sphereface论文:SphereFace: Deep Hypersphere Embedding for Face Recognition 论文链接:https://arxiv.org/abs/1704.08063这篇是CVPR2017的poster,主要提出了A-softmax loss(angular softmax loss)用来改进原来的softmax loss。A-softmax loss简单讲就是在https://blog.csdn.net/u014380165/article/details/76946380?spm=1001.2014.3001.5501

这篇文章相当于把之前lsoftmax的理论应用到了人脸的领域,并且给出了很强的理论支撑。尤其是他在几何空间上对度量学习的人脸识别有很强的解释性。整体上就是引入了||w||=1和b=0的lsoftmax,使得类别预测仅取决于W和x之间的角度,对角度引申出来的决策边界加上margin,指导loss学习更好的边界,从而增加类间距,缩小类内距。

1. Abstract

在适当的度量空间中,have smaller maximal intra-class distance than minimal inter-class distance,最小的类间距要大于最大类内距。因此提出了angular softmax(A-softmax),enables CNNs to learn angularly discriminative features.让cnn学习角度判别特征。A-Softmax loss can be viewed as imposing discriminative constraints on a hypersphere manifold, which intrinsically matches the prior that faces also lie on a manifold.A-softmax loss可被视为对超球面流形施加区别性约束,其本质是与同样位于流形上的先验face相匹配。听起来差点意思,其实就是对决策边界施加了一个m,让model学了一个分的更开的边界,m就是区别性约束,而linear出的特征映射到高维的超球面上就是一块一块的区域。

2.Introduction

上图讨论了开集和闭集测试,左边是闭集测试,就是测试的数据是在训练集中出现过的,有id的,本质就是一个分类任务,右边是开集测试,测试的数据在训练集中没有出现,因为在训练集上训练的model的能力更多体现在特征提取上,在face vertification中是提取两张不在训练集中的图片的到的特征做距离计算,进而判断是否是同一个人,本质上是一个度量学习问题,the key is to learn discriminative large-margin features.关键是找出特征之间有判别力的边界,这也是作者为什么要加m的原因,加大决策边界。

对于开集问题,理论上是最大类内距离要小于最小类间距离,However, learning features with this criterion is generally difficult because of the intrinsically large intra-class variation and high interclass similarity that faces exhibit.通常这很难,数据集和现实情况中都不会有这么好的情况。怎么办?we propose to incorporate angular margin instead.加一个angular margin.通过优化A-softmax,决策区域变得更加分离,同时扩大类间margin和压缩类内的angular分布。

2.Deep hypershere embedding

2.1 revisiting the softmax loss

以一个二分类为例,softmax loss得到的后验概率为(此时是linear层+softmax,还未进入交叉熵):

其中x是输入的特征向量,W是linear层的权重,b是linear层的偏置,若预测为类1,则p1>p2,若预测为p2,则p1<p2。p的分母是一致,大小则取决于分子,都是e的指数函数,是递增的,因此属于那个类别取决于wx+b的值,此时决策边界就是(p1=p2)

将上式中的Wx写成向量乘法分解的形式,则是

此时的角是在W和x之间的角度。将权重进行归一化并且偏置为0,即

p1和p2用的是同一个x,则最终结果只取决于角度,决策边界变成了

将W归一化(W模为1),偏置为0,就是上面的过程就是作者提到的modified softmax loss.它鼓励第i类特征比其他特征具有更小的角度 (更大的余弦距离),这使得W和特征之间的角度成为可靠的分类度量。因为cos是递减函数,类和类之间的角度越小,则两者之间余弦距离越大,就是同一类的扇形角越小,类间越紧凑。

上面讨论的是softmax的形式,下面给出softmax loss的形式:

Although we can learn features with angular boundary with the modified softmax loss, these features are still not necessarily discriminative. Since we use angles as the distance metric, it is natural to incorporate angular margin to learned features in order to enhance the discrimination power.至此,modified softmax loss的形式就给出了,即W归一化,b=0,它具备了学习angular边界特征能力,但是这些特征仍然不具有判别性,以前只是在欧式空间计算距离,现在变成了计算角度的边界。

3.2 Introducting angular margin to softmax loss

这一节其实就是引入了lsoftmax,A-softmax比lsoftmax就多了w归一化和b=0这两个约束条件。From the previous analysis of softmax loss,we learn that decision boundaries can greatly affect the feature distribution, so our basic idea is to manipulate decision boundaries to produce angular margin.从上面的分析可以知道,在softmax loss中,决策边界可以极大的影响特征分布,因此作者的想法就是操作决策边界以产生angular margin。

若属于类别1,则从modifed softmax loss中需要cos(角1)>cos(角2)才能正确分类x,如果我们要求cos(m*角1)>cos(角2),m是一个大于2的正整数,那么为了正确分类x,改怎么办?It is essentially making the decision more stringent than previous,because we require a lower bound of cos(angle1) to be larger than cos(angle2). The decision boundary for class 1 is cos(m*angle1)=cos(angle2).它本质上使决策比之前更加严格,因为它需要一个更低的边界,cos(angel1)并且大于cos(angle2),此时的决策边界变成了cos(m*angle1)=cos(angle2),这个地方和lsoftmax是完全一致的,就是我在loss侧把决策边界拉的更开了,让模型学的时候把类间距离拉开,这样类内也更加内聚了。下面两个式子就是A-softmax的表达式。

A-softmax从决策边界解释,A-Softmax loss adopts different decision boundary for different class (each boundary is more stringent than the original), thus producing angular margin.A-softmax对不同的类别采用不同的决策边界,每个边界比原始边界更加严格,从未产生angluar margin.

From original softmax loss to modified softmax loss, it is from optimizing inner product to optimizing angles.From modified softmax loss to A-Softmax loss, it makes the decision boundary more stringent and separated. The angular margin increases with larger m and be zero if m=1.上图是三个loss的决策边界公式,原始的softmax loss到modified softmax loss,从优化内积到优化角度,从modified softmax loss到A-softmax loss,使得决策边界更加严格和分离。

现在来解释一下这个图,linear层的输出设为2,即将所有的特征都放在二维平面上看,ace是原始2维平面的,bdf是映射到球面,黄和紫代表两个类别,ab是softmax loss的结果,可见分类边界并不好,学到的特征也无法通过angle来做分类,modified softmax loss可以通过角度来区别,A-softmax则划分的更好,可以进一步的通过angular margin来区别学到的特征。

3.3 hypersphere interpretation of A-softmax loss

作者给了个几何上的解释,A-softmax在超球面上就是一块一块类似圆的区域,投影到2d平台就是一个类似放射状的球形。

3.4 properties of A-softmax loss

给了两个证明,第一是二分类任务最小的m是:

多分类任务最小的m是:

作者建议m取4.

4.experiments

 这个图是作者在CASIA Webface数据集上选了6个类训练的A-softmax结果图,linear输出的特征维度是3(可视化到球面上),可以看到m越大,球面上对应的小圆越来越分离和紧凑,这对应了A-softmax的几何意义,第二行上,随着m的增加负样本和正样本之间的angle也越变越大。

整篇文章来说,意义上就是引入了w=1,b=0的lsoftmax在人脸识别的问题上,论文写的很好,A-softamx分析了具有普遍意义的规律,在角度上多一个m,增加类和类之间的决策边界,让loss学一个更难的决策边界,从而促使每个模型学习的每个类间距离越大,类内距离越小。

更新:实测a-softmax和l-softmax都很难收敛,在分类任务上相较于lmcl(large margin cosine loss)要收敛的多,不建议在工程上用这两个loss,尤其是现在有更好的loss的情况下(在解决类间距类内距问题上)。

sphereface:deep hypersphere embedding for face recognition相关推荐

  1. 人脸识别“SphereFace: Deep Hypersphere Embedding for Face Recognition”

    在开放集中进行人脸识别,理想的特征最大的类内差距应小于最小的类间差距.作者提出了angular softmax(A-Softmax)损失函数学习angularly discriminative fea ...

  2. Zero-shot Learning零样本学习 论文阅读(五)——DeViSE:A Deep Visual-Semantic Embedding Model

    Zero-shot Learning零样本学习 论文阅读(五)--DeViSE:A Deep Visual-Semantic Embedding Model 背景 Skip-gram 算法 算法思路 ...

  3. 【论文精读】A Survey on Deep Learning for Named Entity Recognition

    A Survey on Deep Learning for Named Entity Recognition 前言 Abstract 1. INTRODUCTION 2. BACKGROUND 2.1 ...

  4. 图像分类经典卷积神经网络—ResNet论文翻译(中英文对照版)—Deep Residual Learning for Image Recognition(深度残差学习的图像识别)

    图像分类经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为中英文对照版,纯中文版请稳步:[ResNet纯中文版] Deep Residual Learning for Image ...

  5. 深度学习论文:Deep Residual Learning for Image Recognition

    论文: He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the ...

  6. [译] Deep Residual Learning for Image Recognition (ResNet)

    (转载请注明出处:http://www.jianshu.com/p/f71ba99157c7,谢谢!) Abstract 摘要:更深的神经网络往往更难以训练,我们在此提出一个残差学习的框架,以减轻网络 ...

  7. 基于深度残差学习的图像识别 Deep Residual Learning for Image Recognition

    [译]基于深度残差学习的图像识别 Deep Residual Learning for Image Recognition Kaiming He Xiangyu Zhang Shaoqing Ren ...

  8. 【读点论文】FaceNet: A Unified Embedding for Face Recognition and Clustering 人脸向量映射到一个特定空间后成为一种集成系统

    FaceNet: A Unified Embedding for Face Recognition and Clustering 大规模有效实施人脸验证和识别对当前方法提出了严峻挑战.在本文中,提出了 ...

  9. 图像分类经典卷积神经网络—ResNet论文翻译(纯中文版)—Deep Residual Learning for Image Recognition(深度残差学习的图像识别)

    图像分类经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为纯中文版,中英文对照版请稳步:[ResNet中英文对照版] Deep Residual Learning for Ima ...

最新文章

  1. SAP采购订单下传SRM
  2. Android踩坑日记:Android字体属性及测量(FontMetrics)
  3. ios 获取一个枚举的所有值_Java enum枚举在实际项目中的常用方法
  4. 从大学生到职场人,一段深刻的思维认知升级补丁
  5. java命令_JAVA与模式之命令模式
  6. JAVA与DOM解析器基础 学习笔记
  7. swing获取文本框内容_营销管理培训课件,大客服销售策略和技巧,全内容PPT拿来就用...
  8. 工作问题总结-----付款
  9. 剑指offer面试题39. 数组中出现次数超过一半的数字(数组)(摩尔投票法)
  10. numpy.linalg.eig() 计算方形矩阵的特征值和特征向量
  11. php+mysql实例注入,PHP+MYSQL注入实例与防范措施总结
  12. 在n1 ,魔百盒q5盒子上,实现惠普p1008系列的网络共享 打印和airprint服务
  13. 手机群控系统电脑/手机硬件配置相关测试参数
  14. Android - Enable fullscreen mode
  15. OSError: cannot open resource
  16. matlab黄金分割实例,实战案例教你黄金分割
  17. HTML5 2D平台游戏开发#8指令技
  18. [14] 胜利大逃亡
  19. 软件加密系统Themida应用程序保护指南(二):有哪些保护选项
  20. 部分选中文件的快捷键

热门文章

  1. Dell PowerEdge T110 BIOS无法保存设定
  2. mysqlroot密码忘记了怎么办
  3. 考拉小巫的英语学习日记
  4. 淘宝-静态页面编写(2)--给淘宝写个头吧
  5. 京东双11养红包升级脚本
  6. SQL数据库附加数据库时出错。有关详细信息,请单击“消息”列中的超链接
  7. Nacos 多环境配置,以及启动
  8. 优秀员工必备的职业精神
  9. ride导入py文件
  10. Java断点续传实现原理很简单