Диаграммы и робот, объясняющие процессы машинного обучения и распознавания изображений.

Как обучаются языковые модели обработки изображений «с нуля»

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

Делиться

aacb46812effeeab45ba44a5ccbe1d8a

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

Код является открытым, ссылку на GitHub вы можете найти в конце статьи. Также есть 30-минутное видео на YouTube, которое наглядно и наглядно объясняет всю статью.

Кроме того, если не указано иное, все изображения в этой статье созданы автором.

Подождите, вы действительно собираетесь «тренироваться с нуля»?

Да… то есть нет… здесь есть некоторые нюансы.

В 2026 году исследовательские лаборатории больше не будут обучать мультимодальные модели «с нуля». Обучение модели одновременно распознаванию визуальной информации и (текстового) языка стало слишком дорогим! Это требует больше данных, вычислительных мощностей, времени и денег. Кроме того, это часто приводит к худшим результатам.

Вместо этого лаборатории берут существующие предварительно обученные языковые модели, работающие только с текстом, и дорабатывают их, чтобы получить «возможности компьютерного зрения». В теории (и на практике) это гораздо более эффективно с точки зрения вычислительных ресурсов.

cecad0dddc828d6217cee923d49520d8
Давайте поговорим о языковых моделях обработки изображений!

Стандартная архитектура

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

  1. Как нам встроить изображение, то есть преобразовать его в числовые представления, понятные нейронной сети?
  2. Как настроить векторные представления изображений, чтобы они были совместимы с текстом ?
  3. Как нам скорректировать веса текстовой модели таким образом, чтобы она сохраняла свои предыдущие знания об окружающем мире, но при этом генерировала текст из векторных представлений изображений ?
ab1d2ab4f17f5db3bd985c2dca1bca12
Полученные с помощью VIT и Q-Former векторные представления изображений проходят через слой MLP. За ним следует ряд слоев декодера и обучаемых адаптеров LORA.

Эти модули:

  1. Image Backbone: модель, которая преобразует необработанные изображения в векторные представления (эмбеддинги).
  2. Адаптерный слой: это модели, которые преобразуют векторные представления изображений в «текстосовместимые» векторные представления. Это основная сложная часть — какие архитектуры использовать, какие функции потерь и т. д.
  3. Языковой слой: языковая модель, которую мы будем обучать для ввода адаптированных эмбеддингов и генерации текста на их основе.

Давайте обсудим их по очереди.

1. Основа изображения

Цель вашей системы формирования изображений проста:

Входные данные: Необработанная двумерная пиксельная карта/изображение.

Результат: Последовательность векторных представлений, иллюстрирующих изображение.

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

В качестве основы для обработки изображений можно использовать сверточную нейронную сеть (например, ResNet). Однако современные передовые VLM-системы почти полностью перешли на ViT-системы, поскольку они лучше масштабируются по мере обработки данных и более гибки для мультимодального слияния.

2985a00a9b40b16a1368448226291f50
В Vision Transformers на вход поступает изображение, из него извлекаются фрагменты, а затем они проходят через двунаправленные слои самовнимания. Это позволяет контекстуализировать каждый фрагмент изображения, формируя контекстную последовательность векторных представлений изображения.

Мне нужно обучать базовую модель обработки изображений или оставить её в неизменном виде?

В большинстве исследований в области VLM наблюдается явная тенденция к сохранению базовых моделей в статичном (замороженном) состоянии для экономии средств. Кроме того, для обучения моделей обработки изображений и текста обычно требуются парные наборы данных «изображение — текст». Поскольку эти наборы данных всегда намного меньше, чем набор данных для предварительного обучения VIT, тонкая настройка базовой модели часто приводит к переобучению и ухудшению производительности.

Сохраняя эти веса неизменными, мы, по сути, передаем управление процессом обучения визуально-языковым представлениям последующим частям сети (т. е. адаптерному слою и текстовой архитектуре).

В своих экспериментах я использовал модель ViT-Base. Эта модель принимает на вход изображение, разбивает его на фрагменты размером 16×16 пикселей и применяет к ним механизм самовнимания для генерации последовательности встраивания из 197 векторов. Каждый вектор имеет длину 768 измерений (размер встраивания VIT).

2. Адаптерный слой

Здесь мы и проведём большую часть времени. Мы уже преобразовали изображения в векторные представления, но эти представления совершенно не учитывают текст.

Модели Vision Transformers предварительно обучаются исключительно на пикселях изображений, а не на их подписях или каких-либо локальных текстовых признаках. Роль адаптера заключается в преобразовании пиксельных векторных представлений изображений в (часто более короткую последовательность) текстовые векторные представления изображений.

Существует множество способов сделать это, например, используя модели CLIP, но мы рассмотрим один из наиболее популярных подходов — Query Former из Q-Former.

