Partial FC: Training 10 Million Identities on a Single Machine

11 Oct 2020  ·  Xiang An, Xuhan Zhu, Yang Xiao, Lan Wu, Ming Zhang, Yuan Gao, Bin Qin, Debing Zhang, Ying Fu ·

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. read more

PDF Abstract

Datasets


Introduced in the Paper:

Glint360K

Used in the Paper:

MegaFace IJB-C IJB-B

Results from the Paper


Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Result Benchmark
Face Verification IJB-C Partial FC + Glint360K + R100 TAR @ FAR=0.01 98.73% # 1
TAR @ FAR=0.001 98.18% # 1
TAR @ FAR=0.0001 97.30% # 2
Face Identification MegaFace PartialFC + Glint360K + R100 Accuracy 99.10% # 1

Methods