Kontrastives Lernen
# Kontrastives Lernen

Kontrastives Lernen (englisch: Contrastive Learning) ist eine Methode des maschinellen Lernens, bei der ein Modell lernen soll, ähnliche und unähnliche Merkmale in Datensätzen zu unterscheiden. Das Ziel ist es, eine Repräsentation (Einbettung) der Daten zu erstellen, die die Ähnlichkeiten und Unterschiede zwischen den Merkmalen der Daten optimal abbildet.

Kontrastives Lernen wird in Computer Vision sowie Natural language processing verwendet.

Beispiele für gängige Verlustfunktionen beim kontrasitiven Lernen sind der contrastive loss, der triplett loss sowie Verallgemeinerungen, wie der multiple negative ranking loss.

## Contrastive loss

Der contrastive loss vergleicht gepaarte Daten auf ihre Ähnlichkeit hin: Wenn ein Paar ähnliche Objekte enthält, sollten diese ähnlich eingebettet sein, wenn die Objekte des Paars unähnlich sind, sollten sie möglichst unterschiedlich eingebettet sein. Der contrastive loss optimiert die Einbettungen (engl. embeddings) der Objekte, um dieses Kriterium zu erfüllen.

## Triplett loss

Der triplett loss ist eine Methode, den Raum der Einbettungen noch weiter zu strukturieren. Ziel ist es, die Einbettungen ähnlicher Objekte zusammenzuführen und unähnlicher Objekte weiter zu trennen. Hierbei werden 3-Tupel von Objekten betrachtet, bestehend aus einem Anker, einem positiven Beispiel und einem negativen Beispiel (anchor, positive, negative). Die Verlustfunktion optimiert die Einbettungen der Objekte so, dass die Ähnlichkeit zwischen dem Anker und dem positiven Beispiel kleiner ist als die Ähnlichkeit zwischen dem Ankerbild und dem negativen Beispiel.

Mathematisch ist der triplett loss zwischen dem Anker A, Positivbeispiel P und Negativbeispiel N definiert als:

    ${\mathcal {L}}\left(A,P,N\right)=\operatorname {max} \left(d(\operatorname {f} \left(A\right)-\operatorname {f} \left(P\right))-d(\operatorname {f} \left(A\right)-\operatorname {f} \left(N\right))+\alpha ,0\right),$

wobei $d$ ein Ähnlichkeitsmaß wie beispielsweise die Kosinus-Ähnlichkeit oder der euklidische Abstand ist, $\alpha$ das Margin zwischen positiven und negativen Beispielen ist und $\operatorname {f}$ die Funktion, welche zur Erzeugung der Einbettungen benutzt wird.

