NormFace L2 Hypersphere Embedding for Face Verification

NormFace: L2 Hypersphere Embedding for Face Verification

3 L2 NORMALIZATION LAYER

在这一部分中,我们回答了当损失函数为softmax-loss时为什么要对特征进行规范化,以及如果直接对规范化特征进行softmax-loss,为什么网络不收敛的问题。

3.1 Necessity of Normalization

NormFace L2 Hypersphere Embedding for Face Verification

图2:左:使用MNIST[14]数据集上的softmax loss优化二维特征分布。请注意,f1和f2之间的欧氏距离远小于f2和f3之间的距离,即使f2和f3来自同一个类。右:二维平面上0类的 softmax probability。最好用彩色观看。
NormFace L2 Hypersphere Embedding for Face Verification

图3:内积运算后加上偏压项时的两个选择散点图。请注意,有一个或两个 簇位于零点附近。如果我们将中心簇的特征标准化,它们会在单位圆上到处扩散,这将导致错误分类

为了直观感受softmax的损失,我们做了一个玩具实验,在MNIST数据集[14]上训练一个更深的LeNet[13]模型。我们将特征维数减少到2,并从图2中的平面上的训练集绘制10,000个二维特征。从图中我们发现,如果我们使用欧几里德距离作为度量,f2可以比f3更接近f1。因此,直接使用这些特性进行比较可能会导致性能下降。同时,我们发现,与欧氏距离或内积运算相比,特征向量之间的夹角似乎是一个很好的度量。实际上,以往的研究大多以特征向量间夹角的余弦作为相似度[31,36,38],尽管它们都使用softmax loss来训练网络。由于softmax损失最常见的相似性度量是具有非规范化特征的内积,因此在训练和测试阶段使用的度量之间存在差距。

soft max loss倾向于创建“辐射状的”特征分布的原因(图2)是softmax loss实际上充当max操作符的软版本。缩放特征向量的大小不会影响其类的分配。正式地说,我们回顾了softmax损失的定义,

NormFace L2 Hypersphere Embedding for Face Verification

其中m是训练样本的数目,n是类的数目,fi是第i个样本的特征,yi是[1,n]范围内的对应标签,W和b是softmax损失前最后一个内积层的权重矩阵和偏差向量,Wj是W的第j列,它对应于第j类。在测试阶段,我们对样本进行分类
NormFace L2 Hypersphere Embedding for Face Verification

在这种情况下,我们可以推断(Wif+bi)(Wjf+bj)0,j[1,n](W_if+b_i)-(W_jf+b_j)\ge0,\forall_j\in[1,n]。利用这个不等式,我们得到以下命题。

命题1。对于以无偏差内积相似度为度量的softmax loss,令Pi(f)=eWiTfΣj=1neWjTfP_i(f)=\frac{e^{W_i^Tf}}{\Sigma_{j=1}^ne^{W_j^Tf}}表示x被归类为i类的概率。对于任意给定的标度s > 1,如果i=argmaxj(WjTf)i=argmax_j(W_j^Tf),那么Pi(sf)Pi(f)P_i(sf)\ge P_i(f)总是成立。

证明:

让t=s-1,缩放之后,我们有

NormFace L2 Hypersphere Embedding for Face Verification

NormFace L2 Hypersphere Embedding for Face Verification

这个命题意味着,软最大损失总是鼓励分离良好的特征具有更大的量级。这就是为什么softmax的特征分布是“径向的”。

但是,我们可能不需要这个属性,如图2所示。通过标准化,我们可以消除其影响,因此,我们通常使用两个特征向量的余弦来度量两个样本的相似性。但是,如果在内积运算后加入偏置项,则命题1不成立。实际上,这两个类的权向量可以是相同的,模型仍然可以通过偏差做出决策。我们在MNIST实验中发现了这种情况,散射体如图3所示。从图中可以发现,有些类的点都位于零点附近,经过规范化,每个类的点都可以分布在单位圆上,与其他类重叠。在这些情况下,特征规范化可能会破坏特定类的区分能力。为了避免这类风险,本文在 softmax loss之前不加偏倚项,尽管它通常用于分类任务。

3.2 Layer Definition

我们定义x2=Σixi2+ϵϵ\begin{Vmatrix}x\end{Vmatrix}_2=\sqrt{\Sigma_ix^2_i+\epsilon},\epsilon是一个小正值,防止除零。对于输入向量xRnx\in R^n,L2归一化层输出归一化向量,

NormFace L2 Hypersphere Embedding for Face Verification
NormFace L2 Hypersphere Embedding for Face Verification
这里x可以是特征向量f,也可以是权矩阵的一列。在反向传播中,梯度w.r.t. x可由链式法则求得,

NormFace L2 Hypersphere Embedding for Face Verification

NormFace L2 Hypersphere Embedding for Face Verification
NormFace L2 Hypersphere Embedding for Face Verification

3.3 Reformulating Softmax Loss

使用归一化层,我们可以直接优化余弦相似度,

NormFace L2 Hypersphere Embedding for Face Verification

其中f为特征,Wi为softmax loss层之前内积层权矩阵的第i列。

