[Paper]
摘要: Center Loss For Face Recognition - 提高CNN学习的特征的判别能力. Center Loss 通过学习每一类的深度特征的中心,同时惩罚深度特征与对应的类别中心的距离. Softmax Loss + Center Loss,可以同时增加类间分散程度(inter-class dispension)与类内紧凑程度(intra-class compactness).
由于CNNs模型采用SGD方法以 mini-batch 的方式进行优化,难以很好的反应深度新特征的全局分布. 且对于大规模训练集,也很难将所有的训练样本一次性的输入到每次迭代.
contrastive loss 和 triplet loss 存在图像 pairs 和 triplets 构建的问题,训练样本的图像采样较为复杂.
基于 CNN 网络的典型框架:
将人脸图片输入到 CNN 网络,进行特征学习以得到深度特征,包括可区分特征和判别特征,然后进行 label 预测.
对于深度特征分布情况的分析:
以 MNIST 数据集, 采用 LeNets 网络,Softmax Loss,提取最后一层网络输出的 2 维特征,并进行可视化.
Figure 2. 深度学习特征分布的可视化. (a) 训练集 (b) 测试集.
网络的最后一个全连接层相当于线性分类器,不同类的深度特征通过决策边界(decision boundaries)被区分.
由 Figure 2 可知,
提升深度特征的判别能力:
最小化类内距离,同时保持不同类别特征的可区分性. [Intuitively, minimizing the intra-class variations while keeping the features of different classes separable is the key. ]
这里进行两处必要的改进:
λλ\lambda 对于特征分布的影响如图:
如果只采用 Softmax Loss,深度特征类内离散度较大.
如果只采用 Center Loss,深度特征和类别中心将趋近于 0(此时,Center Loss 非常小.)
单独的采用一个 Loss,难以达到判别性特征学习的目的. 因此,需要进行联合训练.
Figure . (左) 基于 Softmax Loss 的特征; (右) 基于 Center Loss 的特征. Center Loss 是使得任意红色特征点之间的距离小于红色特征点与蓝色特征点之间的距离,以确保最好的不同特征类别的划分.
ContrastIve Loss 和 Triplet Loss 均是被用来提高深度特征的判别能力. 但是,基于大规模数据集时,需要面对庞大的样本对和样本 triplets 采样的问题.
Center Loss 与 Softmax Loss 采用相同的训练数据格式,不需要复杂的训练样本重采样.
因此,Center Loss 易于实现,效率更高;Center Loss 通过直接学习类间的紧凑度,更有利于判别性特征学习.
Figure 4. 人脸识别的 CNN 网络. 基于 Center Loss + Softmax Loss.
[1] - Center Loss - A Discriminative Feature Learning Approach for Deep Face Recognition 论文理解
[2] - 人脸识别之caffe-face