GLIP Введение предварительного обучения язык-изображение для обнаружения объектов

GLIP Введение предварительного обучения язык-изображение для обнаружения объектов' => 'GLIP Введение предварительного обучения язык-изображение для обнаружения объектов

Краткое изложение статьи: Grounded Language-Image Pre-training

Сегодня мы погрузимся в статью, которая продолжает успешную работу CLIP в предварительном обучении язык-изображение и расширяет ее на задачу обнаружения объектов: GLIP — Grounded Language-Image Pre-training. Мы рассмотрим основные концепции и результаты статьи, сделаем их более понятными, предоставив дополнительный контекст и добавив аннотации к изображениям и результатам экспериментов. Поехали!

source

Статья: Grounded Language-Image Pre-training

Код: https://github.com/microsoft/GLIP

Первое публикация: 7 декабря 2021 года

Авторы: Лиуньян Харольд Ли, Пэнчуань Чжан, Хаотиан Чжан, Цзяньвэй Ян, Чунюань Ли, Иву Жонг, Лиджуань Ванг, Лю Юань, Лей Чжан, Дженк-Нэн Хуанг, Кай-Вэй Чанг, Цзяньфэн Гао

Категория: обучение представлений, обнаружение объектов, привязка фраз, мультимодальное глубинное обучение, компьютерное зрение, обработка естественного языка, базовые модели

Структура

  1. Контекст и предыстория
  2. Заявленные вклады
  3. Метод
  4. Эксперименты
  5. Дополнительные материалы и ресурсы

Контекст и предыстория

GLIP (Grounded Language-Image Pre-training) – это мультимодельная модель язык-изображение. Подобно CLIP (Contrastive Language-Image Pre-Training), она выполняет контрастное предварительное обучение для изучения семантически богатых представлений и их выравнивания в разных модальностях. В то время как CLIP обучает эти представления на уровне изображения, что означает, что одно предложение описывает всё изображение, GLIP стремится расширить этот подход до представлений на уровне объектов, то есть одно предложение может соответствовать нескольким объектам на изображении. Задача идентификации соответствий между отдельными токенами в текстовом запросе и объектами или областями на изображении называется привязкой фраз. Отсюда и слово “Grounded” в GLIP.

Таким образом, GLIP имеет следующие цели:

  1. Объединить привязку фраз и обнаружение объектов для масштабного предварительного обучения.
  2. Предоставить гибкую рамку для обнаружения объектов с нулевым обучением, где гибкость означает, что она не ограничена фиксированным набором классов.
  3. Построить одну предварительно обученную модель, которая без проблем переносится на различные задачи и области в нулевом или небольшом количестве обучающих примеров.

Что можно сделать с такой моделью? Вы можете использовать текстовые запросы для поиска объектов или областей интереса на заданном входном изображении. И самое лучшее: вы не ограничены предопределенными классами.

Рис. 1: Результат работы GLIP для разных изображений и форматов запросов. Источник изображения + аннотации от автора

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

GLIP была принята многими другими проектами и областями глубокого обучения. Например, GLIGEN (Grounded-Language-to-Image-Generation) использует GLIP для условной генерации изображений латентной модели диффузии для увеличения управляемости. Кроме того, GLIP была объединена с другими базовыми моделями, такими как DINO (Self Distilation with no Labels) и SAM (Segment Anything), для создания GroundingDINO и Grounded-Segment-Anything соответственно. GLIPv2 расширяет исходную модель GLIP с пониманием визуального языка, чтобы не только улучшить привязку фраз, но и позволить задавать вопросы на основе визуальных данных.

Утвержденные вклады

  1. Масштабированное предварительное обучение для совместной фразовой привязки и обнаружения объектов
  2. Обеспечение унифицированного подхода к обнаружению объектов и фразовой привязке
  3. Глубокое кросс-модальное объединение для обучения высококачественных языково-ориентированных визуальных представлений и достижения превосходной производительности в области передачи обучения.
  4. Доказательство того, что настройка по подсказке более эффективна в глубоком объединении зрение-язык (например, GLIP), чем в поверхностных объединенных сетях (например, CLIP)

Метод

Имея общее представление о том, что можно сделать с помощью GLIP, давайте ближе рассмотрим детали статьи.

Архитектурный обзор

На высоком уровне архитектура GLIP довольно похожа на архитектуру CLIP в том смысле, что она также состоит из текстового кодировщика, изображения кодировщика и какого-то вида контрастного обучения на основе сходства текста и изображения. Архитектура GLIP показана на рис. 2.

Рис. 2: Архитектура фреймворка. Источник изображения + аннотации автором

GLIP добавляет модуль осознания языка и изображения после текстового и изображение кодировщиков. Этот модуль выполняет кросс-модальное внимание и извлекает дополнительные характеристики. Вычисляется косинусная сходство для характеристик региона и слова. Во время обучения максимизируется сходство совпадающих пар, а для неправильных пар оно минимизируется. В отличие от CLIP, где совпадающие пары расположены на диагонали матрицы сходства, в GLIP совпадение не выполняется на уровне предложения, а на уровне (под)слова, что обычно приводит к позициям, не лежащим на диагонали.

Фразовая привязка, сформулированная как проблема обнаружения объектов

Авторы отметили, что проблему фразовой привязки (= связывание слов с объектами/областями на изображении) можно сформулировать как задачу обнаружения объектов, где стандартная целевая функция потерь имеет вид:

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

Различные варианты моделей

Было обучено пять различных моделей, чтобы продемонстрировать эффект выбора авторов и масштаба модели:

Рис. 3: Варианты моделей. Источник изображения + аннотации автором

Предварительное обучение учителя-ученика

Для повышения производительности GLIP авторы обучают модель GLIP-T (C) (см. Рис.3) на данных, полученных от человека, называемых GoldG, чтобы сгенерировать данные привязки из текстово-изображенческих пар из интернета. Эту модель называют учительской моделью, а затем обучают ученическую модель, подавая ей данные, используемые для обучения учителя, плюс данные, сгенерированные учителем. См. Рис. 4 для иллюстрации.

Примечание: Несмотря на то, что используются термины “учитель” и “ученик”, это не тот же процесс, что и в случае передачи знаний, где меньшая модель ученика обучается соответствовать выходу большей модели учителя.

Рис. 4. Предварительное обучение учителя-ученика. Изображение автора

Интересно, как мы увидим в экспериментах, студент превосходит учителя на многих (но не на всех) наборах данных как в случае нулевого, так и нескольких обнаружений. Почему так происходит? В статье гипотезируется, что, несмотря на то, что учитель дает предсказание с низкой уверенностью (они называют это “образованным предположением”), оно становится истинной информацией (они называют это “надзорным сигналом”) в созданном наборе данных, потребляемом студентом.

Эксперименты

В статье GLIP представлены различные эксперименты и исследования, в основном связанные с:

  1. Передача домена без обучения
  2. Эффективность данных
  3. Инженерия запросов

У меня есть сомнения по некоторым результатам и тому, как они представлены, и я указываю на них в аннотациях. Я не хочу умалять достижения GLIP и предпочитаю рассматривать их с критическим взглядом.

Теперь давайте перейдем к деталям!

Передача домена без обучения

Сначала мы рассмотрим результаты передачи домена без обучения. В этой задаче целью является анализ того, насколько хорошо предварительно обученные модели GLIP работают на другом наборе данных (т.е. COCO и LVIS), используемом во время предварительного обучения, и сравнение их с базовыми моделями, обученными в контролируемом режиме. Затем предварительно обученная модель GLIP дополнительно настраивается и оценивается на тестируемом наборе данных.

На рис. 5 мы видим результаты передачи домена без обучения на COCO. Мы видим, что все модели GLIP имеют лучшую производительность при нулевом обучении, чем контролируемая модель Faster RCNN. Нам также представлен результат, что модель GLIP-L превосходит предыдущую лучшую модель на момент публикации статьи. Мы видим, что более крупная модель студента GLIP-L превосходит модель учителя GLIP-T (C).

Рис. 5: Передача домена без обучения и дополнительная настройка на COCO. Источник изображения + аннотации от автора

Далее я перечисляю свои сомнения при чтении этих результатов и утверждений, сделанных в статье, где говорится, что GLIP-L превосходит лучшую контролируемую модель SoftTeacher.

  1. Модель, которая имеет лучшие показатели, чем SoftTeacher, – это GLIP-L, которая лучше на 0.2 пункта. Этот небольшой разрыв может быть не результатом нового метода GLIP, а может быть связан с некоторыми различиями в гиперпараметрах обучения.
  2. GLIP-L даже не использует данные (Cap4M или Cap24M), сгенерированные моделью учителя, которые они представляют как хорошее решение.
  3. GLIP-L была обучена на гораздо большем корпусе обучающих данных, чем SoftTeacher.

