Контрастивное обучение — это метод обучения, направленный на создание представления данных, при котором похожие точки данных в пространстве признаков расположены ближе друг к другу, чем непохожие.
Это достигается с помощью использования пар или триплетов примеров, где положительные пары (похожие примеры) сближаются, а отрицательные пары (непохожие примеры) раздвигаются.
Типичные подходы используют функции потерь, такие как Triplet Loss или InfoNCE-Loss, для оптимизации расстояний в пространстве признаков.
Контрастивное обучение особенно эффективно при самообучении (Self-Supervised Learning), так как оно не требует явных меток и создает устойчивые признаки для дальнейших задач, таких как классификация или кластеризация.
Известные применения встречаются в обработке изображений, обработке речи и при предварительном обучении нейронных сетей.