Created: 26 Apr 2024 Last updated: 09 Dec 2025

Contrastive Learning

Machine Learning-Verfahren, bei dem latente Repräsentation von Eingangsdaten erlernt werden (siehe: Representation Learning), und zwar so, dass ähnliche Daten im Repräsentationsraum möglichst nahe beieinander encodiert werden und unähnliche Daten möglichst weit entfernt voneinander. Dies hat sich als effektive Methode mit erstaunlicher Generalisierungsfähigkeit und Robustheit gegenüber Adversarial Attacks erwiesen (Liu, 2021).

Während des Trainings werden Datenpunkte ausgewählt und mit positiven oder negativen Beispielen verglichen, indem Ähnlichkeitswerte im latenten Raum berechnet werden, z.B. als Kosinus-Ähnlichkeiten. Die Verlustfunktion gibt dann ein Maß dafür, ob positive Paare (ähnliche Datenpunkte) tatsächlich hohe Ähnlichkeitswerte im latenten Raum aufweisen und ob negative Paare (unähnliche Datenpunkte) niedrigere Werte haben. Das Training ist in der Regel sehr rechenintensiv, da oft viele Beispiele gleichzeitig in einem Schritt verglichen werden.

Besonders fancy Beispiel für einen mit CL erlernten Repräsentationsraum, visualisiert mit t-SNE. Aus: Wang et al. (2021) - Molecular Contrastive Learning of Representations via Graph Neural Networks

Contrastive Learning (CL) hat sich besonders im unüberwachten Lernen bewährt, obwohl es häufiger als selbstüberwachtes Lernen bezeichnet wird, da die Kontrastierung der Daten in Form von Positiv- und Negativpaaren eine Art Selbstüberwachung darstellt.

In der unüberwachten / selbstüberwachten Form werden beim CL einzelne Instanzen unterschieden, d.h. jeder Datenpunkt wird effektiv als eine eigene “Klasse” betrachtet und von jedem anderen Datenpunkt unterschieden. Die dadurch erlernten Repräsentationen haben sich als viel genauer erwiesen als beim traditionellen überwachten Lernen, wo sie ausschließlich für die Klassenunterscheidung optimiert sind (Keshtmand et al., 2022). Da die Methode nicht auf annotierte Daten angewiesen ist, kann sie ein sehr effizienter Ansatz sein, um Modelle vorzutrainieren, die sich durch Fine-tuning an spezifische Aufgaben anpassen können, während sie allgemeinere Merkmale lernen, die von der nachgelagerten Aufgabe unbeeinflusst sind (Radford et al., 2021). Einige bekannte Methoden sind:

  • SimCLR (“Simple Framework for Contrastive Learning of Visual Representations”)
  • MoCo (“Momentum Contrast”)
  • BYOL (“Bootstrap Your Own Latent”)

Die positiven Beispiele werden in der Regel als Augmentationen des ausgewählten Datenpunktes erzeugt, während als negative Beispiele zufällige andere Datenpunkte ausgewählt werden. Dies kann aber auch zu vielen “false negatives” führen (z. B. wenn zwei verschiedene Bilder von Hunden als genauso “unähnlich“ behandelt werden wie ein Bild von einem Hund und eines von einer Katze).

CL wurde auch für das überwachte Lernen angepasst. Hier wird nicht mehr jeder Datenpunkt als eigene Klasse betrachtet – stattdessen wird die “ground truth” Ähnlichkeit anhand der Klassenzugehörigkeiten bestimmt. Einige Modelle für das überwachte CL sind:

  • SupCon (Supervised Contrastive Learning)
  • GenSCL (Generalized Supervised Contrastive Learning)