Killing Two Birds with One Stone:Efficient and Robust Training of Face Recognition CNNs by Partial FC
This work addresses efficiency and robustness issues in large-scale face recognition training, offering a practical solution for deployment in resource-constrained environments.
The paper tackles the high memory and computational cost of fully connected layers in face recognition CNNs by proposing Partial FC (PFC), which selects a subset of class centers for updates per iteration, reducing training time by up to 70% while maintaining or improving accuracy on benchmarks like IJB-C.
Learning discriminative deep feature embeddings by using million-scale in-the-wild datasets and margin-based softmax loss is the current state-of-the-art approach for face recognition. However, the memory and computing cost of the Fully Connected (FC) layer linearly scales up to the number of identities in the training set. Besides, the large-scale training data inevitably suffers from inter-class conflict and long-tailed distribution. In this paper, we propose a sparsely updating variant of the FC layer, named Partial FC (PFC). In each iteration, positive class centers and a random subset of negative class centers are selected to compute the margin-based softmax loss. All class centers are still maintained throughout the whole training process, but only a subset is selected and updated in each iteration. Therefore, the computing requirement, the probability of inter-class conflict, and the frequency of passive update on tail class centers, are dramatically reduced. Extensive experiments across different training data and backbones (e.g. CNN and ViT) confirm the effectiveness, robustness and efficiency of the proposed PFC. The source code is available at \https://github.com/deepinsight/insightface/tree/master/recognition.