Заметки о CLIP Связь текста и изображений

CLIP Связь текста и изображений в мире моды и красоты

Рэдфорд, Алек и др. “Обучение переносимым визуальным моделям при поддержке естественных языковых инструкций”. Международная конференция по машинному обучению. PMLR, 2021.

Авторы вышеупомянутой статьи стремятся создать хорошие представления (функции) для изображений, которые можно использовать для различных задач с минимальной или без наблюдения.

Ограничения с учителем обучение

Штатные функции, созданные моделями классификации изображений, были использованы в других задачах, таких как поиск изображений. Однако эти функции плохо обобщаются, так как модели классификации были обучены распознавать фиксированный набор классов. Для добавления новой категории в этот набор классов требуется сбор дополнительных размеченных изображений для этой новой категории, а затем повторное обучение модели. Этот процесс занимает много времени и является дорогостоящим.

Можно ли использовать техники самонаблюдаемого обучения для решения этой проблемы?

Могут ли быть использованы заголовки изображений для создания более точных представлений изображений и избежания затрат на разметку? То есть, можно ли использовать естественный язык как управление для обучения визуальному восприятию?

Основной вклад

Авторы предлагают предварительную обучающую задачу (CLIP = Контрастное Лингво-Изображение Предварительное обучение), предсказывая, какому заголовку соответствует какое изображение, чтобы изучить передовые представления изображений с нуля. Для этого они создали набор данных из 400 миллионов пар (изображение, текст), собранных из Интернета. Эта предварительно обученная модель переносится на большинство задач и часто конкурентоспособна с полностью контролируемым базисом без необходимости обучения на специфическом наборе данных.

Фон

CLIP черпает вдохновение из области контролируемого описания изображений. Каждое изображение с соответствующим заголовком используется для обучения модели, которая предсказывает точные слова в заголовке для соответствующих изображений. Это сложная задача, так как изображение можно описать разными способами и все равно передавать одно и то же значение.

Однако для того чтобы как-то использовать наблюдение, предоставленное заголовками, авторы предлагают прокси-задачу предсказать, соответствует ли заголовок определенному изображению, а не предсказывать слово за словом заголовок.

Контрастное предварительное обучение

Рассмотрим набор изображений N и соответствующие им N заголовков. С помощью них мы можем создать N х N возможные пары (изображение, текст) внутри набора. Задача заключается в предсказании N реальных пар в наборе.

Для этого CLIP обучает мультимодальное пространство путем совместного обучения имидженкодера и текстового кодера (см. Рисунок 1). Имидженкодер производит вектор особенностей I; аналогично, текстовый кодер производит вектор особенностей T.

  • Для N реальных пар мы хотим максимизировать косинусную схожесть между I и T.
  • Для N² — N неправильных пар мы хотим минимизировать косинусную схожесть между I и T.
Рисунок 1: Контрастное предварительное обучение (Изображение с вежливости: статья)

Нулевое предсказание

Рассмотрим задачу классификации изображений (см. Рисунок 2). Во время тестирования для одного изображения имидженкодер производит вектор особенностей I₁. Чтобы определить класс изображения, текстовый кодер встраивает имена классов целевого набора данных для создания N векторов особенностей T₁, T₂ …, и так далее. N – это количество классов в целевом наборе данных.

Рисунок 2: Нулевое предсказание для классификации изображений с использованием функций CLIP (Изображение с вежливости: статья)

Детали модели

Для кодировщика изображений авторы оценивают две разные архитектуры:

  • ResNet-50: Используется измененная архитектура ResNet-D (см. статью) с анти-алиасированным rect-2 blur pooling (см. статью). Также заменяется слой глобального среднего пулинга на механизм группового пулинга в стиле “трансформатора”.
  • Vision Transform (ViT): Авторы используют дополнительную нормализацию слоя передаточных и позиционных вложений перед трансформатором и используют слегка отличную схему инициализации.

Для кодировщика текстов используется трансформатор, описанный в данной статье с 63 миллионами параметров (12 слоев, ширина 512) и 8 внимательных голов.

Обучение

Авторы обучают 5 моделей ResNet (ResNet-50, ResNet-101 и 3 модели ResNet в стиле EfficientNet) и 3 модели Vision Transformers (ViT-B/32, ViT-B/16 и ViT-L/14). Модели обучаются в течение 32 эпох с использованием оптимизатора Adam с регуляризацией весов посредством отделенного затухания и снижением скорости обучения с использованием косинусного графика. Используется очень большой размер мини-пакета – 32 768.

Некоторые результаты и обсуждение

Влияние техники составления промптов:

Для классификации изображений используются наборы данных с аннотациями, в которых идентификаторы меток сопоставляются с названиями классов. Поскольку модель CLIP обучается на тексте, представленном полным предложением, авторы обнаружили, что использование шаблона промпта “Фото {label}.” является хорошим выбором по умолчанию для текста, связанного с изображением. На рисунке 3 мы видим, что точность классификации увеличивается на 5 пунктов с использованием техники составления промптов при работе с 36 наборами данных для классификации.

Рисунок 3: Влияние техники составления промптов на результаты классификатора CLIP с нулевой настройкой, усредненные по 36 наборам данных (Изображение из <a href=статьи)” src=”https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*RslRPp4m0N14Nv9NKiKuVg.jpeg”/>

Zero-shot CLIP против Линейного зонда

Классификатор CLIP с нулевой настройкой показывает лучшие результаты, чем обученный набор линейного классификатора на основе функций ResNet-50 для 16 из 27 наборов данных (рисунок 4). Однако результаты модели CLIP все еще ниже, чем у передовых моделей для большинства из этих наборов данных.

Рисунок 4: (Изображение из <a href=статьи)” src=”https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*jzXV8KvbVTIoqij8A43zMg.jpeg”/>

Ограничения

  • CLIP плохо справляется с задачами, такими как подсчет объектов на изображении или определение расстояния до ближайшего объекта на изображении.
  • Модель показывает очень низкую производительность на наборах данных, не соответствующих распределению, таких как MNIST. Однако ее результаты на цифровой OCR хорошие; она не может правильно распознавать написанные от руки цифры набора данных MNIST (с точностью 88%).
  • Использование CLIP для обучения с малым количеством обучающих данных приводит к низкой производительности. При переходе от нулевой настройки к обучению с небольшим количеством обучающих данных происходит противоречивое снижение результатов.
  • Так как CLIP обучается на текстово-изображенных парах, полученных из интернета, модель будет учиться социальным предубеждениям.