Kontrastives Lernen ist ein Paradigma des Representation Learning, das darauf abzielt, eine Einbettungsfunktion f: X → ℝ^d zu lernen, sodass ähnliche Beispiele (positives Paar) im Merkmalsraum nahe beieinander liegen und unterschiedliche Beispiele (negatives Paar) weit auseinander.
Formell wird häufig der InfoNCE-Loss verwendet, der für ein positives Paar (x, x^+) und eine Menge negativer Beispiele {x^-_k} definiert ist als:
L = - \log \frac{\exp(\mathrm{sim}(f(x), f(x^+)) / \tau)}{\exp(\mathrm{sim}(f(x), f(x^+)) / \tau) + \sum_k \exp(\mathrm{sim}(f(x), f(x^-_k)) / \tau)}
Hierbei ist \mathrm{sim}(\cdot, \cdot) eine Ähnlichkeitsfunktion, z.B. das Skalarprodukt, und \tau > 0 eine Temperatur-Parameter zur Skalierung.
Durch Minimierung dieses Verlusts wird das Modell dazu gebracht, positive Paare zu clustern und negative zu separieren, wodurch aussagekräftige Repräsentationen entstehen.
Kontrastives Lernen bildet die Grundlage vieler moderner Self-Supervised-Methoden wie SimCLR (Chen et al., 2020) und MoCo (He et al., 2020), die in der Bildverarbeitung state-of-the-art Ergebnisse erzielen.
Definition:
„Kontrastives Lernen ist ein Lernverfahren, bei dem eine Einbettung so trainiert wird, dass ähnliche Datenpunkte im Merkmalsraum näher beieinanderliegen als unähnliche, indem positive und negative Paare gezielt genutzt werden.“
Quelle:
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations. In Proceedings of the 37th International Conference on Machine Learning (ICML).