zoukankan      html  css  js  c++  java
  • [论文阅读] A Discriminative Feature Learning Approach for Deep Face Recognition (Center Loss)

    原文: A Discriminative Feature Learning Approach for Deep Face Recognition

      用于人脸识别的center loss。

    1)同时学习每个类的深度特征的中心点

    2)对深度特征和其对应的类中心的距离有一定的惩罚

      提出的center loss函数在CNN中可以训练并且很容易优化。

      联合softmax loss和center loss,可以同时增加类间分散程度(inter-class dispension)与类内紧凑程度(intra-class compactness)。

           对于普通的分类任务,网络最后一层全连接层输出的特征只有可分就行,但对于人脸识别任务,深度网络学到的特征不仅要可分,而且区分度要更大。

           Softmax loss只有特征可分的效果,这对人脸识别是不够的。之前提出过contrastive loss和triplet loss,但是这两者需要仔细挑选训练样本,否则的话,具有不稳定行,也很难收敛。

           为了增强神经网络学到的深度特征的辨别力,我们提出center loss。我们学习每个类的深度特征的一个中心(与特征具有相同维度的一个向量);在训练的时候,我们同时更新中心和最小化特征与其对应的类中心的距离。CNN在softmax loss和center loss联合下进行训练,其中有一个超参数控制。可以看出,softmax loss迫使不同类的深度特征保持分离,center loss使得属于同一个类的特征更加靠近中心;因此,在这两者联合之下,类间的特征差距不仅被加大,类内的特征变化程度也减小了。

           本文的贡献:

    1)提出一个新的loss function,称为center loss。可以用来最小化深度特征的类内距离,使得人脸识别更加鲁棒。

    2)提出的center loss在CNN中很容易实现;模型可以训练,并且可以直接用SGD优化。

    3)做了大量实验,在各种数据集上取得很好的结果。

    3 The Proposed Approach

           首先用一个小例子来讲解为什么提出这个center loss。以MNIST数据集为例,使用的网络称为LeNet++,与LeNet网络的区别是,加宽和加深了LeNet网络,并将最后一层隐含层输出改为2。具体区别如下:

           Softmax损失函数如下:

    其中,表示第i个深度特征,属于第yi类;d表示特征维度;m表示mini-batch的大小,n表示类的数量;

           训练后二维的深度特征如下图,从图中可以看出,1)在使用softmax loss时,最后学习到的特征是可分的;2)深度特征并没有足够的可区别性,类内变化很大;因此这个不适合用于人脸识别。

     

    3.2 The center loss

           因此,如何设计一个有效的loss function,使得学习到的深度特征具有比较强的可区分性?直觉上,我们应该最小化类内的变化程度,同时保持类间的可区分性。最后,提出了center loss function,公式如下:

    表示深度特征的第个类中心。当深度特征改变的时候,应该被更新。换句话说,我们应该把整个训练数据集考虑在内,并且在每个迭代之后计算每个类的平均特征。因此,center loss不能直接使用。

           为了解决这个问题,我们做了两个必要的修改。首先,我们在每个mini-batch上更新中心点,而不是在整个训练集上。在每个迭代中,中心点通过计算每个类对应的特征的平均值得到(这种情况下,有些中心点可能不会更新);其次,为了避免被某些人为的错误标签干扰,我们使用一个尺度α来控制中心点的学习率。关于xi的Lc梯度更新公式和更新公式如下:

     

    其中δ(condition) = 1表示满足condition。α取值范围为[0,1];

           我们使用softmax loss和center loss联合训练CNN,公式如下:

           从公式中可以看出来,上面的loss可以通过标准的SGD最小化。λ用于平衡两个损失函数。具体训练算法如下:

     

           最后实验结果如下:

     

  • 相关阅读:
    luogu P1833 樱花 看成混合背包
    luogu P1077 摆花 基础记数dp
    luogu P1095 守望者的逃离 经典dp
    Even Subset Sum Problem CodeForces
    Maximum White Subtree CodeForces
    Sleeping Schedule CodeForces
    Bombs CodeForces
    病毒侵袭持续中 HDU
    病毒侵袭 HDU
    Educational Codeforces Round 35 (Rated for Div. 2)
  • 原文地址:https://www.cnblogs.com/hejunlin1992/p/8093044.html
Copyright © 2011-2022 走看看