Q-Формер

Итак, что же такое Q-формер? Q-формер, или формер запросов, был представлен в статье BLIP-2.

256f4d5327a9c166f5de19afcdb4c9ce
Из статьи BLIP-2

Как обучить Q-Former?

Стандартные Q-Former можно обучать, используя любой набор данных, содержащий мультимодальные пары изображение-текст. Например, можно использовать набор данных Conceptual Captions, представляющий собой огромный корпус изображений и соответствующих им подписей. В моем проекте для обучения Q-Former я использовал всего 50 000 пар.

Можно обучить Q-Former с нуля, но в BLIP-2 рекомендуется использовать предварительно обученную модель BERT. Поэтому мы так и поступим.

В общих чертах, вот наш основной план действий:

  • Обучите многомодальное объединенное пространство встраивания. Пространство, где текст и изображения «знают» друг друга.
  • По сути, мы будем вводить пары изображений и подписей — и встраивать их оба в одно и то же общее пространство.
  • Изображения и несовместимые подписи будут отображаться в разных местах в этом новом пространстве встраивания, а совместимые подписи будут отображаться близко друг к другу.
62ee5c302f82b52e22d62896c6d84841
Уровень 1: Самовнимание
182d7a323b6c5eec9232a6e5c83b6e66
Слой 2: Самовнимание и перекрестное внимание с использованием функций VIT.

Настройка слоев перекрестного внимания

Проблема в том, что модели BERT — это чисто текстовые модели. Они понятия не имеют, что такое изображение.

Итак, наша цель — сначала ввести новые слои перекрестного внимания, чтобы объединить векторные представления изображений, полученные из VIT, и векторные представления текста из BERT. Давайте пошагово разберем, как мы преобразуем BERT в Q-Former:

  • Выберите пару «изображение — текст» из набора данных.
  • Пропустите изображение через замороженную модель VIT, чтобы преобразовать изображение в векторные представления изображений, имеющие форму [197, 768]
  • Инициализируем «обучаемые векторные представления запросов». Это (например, 32) векторные представления, которые мы будем использовать для преобразования последовательности векторных представлений изображения в последовательность векторных представлений токенов, привязанных к тексту. Обратите внимание, что 32 значительно меньше исходной длины последовательности векторных представлений VIT (197).
  • В первый слой BERT мы подаем на вход векторные представления текстовых подписей и векторные представления запросов. Этот слой применяет механизм самовнимания к этим входным данным.

    Пока предположим, что токены запроса взаимодействуют только между собой, а текстовые токены — только между собой (то есть токены запроса и текстовые токены не видят друг друга).

  • На втором слое BERT происходит нечто ИНТЕРЕСНОЕ. Два набора эмбеддингов проходят через еще один слой самовнимания, как и раньше. Но на этот раз мы также используем слой перекрестного внимания для контекстуализации эмбеддингов запроса с эмбеддингами изображений ViT, которые мы рассчитали ранее.

    Разумеется, в стандартном BERT отсутствуют слои перекрестного внимания, поэтому мы сами вводим эти многоголовые слои перекрестного внимания.

  • Таким же образом мы чередуем слой чистого самовнимания (где запросы и текст независимо друг от друга взаимодействуют) со слоем перекрестного внимания (где векторные представления запросов взаимодействуют с зафиксированными векторными представлениями VIT).
  • На заключительном слое мы выбираем функцию потерь для совместного обучения с использованием векторных представлений, например, ITC (Image Text Contrastive Loss), ITM (Image Text Matching Loss) или ITG (Image Text Generation Loss и т. д.). Подробнее об этом позже.

Что делает механизм перекрестного внимания?

Это позволяет сопоставить содержимое изображения с векторными представлениями запроса. Можно представить, что каждый запрос пытается сопоставить определенный шаблон векторного представления с 197 векторными представлениями VIT.

Например, если запрос имеет высокое соответствие с одним векторным изображением, он будет очень четко отображать именно этот признак. Если запрос соответствует комбинации векторов, он будет представлять собой среднее значение этих векторных представлений, и так далее.

Помните, что мы обучили 32 таких векторных представления запроса, поэтому вы позволяете Q-Former изучать множество различных коактиваций внутри векторных представлений изображений. В силу особенностей обучения, эти коактивации поощряются для максимального выравнивания изображения и текста.

В процессе обучения Q-Former будут оптимизированы как начальные векторные представления запросов, так и веса перекрестного внимания, чтобы мы могли извлекать релевантные признаки из токенов изображений VIT.

Исходные эмбеддинги запроса не пытаются уловить каждую деталь этих 197 эмбеддингов — вместо этого они пытаются научиться объединять их в компактную последовательность из 32 токенов.

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

Функции потерь для обучения Q-формеров

