softmax函数_人脸识别:损失函数总结

2a67ea97b57f6b933b14875dc7739369.png

Center Loss(ECCV2016)

论文地址:

http://ydwen.github.io/papers/WenECCV16.pdf​ydwen.github.io

首先在每一个类别学习一个类中心(一个和特征同一个维度的向量),在训练过程,我们同事更新这个类中心,并最小化深度特征和对应类中心的距离。作者在论文中使用了softmax loss和center loss联合训练,并设置一个超参数用于平衡两者,以获得一个更加鲁棒的模型。

e7f0bd6313d48d9d99e0699723a8dc9b.png

损失函数为:

f8b4781991ae168be511e4cfb9a3905e.png

其中m为batch_size的大小,

为设定的类中心,每次读取一个batch会随机设定类中心

80fb78a127f734656a4c76d3682c75e4.png

L-Softmax Loss (ICML 2016)

论文地址:

http://proceedings.mlr.press/v48/liud16.pdf​proceedings.mlr.press

最初是的Softmax使得

,就是
,但是我们想要使这个约束条件更加严格一些,于是加入一个正整数m用来进行进一步的约束,即

76a347ac9fee29a16a33e74556915668.png

其中

, 根据这个思想我们得到了最终的L-Softmax函数:

fb24e7877611c50798c7716dfb6b425f.png

其中

的定义如下:

a8d1553846cf549f87ceb22b85b353de.png

我们可以对比一下L-Softmax和原来Softmax的区别:

1a1ead7f7517cc4a18d05003dc21f433.png

为了方便进行反向传播,论文对

进行了重构,即

46007e4ad7e3a5f94d167b7a0b9da626.png

为了可以正常的正向传播和反向传播,我们使用

来代替
,然后使

f6ed399d74cce9d89b6161412be5a899.png

上面的公式就是倍角公式的一种?神奇的数学,哈哈!至于如何求偏导那就看论文吧!

e3523a5d5cfbe27d81e0ec6c190e2036.png

A-Softmax Loss (CVPR2017)

论文地址:

SphereFace: Deep Hypersphere Embedding for Face Recognition​arxiv.org

首先我们再次来看原始的Softmax函数,其方程为:SphereFace: Deep Hypersphere Embedding for Face Recognition首先我们再次来看原始的Softmax函数,其方程为:

1d87a25861905d2619bad7e470e25d71.png

其中

为向量
之间的角度,然后我们令
这样我们就得到了修改后的softmax函数,即

ca9f4cb4ec576f0d1161788927cd0efe.png

接着我们再加入上一个L-Softmax的决策边界,使得类间更加分得开,这样就可以得到A-Softmax Loss,其决策边界为:

06ad1a60c975d1c680afaff7e94b0db0.png

b8d52db8e1249c0364142432426a39d9.png

由于L-Softmax会同时从角度和权重长度上区分不同类别,而A-Softmax将权重进行归一化,并使bias为零,只从角度上去区别不同类别!

AM-Softmax Loss (IPSL 2018)

论文地址:

Additive Margin Softmax for Face Verification​arxiv.org

在这里,我们把全连接层的输入

和权重
全部进行归一化处理,然后令其
,为了使决策分类更加分离,可以增大超球面的体积,即调整超参数s。Additive Margin Softmax for Face Verification在这里,我们把全连接层的输入
和权重
全部进行归一化处理,然后令其
,为了使决策分类更加分离,可以增大超球面的体积,即调整超参数s。

0b7fdbf7bf1e3d49a6a4a20d748326da.png

70e5ca3dbaf1aa01bbad8f5c2b85f013.png

与A-Softmax相比,仅仅把原来的

变成
,这两者的区别就是一个是角度距离,另一个是余弦距离。最终的决策边界是和余弦相关的,根据cos的性质,优化角度距离比优化余弦距离更有效果,因为余弦距离相对更密集!

ArcFace (CVPR2019)

论文地址:

ArcFace: Additive Angular Margin Loss for Deep Face Recognition​arxiv.org

ArcFace这个网络模型,很早就已经关注了,近几天去查了一下,已经被CVPR2019收录,看到人脸识别的各大榜单,基本上都是基于Arcface来进行的,作者认为角度余量比余弦余量更加重要,所以对AM-Softmax进行了改进,得到如下loss函数:ArcFace: Additive Angular Margin Loss for Deep Face RecognitionArcFace这个网络模型,很早就已经关注了,近几天去查了一下,已经被CVPR2019收录,看到人脸识别的各大榜单,基本上都是基于Arcface来进行的,作者认为角度余量比余弦余量更加重要,所以对AM-Softmax进行了改进,得到如下loss函数:

49c0ba4d4cc1f4b4ee2d904c10c6bb81.png

本质上只是把AM-Softmax中的

变成了
,使得其只关注角度信息,下面给出决策边界对比

bcc2dd7f457a5369b5e2cd10f7bc8852.png

精度比较

1a4812afab3cfe611fc208bcb393b487.png

参考链接

【1】https://blog.csdn.net/Fire_Light_/article/details/79599020

【2】Slumbers:人脸识别损失函数综述(附开源实现)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值