[논문 리뷰] Partial FC: Training 10 Million Identities on a Single Machine
이 논문은 PPRN 기반 소프트맥스 근사와 분산 학습 전략을 도입하여 제한된 하드웨어로 수천만 개의 아이덴티티를 가진 얼굴 인식 모델을 학습하고, 매 이터레이션마다 클래스 중심의 10%만 사용하면서도 최첨단 성능을 달성합니다.
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.
연구 동기 및 목표
- GPU 메모리 한계하에서 대규모 아이덴티티 수를 갖는 softmax 기반 손실의 학습 도전을 동기 부여한다.
- 일부 클래스 중심만 사용하면서 정확도를 유지하는 샘플링 기반 softmax 근사를 제안한다.
- 초대형 규모 분류를 위한 통신 및 메모리 오버헤드를 줄이는 분산 학습 전략을 개발한다.
- 대규모 실험을 지원하기 위해 크고 깨끗한 얼굴 인식 데이터셋인 Glint360K를 소개하고 공개한다.
제안 방법
- 특징과 클래스 중심 간의 각도 분리를 중점으로 고정 규범의 특징과 가중치를 갖는 softmax 손실을 공식화한다.
- Positive Plus Randomly Negative (PPRN) 샘플링을 제안한다: 항상 양수 클래스 중심을 포함하고 음수를 무작위로 샘플링하며 샘플링 비율에 대한 강인성을 보인다.
- 중복되지 않는 W의 부분집합을 각 GPU에 저장하고 로컬 로짓을 모아 전체 softmax를 근사하여 통신을 감소시키는 분산 근사를 구현한다.
- 모델 병렬과 제안된 접근법을 비교하는 메모리 및 처리량 분석을 도출하고 다중 GPU 환경에서 10M+ 아이덴티티까지의 확장성을 보인다.
- 학습 설정(ResNet 백본, CosFace/ArcFace 손실, 배치 크기 512, 학습률)을 제공하고 여러 벤치마크와 대규모 데이터셋에서의 성과를 보고한다.
실험 결과
연구 질문
- RQ1소프트맥스 기반 손실이 iteration당 일부 클래스 중심만 사용될 때 정확도를 유지할 수 있는가?
- RQ2GPU 메모리를 소모하지 않고 extremely large-scale softmax 분류(수백만 개 아이덴티티)를 어떻게 효율적으로 학습할 수 있는가?
- RQ3부분 클래스 중심을 사용한 분산 근사 전략이 표준 벤치마크에서 최첨단 성능을 유지하는가?
- RQ4샘플링 전략(PPRN 대 무작위)이 모델 정확도와 수렴에 미치는 영향은 무엇인가?
- RQ5새로 공개된 대규모 데이터셋(Glint360K)이 최소 클래스 중심 사용으로도 경쟁력 있는 결과를 지원하는가?
주요 결과
- 클래스 중심의 10% 만으로도 일반 벤치마크에서 전체 클래스 softmax와 동등한 정확도를 달성할 수 있다.
- PPRN 샘플링(양성 포함 및 무작위 음수 샘플링)은 샘플링 비율 0.1, 0.5, 1.0에서 강인한 성능을 보인다.
- 제안된 분산 근사는 통신 및 메모리 오버헤드를 줄이고 8 GPU에서 10M 아이덴티티, 더 많은 GPU에서 100M+ 아이덴티티까지 확장 가능성을 보인다.
- Glint360K에서 방법은 MegaFace에서 최첨단 검증 결과를 달성하고 IJB-B 및 IJB-C에서 10% 샘플링으로도 경쟁적이거나 더 나은 결과를 보인다.
- 이 접근법은 일반적인 저가형 하드웨어(예: 8–64 GPU)에서 초대형 얼굴 인식 모델의 실용적인 학습을 가능하게 하며 전통적인 모델 병렬 softmax 대비 큰 속도 향상을 제공한다.
- Glint360K는 향후 대규모 얼굴 인식 연구를 지원하기 위해 크고 깨끗한 데이터셋으로 공개된다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.