Способ обучения модели Q-Former тесно связан с тем, как мы различаем токены запроса и текста на протяжении всех слоев.

  1. Функция контрастной потери изображения-текста (наша настройка)
    Для решения этой задачи мы используем одномодальную маску самовнимания . Запросные токены взаимодействуют друг с другом, текстовые токены — друг с другом.

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

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

  2. Функция потерь при сопоставлении изображения и текста (ITM)
    Здесь используется двунаправленная маска самовнимания . В этом случае каждый токен запроса может видеть каждый текстовый токен, а каждый текстовый токен может видеть каждый запрос!

    В качестве функции потерь мы используем задачу бинарной классификации, где модель должна предсказать: «Соответствуют ли это изображение и этот текст — Да или Нет?». Бинарная кросс-энтропийная функция потерь.

    Поскольку модальности полностью смешаны, модель может выполнять детальные сравнения. Запросы могут анализировать конкретные объекты на изображении (с помощью механизма перекрестного внимания) и проверять, соответствуют ли они конкретным словам в тексте. Это гораздо детальнее, чем контрастная функция потерь, и гарантирует, что 32 токена улавливают локализованные детали.

  3. Функция потерь при генерации изображения и текста (ITG)
    Наконец, у нас есть задача генерации. Для этого мы используем многомодальную причинно-следственную маску . Запросы по-прежнему могут видеть друг друга, но текстовые токены теперь рассматриваются как последовательность. Каждый текстовый токен может видеть все 32 токена запроса, которые выступают в качестве визуального префикса. Но они могут видеть только те текстовые токены, которые были до него.

    В качестве функции потерь мы просто обучаем модель предсказывать следующий токен в подписи. Заставляя модель буквально «писать» описание на основе запросов, мы гарантируем, что эти 32 токена содержат всю необходимую визуальную информацию для понимания сцены языковой моделью.

Для своего проекта я использовал самый простой метод — ITC. Для небольшого набора данных, который я использовал, это был самый простой способ! BLIP-2 рекомендует использовать сочетание всех этих методов обучения. В репозитории GitHub, ссылка на который приведена в конце статьи, есть инструкция по использованию любой из вышеперечисленных схем внимания.

def38b6ba0c09e3ed180225a79a86e91
Обученная модель Q-Former учится сопоставлять похожие пары текста и изображений.

В следующем разделе мы перейдем к заключительному этапу — обучению VLM!

3. Языковой слой

Теперь переходим к заключительному шагу. Мы будем использовать VIT и Q-Former для преобразования языковой модели в модель компьютерного зрения. Я выбрал одну из самых маленьких языковых моделей, оптимизированных под конкретные инструкции — SmolLM2-135M. К счастью, эта часть не так сложна, как обучение Q-Former.

У нас есть векторные представления изображений (полученные из VIT и Q-Former), а также текстовые токены (полученные из токенизатора SmolLM). Давайте рассмотрим некоторые детали.

af8410906c694b1e3320ef1f8d34c7b1
Из статьи BLIP-2
  • Мы выбираем изображение и подпись из нашего набора данных.
  • Мы случайным образом выбираем из списка простых системных подсказок, например: «Вы полезный помощник. Отвечайте пользователю честно».

    Мы также выбираем пользовательский запрос из списка подсказок, например: «Что вы видите на этом изображении?»

    Мы также токенизируем выходные подписи, отобранные из набора данных.

    Эти три элемента образуют текстовые токены. Мы токенизируем их все с помощью токенизатора SmolLM2, но пока не будем вставлять его в LLM — сначала нужно обработать изображение.

  • Мы пропускаем изображение через замороженный VIT, затем через Q-Former (опять же, обратите внимание, что текстовые подписи не передаются в Q-Former, выполняется только конвейер обработки изображений).
  • Мы вводим небольшой слой MLP, который преобразует выходные данные Q-Former в новые эмбеддинги, имеющие ту же форму, что и ожидаемый размер эмбеддинга LLM. В процессе обучения этот слой MLP будет отображать эмбеддинг Q-Former в пространство эмбеддингов LLM.
  • Теперь, когда у нас есть последовательность текстовых токенов и новые векторные представления изображений (VIT -> Q-Former -> MLP), мы передадим текстовые токены через собственный слой векторного представления LLM. Мы расположим векторные представления текста и изображений в следующей последовательности:

    …и передать это дальше по всей программе магистратуры в области права.

  • Почему именно эта последовательность? Поскольку авторегрессивные LLM используют причинное маскирование, мы, по сути, будем обучать модели генерировать выходную последовательность (подпись), имея весь префикс (системную подсказку, пользовательскую подсказку и векторные представления изображений).
  • Вместо обучения всей модели LLM с нуля мы добавляем адаптеры LoRA (матрицы адаптации низкого ранга). Обернув нашу модель LLM матрицами LoRA, мы замораживаем исходные миллионы параметров и обучаем только крошечные матрицы низкого ранга, внедряемые в слои внимания. Это позволяет обучать модель на потребительском оборудовании, сохраняя при этом все существующие интеллектуальные возможности.
  • Вот и всё! Мы передаём эти сшитые эмбеддинги и метки в LLM. Модель одновременно обрабатывает текстовые инструкции и визуальные токены, и благодаря LoRA она учится обновлять свою внутреннюю структуру, чтобы понимать этот новый визуальный язык. Обучаются только слои Q-Former, слой MLP и адаптеры LORA. Всё остальное остаётся неизменным.
