微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[ 人脸识别 ] 1. 研究现状丨

Loss研究现状

模型名称 Important Insight 笔记 资料
2021年
MegFace 投稿:CVPR2021.
动机
1. 直觉上,在同一类样本中,质量差的样本 理应比 质量好的样本 到类别中心的距离稍远。因为质量好的样本(比如没有任何遮挡的清晰正脸),特征更确定,所以用来表示该类别的特征更加准确。反之,质量差的样本(比如有遮挡的模糊侧脸)不确定性大,用来表示该类别的特征就有很大的不确定性。
2. 目前,confidence-aware的方法虽然考虑了样本不确定性,然而需要额外的参数量
3. 基于angular-based方法虽然计算高效,但是它们没有对样本的质量作出区分。这样一来,类别中心很容易学习到 质量差的样本中 的一些 Instance-Specific 信息,从而使得模型的泛化能力弱,进而难以泛化到 open-world 场景中。
4. 对不同质量的样本进行区分,并且让同一类别中质量好的样本靠近类别中心而质量差的样本到类别中心距离稍远能够进一步提升模型的泛化能力。这是因为,越靠近类别中心,越能够代表该类的特征。让质量差的样本稍微远离类别中心是让其在代表该类上的话语权尽可能地低,这样可以减小 质量差样本中的噪声 影响,从而提升模型的泛化能力。

5. 为了实现上述目标,作者提出MegFace。它不仅扩大类间距离,同时让类内样本与类中心呈现一个锥形结构,质量差的样本离中心远,质量好的样本离中心近。同时MegFace不会给模型带来额外的计算量。
方法

1. 图2(a)是arcface的决策边界情况图,它用来代表目前angular-based的方法。这类方法不会对样本质量做区分,因此各种质量的样本在空间上的排布完全是随机的。而margin是固定的,它只要求所有样本都在决策边界之内就行了。
2. 这就很容易出现图2(a)这种样本排布情况,而在这种情况下,[小圈(质量好的样本)] 只要进入到决策边界内就不容易再向类中心靠拢了(因为已经完成目标了);而[大圈(质量差的样本)] 因为样本可能出现的范围大,为了保证所有可能出现的位置都进入 决策边界内,[大圈]的中心 就比 [小圈] 的中心 在角度空间上 更容易靠近 类中心向量 W W W。而这是不合理的。
3. 实际上,为了实现 动机中 说到的目标,我们更希望样本是图2(d)中的这种排列。即,质量越好的样本离类别中心向量 W W W 的角度越近。为了实现这种排列,作者通过 特征向量的幅度 a i a_{i} ai 建立了 [样本质量] 与 [到类别中心的角度距离] 之间的联系,进而让质量好的样本靠近类别中心,质量差的样本到类别中心角度稍远。
4. 实际上,通过观察图2(d)的排列可以发现一定的规律。
   质量越差的样本(圈越大,因为样本质量越差,不确定性越强,其可能出现在特征空间的区域就越大)
   (1) 到原点的距离越近,离原点的距离就是特征向量的幅值 a_{i}。
   (2) margin越小,也就是决策边界到类别中心向量 W W W 的角度越大。(图2(b)中,圈3的决策边界明显比圈1到类别中心向量的角度大)。
   这样,我们就可以通过 建立 [幅值a_{i}] 、[margin] 以及 [到类别中心的角度] 之间的关系,来约束不同质量的样本呈现图2(d)中的排列方式。    那么,如何建立三者的关系呢?
5. 作者在arcface Loss的基础上,进行了很巧妙地改进设计,就实现了上面的排布。这个公式长这样:
L i = − log ⁡ e s cos ⁡ ( θ y i + m ( a i ) ) e s cos ⁡ ( θ y i + m ( a i ) ) + ∑ j ≠ y i e s cos ⁡ θ j + λ g g ( a i ) L_{i}=-\log \frac{e^{s \cos \left(\theta_{y_{i}}+m\left(a_{i}\right)\right)}}{e^{s \cos \left(\theta_{y_{i}}+m\left(a_{i}\right)\right)}+\sum_{j \neq y_{i}} e^{s \cos \theta_{j}}}+\lambda_{g} g\left(a_{i}\right) Li=logescos(θyi+m(ai))+j=yiescosθjescos(θyi+m(ai))+λgg(ai)
其中, a i a_{i} ai 是第 i i i个特征向量的 2-范数(即 幅度)。 m ( a i ) m(a_{i}) m(ai) 是动态的角度margin,它是 m ( a i ) m(a_{i}) m(ai)的单调递增函数它的作用是将不同质量的样本无限挤压到类中心,同时倒逼质量好的样本幅值增大,质量差的样本幅值减小 g ( a i ) g(a_{i}) g(ai) 是正则化项,它是单调递减函数它的作用是不让幅值过大过小。 具体来说
6. 对于质量差的样本,它的不确定性大,所以体现在图2中的圈大。圈[大] --> 决策边界可优化到的极限margin就[小] --> 而margin m ( ⋅ ) m(\cdot) m()是单调递增的函数,这就倒逼 幅值 a i a_{i} ai 变[小]; 当然, a i a_{i} ai 也不能无限小,所以用一个单调递减的正则化项 g ( a i ) g(a_{i}) g(ai) 来约束它。
7. 对于质量好的样本,它的不确定性大,所以体现在图2中的圈小。 圈[小] --> 决策边界可优化到的极限margin[大] --> 而margin m ( ⋅ ) m(\cdot) m()是单调递增的函数,这就倒逼 幅值 a i a_{i} ai 变[大]。当然, a i a_{i} ai 也不能无限大,所以用一个单调递减的正则化项 g ( a i ) g(a_{i}) g(ai)来约束它。
8. 这样一来,通过上述的优化方式,质量好的样本 margin 大且幅值大(到原点远),质量差的样本margin小且幅值小(到原点近)。这样就形成了图2(d)的排列方式。
1. 论文地址
投稿:.
动机
1.
2.

