ソフトマックス損失とその変形は、特に顔認識のようなアプリケーションで、学習を埋め込むための目的として広く使用されています。ただし、ソフトマックス損失のクラス内およびクラス間目標は絡み合っているため、最適化されたクラス間目標はクラス内目標の緩和につながり、逆もまた同様です。この論文では、ソフトマックス損失を独立したクラス内およびクラス間目標(D-Softmax)に分析することを提案します。 D-Softmaxを目標として使用すると、クラス内およびクラス間の目標の両方を明確に理解できるため、各パーツを最適な状態に調整するのは簡単です。さらに、クラス間目標の計算は冗長であることがわかり、計算コストを削減するために、D-Softmaxの2つのサンプリングベースのバリアントを提案します。定期的なスケールのデータを使用したトレーニング、顔検証の実験では、D-SoftmaxはSphereFaceやArcFaceなどの既存の損失に匹敵することが示されています。大規模なデータを使用したトレーニングでは、D-Softmaxの高速バリアントがパフォーマンスをわずかに犠牲にするだけでトレーニングプロセス(64xなど)を大幅に加速し、パフォーマンスと効率の両方の点で既存のsoftmaxの加速方法を上回ることが示されています。
The softmax loss and its variants are widely used as objectives for embedding learning, especially in applications like face recognition. However, the intra- and inter-class objectives in the softmax loss are entangled, therefore a well-optimized inter-class objective leads to relaxation on the intra-class objective, and vice versa. In this paper, we propose to dissect the softmax loss into independent intra- and inter-class objective (D-Softmax). With D-Softmax as objective, we can have a clear understanding of both the intra- and inter-class objective, therefore it is straightforward to tune each part to the best state. Furthermore, we find the computation of the inter-class objective is redundant and propose two sampling-based variants of D-Softmax to reduce the computation cost. Training with regular-scale data, experiments in face verification show D-Softmax is favorably comparable to existing losses such as SphereFace and ArcFace. Training with massive-scale data, experiments show the fast variants of D-Softmax significantly accelerates the training process (such as 64x) with only a minor sacrifice in performance, outperforming existing acceleration methods of softmax in terms of both performance and efficiency.