论文链接:A Discriminative Feature Learning Approach for Deep Face Recognition(需翻墙)
代码链接:https://github.com/ydwen/caffe-face
一个小实验
作者为了说明Softmax损失函数对特征分布的影响,在Minist上做了一个小的实验,使用了一个比LeNets更深的网络结构LeNets++(如下图)。
LeNets++把网络全连接层的数量调至2,这样就可以得到一个二维的特征输出,以此对全连接层的特征进行可视化
试验结果:
不同颜色代表不同类,从上图可以看出,Softmax函数学习到的特征仍然有很大的类内差距,为了解决这一问题,center loss应运而生。
center loss
Cyi表示属于yi类的特征的的中心
这样做是存在问题的:
理想情况下,我们每次更新权值都要遍历全部的训练集去获得每个类的中心,这是低效甚至不实际的
为了解决这个问题,作者使用了minbatch中的每个类的中心来更新,(虽然这样可能有些类的中心在一次迭代中无法更新到):
总损失函数使用的是Softmax+center Loss联合损失:
求导:
算法流程类似一般的卷积神经网络,就是多了一个更新中心点的流程
效果:
人脸识别实验
参数:
三组对比实验:
model A:softmax loss
model B:softmax loss and contrastive loss
model C :softmax loss and center loss
训练集 CASIA-WebFace , CACD2000, Celebrity+ 共0.7M
硬件 2个TitanX
batch size 为 256
learning rate 初始为0.1
A和C 28K次迭代收敛 用时14H
B 48K次迭代收敛 用时22H
测试用的比对算法:
比较简单,就是将每个图片以及它水平翻转的图片经过卷积神经网络,FC层的特征取出并连接成一个高维特征,经过PCA降维后,计算其余弦距离
*注:所谓’constrative loss’,参考: 人脸识别系列(三):DeepID2
结果
LFW得分:·
MegaFace得分
论文链接:A Discriminative Feature Learning Approach for Deep Face Recognition(需翻墙)
代码链接:https://github.com/ydwen/caffe-face
来源:CSDN
作者:qwioer
链接:https://blog.csdn.net/qwioer/article/details/104677412