1. 1.
2.
2020年
Circle Loss 投稿:CVPR2020.
动机
1. 作者发现一种统一看待分类和对比学习的视角。

2. 公式如下


1. 在circle loss的公式里,正样本对数量(i.e. 公式种的 K K K) 和 负样本对的数量(i.e. 公式种的 L L L) 是可以不同的,因为从公式可以看出它们俩是分开求和的。 1. 【极市】张宇涵-CVPR2020 Oral|Circle Loss,从统一视角提升深度特征学习能力.
2. Code: GithubTinyZeaMays/CircleLoss
投稿:.
动机
1.
2.

1. 1.
2.
2019年
arcface 投稿:CVPR2019.
动机
1.

方法
1. arcface就是把 margin m m m 从 CosFace 的
c o s ( θ 1 ) − m > c o s ( θ 2 ) cos (\theta_{1})-m>cos (\theta_{2}) cos(θ1)m>cos(θ2)
修改成了
c o s ( θ 1 + m ) > c o s ( θ 2 ) cos (\theta_{1}+m)>cos (\theta_{2}) cos(θ1+m)>cos(θ2)

2. 相比CosFace,arcface相当于直接对角度加 margin。而CosFace是对 C o s Cos Cos 空间加margin,是间接地对角度加margin。
3. arcface的公式:
1. 【极市】邓健康-CVPR2019 ArcFace构建高效人脸识别系统
2018年
CosFace 投稿:CVPR2018.
动机
1. (A/L)-softmax 的决策边界 c o s ( m θ 1 ) = c o s ( θ 2 ) cos(m \theta_{1})=cos(\theta_{2}) cos(mθ1)=cos(θ2) 在训练中比较难优化。
2. CosFace将决策边界改成 c o s ( θ 1 ) − m = c o s ( θ 2 ) cos( \theta_{1}) -m=cos(\theta_{2}) cos(θ1)m=cos(θ2),保证增大类间角度差异的同时,让模型更容易优化。

方法
1. 我们从softmax loss开始。
L s = 1 N ∑ i = 1 N − log ⁡ e f y i ∑ j = 1 C e f j L_{s}=\frac{1}{N} \sum_{i=1}^{N}-\log \frac{e^{f_{y_{i}}}}{\sum_{j=1}^{C} e^{f_{j}}} Ls=N1i=1Nlogj=1Cefjefyi
其中,
   f j = W j T x = ∣ W j ∣ ∣ x ∣ cos ⁡ θ j f_{j}=W_{j}^{T} x=\left|W_{j}\right||x| \cos \theta_{j} fj=WjTx=Wjxcosθj 可以看成是 样本 x x x类别 j j j 的中心向量 W j W_{j} Wj间的余弦距离。
   f y i f_{y_{i}} fyi 就表示样本 x x x 与其对应的类别 y i y_{i} yi 的中心向量的距离。
2. 要实现正确地分类,就是要让 样本的 [属于其类别的 e f y i e^{f_{y_{i}}} efyi] 尽可能地大于 [不属于其类别的 e f j e^{f_{j}} efj]。
3. 我们将问题简化成二分类问题。假设 我们有一个样本 x x x 属于类别 j = 1 j=1 j=1 ,根据前面的定义, f j f_{j} fj 表示该样本与 类别中心 j j j的中心向量之间的余弦距离,这样优化的目标就变成让 f 1 f_{1} f1尽可能地大于 f 2 f_{2} f2 (余弦距离,距离越大越相似)
4. 由于 f j f_{j} fj 同时受到 ∣ W j ∣ \left|W_{j}\right| Wj ∣ x ∣ |x| x 以及 c o s θ j cos \theta_{j} cosθj 的影响,这样不太好优化。
5. 为此,作者令 ∣ W j ∣ = 1 \left|W_{j}\right|=1 Wj=1, ∣ x ∣ = s |x|=s x=s s s s是个定值)。
6. 这样,样本 x x x 与类别中心 j j j 的距离 f j f_{j} fj 就仅仅由 它们之间的角度 c o s θ j cos \theta_{j} cosθj 决定。
7. 这样一来, f 1 > f 2 f_{1}>f_{2} f1>f2 就等价于 c o s θ 1 > c o s θ 2 cos \theta_{1}>cos \theta_{2} cosθ1>cosθ2
8. 原本,softmax 的优化目标是让 f 1 > f 2 f_{1}>f_{2} f1>f2。CosFace将上述目标改进成 f 1 − m > f 2 f_{1}-m>f_{2} f1m>f2;( m m m>0) 。
9. 这么做就让类内距离更加聚拢。具体来说,原本只要让 [样本与其类别中心的余弦距离 f 1 f_{1} f1] 大于 [样本与其它类别中心的余弦距离 f 2 f_{2} f2] 即可,这比较好实现,因为类内余弦距离本来就容易比类间距离大。    现在要求 f 1 f_{1} f1 不仅要大于 f 2 f_{2} f2还 要大 m m m,小于 m m m都不行,这样就使得优化的条件变得更加苛刻
10. 这样的好处就是,类间的距离可以充分增大。

11. CosFace 的 Loss 如下。



1.
2.
2017年
L-softmax 投稿:CVPR2017.
动机
1. softmax loss无法确保类内的紧凑和类间的疏离。
2. Large Margin softmax Loss(简称L-softmax loss),其主要思想是在标准的softmax loss中加入了一个角度约束,确保不同类别的样本分界更明显。

1. 知乎-L-Softmax loss和A-Softmax loss。这篇博文对决策边界讲的很好。 1.
2.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