20bd44e3218c7e481b4a237561bf9e29
Вот некоторые результаты! Больше результатов вы найдете в видео на YouTube, ссылка на которое указана в конце статьи!

После обучения всего за несколько часов на небольшом подмножестве данных, обученная модель VLM теперь может распознавать изображения и генерировать текст о них. Машинное обучение — это нечто невероятное, когда оно работает.

В итоге

Полный репозиторий на GitHub можно найти здесь:

https://github.com/avbiswas/vlm

А посмотреть видео на YouTube можно здесь:

Давайте подведем итоги работы всех модулей конвейеров обработки изображений на языке Vision Language.

  • Компьютерная архитектура (подобная VIT), которая принимает на вход изображение и преобразует его в эмбеддинги.
  • Адаптерный слой (подобный Q-Former), который связывает изображение с текстом.
  • Мы обучаем LLM для объединения векторных представлений текста и изображений с целью изучения языка зрения.

Мой Patreon:
https://www.patreon.com/NeuralBreakdownwithAVB

Мой канал на YouTube:
https://www.youtube.com/@avb_fj

Подписывайтесь на меня в Твиттере:
https://x.com/neural_avb

Я создаю Paper Breakdown, платформу для изучения научных работ.
https://paperbreakdown.com

Читайте мои статьи:
https://towardsdatascience.com/author/neural-avb/

Авишек Бисвас Посмотреть все в Авишек Бисвас

Источник: towardsdatascience.com

✅ Найденные теги: искусственный интеллект, Как, новости, Обработка Изображений, Обучение, Языковые Модели

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Спутниковая антенна в ночи с зелёной кометой в небе.
Акула в розовых кроссовках на пляже, пальмы и море на заднем плане.
Око с небом в зрачке, табакерка и буквы "cr" внутри зрачка.
Ветряные турбины в океане на фоне гор и неба. Экологическая энергия.
Дом на колесах в лесу с раскладными стульями и выдвижным тентом для кемпинга.
Морские водоросли на берегу, макросъемка природа.
Изображение смартфона с символом руки на фоне логотипов с замками и яблоками.
ideipro logotyp
Медицинский центр Голд-Кост расширит возможности оказания виртуальной медицинской помощи пациентам на дому.
Image Not Found
Око с небом в зрачке, табакерка и буквы "cr" внутри зрачка.

У Microsoft появился новый план, как в онлайн-среде доказать, что реально, а что — искусственный интеллект.

В новом предложении компаниям, работающим в сфере социальных сетей и искусственного интеллекта, предлагается внедрить строгие правила проверки, однако сама компания пока не взяла на себя обязательство следовать собственным рекомендациям. Стефани Арнетт/MIT Technology Review | Adobe Stock Обман…

Мар 19, 2026
Ветряные турбины в океане на фоне гор и неба. Экологическая энергия.

Морские платформы могут решить главную проблему ИИ

На фоне стремительного роста искусственного интеллекта всё острее встаёт проблема энергопотребления: только за 2025 год дата-центры израсходовали около 448 ТВт/ч — сопоставимо с годовым потреблением целой страны, например Германии. При этом нагрузка на электросети увеличивается, а общество…

Мар 19, 2026
Дом на колесах в лесу с раскладными стульями и выдвижным тентом для кемпинга.

Премиальный кемпер Airstream для двоих

Автодом Airstream Atlas 25RT на платформе Mercedes-Benz — это кемпер для комфортных путешествий вдвоём — от коротких выездов до полноценного отдыха на природе.  Внутреннее пространство организовано максимально рационально: здесь удобно готовить, отдыхать и жить без ощущения тесноты.…

Мар 19, 2026
Морские водоросли на берегу, макросъемка природа.

Биологи извлекли из бурой водоросли биоактивный сложный сахар

Талломы фукоидов Fucus distichus © Wikimedia Commons Ученые БФУ имени Иммануила Канта выделили из бурой водоросли полисахарид фукоидан, обладающий антиоксидантным и противомикробным действием. Он способен защищать клетки живых организмов от воздействия вредных свободных радикалов. Кроме того, эксперименты…

Мар 19, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых