CLIP: связывание текста и изображений

Иллюстрация: Джастин Джей Ван (Justin Jay Wang)
Мы представляем нейросеть под названием CLIP, которая эффективно изучает визуальные концепты на основе контроля со стороны естественного языка. CLIP может применяться к любому бенчмарку визуальной классификации путем простого предоставления названий распознаваемых визуальных категорий, что аналогично возможностям «zero-shot» (обучения без учителя) у GPT‑2 и GPT‑3.
Хотя глубокое обучение совершило революцию в компьютерном зрении, современные подходы имеют несколько серьезных проблем: типичные датасеты для компьютерного зрения создаются вручную, требуют больших затрат труда и обучают лишь узкому набору визуальных концептов; стандартные модели компьютерного зрения хороши только в какой-то одной задаче и требуют значительных усилий для адаптации к новой;, а модели, показывающие отличные результаты на бенчмарках, демонстрируют разочаровывающе низкую производительность при стресс-тестах, , , ,
Мы представляем нейронную сеть, которая призвана решить эти проблемы: она обучена на самом широком разнообразии изображений с использованием разнообразного контроля со стороны естественного языка, который в изобилии доступен в интернете. По своему дизайну сеть можно настраивать с помощью естественного языка для выполнения самых разных бенчмарков классификации без прямой оптимизации под производительность конкретного бенчмарка, что аналогично возможностям »zero-shot» для GPT‑2
Предыстория и связанные работы
CLIP (Contrastive Language–Image Pre-training — контрастивное предварительное обучение языковых и визуальных представлений) опирается на большой объем исследований в области zero-shot переноса, контроля со стороны естественного языка и мультимодального обучения. Сама идея обучения без данных (zero-data learning) появилась более десяти лет назад
Наибольшее вдохновение для CLIP черпает из работы Ан Ли (Ang Li) и его соавторов из FAIR
Наконец, CLIP является частью группы работ последнего года, переосмысляющих обучение визуальным представлениям на основе контроля со стороны естественного языка. В этом направлении используются более современные архитектуры, такие как Transformer
Подход
Мы показываем, что масштабирование простой задачи предварительного обучения достаточна для достижения конкурентоспособных результатов zero-shot на самых разных датасетах классификации изображений. Наш метод использует общедоступный источник контроля: текст, сопряженный с изображениями, который можно найти по всему интернету. Эти данные используются для создания следующей прокси-задачи обучения для CLIP: по заданному изображению предсказать, какой именно из набора в 32 768 случайно выбранных текстовых фрагментов был сопряжен с ним в нашем датасете.
Наша интуиция заключается в том, что для решения этой задачи моделям CLIP потребуется научиться распознавать широкое разнообразие визуальных концептов на изображениях и сопоставлять их с их названиями. В результате модели CLIP можно применять практически к произвольным задачам визуальной классификации. Например, если задачей датасета является классификация фотографий собак и кошек, мы проверяем для каждого изображения, предсказывает ли модель CLIP текстовое описание «фотография собаки» или «фотография кошки» с большей вероятностью сопряжения с этим изображением.
CLIP была разработана для смягчения ряда основных проблем стандартного подхода глубокого обучения к компьютерному зрению:
Дорогие датасеты: Глубокое обучение требует большого объема данных, и модели компьютерного зрения традиционно обучались на размеченных вручную датасетах, которые дорого создавать, и они предоставляют контроль лишь для ограниченного числа предопределенных визуальных концептов. Датасет ImageNet, один из крупнейших проектов в этой области, потребовал от более чем 25 000 работников аннотирования 14 миллионов изображений для 22 000 категорий объектов. В отличие от них, CLIP обучается на парах «текст-изображение», которые уже общедоступны в интернете. Снижение потребности в дорогостоящих крупных размеченных датасетах активно изучалось в предыдущих работах, в частности, в обучении без учителя (self-supervised learning), , ,
Узкая специализация: Модель ImageNet хороша в предсказании 1000 категорий ImageNet, но это все, что она умеет «из коробки». Если мы хотим решить любую другую задачу, специалисту по машинному обучению нужно создать новый датасет, добавить выходной слой (head) и дообучить модель. Напротив, CLIP можно адаптировать для выполнения самых разных задач визуальной классификации без необходимости использования дополнительных примеров для обучения. Чтобы применить CLIP к новой задаче, все, что нам нужно сделать, — это «сказать» текстовому энкодеру CLIP названия визуальных концептов этой задачи, и он выдаст линейный классификатор на основе визуальных представлений CLIP. Точность такого классификатора часто конкурирует с моделями полного контроля (fully supervised).
Ниже мы показываем случайные предсказания zero-shot классификаторов CLIP без предвзятого отбора (non-cherry picked) на примерах из различных датасетов.
Плохая производительность в реальном мире: Часто сообщается, что системы глубокого обучения достигают человеческого или даже сверхчеловеческого уровня производительности,
Основные выводы
1. CLIP обладает высокой эффективностью
CLIP обучается на нефильтрованных, крайне разнообразных и сильно зашумленных данных и предназначена для использования в режиме zero-shot. Из GPT‑2 и GPT‑3 мы знаем, что модели, обученные на таких данных, могут демонстрировать впечатляющие результаты zero-shot; однако такие модели требуют огромных вычислительных затрат на обучение. Чтобы сократить необходимые вычислительные ресурсы, мы сосредоточились на алгоритмических способах повышения эффективности обучения нашего подхода.
Мы выделяем два алгоритмических решения, которые привели к значительной экономии вычислений. Первое решение — это выбор контрастивной цели для связывания текста с изображениями., ,
2. CLIP гибкая и универсальная модель
Поскольку модели CLIP изучают широкий спектр визуальных концепций непосредственно на основе естественного языка, они значительно более гибкие и универсальные, чем существующие модели ImageNet. Мы обнаружили, что они способны решать множество различных задач в режиме zero-shot (без предварительного обучения на конкретных задачах). Чтобы подтвердить это, мы измерили производительность CLIP в режиме zero-shot на более чем 30 различных наборах данных, включая такие задачи, как мелкозернистая классификация объектов, геолакация, распознавание действий в видео и OCR (оптическое распознавание символов).
Этот вывод также отражен в стандартной оценке обучения представлений с использованием линейных зондов (linear probes). Лучшая модель CLIP превосходит лучшую общедоступную модель ImageNet — Noisy Student EfficientNet-L2,
Ограничения
Хотя CLIP обычно хорошо справляется с распознаванием распространенных объектов, она испытывает трудности с более абстрактными или систематическими задачами, такими как подсчет количества объектов на изображении, а также с более сложными задачами вроде предсказания того, насколько близко находится ближайший автомобиль на фотографии. На этих двух наборах данных zero-shot CLIP работает лишь немногим лучше случайного угадывания. Zero-shot CLIP также уступает специализированным моделям в очень мелкозернистой классификации, например, при различении моделей автомобилей, вариантов самолетов или видов цветов.
Кроме того, у CLIP по-прежнему наблюдается слабая генерализация на изображениях, которые не были представлены в ее датасете предварительного обучения. Например, хотя CLIP освоила способную систему OCR, при оценке на рукописных цифрах из датасета MNIST модель в режиме zero-shot достигает точности лишь в 88%, что значительно ниже результатов человека (99,75%) на этом же наборе данных. Наконец, мы заметили, что классификаторы zero-shot в CLIP могут быть чувствительны к формулировкам и иногда требуют метода проб и ошибок («инжиниринга промптов») для достижения хороших результатов.
Более широкое влияние
CLIP позволяет людям создавать собственные классификаторы и избавляет от необходимости собирать обучающие данные под конкретные задачи. Способ создания этих классов может существенно повлиять как на производительность модели, так и на ее предвзятость. Например, мы обнаружили, что если задать набор меток, включающий метки расы из Fairface
Кроме того, учитывая, что CLIP не нуждается в обучающих данных под конкретные задачи, она может с большей легкостью открывать доступ к определенным нишевым задачам. Некоторые из этих задач могут создавать риски, связанные с конфиденциальностью или слежкой, и мы исследуем эту проблему, изучая производительность CLIP в идентификации знаменитостей. Точность top-1 для CLIP при классификации изображений знаменитостей «в диких условиях» (in the wild) составляет 59,2% при выборе из 100 кандидатов и 43,3% при выборе из 1000 возможных вариантов. Хотя примечательно достичь таких результатов с помощью предварительного обучения, не зависящего от конкретной задачи, эта производительность не является конкурентоспособной по сравнению с широко доступными производственными моделями. Мы более подробно исследуем проблемы, которые создает CLIP, в нашей статье и надеемся, что эта работа послужит стимулом для дальнейших исследований характеристик возможностей, недостатков и предвзятости подобных моделей. Мы рады сотрудничать с исследовательским сообществом по таким вопросам.
Заключение
С помощью CLIP мы проверили, можно ли использовать предварительное обучение на естественном языке интернет-масштаба, не зависящее от конкретной задачи (которое обеспечило недавний прорыв в NLP), для повышения производительности глубокого обучения в других областях. Мы воодушевлены результатами, которые мы увидели на данный момент при применении этого подхода к компьютерному зрению. Подобно семейству GPT, CLIP изучает самые разные задачи во время предварительного обучения, что мы демонстрируем с помощью zero-shot переноса. Нас также воодушевляют наши выводы по ImageNet, которые показывают, что оценка zero-shot является более репрезентативным мерилом возможностей модели.
Сноски
Ссылки
Авторы
Благодарности
Мы хотели бы поблагодарить миллионы людей, участвовавших в создании данных, на которых обучается CLIP. Мы также выражаем признательность всем нашим соавторам за их вклад в проект. Наконец, мы хотим поблагодарить Джеффа Клуна (Jeff Clune), Майлза Брандаджа (Miles Brundage), Райана Лоу (Ryan Lowe), Якуба Пахоцкого (Jakub Pachocki) и Веданта Мишру (Vedant Misra) за отзывы о черновиках этого блога, а Мэтью Найта (Matthew Knight) — за рецензирование выпуска кода.
Дизайн и обложка
Джастин Джей Ван (Justin Jay Wang)
Полный текст статьи читайте на OpenAI
