CosFace: Large Margin Cosine Loss for Deep Face Recognition
由于深度卷积神经网络 (CNNs) 的发展,人脸识别取得了非凡的进步。人脸识别的中心任务,包括人脸验证和识别,涉及人脸特征识别。然而,传统的深部cnn的softmax损失通常缺乏辨别的力量。为了解决这个问题,最近已经提出了几种损耗函数,例如中心损耗,大边距软最大损耗和角软最大损耗。
所有这些改进的损失都有一个相同的想法: 最大化类间方差和最小化类内方差。在本文中,提出了一种新颖的损失函数,即大余弦损失 (LMCL),以从不同的角度实现这一想法。
- 更具体地说,通过L2归一化特征和权重向量以消除径向变化,将softmax损失重新表述为余弦损失,在此基础上引入余弦余量项以进一步最大化角空间中的决策余量。通过归一化和余弦决策余量最大化来实现最小类内方差和最大类间方差。
将使用LMCL训练的模型称为CosFace。对最受欢迎的公共领域人脸识别数据集 (例如MegaFace Challenge,Youtube人脸 (YTF) 和野外标记人脸 (LFW)) 进行了广泛的实验评估。在这些基准上实现了最先进的性能。
center loss
Center loss 能够直接对样本特征之间的距离进行约束。Center loss 添加的约束是特征与同类别的平均特征的距离要足够小,这要求同类特征要接近它们的中心点,公式如下: L c = 1 2 ∑ i = 1 m ∣ ∣ x i − c y i ∣ ∣ 2 2 L_c=\frac{1}{2}{\sum_{i=1}^m||x_i-c_{y_i}||^2_2} Lc=21∑i=1m∣∣xi−cyi∣∣22。
其中 x i x_i xi表示第i个样本的提取特征, c y i c_{y_i} cyi表示样本i所对应的类别的所有样本特征的平均特征,或者说同类别样本特征的中心点,m表示样本个数。
为每一个类别提供一个类别中心,最小化min-batch中每个样本与对应类别中心的距离,这样就可以达到缩小类内距离的目的。
Center loss 一难点,如何计算 c y i c_{y_i} cyi 。通过计算同一类别所有样本的特征,然后求平均值,这种方法是不切实际的,因为我们的训练样本非常庞大。另辟蹊径,使用mini-batch中的每个类别的平均特征近似不同类别所有样本的平均特征。这像BN中求feature map的均值和方差的思想。在梯度下降的每次迭代过程中, c j c_j cj 的更新向量是 Δ c j = ∑ i = 1 m I ( y i = j ) ⋅ ( c j − x i ) 1 + ∑ i = 1 m I ( y i = j ) \Delta{c_j}=\frac{\sum_{i=1}^mI(y_i=j)·(c_j-x_i)}{1+\sum_{i=1}^mI(y_i=j)} Δcj=1+∑i=1mI(yi=j)∑i=1mI(yi=j)⋅(cj−xi).
其中 I ( y i = j ) I(y_i=j) I(yi=j)是指示函数,当j是类别 y i y_i yi时,函数返回1,否则返回0。分母的1是防止mini-batch中没有类别j的样本而导致分母为0。论文中设置了一个 c j c_j cj的更新速率参数α ,控制 c j c_j cj的更新速度。
训练的总损失函数是:
- L = L s + λ ⋅ L c = − ∑ i = 1 m l o g e W y i T x i + b y i ∑ j = 1 n e W j T x i + b j + λ 2 ∑ i = 1 m ∣ ∣ x i − c y i ∣ ∣ 2 2 L=L_s+\lambda·L_c=-\sum_{i=1}^{m}log\frac{e^{W_{y_i}^Tx_i+b_{y_i}}}{\sum_{j=1}^{n}e^{W_j^Tx_i+b_j}}+\frac{\lambda}{2}\sum_{i=1}^{m}||x_i-c_{y_i}||^2_2 L=Ls+λ⋅Lc=−i=1∑mlog∑j=1neWjTxi+bjeWyiTxi+byi+2λi=1∑m∣∣xi−cyi∣∣22
Large-Margin Softmax Loss
基于Margin的L-Softmax损失函数,可以明确地促使学习到的特征具有类内的紧凑性和类间的可分离性。此外L-Softmax不仅可以调节所需的Margin,还可以避免过拟合的发生。这个损失函数可以通过经典的随机梯度下降算法优化。
softmax loss的公式: L = 1 N ∑ i L i = 1 N ∑ i ( − l o g ( e f y i ∑ j e f j ) ) L=\frac{1}{N}\sum_iL_i=\frac{1}{N}\sum_i(-log(\frac{e^{f_{y_i}}}{\sum_je^{f_j}})) L=N1∑iLi=N1∑i(−log(∑jefjefyi))。fj表示class score f向量的第j个元素。N表示训练数据的数量。log函数的括号里面的内容就是softmax。
- 简单讲就是属于各个类别的概率,因此fyi就可以理解为全连接层的输出,也就是: f y i = W y i T x i f_{y_i}=W_{y_i}^Tx_i fyi=WyiTxi,这个式子就是W和x的内积,因此可以写成下面这样: f j = ∣ ∣ W j ∣ ∣ ∣ ∣ x i ∣ ∣ c o s ( θ j ) f_j=||W_j||||x_i||cos(\theta_j) fj=∣∣Wj∣∣∣∣xi∣∣cos(θj)。
- 那么Li的公式变成了: L i = − l o g ( e ∣ ∣ W y i ∣ ∣ ∣ ∣ x i ∣ ∣ c o s θ y i ∑ j e ∣ ∣ W j ∣ ∣ ∣ ∣ x i ∣ ∣ c o s θ j ) L_i=-log(\frac{e^{||W_{y_i}||||x_i||cos\theta_{y_i}}}{\sum_je^{||W_j||||x_i||cos\theta_j}}) Li=−log(∑je∣∣Wj∣∣∣∣xi∣∣cosθje∣∣Wyi∣∣∣∣xi∣∣cosθyi)。
初始的softmax的目的是使得 W 1 T x > W 2 T x W^T_1x>W^T_2x W1Tx>W2Tx,即 ∥ W 1 ∥ ∥ x ∥ c o s ( θ 1 ) > ∥ W 2 ∥ ∥ x ∥ c o s ( θ 2 ) ∥W1∥∥x∥cos(θ_1)>∥W2∥∥x∥cos(θ_2) ∥W1∥∥x∥cos(θ1)>∥W2∥∥x∥cos(θ2),从而得到 x(来自类别1)正确的分类结果。作者提出large-magrin softmax loss的动机是希望通过增加一个正整数变量 m,从而产生一个决策余量,能够更加严格地约束上述不等式,即:
- ∥ W 1 ∥ ∥ x ∥ c o s ( θ 1 ) ≥ ∥ W 1 ∥ ∥ x ∥ c o s ( m θ 1 ) > ∥ W 2 ∥ ∥ x ∥ c o s ( θ 2 ) ∥W1∥∥x∥cos(θ_1)\geq∥W1∥∥x∥cos(mθ_1)>∥W2∥∥x∥cos(θ_2) ∥W1∥∥x∥cos(θ1)≥∥W1∥∥x∥cos(mθ1)>∥W2∥∥x∥cos(θ2)。
- 其中 0 ≤ θ 1 < π m 0≤θ_1<\fracπm 0≤θ1<mπ。如果 W1 和 W2能够满足 ∥ W 1 ∥ ∥ x ∥ c o s ( m θ 1 ) > ∥ W 2 ∥ ∥ x ∥ c o s ( θ 2 ) ∥W1∥∥x∥cos(mθ_1)>∥W2∥∥x∥cos(θ_2) ∥W1∥∥x∥cos(mθ1)>∥W2∥∥x∥cos(θ2),那么就必然满足 ∥ W 1 ∥ ∥ x ∥ c o s ( θ 1 ) > ∥ W 2 ∥ ∥ x ∥ c o s ( θ 2 ) ∥W1∥∥x∥cos(θ_1)>∥W2∥∥x∥cos(θ_2) ∥W1∥∥x∥cos(θ1)>∥W2∥∥x∥cos(θ2)。这样的约束对学习W1和 W2的过程提出了更高的要求,从而使得1类和2类有了更宽的分类决策边界。
L-Softmax loss可写为: L i = − l o g ( e ∣ ∣ W y i ∣ ∣ ∣ ∣ x i ∣ ∣ Ψ ( θ y i ) ∣ ∣ W y i ∣ ∣ ∣ ∣ x i ∣ ∣ Ψ ( θ y i ) + ∑ j ≠ y i e ∣ ∣ W j ∣ ∣ ∣ ∣ x i ∣ ∣ c o s ( θ j ) ) L_i=-log(\frac{e^{||W_{y_i}||||x_i||\Psi(\theta_{y_i})}}{||W_{y_i}||||x_i||\Psi(\theta_{y_i})+\sum_{j\neq{y_i}}e^{||W_j||||x_i||cos(\theta_j)}}) Li=−log(∣∣Wyi∣∣∣∣xi∣∣Ψ(θyi)+∑j=yie∣∣Wj∣∣∣∣xi∣∣cos(θj)e∣∣Wyi∣∣∣∣xi∣∣Ψ(θyi))。
Ψ ( θ ) = { c o s ( m θ ) , 0 ≤ θ ≤ π m D ( θ ) , π m < θ ≤ π \Psi(\theta)=\begin{cases} cos(m\theta),&0\leq\theta\leq\frac{\pi}{m}\\ D(\theta),&\frac{\pi}{m}<\theta\leq\pi \end{cases} Ψ(θ)={cos(mθ),D(θ),0≤θ≤mπmπ<θ≤π
当 m 越大,分类的边界越大,学习难度就越高。同时,公式中的 D(θ) 必须是单调减函数且 D ( π m ) = c o s ( π m ) D(\fracπm)=cos(\fracπm) D(mπ)=cos(mπ), 以保证 ψ(θ)是一个连续函数。
作者为了能够简化前向和后向传播,构建这样函数形式ψ(θ): ( − 1 ) k c o s ( m θ ) − 2 k , θ ∈ [ k π m , ( k + 1 ) π m ] (-1)^kcos(m\theta)-2k,\theta\in[\frac{k\pi}{m},\frac{(k+1)\pi}{m}] (−1)kcos(mθ)−2k,θ∈[mkπ,m(k+1)π]。
其中 kk是一个整数且 k∈[0,m−1]。下图是softmax loss 和L-Softmax loss的比较。
- >
L-Softmax Loss有一个清楚的几何解释,并且能够通过设置 m来调节训练难度。它还能够有效地防止过拟合,能够有效地减小类内距离,同时增加类间距离。最终的分类和人脸验证实验也证明,它取得了比softmax loss更好的结果。
angular softmax loss
如果在large margin softmax loss的基础上添加了限制条件||W||=1和b=0,使得预测仅取决于W和x之间的角度θ,则得到了angular softmax loss,简称A-softmax loss。A-Softmax的分类过程仅依赖于W和x之间的角度。
面部识别领域,是一个精细识别领域,Original Softmax Loss只能进行普通的多分类任务,分类间距小,而且类内距离控制也不如Center Loss好,也无法通过角度学习,Center Loss能很好地控制类内距离,但控制类间距离能力不足,并且也无法通过角度进行更精细地学习,故为了更好地实现在面部识别的高精度,就必须要求算法可以实现两个功能,即类内距离越小越好,类间距离越大越好。
Original Softmax loss函数通过公式变换引入了角度,如下:
- KaTeX parse error: Expected 'EOF', got '&' at position 131: …\theta_i+b_i}},&̲i=1,2,..,n\\ lo…
将上述公式计算pi的分母拆成两部分,一部分为样本x属于第i个类别的激活值logit的指数变换,另一部分为样本x属于除i类别外的其他类别的激活值logit指数变换的累加,如下:
KaTeX parse error: Expected 'EOF', got '&' at position 133: …\theta_j+b_j}},&̲i=1,2,..,n\\
引入限制条件一,条件二
∣ ∣ w 1 ∣ ∣ = ∣ ∣ w 2 ∣ ∣ = ⋯ = ∣ ∣ w n ∣ ∣ = 1 ( 条 件 一 ) b 1 = b 2 = ⋅ ⋅ ⋅ = b n = 0 ( 条 件 二 ) ∣∣ w_1 ∣∣ = ∣∣ w_2 ∣ ∣ = ⋯ = ∣∣ w_n ∣∣ = 1 ( 条 件 一)\\ b_1=b_2=···=b_n=0(条件二) ∣∣w1∣∣=∣∣w2∣∣=⋯=∣∣wn∣∣=1(条件一)b1=b2=⋅⋅⋅=bn=0(条件二)
以二分类为例,原来的分类决策边界是 w 1 x + b 1 = w 2 x + b 2 w_1x+b1=w_2x+b_2 w1x+b1=w2x+b2 ,即 ( w 1 − w 2 ) x + b 1 − b 2 = 0 (w_1-w_2)x+b_1-b_2=0 (w1−w2)x+b1−b2=0,如果有上述两个条件,分类决策边界就变成了 ∣ ∣ x ∣ ∣ ( cos θ 1 − cos θ 2 ) = 0 ||x||(\cosθ_1-\cosθ_2)=0 ∣∣x∣∣(cosθ1−cosθ2)=0,计算过程如下:
∣ ∣ x ∣ ∣ ∣ ∣ w 1 ∣ ∣ c o s θ 1 + b 1 = ∣ ∣ x ∣ ∣ ∣ ∣ w 2 ∣ ∣ c o s θ 2 + b 2 ∣ ∣ x ∣ ∣ ( c o s θ 1 − c o s θ 2 ) = 0 ||x||||w_1||cos\theta_1+b_1=||x||||w_2||cos\theta_2+b_2\\ ||x||(cos\theta_1-cos\theta_2)=0 ∣∣x∣∣∣∣w1∣∣cosθ1+b1=∣∣x∣∣∣∣w2∣∣cosθ2+b2∣∣x∣∣(cosθ1−cosθ2)=0
要想通过角度分类,比如二分类,就需要通过判断 c o s θ 1 > c o s θ 2 cosθ_1>cosθ_2 cosθ1>cosθ2 来判断样本是否属于1类,所以此时我们要考虑如何使得 c o s θ 1 cosθ_1 cosθ1尽可能大于 c o s θ 2 cosθ_2 cosθ2,也就是类间距离足够大,而且还要考虑如何使得类内距离足够小,算法作者给了 c o s θ 1 cosθ_1 cosθ1一个超参数(在这里用λ表示)变成 c o s ( λ θ 1 ) cos(\lambdaθ_1) cos(λθ1),选择一个合适的超参数λ 既可以使得 c o s ( λ θ 1 ) cos(\lambda θ_1) cos(λθ1)尽可能大于 c o s θ 2 cosθ_2 cosθ2,又可以控制 θ 1 θ _1 θ1的取值范围使得类内距离更小(类内样本更紧凑),显然λ 值越大,优化的难度也越大,但类内的angular margin越小,也就是类内距离越小,同时类间距离越大,因此模型效果越好。
- KaTeX parse error: Expected 'EOF', got '&' at position 125: …bda\theta_j)}},&̲i=1,2,..,n\\
当 c o s ( λ θ i ) cos(\lambdaθ_i) cos(λθi)在[ 0 , π ] 的取值范围时,其单调递减有上界,故此时 θ i θ_i θi的定义域为 [ 0 , π λ ] [0,\frac{\pi}{\lambda}] [0,λπ],值域为[ − 1 , 1 ],为了解除值域限制,便构造了一个函数 ϕ ( θ i ) \phi(θ_i) ϕ(θi)代替 c o s ( λ θ i ) cos(\lambdaθ_i) cos(λθi)。
- ϕ ( θ i ) = ( − 1 ) k c o s ( λ θ i ) − 2 k , θ i ∈ ( k π λ , ( k + 1 ) π λ ) , k ∈ [ 0 , λ − 1 ] \phi(θ_i)=(-1)^kcos(\lambda\theta_i)-2k, \theta_i\in(\frac{k\pi}{\lambda},\frac{(k+1)\pi}{\lambda}),k\in[0,\lambda-1] ϕ(θi)=(−1)kcos(λθi)−2k,θi∈(λkπ,λ(k+1)π),k∈[0,λ−1]
发现将 ϕ ( θ i ) \phi(θ_i) ϕ(θi)引入约束条件,效果更好,于是又对 ϕ ( θ i ) \phi(θ_i) ϕ(θi)函数进行了更改,用β 控制了两者权重
- ϕ ( θ i ) = ( − 1 ) k c o s ( λ θ i ) − 2 k + β c o s θ i 1 + β , θ i ∈ ( k π λ , ( k + 1 ) π λ ) , k ∈ [ 0 , λ − 1 ] \phi(θ_i)=\frac{(-1)^kcos(\lambda\theta_i)-2k+\beta{cos\theta_i}}{1+\beta}, \theta_i\in(\frac{k\pi}{\lambda},\frac{(k+1)\pi}{\lambda}),k\in[0,\lambda-1] ϕ(θi)=1+β(−1)kcos(λθi)−2k+βcosθi,θi∈(λkπ,λ(k+1)π),k∈[0,λ−1]
又发现样本的特征值对分类影响不大,故仅注重从数据中得到的角度信息,不再考虑样本特征的值,即用超参s替换||x||,公式更新如下:
- KaTeX parse error: Expected 'EOF', got '&' at position 28: …x||cos\theta_i,&̲\theta_i\in(0,\…
Intriductiuon
早期的研究建立了具有低级人脸特征的浅层模型,而现代人脸识别技术在深度cnn的驱动下有了很大的进步。
人脸识别通常包括两个子任务: 人脸验证和人脸识别。这两个任务都涉及三个阶段: 人脸检测,特征提取和分类。
深度CNN能够提取干净的高级特征,使自己能够通过相对简单的分类架构实现卓越的性能。通常,多层感知器网络随后是softmax损失 。然而,最近的研究 发现传统的softmax损失不足以获得分类的判别能力。
与欧几里得边距相比,the angular margin是首选,因为角度的余弦与 softmax 具有内在一致性。 余弦的公式与经常应用于人脸识别的相似度测量相匹配。 从这个角度来看,直接在不同类之间引入余弦余量来提高余弦相关的判别信息更为合理。
在本文中,通过L2归一化特征和权重向量以消除径向变化,将softmax损失重新表示为余弦损失,在此基础上引入余弦余量项m,以进一步最大化角空间中的决策余量。具体来说,提出了一种称为大余弦损失 (LMCL) 的新颖算法,该算法将归一化特征作为输入,通过最大化类间余弦来学习高度区分性特征。形式上,定义一个超参数m,使得决策边界由cos(θ1)-m = cos(θ2) 给出,其中 θi是第i类的特征和权重之间的角度。
为了进行比较,通过cos(mθ1) = cos(θ2) 在角度空间上定义了A-Softmax的决策边界,由于余弦函数的非单调性,这在优化方面存在困难。为了克服这样的困难,必须对a-Softmax采用一个临时的分段函数。更重要的是,A-softmax的决策余量取决于 θ,这导致不同类的余量不同。结果,在决策空间中,某些类间特征具有较大的Margin,而另一些则具有较小的Margin,这降低了区分能力。与A-Softmax不同,本文方法定义了余弦空间中的决策余量,从而避免了上述缺点。
基于 LMCL,构建了一个复杂的深度模型 CosFace,如下图 所示。在训练阶段,LMCL 引导 ConvNet 学习具有较大余弦余量的特征。在测试阶段,从 ConvNet 中提取人脸特征以进行人脸验证或人脸识别。将这项工作的贡献总结如下:
- 接受最大化类间方差和最小化类内方差的想法,并提出了一种称为LMCL的新颖损失函数,以学习用于人脸识别的高度区分性的深层特征。
- 基于LMCL所支持的超球形特征分布提供了合理的理论分析。
- 所提出的方法在流行的人脸数据库 (包括LFW,YTF 和Megaface) 上的大多数基准上提高了最先进的性能。
CosFace框架概述。在训练阶段,在不同类之间以较大的余量学习区分面部特征。在测试阶段,将测试数据输入CosFace以提取人脸特征,然后将其用于计算余弦相似性得分以进行人脸验证和识别。
https://github.com/Fndroid/clash_for_windows_pkg/releases
Related Work
Deep Face Recognition
- 由于深度CNN模型的巨大成功,人脸识别取得了重大进展 。在DeepFace和DeepID中,人脸识别被视为多类分类问题,并且首先引入深度CNN模型来学习大型多身份数据集上的特征。
- DeepID2利用识别和验证信号来实现更好的特征嵌入。DeepID2 和DeepID3 进一步探索了先进的网络结构,以提高识别性能。FaceNet使用三重态损失来学习欧几里得空间嵌入,然后对近2亿张人脸图像进行深度CNN训练,从而达到最先进的性能。证明了深度CNNs对人脸识别的有效性。
Loss Functions
损失函数在深度特征学习中起着重要作用。contrastive loss和triplet loss通常用于增加欧几里的余量以实现更好的特征嵌入。
- contrastive loss:这种损失函数可以有效的处理孪生神经网络中的paired data的关系。contrastive loss的表达式如下: L = 1 2 N ∑ n = 1 N y d 2 + ( 1 − y ) m a x ( m a r g i n − d , 0 ) 2 L=\frac{1}{2N}\sum_{n=1}^{N}yd^2+(1-y)max(margin-d,0)^2 L=2N1∑n=1Nyd2+(1−y)max(margin−d,0)2。
- 其中$ d=||a_n−b_n||2$,代表两个样本特征的欧氏距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配,margin为设定的阈值。
- 主要是用在降维中,即本来相似的样本,在经过降维(特征提取)后,在特征空间中,两个样本仍旧相似;而原本不相似的样本,在经过降维后,在特征空间中,两个样本仍旧不相似。
- Triplet Loss为三元组损失,其中的三元也就是Anchor、Negative、Positive,通过Triplet Loss的学习后使得Positive元和Anchor元之间的距离最小,而和Negative之间距离最大。其中Anchor为训练数据集中随机选取的一个样本,Positive为和Anchor属于同一类的样本,而Negative则为和Anchor不同类的样本。
- Triplet loss目标函数: ∑ i N [ ∣ ∣ f ( x i a ) − f ( x i p ) ∣ ∣ 2 2 − ∣ ∣ f ( x i a ) − f ( x i n ) ∣ ∣ 2 2 + α ] \sum_{i}^{N}[||f(x_i^a)-f(x_i^p)||_2^2-||f(x_i^a)-f(x_i^n)||_2^2+\alpha] ∑iN[∣∣f(xia)−f(xip)∣∣22−∣∣f(xia)−f(xin)∣∣22+α]。
- 其中 ∣ ∣ f ( x i a ) − f ( x i p ) ∣ ∣ 2 2 ||f(x_i^a)-f(x_i^p)||_2^2 ∣∣f(xia)−f(xip)∣∣22是Positive元和Anchor之间的欧式距离度量。 ∣ ∣ f ( x i a ) − f ( x i n ) ∣ ∣ 2 2 ||f(x_i^a)-f(x_i^n)||_2^2 ∣∣f(xia)−f(xin)∣∣22是Negative和Anchor之间的欧式距离度量。其中α为margin;上式要求Negative到Anchor的距离至少要比Positive到Anchor的距离大α,显然α越大不同类别之间的可区分性就越强,相应的训练难度也越大。
相关工作还有提出了一个中心损失来学习每个身份的深层特征的中心,并使用这些中心来减少类内方差。提出了一种large margin softmax (L-softmax),通过在每个身份上增加角度约束来改善特征判别。Angular softmax (A-Softmax)通过对权重进行归一化来提高L-Softmax,从而在一系列开放式人脸识别基准测试中实现了更好的性能 。基于对比损失或中心损失的其他损失函数也证明了增强辨别力的性能。
Normalization Approaches
- 可以在softmax损失中用余弦相似性代替内积的权重归一化。也可以在特征上应用L2约束以在归一化空间中嵌入面。通过在训练过程中更多地关注角度,对特征向量或权重向量进行归一化可以实现更低的类内角度可变性。因此,可以很好地优化身份之间的角度。基于von Mises-Fisher (vMF) 的方法和A-Softmax 在特征学习中也采用了归一化。
Proposed Approach
Large Margin Cosine Loss
首先从余弦的角度重新思考softmax损失。softmax损失通过最大化地面真相类的后验概率将特征与不同类分开。给定一个输入特征向量xi及其对应的标签yi,softmax损失可以表述为:
L s = 1 N ∑ i = 1 N ( − l o g p i ) = 1 N ∑ i = 1 N ( − l o g e f y i ∑ j = 1 C e f y i ) L_s=\frac{1}{N}\sum_{i=1}^{N}(-log{p_i})=\frac{1}{N}\sum_{i=1}^{N}(-log{\frac{e^{f_{y_i}}}{\sum_{j=1}^{C}e^{f_{y_i}}}}) Ls=N1i=1∑N(−logpi)=N1i=1∑N(−log∑j=1Cefyiefyi)
其中Pi表示被正确分类的后验概率。N是训练样本的数量,C是类别的数量。fj通常表示为一个完全连接层的激活,该层具有权重向量Wj和偏差Bj。为了简单起见,修正了偏差Bj=0,结果fj由下式给出: f j = W j T x = ∣ ∣ W j ∣ ∣ ∣ ∣ x ∣ ∣ c o s θ j f_j=W_j^Tx=||W_j|| ||x|| cos\theta_j fj=WjTx=∣∣Wj∣∣∣∣x∣∣cosθj。其中 θj 是 Wj 和 x 之间的角度。这个公式表明向量的范数和角度都对后验概率有贡献。
为了开发有效的特征学习,W 的范数必须是不变的。 为此,通过 L2 归一化来固定 ||Wj|| = 1。 在测试阶段,通常根据两个特征向量之间的余弦相似度计算测试人脸对的人脸识别分数。 这表明特征向量 x 的范数对评分函数没有贡献。 因此,在训练阶段,固定||x|| = s。 因此,后验概率仅依赖于角度的余弦。 修正后的损失可以表示为:
L n s = 1 N ∑ i ( − l o g e s ∗ c o s ( θ y i , i ) ∑ j e s ∗ c o s ( θ j , i ) ) L_{ns}=\frac{1}{N}\sum_{i}(-log\frac{e^{s*cos(\theta_{y_i},i)}}{\sum_je^{s*cos(\theta_{j},i)}}) Lns=N1i∑(−log∑jes∗cos(θj,i)es∗cos(θyi,i))
通过固定 ||x|| = s 消除了径向方向的变化,所以生成的模型学习了在角空间中可分离的特征。在本文中,将此损失称为 Softmax 损失 (NSL) 的归一化版本。
NSL 学习到的特征并没有足够的判别力,因为 NSL 只强调正确的分类。 为了解决这个问题,将余弦余量引入分类边界,自然而然地并入了 Softmax 的余弦公式。
例如考虑二元类的场景,让 θi 表示学习的特征向量和类 Ci (i = 1, 2) 的权重向量之间的角度。 NSL 强制 C1 的 cos(θ1) > cos(θ2),对于 C2 也是如此,因此来自不同类别的特征被正确分类。为了开发一个大间隔分类器,进一步要求 cos(θ1) -m > cos(θ2) 和 cos(θ2) -m > cos(θ1),其中 m ≥ 0 是一个固定参数,用于控制余弦的大小收益。由于 cos(θi) -m 低于 cos(θi),因此对分类的约束更加严格。上述分析可以很好地推广到多类的场景。因此,改变后的损失通过增强余弦空间中的额外余量来加强对学习特征的区分。
形式上,将**增强边缘余弦损失函数 (LMCL)**定义为:
L l m c = 1 N ∑ i − l o g e s ∗ ( c o s ( θ y i , i ) − m ) e s ∗ ( c o s ( θ y i , i ) − m ) + ∑ j ≠ y i e s ∗ ( c o s ( θ y i , i ) ) L_{lmc}=\frac{1}{N}\sum_{i}-log\frac{e^{s*(cos(\theta_{y_i},i)-m)}}{e^{s*(cos(\theta_{y_i},i)-m)}+\sum_{j\neq{y_i}}e^{s*(cos(\theta_{y_i},i))}} Llmc=N1i∑−loges∗(cos(θyi,i)−m)+∑j=yies∗(cos(θyi,i))es∗(cos(θyi,i)−m)
其中约束条件有: W = W ∗ ∣ ∣ W ∗ ∣ ∣ , x = x ∗ ∣ ∣ x ∗ ∣ ∣ , c o s ( θ j , i ) = W j T x i W=\frac{W^*}{||W^*||},x=\frac{x^*}{||x^*||},cos(\theta_j,i)=W_j^Tx_i W=∣∣W∗∣∣W∗,x=∣∣x∗∣∣x∗,cos(θj,i)=WjTxi。其中N是训练样本的编号,xi是与yi的ground-truth类对应的第i个特征向量,Wj是j-TH类的权重向量,而 θ j \theta_j θj是Wj和Xi之间的夹角。
Comparison on Different Loss Functions
将本文的方法(LMCL)的决策边界与Softmax、NSL和A-Softmax进行比较,如下图所示。为了简化分析,考虑具有类C1和C2的二进制类场景。设W1和W2分别表示C1和C2的权重向量。
Softmax损耗定义决策边界: ∣ ∣ W 1 ∣ ∣ c o s ( θ 1 ) = ∣ ∣ W 2 ∣ ∣ c o s ( θ 2 ) ||W_1||cos(\theta_1)=||W_2||cos(\theta_2) ∣∣W1∣∣cos(θ1)=∣∣W2∣∣cos(θ2)。
- 其边界取决于权重向量的大小和角度余弦,这导致余弦空间中的重叠决策区域(边界< 0) 。在测试阶段,通常只考虑测试人脸特征向量之间的余弦相似度。因此,具有Softmax损失的训练分类器无法对余弦空间中的测试样本进行完美分类。
NSL对权重向量W1和W2进行归一化,使得它们具有恒定的幅度1,这导致由下式给出的判定边界: c o s ( θ 1 ) = c o s ( θ 2 ) cos(\theta_1)=cos(\theta_2) cos(θ1)=cos(θ2)。
- NSL 的决策边界如上图的第二个子图所示通过去除径向变化,NSL 能够在余弦空间中完美地对测试样本进行分类,margin = 0。但是,它不是很鲁棒噪声,因为没有决策余量:决策边界周围的任何小扰动都可能改变决策。
A-Softmax 通过引入额外的边距来改进 softmax 损失,使得其决策边界由下式给出:
c 1 : c o s ( m θ 1 ) ≥ c o s ( θ 2 ) c 2 : c o s ( m θ 2 ) ≥ c o s ( θ 1 ) c_1:cos(m\theta_1)\geq{cos(\theta_2)}\\ c_2:cos(m\theta_2)\geq{cos(\theta_1)} c1:cos(mθ1)≥cos(θ2)c2:cos(mθ2)≥cos(θ1)
对于C1,需要θ1≤θ2/m,并且类似地对于C2。上图的第三个子图描绘了该决策区域,其中灰色区域表示决策余量。然而,A-Softmax的余量在所有θ值上不一致:余量随着θ的减小而变小,当θ = 0时余量完全消失。这导致了两个潜在的问题。首先,对于视觉上相似并因此在W1和W2之间具有较小角度的不同类别C1和C2,边界因此较小。第二,从技术上讲,必须用一个特殊的分段函数来克服余弦函数的非单调性困难。
LMCL通过以下方式定义余弦空间而非角度空间(如a-Softmax)中的决策边界:
c 1 : c o s ( m θ 1 ) ≥ c o s ( θ 2 ) + m c 2 : c o s ( m θ 2 ) ≥ c o s ( θ 1 ) + m c_1:cos(m\theta_1)\geq{cos(\theta_2)}+m\\ c_2:cos(m\theta_2)\geq{cos(\theta_1)}+m c1:cos(mθ1)≥cos(θ2)+mc2:cos(mθ2)≥cos(θ1)+m
对于C1(类似于C2),cos(θ1)被最大化,而cos(θ2)被最小化,以执行大幅度分类。上图中的最后一个子图展示了余弦空间中LMCL的决策边界,可以看到一个清晰的边界(√ 2m)角的余弦分布。这表明LMCL比NSL更稳健,因为决策边界(虚线)周围的小扰动不太可能导致错误决策。余弦边界一致地应用于所有样本,无论其权重向量的角度如何。
Normalization on Features
LMCL中,为了推导余弦损耗公式并消除径向变化,引入了一种归一化方案。本文的方法同时对权重向量和特征向量进行规格化。因此,特征向量分布在超球体上,其中缩放参数s控制半径的大小。本小节将讨论为什么特征规范化是必要的,以及特征规范化如何在所提出的LMCL方法中促进更好的特征学习。
从两个方面阐述了特征归一化的必要性:第一,没有特征归一化的原始softmax loss隐式学习特征向量的欧氏范数(L2范数)和角度的余弦值。自适应学习L2范数以最小化总体损耗,从而产生相对较弱的余弦约束。
特别是,简单样本的自适应L2范数变得比硬样本大得多,以弥补余弦度量性能的不足。相反,本文方法要求整个特征向量集具有相同的L2 -范数,使得学习仅依赖于余弦值来发展判别能力。来自相同类的特征向量被聚集在一起,并且来自不同类的特征向量在超球面上被拉开。
此外,还考虑了模型最初开始最小化LMCL的情况。给定特征向量x,令cos (θi) 和cos (θj) 分别表示两类的余弦分数。在不对特征进行归一化的情况下,LMCL要求|| x|| (cos (θi) - m) >|| x||cos (θj) 。注意,cos (θi) 和cos (θj) 最初可以相互比较,因此,只要 (cos (θi) - m) 小于cos (θj),就需要为使损失最小化而减小x,这使得优化变差。
因此,在LMCL的监督下,特征规范化是至关重要的,尤其是当网络从零开始训练时。同样地,固定缩放参数s比自适应学习更有利。
缩放参数s应设置为适当大的值,以产生性能更好且训练损失更低的特征。对于NSL,损失随着s的增加而不断降低,而s太小则导致收敛不足,甚至没有收敛。对于LMCL,需要足够大的空间,以确保有足够的超空间用于特征学习,并具有预期的大幅度。对于NSL,损失随着s的增大而不断减小,而s太小则导致收敛不足甚至不收敛。对于LMCL,还需要足够大的空间,以确保有足够的超空间用于特征学习,并具有预期的大幅度。
参数 s 应该有一个下界以获得预期的分类性能。 给定归一化的学习特征向量 x 和单位权重向量 W,将类的总数表示为 C。假设学习的特征向量分别位于超球面的表面并以相应的权重向量为中心。 令 Pw 表示类中心的预期最小后验概率(即 W),s 的下界由 给出:
s ≥ C − 1 C l o g ( C − 1 ) P w 1 − P w s\geq\frac{C-1}{C}log\frac{(C-1)P_w}{1-P_w} s≥CC−1log1−Pw(C−1)Pw
基于这个界限,可以推断如果期望对具有一定数量的类进行分类的最佳 Pw,则 s 应该一致地扩大。此外,通过保持固定的 Pw,期望的 s 应该更大以处理更多的类,因为不断增长的类增加了在相对紧凑的空间中分类的难度。因此,嵌入具有小类内距离和大类间距离的特征需要具有大半径 s 的超球面。
Theoretical Analysis for LMCL
在学习超球面上的鉴别特征方面,余弦边界是增强特征鉴别能力的重要组成部分。有必要对余弦边界(即超参数m的界)的定量可行选择进行详细分析。m的最佳选择可能会导致更具前景的高分辨人脸特征学习。深入研究了特征空间中的决策边界和角边界,以推导超参数m的理论界。
首先,考虑与前面一样具有类 C1和 C2 的二元类情况,假设给定归一化特征向量 x。 令 Wi 表示归一化的权重向量,θi 表示 x 和 Wi 之间的角度。 对于 NSL,决策边界定义为 cos θ1 - cos θ2 = 0,相当于 W1 和 W2 的角平分线,如下图左侧所示。这解决了 NSL 监督的模型将基础特征空间划分为 两个靠近的区域,其中边界附近的特征非常模糊(即,属于任一类都是可以接受的)。 相反,LMCL 为 C1 驱动由 cos θ1 - cos θ2 = m 制定的决策边界,其中 θ1 应远小于 θ2(对于 C2 类似)。 因此,类间方差增大,而类内方差减小。
从特征角度对LMCL进行几何解释。不同的颜色区域代表不同类别的特征空间。与NSL相比,LMCL具有相对紧凑的特征区域。
从上图可以观察到最大角度边界受制于 W1 和 W2 之间的角度。 因此,当给定 W1 和 W2 时,余弦余量应具有有限的可变范围。 具体来说,假设属于第 i 类的所有特征向量与第 i 类对应的权重向量 Wi 完全重叠的场景。 换句话说,每个特征向量都与类 i 的权重向量相同,显然特征空间处于极端情况,所有特征向量都位于它们的类中心。 在这种情况下,决策边界的边距已经最大化(即余弦边距的严格上限)。
本文假设所有的特性都是分离的,并且有C个类别数。m的理论变量范围假定为: 0 ≤ m ≤ ( 1 − m a x ( W i T W j ) ) 0≤m≤(1-max(W^T_i W_j)) 0≤m≤(1−max(WiTWj)),其中i,j ≤ n, i ≠ j i\neq j i=j。softmax损失试图最大化来自两个不同类别的两个权重向量之间的角度,以便执行完美的分类。因此,很明显,softmax损失的最优解应该在单位超球面上均匀分布权重向量。基于这一假设,所引入的余弦边界m的可变范围可以推断如下:
0 ≤ m ≤ 1 − c o s 2 π C , ( k = 2 ) 0 ≤ m ≤ 1 − c o s C C − 1 , ( C ≤ K + 1 ) 0 ≤ m ≪ 1 − c o s C C − 1 , ( C > K + 1 ) 0\leq{m}\leq{1-cos\frac{2\pi}{C}},(k=2)\\ 0\leq{m}\leq{1-cos\frac{C}{C-1}},(C\leq{K+1})\\ 0\leq{m}\ll{1-cos\frac{C}{C-1}},(C>K+1) 0≤m≤1−cosC2π,(k=2)0≤m≤1−cosC−1C,(C≤K+1)0≤m≪1−cosC−1C,(C>K+1)
其中C是训练类的数量,K是学习特征的维数。这些不等式表明,随着类别数的增加,类别间余弦差的上界相应减小。特别是,如果类别数远大于特征维数,余弦边界的上界将变得更小。
合理选择较大的 m ∈ [ 0 , C C − 1 ) m∈[0,\frac{C}{C-1}) m∈[0,C−1C)应能有效促进高区分度特征的学习。然而,在实践中,由于特征空间的消失,参数m通常达不到理论上限。也就是说,所有的特征向量根据相应类别的权重向量一起居中。
事实上,当m太大时,模型无法收敛,因为余弦约束(即两类的cosθ1-m > cosθ2或cosθ2-m > cosθ1)变得更严格,很难满足。此外,具有过大m的余弦约束迫使训练过程对噪声数据更加敏感。由于无法收敛,不断增加的m在某个点开始降低整体性能。
进行了一个测试实验,以便更好地可视化特征并验证本文方法。从包含足够样本的8个不同身份中选择面部图像,以清楚地显示图上的特征点。使用原始的softmax loss和提出的具有不同m设置的LMCL来训练几个模型。为了简单起见,提取人脸图像的二维特征。如上所述,m应不大于 1 − c o s π 4 1-cos\frac{π}{4} 1−cos4π(约0.29),因此设置了三个m选项进行比较,分别为m = 0、m = 0.1和m = 0.2。如下图所示,第一行和第二行分别表示欧几里德空间和角空间中的特征分布。可以观察到,原始的softmax损失在决策边界中产生模糊,而提出的LMCL表现得更好。随着m的增加,不同等级之间的角度差被放大。
- 具有2D特征的8个恒等式上不同损失函数的测试实验。第一行将2D特征映射到欧几里得空间,而第二行将2D特征投影到角度空间。随着边界项m的增加,该差距变得明显。
Experiments
Implementation Details
- Preprocessing:首先,通过MTCNN对整组训练和测试图像检测面部区域和标志。然后,采用5个面部点(双眼、鼻子和两个嘴角)进行相似性变换。之后,获得裁剪后的人脸,然后调整大小为112 × 96。RGB图像中的每个像素(在[0,255]中)通过减去127.5然后除以128来归一化。
- Training:为了与使用小型训练数据集(少于0.5百万张图像和2万名受试者)的现有结果进行直接和公平的比较,在小型训练数据集上训练本文的模型,该数据集是公开可用的CASIAWebFace数据集,包含来自10575名受试者的0.49百万张面部图像。还使用大型训练数据集来评估本文的方法的性能,以便在基准人脸数据集上与最先进的结果(使用大型训练数据集)进行基准比较。在这项研究中使用的大型训练数据集由几个公共数据集和一个私人人脸数据集组成,包含来自超过90K个身份的大约5M个图像。训练面被水平翻转用于数据扩充。在本文的实验中,移除了属于测试数据集中出现的身份的人脸图像。
- 为了公平比较,本文使用的CNN架构类似于SphereFace: Deep Hypersphere Embedding for Face Recognition,它具有64个卷积层,并且基于残差单元。根据经验, L l m c = 1 N ∑ i − l o g e s ∗ ( c o s ( θ y i , i ) − m ) e s ∗ ( c o s ( θ y i , i ) − m ) + ∑ j ≠ y i e s ∗ ( c o s ( θ y i , i ) ) L_{lmc}=\frac{1}{N}\sum_{i}-log\frac{e^{s*(cos(\theta_{y_i},i)-m)}}{e^{s*(cos(\theta_{y_i},i)-m)}+\sum_{j\neq{y_i}}e^{s*(cos(\theta_{y_i},i))}} Llmc=N1∑i−loges∗(cos(θyi,i)−m)+∑j=yies∗(cos(θyi,i))es∗(cos(θyi,i)−m)中的缩放参数s被设置为64。使用Caffe来实现损失层的修改并运行模型。CNN模型采用SGD算法进行训练,在8个GPU上批量为64个。权重衰减设定为0.0005。对于在小数据集上训练的情况,学习率最初是0.1,并在16K、24K、28k迭代时除以10,在30k迭代时完成训练过程。而在大数据集上的训练在240k迭代时终止,初始学习率在80K、140K、200K迭代时下降0.05。
- Testing:在测试阶段,原始图像和翻转图像的特征连接在一起,组成最终的人脸表示。计算特征的余弦距离作为相似性得分。最后,通过阈值化和分数排序进行人脸验证和识别。在几个流行的公共人脸数据集上测试本文的模型,包括LFW,YTF和MegaFace。
Exploratory Experiments
- 边际参数m在LMCL中起着关键作用。在这一部分中,进行了一项实验来研究m的影响。通过将m从0变到0.45(如果m大于0.45,模型将无法收敛),使用小训练数据(CASIA-WebFace)来训练本文的CosFace模型,并在LFW和YTF数据集上评估其性能,如下图所示。可以看到,没有余量的模型(在这种情况下m=0)导致最差的性能。随着m的增加,两个数据集上的精度一致提高,并在m = 0.35时达到饱和。这证明了边界m的有效性。通过增加裕度m,可以显著提高所学习特征的辨别能力。在本研究中,m在随后的实验中被设置为固定的0.35。
- LFW和YTF上不同边缘参数m的共面精度(%)。
- Effect of Feature Normalization
- 为了研究方法中特征归一化方案的效果,通过将m固定为0.35,在有和没有特征归一化方案的CASIA-WebFace上训练CosFace模型,并比较它们在LFW、YTF和Megaface Challenge 1(MF1)上的性能。注意,未经归一化训练的模型由softmax loss初始化,然后由提出的LMCL监督。比较结果见下表。很明显,在三个数据集上,使用特征归一化方案的模型始终优于没有特征归一化方案的模型。如上文所讨论的,特征归一化移除了radical variance,并且所学习的特征在角度空间中可以更具辨别性。
- 在Megaface Challenge 1 (MF1)上对我们的模型进行特征归一化和不归一化的比较。“等级1”是指等级1的面部识别准确度和“Veri”指在低于 1 0 − 6 10^{-6} 10−6 FAR(错误接受率)的人脸验证TAR(真实接受率)。
Comparison with state-of-the-art loss functions
- 将提出的LMCL的性能与最先进的损失函数进行了比较。使用SphereFace: Deep Hypersphere Embedding for Face Recognition中描述的相同64层CNN架构,在CAISAWebFace上使用提议的LMCL的指导来训练模型。在下表中报告了在LFW、YTF和MF1上实验比较。
- 提出的LMCL与人脸识别社区中最先进的损失函数的比较。此表中的所有方法都使用相同的训练数据和相同的64层CNN架构。
- 为了公平比较,严格遵循模型结构(类似64层ResNet的CNN)和SphereFace的详细实验设置。从上表中看出,在三个数据集上,与其他损失相比,LMCL始终取得有竞争力的结果。特别地,本文的方法不仅优于具有特征归一化的A-Softmax(在上表中命名为A-Softmax-NormFea ),而且显著优于YTF和MF1上的其他损失函数,这证明了LMCL的有效性。
Overall Benchmark Comparison
Evaluation on LFW and YTF
- LFW是无约束条件下的标准人脸验证测试数据集。它包括从网站上收集的5749个身份的13233张人脸图像。严格按照带有标记的外部数据的无限制的标准协议来评估本文的模型,并在6000对测试图像上报告结果。
- YTF包含1595个不同人的3425个视频。视频剪辑的平均长度是181.3帧。所有的视频都是从YouTube上下载的。遵循无限制带标签外部数据协议,并报告5000个视频对的结果。
- 所提出的CosFace在LFW和YTF上分别实现了99.73%和97.6%的最新结果。FaceNet在LFW上取得了亚军的成绩,拥有约2亿张人脸图像的大规模图像数据集。在YTF方面,本文的模型在所有其他方法中达到第一。
Evaluation on MegaFace
- MegaFace是最近发布的一个非常具有挑战性的测试基准,用于大规模人脸识别和验证,它包含一个图库集和一个探针集。Megaface中的图库集由超过100万张人脸图像组成。探针集有两个现有的数据库:Facescrub和FGNET 。在这项研究中,本文使用Facescrub数据集(包含530位名人的106863张人脸图像)作为探针集,来评估本文的方法在Megaface挑战1和挑战2上的性能。
- MegaFace Challenge 1 (MF1):图库集整合了从Flickr photos收集的来自69万个人的超过100万张图片。下表总结了本文的模型在MegaFace的两个协议上训练的结果,其中如果训练数据集的图像少于50万,则认为它是小的,否则就是大的。CosFace方法显示了其在两个协议的识别和验证任务上的优越性。
- MF1上的人脸识别和验证评估。“等级1”是指等级1的面部识别准确度和“Veri”指 1 0 − 6 10^{-6} 10−6FAR下的表面验证TAR。
- MegaFace Challenge 2 (MF2):以MegaFace Challenge 2来说,所有的算法都需要使用MegaFace提供的训练数据。Megaface Challenge 2的训练数据包含470万个面部和672K个身份,这对应于大协议。该图库集包含100万幅不同于挑战1图库集的图像。不出所料,本文的方法赢得了表5中挑战2的第一名,以较大的优势(1级识别准确率为1.39%,验证性能为5.46%)创造了新的最先进水平。
- MF2上的人脸识别和验证评估。“等级1”是指等级1的面部识别准确度和“Veri”指在 1 0 − 6 10^{-6} 10−6 FAR下的表面验证TAR。
Conclusion
- 本文提出了一种新的方法LMCL来指导深度细胞神经网络学习高分辨人脸特征。提供了一个良好的几何和理论解释,以验证所提出的LMCL的有效性。本文的方法在几个人脸基准上持续达到了最先进的结果。希望对通过LMCL学习区别特征的实质性探索将有益于人脸识别社区。
Supplementary Material
补充文件提供了缩放参数s(主文件中的 s ≥ C − 1 c l o g ( C − 1 ) P w 1 − P w s\geq{\frac{C-1}{c}log\frac{(C-1)P_w}{1-P_w}} s≥cC−1log1−Pw(C−1)Pw)的下限的推导以及余弦余量m(主文件中的 0 ≤ m ≤ 1 − c o s 2 π C , ( k = 2 ) ∣ 0 ≤ m ≤ 1 − c o s C C − 1 , ( C ≤ K + 1 ) ∣ 0 ≤ m ≪ 1 − c o s C C − 1 , ( C > K + 1 ) 0\leq{m}\leq{1-cos\frac{2\pi}{C}},(k=2) |0\leq{m}\leq{1-cos\frac{C}{C-1}},(C\leq{K+1}) |0\leq{m}\ll{1-cos\frac{C}{C-1}},(C>K+1) 0≤m≤1−cosC2π,(k=2)∣0≤m≤1−cosC−1C,(C≤K+1)∣0≤m≪1−cosC−1C,(C>K+1))的可变范围的数学细节。
Proposition of the Scaling Parameter s
给定归一化的学习特征x和单位权重向量W,将类别总数表示为C,其中C > 1。假设学习到的特征分别位于超球面上,并以相应的权重向量为中心。设Pw表示类中心的期望最小后验概率(即W)。s的下限公式如下:
s ≥ C − 1 C l n ( C − 1 ) P w 1 − P w s\geq{\frac{C-1}{C}ln{\frac{(C-1)P_w}{1-P_w}}} s≥CC−1ln1−Pw(C−1)Pw
Proof:设Wi表示第i个单位权向量。∀i,则有:
e s e s + ∑ j , j ≠ i e s ( W i T W j ) ≥ P w , 1 + e − s ∑ j , j ≠ i e s ( W i T W j ) ≤ 1 P w , ∑ i = 1 C ( 1 + e − s ∑ j , j ≠ i e s ( W i T W j ) ) ≤ C P w , 1 + e − s C ∑ i , j , j ≠ i e s ( W i T W j ) ≤ 1 P w , \frac{e^s}{e^s+\sum_{j,j\neq{i}}e^{s(W_i^TW_j)}}\geq{P_w},\\ 1+e^{-s}\sum_{j,j\neq{i}}e^{s(W_i^TW_j)}\leq\frac{1}{P_w},\\ \sum_{i=1}^{C}(1+e^{-s}\sum_{j,j\neq{i}}e^{s(W_i^TW_j)})\leq{\frac{C}{P_w}},\\ 1+\frac{e^{-s}}{C}\sum_{i,j,j\neq{i}}e^{s(W_i^TW_j)}\leq\frac{1}{P_w},\\ es+∑j,j=ies(WiTWj)es≥Pw,1+e−sj,j=i∑es(WiTWj)≤Pw1,i=1∑C(1+e−sj,j=i∑es(WiTWj))≤PwC,1+Ce−si,j,j=i∑es(WiTWj)≤Pw1,
因为 f ( x ) = e s ⋅ x f(x)=e^{s·x} f(x)=es⋅x是凸函数,根据詹森不等式,得到:
- 1 C ( C − 1 ) ∑ i , h , j ≠ i e s ( W i T W j ) ≥ e s C ( C − 1 ) ∑ i , j , j ≠ i W i T W j \frac{1}{C(C-1)}\sum_{i,h,j\neq{i}}e^{s(W_i^TW_j)}\geq{e^{\frac{s}{C(C-1)}\sum_{i,j,j\neq{i}}W_i^TW_j}} C(C−1)1i,h,j=i∑es(WiTWj)≥eC(C−1)s∑i,j,j=iWiTWj
此外,众所周知:
- ∑ i , j , i ≠ j W i T W j = ( ∑ i W i ) 2 − ( ∑ i W i 2 ) ≥ − C \sum_{i,j,i\neq{j}}W_i^TW_j=(\sum_iW_i)^2-(\sum_iW_i^2)\geq{-C} i,j,i=j∑WiTWj=(i∑Wi)2−(i∑Wi2)≥−C
可以得到: 1 + ( C − 1 ) e − s C C − 1 ≤ 1 P w 1+(C-1)e^{-\frac{sC}{C-1}}\leq\frac{1}{P_w} 1+(C−1)e−C−1sC≤Pw1.
进一步简化产生: s ≥ C − 1 C l n ( C − 1 ) P w 1 − P w s\geq{\frac{C-1}{C}ln{\frac{(C-1)P_w}{1-P_w}}} s≥CC−1ln1−Pw(C−1)Pw.
当且仅当每个 W i T W j W^T_iW_j WiTWj相等( i ≠ j i\neq{j} i=j)且 ∑ i W i = 0 \sum_iW_i=0 ∑iWi=0时,等式成立。因为在K维超空间中至多K + 1个单位向量能够满足这个条件,所以等式仅在C ≤ K + 1时成立,其中K是所学习特征的维数。
Proposition of the Cosine Margin m
假设权重向量均匀分布在单位超球面上。引入的余弦边界m的可变范围用公式表示如下:
0 ≤ m ≤ 1 − c o s 2 π C , ( k = 2 ) 0 ≤ m ≤ 1 − c o s C C − 1 , ( K > 2 , C ≤ K + 1 ) 0 ≤ m ≪ 1 − c o s C C − 1 , ( K > 2 , C > K + 1 ) 0\leq{m}\leq{1-cos\frac{2\pi}{C}},(k=2)\\ 0\leq{m}\leq{1-cos\frac{C}{C-1}},(K\gt 2,C\leq{K+1})\\ 0\leq{m}\ll{1-cos\frac{C}{C-1}},(K\gt{2},C>K+1) 0≤m≤1−cosC2π,(k=2)0≤m≤1−cosC−1C,(K>2,C≤K+1)0≤m≪1−cosC−1C,(K>2,C>K+1)
其中C是训练类的总数,K是学习特征的维数。
Proof:对于K = 2,权向量均匀分布在单位圆上。因此, m a x ( W i T W j ) = c o s 2 π C max(W^T_iW_j)=cos\frac{2π}{C} max(WiTWj)=cosC2π。它遵循 0 ≤ m ≤ ( 1 − m a x ( W i T W j ) ) = 1 − c o s 2 π C 0≤m≤(1-max(W^T_iW_j))= 1-cos\frac{2π}{C} 0≤m≤(1−max(WiTWj))=1−cosC2π。
对于K > 2,下面的不等式成立:
- C ( C − 1 ) m a x ( W i T W j ) ≥ ∑ i , j , i ≠ j W i T W j = ( ∑ i W i ) 2 − ( ∑ i W i 2 ) ≥ − C C(C-1)max(W^T_iW_j)\geq\sum_{i,j,i\neq{j}}W^T_iW_j=(\sum_iW_i)^2-(\sum_iW_i^2)\geq-C C(C−1)max(WiTWj)≥i,j,i=j∑WiTWj=(i∑Wi)2−(i∑Wi2)≥−C
因此, m a x ( W i T W j ) ≥ − 1 C − 1 max(W^T_iW_j)≥\frac{-1}{C-1} max(WiTWj)≥C−1−1,得到 0 ≤ m ≤ ( 1 − m a x ( W i T W j ) ) ≤ C C − 1 0≤m≤(1-max(W^T_iW_j))≤\frac{C}{C-1} 0≤m≤(1−max(WiTWj))≤C−1C。
类似地,等式成立当且仅当每个 W i T W j W^T_iW_j WiTWj相等( i ≠ j i\neq{j} i=j),且 ∑ i W i = 0 \sum_{i}W_i = 0 ∑iWi=0。如上所述,只有当C ≤ K + 1时才满足这一点。在这个条件下,任意两个W的顶点之间的距离应该是相同的。换句话说,如果C = 3,它们形成正单形,如等边三角形;如果C = 4,它们形成正四面体。
对于C > K + 1的情况,等式不能满足。事实上,它无法制定严格的上限。因此,得到 0 ≤ m ≪ C C − 1 0 ≤ m\ll\frac{C}{C-1} 0≤m≪C−1C。因为类的数量可能比特征尺寸大得多,所以等式在实践中不成立。