论文标题
部分fc:在一台机器上培训1000万个身份
Partial FC: Training 10 Million Identities on a Single Machine
论文作者
论文摘要
很长一段时间以来,面部识别一直是计算机视觉社区中的一个积极而重要的话题。先前的研究主要关注用于面部特征提取网络的损失功能,其中基于软马克斯的损失功能的改善极大地促进了面部识别的性能。但是,面部身份数量急剧增加与GPU记忆短缺之间的矛盾逐渐变得不可调和。在本文中,我们彻底分析了基于软马克斯的损失功能的优化目标和训练大规模身份的困难。我们发现,否定类在softmax函数中的重要性在面部表示学习中的重要性不如我们先前想象的那么高。与使用主流基准上的最先进的模型进行培训相比,仅使用10 \%随机采样类的训练时,该实验表明,仅10 \%随机采样的损失功能的训练没有丧失的准确性。我们还实施了一种非常有效的分布式采样算法,考虑到模型的准确性和训练效率,该算法仅使用八个NVIDIA RTX2080TI来完成具有数千万个身份的分类任务。本文的代码已获得https://github.com/deepinsight/insightface/tree/master/recognition/partial_fc。
Face recognition has been an active and vital topic among computer vision community for a long time. Previous researches mainly focus on loss functions used for facial feature extraction network, among which the improvements of softmax-based loss functions greatly promote the performance of face recognition. However, the contradiction between the drastically increasing number of face identities and the shortage of GPU memories is gradually becoming irreconcilable. In this paper, we thoroughly analyze the optimization goal of softmax-based loss functions and the difficulty of training massive identities. We find that the importance of negative classes in softmax function in face representation learning is not as high as we previously thought. The experiment demonstrates no loss of accuracy when training with only 10\% randomly sampled classes for the softmax-based loss functions, compared with training with full classes using state-of-the-art models on mainstream benchmarks. We also implement a very efficient distributed sampling algorithm, taking into account model accuracy and training efficiency, which uses only eight NVIDIA RTX2080Ti to complete classification tasks with tens of millions of identities. The code of this paper has been made available https://github.com/deepinsight/insightface/tree/master/recognition/partial_fc.