一文了解人脸识别技术的原理 人脸识别技术是什么( 五 )


一文了解人脸识别技术的原理 人脸识别技术是什么

文章插图
另外,作者在轮中也提出了几个实验得到的观点:
  • 平方后的欧式距离不如开方后的真实欧氏距离(后续会简单提一下原因)
  • 提出了Soft-Margin损失函数替代原始的Triplet loss表达式,soft-margin能够使得损失函数更加平滑,避免函数收敛在bad local处,能够一定程度上加速算法收敛 。
  • 引进了Batch Hard Sampling
  • 该方法考虑了hard example后效果比传统的triplet loss好 。
    (3)对loss以及sample方法的修改
    参考论文:Deep Metric Learning via Lifted Structured Feature Embedding
    该论文首先提出了现有的三元组方法无法充分利用minibatch SGD training的training batches的优势,创造性的将the vector of pairwise distances转换成the matrix of pairwise distance,然后设计了一个新的结构化损失函数,取得了非常好的效果 。如下图所示,是contrastice embedding,triplet embedding以及lifted structured embedding三种方式的采样示意图 。
    一文了解人脸识别技术的原理 人脸识别技术是什么

    文章插图
    直观上看,lifted structured embedding涉及的分类模式更多,作者为了避免大量数据造成的训练困难,作者在此基础上给出了一个结构化的损失函数 。如下图所示 。
    一文了解人脸识别技术的原理 人脸识别技术是什么

    文章插图
    其中P是正样本集合,N是负样本集合 。可以看到对比上述的损失函数,该损失函数开始考虑一个样本集合的问题 。但是,并不是所有样本对之间的negative edges都携带了有用的信息,也就是说随机采样的样本对之间的negative edges携带了非常有限的信息,因此我们需要设计一种非随机的采样方法 。
    通过上述的结构化损失函数我们可以看到,在最终计算损失函数时,考虑了最像和最不像的hard pairs(也就是损失函数中max的用处),也就相当于在训练过程中添加了difficult neighbors的信息了训练mini-batch,通过这种方式训练数据能够大概率的搜寻到hard negatives和hard positives的样本,而随着训练的不断进行,对hard样本的训练也将实现最大化类间距离和最小化类内距离的目的 。
    一文了解人脸识别技术的原理 人脸识别技术是什么

    文章插图
    如上图所示,该文章在进行metric learning的时候并没有随机的选择sample pairs,而是综合了多类样本之间较难区分者进行训练 。此外,文中还提到了以为的寻求max的过程或者寻求single hardest negative的过程会导致网络收敛到一个bad local optimum,我猜想可能是因为max的截断效应,使得梯度比较陡峭或者梯度间断点过多 。作者进一步改进了loss function,采用了smooth upper bound,即下式所示 。
    一文了解人脸识别技术的原理 人脸识别技术是什么

    文章插图
    (4)对sample方式和对triplet loss的进一步修改
    参考论文:Sampling Matters in Deep Embedding Learning
  • 对采样方式的修改
  • 文章指出hard negative样本由于anchor的距离较小,这是如果有噪声,那么这种采样方式就很容易受到噪声的影响,从而造成训练时的模型坍塌 。FaceNet曾经提出一种semi-hard negative mining的方法,它提出的方法是让采样的样本不是太hard 。但是根据作者的分析认为,sample应该在样本中进行均匀的采样,因此最佳的采样状态应该是在分散均匀的负样本中,既有hard,又有semi-hard,又有easy的样本,因此作者提出了一种新的采样方法Distance weighted sampling 。
    在现实状态下,我们队所有的样本进行两两采样,计算其距离,最终得到点对距离的分布有着如下的关系:
    一文了解人脸识别技术的原理 人脸识别技术是什么

    文章插图
    那么根据给定的距离,通过上述函数的反函数就可以得到其采样概率,根据该概率决定每个距离需要采样的比例 。给定一个anchor,采样负例的概率为下式:
    一文了解人脸识别技术的原理 人脸识别技术是什么

    文章插图
    由于训练样本与训练梯度强相关,因此作者也绘制出了采样距离、采样方法与数据梯度方差的关系,如下图所示 。从图中可以看出,hard negative mining方法采样的样本都处于高方差的区域,如果数据集中有噪声的话,采样很容易受到噪声的影响,从而导致模型坍塌 。随机采样的样本容易集中在低方差的区域,从而使得loss很小,但此时模型实际上并没有训练好 。Semi-hard negative mining采样的范围很小,这很可能导致模型在很早的时候就收敛,loss下降很慢,但实际上此时模型也还没训练好;而本文提出的方法,能够实现在整个数据集上均匀采样 。