然而,经过归一化后,网络无法收敛。损失只减少了一点点,然后在几千次迭代中收敛到一个非常大的值。在那之后,无论我们训练了多少次迭代,学习速度有多小,损失都不会减少。

这主要是因为归一化后d(f,Wi)d(f,W_i)的取值范围只在[-1,1],当我们使用内积层和softmax loss时,d(f,Wi)d(f,W_i)通常的取值范围是(-20,20)和(-80,80)。这个低范围问题可能会阻止概率Pyi(f;W)=eWyiTfjneWjTfP_{y_i}(f;W)=\frac{e^{W^T_{y_i}f}}{\sum^n_je^{W^T_jf}}接近1,即使样本被很好地分离。,yiy_i是f的分类标签。在极端情况下, e1e1+(n1)e1\frac{e^1}{e^1+(n-1)e^{-1}} 的数值非常小。比如当n=10的时候,P=0.45;当n=1000的时候,p=0.007。即使在这种情况下,所有其他类的样本都在单位超球面的另一边。由于softmax loss相对于ground truth label的梯度为1-P,所以该模型总是试图给分离良好的样本提供较大的梯度,而不容易分类的样本可能得不到足够的梯度。

命题2。(归一化后的Softmax损失边界)假设每个类具有相同数量的样本,并且所有的样本都被很好地分离,即每个样本的特征与其对应类的权重完全相同。如果能正则化特征和权值,使其范数为L,那么softmax损失将有一个bound(下界)log(1+(n1)enn1l2)\log(1+(n-1)e^{-\frac{n}{n-1}l^2}),其中n为类的数量。

证明:假设Wi=l,i[1,n]\begin{Vmatrix}W_i\end{Vmatrix}=l,\forall_i\in[1,n],假设所有的样本都是分离良好的,直接使用 Wi 来表示第i类的特性。softmax loss定义:

NormFace L2 Hypersphere Embedding for Face Verification

这个公式与(1)式不同,因为我们假设每个类都有相同的样本数量。通过分子分母同时除以 eWiTWi=el2e^{W^T_iW_i}=e^{l^2}

NormFace L2 Hypersphere Embedding for Face Verification

由于 f(x)=exf(x)=e^x 是凸函数, 1nΣi=1nexie1nΣi=1nxi\frac{1}{n}\Sigma_{i=1}^n e^{x_i}\ge e^{\frac{1}{n}\Sigma_{i=1}^nx_i}

NormFace L2 Hypersphere Embedding for Face Verification

当且仅当所有 WiTWj,1ijnW^T_iW_j,1\le i\le j\le n具有相同的值,不等式取等号,也就是来自不同类的features具有相同的距离。不幸的是,在d维空间中,只有d + 1个唯一的顶点来确保每个顶点有相同的距离。所有这些顶点将形成一个正则d-单纯形[26],例如,正则2-单纯形是一个等边三角形,正则3-单纯形是一个正则四面体。在人脸验证数据集中,由于类数通常比特征维数大得多,这种等式在实际应用中是不成立的。

类似于 f(x)=exf(x)=e^x ,当 C>0C>0 ,softplus函数 s(x)=log(1+Cex)s(x)=log(1+Ce^x) 也是一个凸函数,所以 NormFace L2 Hypersphere Embedding for Face Verification

NormFace L2 Hypersphere Embedding for Face Verification
NormFace L2 Hypersphere Embedding for Face Verification

NormFace L2 Hypersphere Embedding for Face Verification

所以

NormFace L2 Hypersphere Embedding for Face Verification

不等式取等号当且仅当 Σi=1nWi=0\Sigma_{i=1}^nW_i=0

NormFace L2 Hypersphere Embedding for Face Verification

这个界意味着,如果我们仅仅将特征和权重规范化为1,即使不应用正则化,softmax损失也将被困在训练集上的一个非常高的值。作为一个真实的例子,如果我们在CASIA-Webface数据集(n = 10575)上训练模型,损失将从大约9.27减少到大约8.50。这个条件的界是8.27,非常接近真实值。这表明我们的束缚非常紧密。为了对这个界有一个直观的认识,我们还在图5中绘制了这个界作为范数的函数的曲线。

NormFace L2 Hypersphere Embedding for Face Verification

图5:softmax loss的下界与特征和权重的规范的函数。注意,x轴是l2l^2模的平方,因为我们在实践中直接在余弦距离上添加了缩放参数。

在我们得到这个界之后,收敛问题的解就很清楚了。通过将特征和权重列归一化为一个更大的值而不是1,softmax的损失可以继续减少。在实践中,我们可以通过在余弦层之后直接添加一个缩放层来实现这一点。缩放层只有一个可学习的参数s=l2s=l^2

我们还可以将它修正为一个足够大的值,如图5所示,对于不同的类号来说是20或30。然而,我们更倾向于通过反向传播来自动学习参数,而不是引入一个新的超参数。最后,定义了余弦距离下的 softmax loss 为

NormFace L2 Hypersphere Embedding for Face Verification

来说是20或30。然而,我们更倾向于通过反向传播来自动学习参数,而不是引入一个新的超参数。最后,定义了余弦距离下的 softmax loss 为

[外链图片转存中…(img-vqBUMhA4-1594114681597)]

其中 x~\widetilde{x} 是标准化后的 x