A Discriminative Feature Learning Approach for Deep Face Recognition-ECCV2016
概要
对于常见的图像分类问题,我们常常用softmax loss来求损失,最后各个类别学出来的特征分布大概如下图Fig2。这个图是以MNISTt数据集做的实验,一共10个类别,用不同的颜色表示。从Fig2可以看出不管是训练数据集还是测试数据集,都能看出比较清晰的类别界限。
如果你是采用softmax loss加上本文提出的center loss的损失,那么最后各个类别的特征分布大概如下图Fig3。和Fig2相比,类间距离变大了,类内距离减少了(主要变化在于类内距离:intra-class),这就是直观的结果。
softmax loss
wx+b是全连接层的输出,因此log的输入就表示xi属于类别yi的概率。
center loss
c
y
i
c_{y_i}
cyi 表示第
y
i
y_i
yi 个类别的特征中心,
x
i
x_i
xi 表示全连接层之前的特征,m表示mini-batch的大小。因此这个公式就是希望一个batch中的每个样本的feature离feature 的中心的距离的平方和要越小越好,也就是类内距离要越小越好。这就是center loss。
关于
L
C
L_C
LC 的梯度和
c
y
i
c_{y_i}
cyi 的更新公式如下:
上面关于
c
y
i
c_{y_i}
cyi 的更新的公式中,当
y
i
y_i
yi(表示
y
i
y_i
yi 类别)和
c
j
c_j
cj 的类别
j
j
j 不一样的时候,
c
j
c_j
cj 是不需要更新的,只有当
y
i
y_i
yi 和
j
j
j 一样才需要更新。
总loss
文中用的损失L的包含softmax loss和center loss,用参数 λ 控制二者的比重,如下式所示。这里的m表示mini-batch的包含的样本数量,n表示类别数。