Kreuz-Batch-Speicher für die Embedding-Lernung

Das Mining informativer negativer Instanzen ist von zentraler Bedeutung für das tiefe metrische Lernen (Deep Metric Learning, DML), wird jedoch intrinsisch durch das Mini-Batch-Training eingeschränkt, da jeweils nur eine Mini-Batch-Anzahl von Instanzen in jeder Iteration zugänglich ist. In dieser Arbeit identifizieren wir ein „langsame Drift“-Phänomen, indem wir beobachten, dass die Embedding-Features selbst während des gesamten Trainingsprozesses, bei stetiger Aktualisierung der Modellparameter, äußerst langsam verändern. Dies deutet darauf hin, dass die Features von Instanzen, die in vorherigen Iterationen berechnet wurden, erheblich gut zur Approximation der Features dienen können, die das aktuelle Modell extrahiert. Wir schlagen eine cross-batch Memory (XBM)-Mechanismus vor, der die Embeddings vergangener Iterationen speichert und es dem Modell ermöglicht, ausreichend schwierige negative Paare über mehrere Mini-Batches hinweg – sogar über das gesamte Datenset – zu sammeln. Unser XBM kann nahtlos in ein allgemeines, auf Paaren basierendes DML-Framework integriert werden, wobei die durch XBM erweiterte DML-Methodik eine erhebliche Leistungssteigerung ermöglicht. Insbesondere erreicht ein einfacher Kontrastverlust mit unserem XBM ohne zusätzliche Komplexitäten bei drei großen Bildretrieval-Datensätzen eine erhebliche Verbesserung der R@1-Werte um 12 % bis 22,5 % und übertrifft damit die anspruchsvollsten State-of-the-Art-Methoden mit großem Abstand. Unser XBM ist konzeptionell einfach, leicht implementierbar – mit nur wenigen Codezeilen – und speicher-effizient, benötigt lediglich eine vernachlässigbare zusätzliche GPU-Speichermenge von 0,2 GB. Der Quellcode ist unter folgender Adresse verfügbar: https://github.com/MalongTech/research-xbm.