По моему мнению, результаты сравнения разных моделей GLIP и модели DyHead-T, которую они сами обучили, вполне нормальны, у меня просто есть сомнения в целом, когда различные методы и модели сравниваются при неясных или разных ограничениях.

На рис. 6 мы видим производительность передачи домена без обучения на наборе данных LVIS. Мы видим, что самая большая модель GLIP, GLIP-L, превосходит все остальные представленные контролируемые модели.

Рис. 6: Передача домена без обучения на LVIS. Источник изображения + аннотации от автора

Наконец, GLIP был сравнен по производительности связывания фраз на данных набора Flickr30K в сравнении с MDETR (см. Рис. 7). Оба модели студента, GLIP-T и GLIP-L, превосходят базовые модели MDETR.

Рис. 7: Производительность связывания фраз на данных набора Flickr30K. Источник изображения + аннотации от автора

Эффективность использования данных

Еще один эксперимент связан с эффективностью использования данных. Этот эксперимент направлен на то, чтобы показать, как меняется производительность (в терминах средней точности) при донастройке предварительно обученной модели на определенном количестве данных, специфичных для задачи. На рис. 8 модели оцениваются на 13 разных наборах данных, и их производительность отображается в виде средней точности, усредненной по 13 наборам данных. Результаты отражаются для 0-shot, 1-shot, 3-shot, 5-shot, 10-shot и “all”-shot (я сомневаюсь, что это официальный термин для полной донастройки, но думаю, вы понимаете 😅).

Рис. 8: Эффективность использования данных. Источник изображения + аннотации автора

Инженерия подсказок

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

  1. Ручная настройка подсказки
  2. Настройка подсказки

Идея ручной настройки подсказки заключается в предоставлении дополнительного контекста в виде дополнительных описательных слов, см. рис. 9:

Рис. 9: Пример ручной настройки подсказки. Источник изображения + аннотации автора

Ручная настройка подсказки может всегда использоваться для улучшения производительности, то есть не имеет значения, полностью донастроена ли модель или используется в нулевой или небольшой сценарий.

Второй подход, настройка подсказки, требует доступа к истинным меткам целевой задачи и особенно подходит для сценариев, где каждая задача обнаружения имеет единственную подсказку (например, “Обнаружить автомобиль”). В этом случае эта подсказка сначала будет преобразована в векторное представление при помощи текстового кодировщика. Затем кодировщик изображений и модуль глубокого объединения замораживаются, и только входное векторное представление оптимизируется с использованием истинных меток. Оптимизированные векторные представления затем служат входом для модели, и кодировщик текста может быть удален.

На рис. 10 показан результат этой настройки подсказки для различных моделей GLIP. При применении к моделям, имеющим модуль глубокого объединения, настройка подсказки достигает практически такой же производительности, как донастройка весов модели.

Рис. 10: Эффективность настройки подсказки. Источник изображения + аннотации автора

Дальнейшие чтения и ресурсы

Как упоминалось в начале этой статьи, GLIP получил широкое распространение во множестве проектов.

Приводится список статей, которые основаны на GLIP:

  1. GLIPv2: Унификация локализации и понимания визуально-языкового контекста
  2. GLIGEN: Генерация текста-изображения с открытым набором классов
  3. Grounding DINO: Объединение DINO с предварительным обучением с использованием маркировки для обнаружения объектов в открытых наборах данных

Ниже приведен список репозиториев, если вы хотите изучить реализацию GLIP и другие интересные проекты, основанные на GLIP:

  • Официальная реализация GLIP
  • Python Notebook для экспериментов с GLIP
  • GroundingDINO: объединение GLIP и DINO
  • Grounded-Segment-Anything: объединение GroundingDINO и SAM

Вот одна из моих статей о модели-основе CLIP, следуя тому же подходу к обобщению, что и в этой статье:

Модель-основа CLIP

Статья по сути — Обучение переносимых визуальных моделей с использованием естественного языкового надзора

towardsdatascience.com