Контрастивное обучение помещает согласованные тексты и изображения рядом в общем пространстве. Оно не переводит пиксели в слова буквально: два encoder-а учатся сохранять признаки, полезные для выбора правильной пары среди отрицательных.
Партия подписей
В batch есть пар . Image encoder строит , text encoder — . После нормировки
сходство
Для изображения правильный текст имеет индекс , остальные служат negatives. Loss image-to-text:
Добавляют симметричный text-to-image loss. Одна матрица создаёт положительных и отрицательных сопоставлений.
Строки — изображения, столбцы — подписи. Диагональ отмечена как positive, один off-diagonal яркий элемент — false negative: другая подпись тоже подходит. Справа показан softmax одной строки при двух температурах.
Температура и трудные пары
Малая делает softmax резким и усиливает penalty за hard negatives. Большая сглаживает различия. В CLIP-подобных моделях logit scale часто обучается, но ограничивается для стабильности.
Размер batch влияет на число negatives. Большой batch повышает шанс встретить содержательно похожую подпись, которая формально считается неверной. Если две фотографии одного вида птицы имеют взаимозаменяемые тексты, loss раздвигает полезно близкие объекты.
Мультипозитивный loss разрешает несколько соответствий. Hard-negative mining выбирает сложные, но требует проверки, что они действительно отрицательны.
Что значит «общее пространство»
После нормировки cosine similarity лежит в . Близость не означает, что координата 17 — «собака». Смысл распределён. Cross-modal retrieval выбирает
Для zero-shot классификации создают текстовые prompts фотография класса {c}, кодируют их и выбирают ближайший. Prompt template влияет на результат; ensemble нескольких формулировок снижает случайность.
Связь с embeddings и retrieval непосредственна, но здесь два encoder-а должны договориться об одной геометрии.
Лаборатория общего пространства
Перемещайте image и text embeddings на плоскости. Изменяйте и смотрите, как один hard negative доминирует в gradient. Затем добавьте вторую корректную подпись и сравните single-positive и multi-positive losses.
Соберите zero-shot classifier из текстовых описаний. Замените фото птицы на спутниковый снимок птицы — бессмысленный домен ухудшит геометрию. Prompt входит в модель оценки.
Retrieval в обе стороны
Image-to-text и text-to-image несимметричны по задаче, хотя loss симметричен. У одной фотографии может быть много корректных описаний, у одного текста — много подходящих фотографий. Метрики Recall@K:
Если dataset хранит одну подпись, модель может вернуть другую семантически правильную и получить ошибку. Нужны несколько captions или ручной аудит false positives.
Для крупных коллекций approximate nearest neighbor ускоряет поиск. Индекс добавляет свою ошибку recall и latency; их измеряют отдельно от encoder-а.
Круги — изображения, квадраты — тексты; цвет задаёт семантическую группу. Пунктир соединяет размеченные пары, светлая область — множество правдоподобных подписей. Стрелка показывает retrieval-ошибку метрики, которая предметно корректна.
Спутниковый снимок и текст
Remote sensing даёт иной визуальный язык: поля, дороги и облака сверху. Обычный web-pretraining может связывать слово порт с фотографией корабля, а не со структурой береговой инфраструктуры.
RSICD и похожие наборы содержат спутниковые изображения с captions. Для эксперимента:
- разделить по географическим регионам, чтобы соседние tiles не утекли;
- сравнить pretrained CLIP без обучения и domain fine-tuning;
- измерить retrieval и zero-shot classes;
- проверить сезон, разрешение и sensor shift;
- анализировать облачность отдельно.
Здесь «реальные данные» особенно требуют географического split. Соседние patches почти дублируются, хотя filenames разные; обычный случайный split нарушит логику разделения данных.
Смещения веб-пар
Alt-text может описывать функцию страницы, а не изображение. Подпись нажмите для покупки ничего не говорит о товаре. Мем содержит текст прямо в пикселях; модель может использовать OCR. Watermark сайта коррелирует с тематикой.
Контрастивная модель усваивает всё, что помогает отличать пары:
- географические и социальные стереотипы;
- популярность знаменитостей;
- стиль фотостока;
- шаблоны подписи;
- watermark и разрешение.
Аудит строит counterfactual prompts и balanced image sets. Нельзя делать вывод о человеке по similarity с чувствительной категорией.
От CLIP к генерации
Text-image embedding может направлять generator, выбирать captions или служить perceptual loss. В diffusion model текстовое условие обычно входит через cross-attention, а CLIP-подобные encoders могут участвовать в фильтрации и оценке.
Но CLIP score легко переоптимизировать: изображение с артефактами получает высокий similarity. Независимая человеческая оценка и несколько feature spaces обязательны.
Для одного спутникового query показаны top-5 captions до и после domain fine-tuning. Под каждой карточкой similarity; цвет рамки обозначает предметную релевантность по ручной разметке. Справа — Recall@K по регионам и сезонам.
Мини-исследование: ложный negative меняет геометрию
Соберите batch, где две подписи относятся к одному изображению: рыжий кот на окне и домашнее животное у стекла. В single-positive loss вторая считается negative. Вычислите gradient по обоим logits: правильная по смыслу подпись будет отталкиваться.
Теперь используйте multi-positive numerator
Повторите на batch с captions разной конкретности. Слишком широкое positive-множество может склеить изображения, различающиеся существенной деталью. Значит, задача не решается правилом «все похожие положительны»; нужна graded relevance или carefully designed groups.
Сравните retrieval после обучения по Recall@K и nDCG с несколькими степенями релевантности. Это связывает контрастивный objective с метриками поиска: бинарная диагональ даёт удобную разметку, но не полную семантику.
Мини-исследование: prompt ensemble и его границы
Для десяти классов создайте по пять templates: нейтральный, доменный, описательный, ошибочный домен и одно слово. Считайте class embedding как среднее нормированных text embeddings. Оцените accuracy и calibration каждого template и ensemble.
Разберите confusion pairs. Если волк и собака различаются только при описании среды, текст добавляет полезный prior. Если результат меняется от фразы плохое фото, модель чувствительна к web-style.
Проведите counterfactual prompts, меняя только социально чувствительный атрибут при сохранённой профессии. Не используйте similarity для утверждений о человеке; цель — обнаружить сдвиг representation. Этот аудит продолжает тему смещений данных: text encoder наследует статистику captions.
Сделайте ещё один domain-control: замените фотографии line drawings или thermal images тех же классов. Если text embeddings прежние, а image encoder вышел за обученную область, similarity может стать некалиброванной. Оцените norm до нормировки и nearest-neighbor margins.
Для каждого query показывайте разность первого и второго similarity. Малый margin означает нестабильный top-1, даже если он формально верен. Постройте selective retrieval: откладывать ответы с малым margin и измерять accuracy–coverage.
Наконец, проверьте asymmetry. Текст собака может возвращать тысячи пород, а конкретное фото — одну подробную подпись. Recall denominators различны. Раздельные I→T и T→I метрики являются содержательным описанием задачи, а не дублированием.
При построении ANN-индекса сохраните exact-search subset. Измерьте долю случаев, где индекс пропустил истинного nearest neighbor, и latency. Если retrieval ошибся, разделите encoder error и index error.
Параметр efSearch или число probes даёт frontier speed–recall. Сравнение двух encoders при разных настройках индекса нечестно: инфраструктурная аппроксимация может съесть небольшой выигрыш representation.
Пара определяет пространство
Контрастивный loss создаёт общий язык через задачу выбора пары. Температура, batch и false negatives формируют геометрию. Zero-shot классификация зависит от prompts, retrieval — от полноты relevance-разметки, а domain shift — от способа split. Общее пространство полезно ровно настолько, насколько честно определены пары.