# Salesforce Research представила BLIP: универсальный ИИ для понимания и генерации изображений

Источник: https://www.youtube.com/watch?v=X2k7n4FuI7c
Канал: Yannic Kilcher
Опубликовано: 23.03.2022

---

Исследователь в области машинного обучения Янник Кильхер (Yannic Kilcher) представил подробный разбор научной работы, посвященной BLIP — новой архитектуре и методу обучения нейросетей от Salesforce Research. Проект предлагает элегантное решение двух главных проблем в области взаимодействия зрения и языка: несовместимости архитектур для понимания и генерации, а также низкого качества данных, собранных из открытого интернета.

## 🧠 Архитектура MED: Унификация через модульность
[[JUMP:03:42]]

Современные модели компьютерного зрения и обработки естественного языка обычно делятся на два типа: только энкодеры (как CLIP) или энкодер-декодеры. По мнению Янника Кильхера, у обоих подходов есть существенные недостатки [07:15]. Энкодеры отлично справляются с задачами поиска (retrieval), когда нужно сопоставить картинку с текстом, но их крайне сложно заставить генерировать описания [07:54]. С другой стороны, архитектуры энкодер-декодер эффективны для создания подписей к изображениям, но плохо работают в задачах поиска и сопоставления [08:34].

Для решения этой проблемы Salesforce Research предложили архитектуру MED (Multimodal Mixture of Encoder-Decoder) — «нечестивую смесь» из нескольких модулей, работающих с общими весами [25:26]:

*   **Визуальный трансформер (ViT):** выступает в роли единого энкодера изображений, преобразуя картинку в набор векторов (эмбеддингов) [14:43].
*   **Унимодальный текстовый энкодер:** классический модуль (похожий на BERT), который кодирует текст без учета изображения. Это позволяет модели работать в стиле CLIP [15:09].
*   **Текстовый энкодер с опорой на изображение (Image-grounded Text Encoder):** использует механизм cross-attention (перекрестного внимания) для внедрения визуальной информации в процесс кодирования текста. Это создает совместное представление пары «картинка-текст» [16:15].
*   **Текстовый декодер с опорой на изображение:** заменяет двунаправленное внимание на каузальное (при котором модель видит только предыдущие слова), что позволяет генерировать текст на основе визуальных данных [18:00].

Интересной особенностью архитектуры является совместное использование параметров. Как отмечает Янник Кильхер, текстовые модули делят между собой веса слоев прямого распространения (feed-forward) и слоев cross-attention, что уменьшает размер модели и, согласно результатам тестов, улучшает производительность [27:11].

## 🎯 Три цели обучения для одной модели
[[JUMP:18:38]]

Модель BLIP обучается одновременно на трех задачах, что позволяет ей быть универсальной «из коробки» [21:43]:

1.  **Image-Text Contrastive Loss (ITC):** обучение на контрасте, где модель учится сближать векторы похожих изображений и текстов и отдалять несовпадающие пары.
2.  **Image-Text Matching Loss (ITM):** задача бинарной классификации. Модели подается пара «текст-картинка», и она должна ответить, соответствуют ли они друг другу. Для усложнения задачи используется стратегия «hard negative mining» — подбор ложных пар, которые очень похожи на истинные [19:03].
3.  **Language Modeling Loss (LM):** классическая задача генерации текста, где модель учится предсказывать следующее слово в описании картинки [19:43].

## 🧼 Метод CapFilt: Очистка «шумного» интернета
[[JUMP:29:47]]

Второй прорывной частью работы является метод бутстрапинга данных под названием CapFilt (Captioning and Filtering). Основная претензия авторов к современным датасетам заключается в том, что они собраны из интернета через alt-тексты (описания картинок в HTML). По словам Янника Кильхера, такие подписи часто бесполезны: люди либо не заполняют их, либо используют для поисковой оптимизации (SEO), вставляя ключевые слова, не связанные с содержанием фото [10:34].

Процесс CapFilt состоит из нескольких этапов:

*   **Обучение на чистых данных:** Сначала модель обучается на небольшом, но качественном датасете (например, COCO), созданном людьми [31:34].
*   **Создание «Аннотатора» (Captioner):** Часть модели (декодер) используется для генерации новых, синтетических подписей к «шумным» картинкам из интернета [32:15].
*   **Создание «Фильтра» (Filter):** Другая часть модели (энкодер ITM) оценивает, насколько текст (как оригинальный из интернета, так и синтетический) подходит к изображению [33:09].
*   **Очистка:** Если фильтр считает, что описание не соответствует картинке, эта пара удаляется. В итоге получается огромный массив данных, который одновременно масштабен (миллионы картинок из сети) и точен (благодаря фильтрации и переподписыванию) [36:45].

Янник Кильхер подчеркивает, что это важный тренд: использование дискриминативных моделей для фильтрации выходов генеративных моделей становится «золотым стандартом» индустрии [38:46].

## 🎲 Нуклеарное сэмплирование против жадного поиска
[[JUMP:42:17]]

В процессе генерации новых описаний для датасета исследователи обнаружили важный нюанс. Традиционный «лучевой поиск» (beam search), который ищет наиболее вероятные слова, выдавал слишком скучные и общие описания [42:55]. Использование нуклеарного сэмплирования (nucleus sampling), которое вносит элемент случайности, привело к созданию более разнообразных и информативных подписей.

По мнению Кильхера, это доказывает, что для обучения ИИ «неожиданные» и редкие данные в подписях могут быть полезнее, чем максимально безопасные и предсказуемые варианты [42:43]. Модель обучается лучше, когда получает новые крупицы знаний, а не повторение очевидного.

## 🚀 Будущее динамических нейросетей
[[JUMP:44:41]]

Завершая обзор, Янник Кильхер выразил надежду на появление фреймворков, которые позволят собирать такие модели автоматически [45:48]. BLIP продемонстрировал, что модули (энкодеры изображений и текстов) можно не только выбирать, но и пересобирать под конкретные задачи: визуальные ответы на вопросы (VQA), поиск или генерацию [44:53].

Хотя Янник скептически относится к заявлениям авторов о том, что BLIP «значительно» превосходит конкурентов (считая это стандартным преувеличением для научных статей), он признает [44:00], что архитектура и метод очистки данных являются крайне перспективными рецептами для будущего развития мультимодального ИИ.