クラス間の分離を最大化することは、機械学習におけるよく知られた帰納的バイアスであり、多くの従来のアルゴリズムの柱となっています。デフォルトでは、ディープ ネットワークにはこの誘導バイアスが備わっていないため、微分最適化を通じて多くの代替ソリューションが提案されています。現在のアプローチは、分類と分離を一緒に最適化する傾向があります。つまり、入力をクラス ベクトルに揃え、クラス ベクトルを角度的に分離します。この論文では、ソフトマックス活性化を計算する前に1つの固定行列乗算を追加することにより、最大分離をネットワークの誘導バイアスとしてエンコードするという単純な代替案を提案しています。私たちのアプローチの背後にある主な観察結果は、分離は最適化を必要とせず、トレーニングの前に閉じた形式で解決してネットワークに接続できるということです。ごくわずかなエンジニアリング労力と計算オーバーヘッドで追加できる、任意の数のクラスに対して最大限に分離可能なベクトルで構成される行列を取得するための再帰的アプローチの概要を説明します。その単純な性質にもかかわらず、この 1 つの行列乗算が実際の効果をもたらします。私たちの提案が、CIFAR から ImageNet まで、分類、ロングテール認識、分布外検出、およびオープン セット認識を直接強化することを示します。経験的に、最大の分離が固定バイアスとして最適に機能することがわかりました。行列を学習可能にしても、パフォーマンスには何も追加されません。閉じた形式の実装と実験を再現するためのコードは、github で入手できます。
Maximizing the separation between classes constitutes a well-known inductive bias in machine learning and a pillar of many traditional algorithms. By default, deep networks are not equipped with this inductive bias and therefore many alternative solutions have been proposed through differential optimization. Current approaches tend to optimize classification and separation jointly: aligning inputs with class vectors and separating class vectors angularly. This paper proposes a simple alternative: encoding maximum separation as an inductive bias in the network by adding one fixed matrix multiplication before computing the softmax activations. The main observation behind our approach is that separation does not require optimization but can be solved in closed-form prior to training and plugged into a network. We outline a recursive approach to obtain the matrix consisting of maximally separable vectors for any number of classes, which can be added with negligible engineering effort and computational overhead. Despite its simple nature, this one matrix multiplication provides real impact. We show that our proposal directly boosts classification, long-tailed recognition, out-of-distribution detection, and open-set recognition, from CIFAR to ImageNet. We find empirically that maximum separation works best as a fixed bias; making the matrix learnable adds nothing to the performance. The closed-form implementation and code to reproduce the experiments are available on github.