[論文レビュー] Partial FC: Training 10 Million Identities on a Single Machine
本論文はPPRNベースのsoftmax近似と分散学習戦略を導入し、限られたハードウェアで tens of millions の識別子を持つ顔認識モデルを訓練する際に、各イテレーションでクラス中心の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メモリ制限の下で massively large identity counts を持つsoftmaxベースの損失の訓練の課題を動機づける。
- 精度を保持しつつ、クラス中心のサブセットのみを使用するサンプリングベースのsoftmax近似を提案する。
- 超大規模分類のための通信・メモリオーバーヘッドを削減する分散訓練戦略を開発する。
- 大規模な実験を支援するための大規模なクリーンな顔認識データセットであるGlint360Kを導入・公開する。
提案手法
- 特徴と重みの規範化を固定し、特徴とクラス中心の Angular separation に焦点を当てたsoftmax損失を定式化する。
- Positive Plus Randomly Negative (PPRN) サンプリングを提案:常に正例のクラス中心を含め、ネガティブをランダムにサンプリングし、サンプリング率に対してロバストであることを示す。
- 非重複のWのサブセットを各GPUに保持し局所的なロジットを集約してフルsoftmaxを近似する分散近似を実装し、通信を削減する。
- モデルパラレルと提案手法を比較したメモリとスループットの分析を導出し、マルチGPU環境で10M+ identities へのスケーラビリティを示す。
- トレーニング設定(ResNetバックボーン、CosFace/ArcFace損失、バッチサイズ512、学習率)を提供し、複数のベンチマークと大規模データセットでの性能を報告する。
実験結果
リサーチクエスチョン
- RQ11つのイテレーションごとにサブセットのクラス中心を使用しても、顔認識のsoftmaxベースの損失は精度を維持できるか。
- RQ2GPUメモリを使い果たすことなく、極めて大規模なsoftmax分類(数百万の識別子)を効率的に訓練するにはどうすればよいか。
- RQ3部分的なクラス中心を用いた分散近似戦略は標準ベンチマークで最先端の性能を維持できるか。
- RQ4サンプリング戦略(PPRN対ランダム)のモデル精度と収束に与える影響はどのようか。
- RQ5新たに公開された大規模データセット(Glint360K)は、最小限のクラス中心の使用で競争力のある結果をサポートできるか。
主な発見
- クラス中心の10%のみを使っても、主流のベンチマークでフルクラスsoftmaxと同等の精度を達成できる。
- PPRNサンプリング(正例を含め、ネガティブをランダムにサンプリング)は、サンプリング率0.1、0.5、1.0のいずれでも堅牢な性能を示す。
- 提案された分散近似は通信とメモリのオーバーヘッドを削減し、8 GPUでの10M identities、より多くのGPUで100M+ identitiesへスケールする。
- Glint360Kで訓練した場合、MegaFaceで最先端の検証結果を達成し、IJB-BおよびIJB-Cで10%のサンプリングでも競合または上回る結果を示す。
- このアプローチは、従来のモデルパラレルsoftmaxに比べても実用的な速度アップを実現し、商用ハードウェア(例: 8–64 GPU)で超大規模顔認識モデルの訓練を現実的に可能にする。
- Glint360Kは今後の大規模顔認識研究を支援する大規模でクリーンなデータセットとして公開される。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。