Контрастивное обучение — это метод машинного обучения, который обучает модели, сравнивая похожие и непохожие примеры.Контрастивное обучение — это подход в машинном обучении, позволяющий строить качественные представления данных без разметки (self-supervised learning). Оно опирается на понятие контрастной потери: модель притягивает представления (embedding) семантически близких объектов (positive pairs) и отталкивает представления несвязанных (negative pairs). Например, для изображений позитивными парами служат разные ракурсы (аугментации) одного и того же снимка, а негативами — любые другие изображения в мини-пакете. Таким образом, нейросеть учится выделять инвариантные признаки, игнорируя несущественные вариации освещения, поворота, масштаба. Метод лёг в основу многих современных систем распознавания, где зачастую превосходит обучение с учителем при малом количестве меток.
Корни уходят в метрическое обучение: сиамские сети (Bromley et al., 1993) для сравнения подписей. В 2006 году Хадселл и Лекун предложили contrastive loss для обучения инвариантных представлений. Возрождение интереса связано с прогрессом в self-supervised learning для изображений: в 2018 году модель InstDisc (Wu et al.) использовала memory bank; прорывными стали MoCo (He et al., 2020) с очередью отрицательных примеров и SimCLR (Chen et al., 2020) с большим размером батча и сильной аугментацией. Эти работы показали, что контрастивное предобучение достигает точности, близкой к обучению с учителем, а иногда и превосходит его при дообучении на малых выборках. Впоследствии подход адаптирован для видео, аудио, графов и многомодальных данных (CLIP, 2021).
Алгоритм включает три этапа: (1) стохастическая аугментация данных создаёт два независимых представления одного входа (например, случайное кадрирование, искажение цвета); (2) кодировщик (ResNet, ViT) отображает их в векторы скрытого пространства; (3) проекционная голова (MLP) преобразует их в более низкоразмерное пространство, где вычисляется контрастная потеря InfoNCE: L = -log[ exp(sim(z_i, z_j)/τ) / ∑_{k=1}^{2N} 1_{k≠i} exp(sim(z_i, z_k)/τ) ], где sim — косинусное сходство, τ — температурный параметр. Оптимизация понижает взаимную энтропию между распределением положительных и отрицательных пар. Чтобы избежать коллапса представлений (вырождения всех векторов в одну точку), применяют механизмы: отрицательные пары из очереди (MoCo), стоп-градиент и предсказатель (BYOL), кластеризацию (SwAV). В итоге скрытое пространство приобретает семантическую структуру, инвариантную к заданным преобразованиям.
Распознавание лиц без меток, поиск похожих снимков в больших архивах, улучшение диагнозов по медицинским изображениям, когда мало размеченных данных.
Система CLIP от OpenAI, обученная контрастивно на парах изображение-текст, способна рисовать картины по описанию, хотя её никогда не учили художественному стилю напрямую — она просто уловила взаимосвязи.





















