当前位置:   article > 正文

facenet实现人脸识别_再谈人脸识别损失函数综述

为什么人脸识别不用hierarchical softmax

Softmax


softmax是最常见的人脸识别函数,其原理是去掉最后的分类层,作为解特征网络导出特征向量用于人脸识别。softmax训练的时候收敛得很快,但是精确度一般达到0.9左右就不会再上升了,一方面是作为分类网络,softmax不能像metric learning一样显式的优化类间和类内距离,所以性能不会特别好,另外,人脸识别的关键在于得到泛化能力强的feature,与分类能力并不是完全等价的。

b5ee4f22-5246-eb11-8da9-e4434bdf6706.svg

公式中N是batch size的大小,n是类别数目。如果训练进行了停滞,可以采用挑选hard sample(即那些预测错误但是预测值较高的样本,也就是比较难分类的样本)的办法进行帮助训练。具体的可以了解OHEM(Online hard example mining)技术, 比如说Focal loss一类的。

Triplet Loss


Triplet loss属于Metric Learning, 相比起softmax, 它可以方便地训练大规模数据集,不受显存的限制。缺点是过于关注局部,导致难以训练且收敛时间长

b7ee4f22-5246-eb11-8da9-e4434bdf6706.svg

这里提一下Metric Learning的概念,它是根据不同的任务来自主学习出针对某个特定任务的度量距离函数。通过计算两张图片之间的相似度,使得输入图片被归入到相似度大的图片类别中去。通常的目标是使同类样本之间的距离尽可能缩小,不同类样本之间的距离尽可能放大。

Center Loss


首先我们看一张图:

a7258b47000ba500223122056a6c6d7f.png

可以看到,在separable features中,类内距离有的时候甚至是比内间距离要大的,这也是上问题到softmax效果不好的原因之一,它具备分类能力但是不具备metric learning的特性,没法压缩同一类别。在这个基础上,center loss被提出来,用于压缩同一类别。center loss的核心是,为每一个类别提供一个类别中心,最小化每个样本与该中心的距离:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/932150
推荐阅读
相关标签
  

闽ICP备14008679号