Zwei Fliegen mit einer Klappe: Effizientes und robustes Training von Gesichtserkennungs-CNNs durch partielles FC

Die Lernung diskriminativer tiefer Merkmals-Einbettungen mittels millionenfach skalerter, realweltbasierter Datensätze und margin-basierter Softmax-Verlustfunktion stellt derzeit den Stand der Technik für Gesichtserkennung dar. Allerdings steigen Speicherbedarf und Rechenkosten der vollständig verbundenen (Fully Connected, FC) Schicht linear mit der Anzahl der Identitäten im Trainingsdatensatz. Zudem leidet der große Datensatz zwangsläufig unter Klassenkonflikten zwischen verschiedenen Klassen und einer langen Schwanzverteilung (long-tailed distribution). In diesem Artikel stellen wir eine sparsam aktualisierte Variante der FC-Schicht vor, die wir Partial FC (PFC) nennen. In jeder Iteration werden positive Klassenzentren sowie eine zufällige Teilmenge der negativen Klassenzentren ausgewählt, um den margin-basierten Softmax-Verlust zu berechnen. Alle Klassenzentren werden während des gesamten Trainingsprozesses weiterhin aufrechterhalten, jedoch wird in jeder Iteration lediglich eine Teilmenge aktualisiert. Dadurch werden die Rechenanforderungen, die Wahrscheinlichkeit von Klassenkonflikten und die Häufigkeit passiver Aktualisierungen bei den Klassenzentren der „Schwanzklasse“ (Tail-Class-Centers) erheblich reduziert. Umfassende Experimente an verschiedenen Trainingsdatensätzen und Architekturen (z. B. CNN und ViT) bestätigen die Wirksamkeit, Robustheit und Effizienz des vorgeschlagenen PFC-Verfahrens. Der Quellcode ist unter \https://github.com/deepinsight/insightface/tree/master/recognition verfügbar.