Иллюстрации к нашим статьям теперь создает AI. Как именно работает DALL-E 2

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

Автор
Время чтения
7
мин.
Цель статьи
Разобраться с алгоритмами модели машинного обучения DAL-E 2 и понять, как создается графика из текста.

Хронометр

В 2021 году появился уникальный инструмент генеративной графики – нейронная сеть DALL-E. Она основана на GPT-3 - третьем поколении алгоритма обработки естественного языка, а именно, английского. Обучали нейросеть на суперкомпьютере Microsoft Azure AI, загрузив более 600 Гб текстов.

Именно на архитектуре GPT-3 и была создана DALL·E, которая совместила передовую лингвистическую модель с функционалом генерации изображений. В конце 2021 появилась модель, обрабатывающая запросы на русском языке - ruDALL-E.

Нельзя сказать, что иллюстраторы и дизайнеры больше не нужны. Можно сказать, что они получили инструмент, существенно расширяющий их возможности. Вариативность нейросети поражает воображение, и предлагаемые ей "креативы" можно использовать как банк для вдохновения или как экономию времени на "рукотворной" разработке digital-графики.

В апреле 2022 года появилась версия 2 и стала новым прорывом в сфере генераторов изображений. DALL-E 2 может создавать абсолютно новое изображение, которое комбинирует отдельные несвязанные объекты на основе семантического подобия.

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

  • Версия 2 дополнили системой искусственного зрения CLIP. О ней подробнее ниже.
  • Улучшилось качество изображений (максимум теперь 1024 на 1024 пикселей).
  • Значительно сократились эффекты «смазанности» и «искажения».
  • Увеличилась длинна текстового запроса – до нескольких предложений.

Работа DALL-E 2 с высоты птичьего полета

Если объяснять с максимальным упрощением работу DALL-E 2, то:

  1. Текстовый запрос (требуемые параметры создаваемого изображения) попадает в текстовый кодировщик, который картирует его в пространство репрезентаций.
  2. Включается модель (Prior) и картирует кодировки текста в кодировки изображения согласно семантическому подобию.
  3. В финале вторая Модель (Decoder) поэтапно создает изображение – визуальное представление семантической информации.
Процесс генерации графики из текста (изображение @AssemblyAI)

Пошаговый алгоритм работы DALL-E 2. Шаг 1: связь семантики текста с семантикой изображения

Как DALL-E 2 понимает, что текст «teddy bear» может быть представлен именно так в качестве изображения? И это самый интересный и глубокий вопрос.

В DALL-E 2 применена еще одна разработка компании OpenAI – система искусственного зрения CLIP - Contrastive Language-Image Pre-training (Сравнительная Тексто-Графическая Тренировка).

Система обучается на сотнях миллионов изображений и их описаний, учится различать «насколько» текстовый фрагмент Х соотносится с изображением Х. То есть вместо предсказывания – к какой картинке больше подойдет данное описание, модель искусственного зрения изучает, как именно взаимосвязаны данный текст и данное изображение. Сравнение вместо предсказания позволяют CLIP устанавливать связь между текстовой и визуальной репрезентацией одного и того же смысла. Именно CLIP определяет и создает семантические связи между текстом и изображением.

Кодирование текста и графики (изображение @AssemblyAI)
Картирование текстовых кодировок в кодировки изображения (изображение @AssemblyAI)
Финальное изображение без применения искусственного зрения CLIP (изображение @AssemblyAI)

ШАГ 2: создание изображения на основе визуальной семантики

Хорошо, CLIP учился устанавливать связи между текстом и изображением, создавал пространство репрезентаций (representation space). Наша задача – создать изображение по заданному описанию. И здесь включается в работу следующая модель – GLIDE.

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

Базовая диффузная модель (иллюстрация @AssemblYAI)
Ступенчатое добавление шума к изображению (@AssemblyAI)

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

Диффузная модель учится поэтапно «отыгрывать назад» процесс искажения (@AssemblyAI)

Но в модели GLIDE диффузная модель изменена, чтобы учитывать параметры текста в процессе создания изображения. Начинается процесс с произвольной выборки гауссовского шума. И на этом этапе не понятно, как создавать изображения по требуемым параметрам. Например, если Диффузная Модель учится на подборке изображений человеческих лиц, то она может создать реалистичное изображение человеческого лица. Но что, если мы хотим создать лицо со специфическими параметрами – серые глаза или рыжий цвет волос?

GLID расширяет изначальную концепцию диффузной модели, дополняя процесс обучения текстовой информацией (@AssemblyAI)

Модель GLIDE важна для DALL-E 2, она позволяет создавать изображения, семантически согласованные с кодировкой изображений. Важно отметить, что реверсивный диффузный процесс имеет стохастический, ступенчатый характер, поэтому вариации изображений могут быть легко созданы путем многократного повторения генеративного процесса.

Шаг 3: картирование текстовой семантики в соответствующую ей визуальную семантику

Хорошо, но как мы внедрим параметры текстовой информации в процесс создания финального изображения? DALL-E 2 использует модель кодирования текста под названием «Prior». Она соотносит текстовые кодировки названий изображений с визуальными кодировками этих же изображений. Разработчики экспериментировали с Авторегрессионной моделью и Диффузной. Последняя показала более высокую вычислительную эффективность.

Шаг 4: создание последовательности

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

  1. Система искусственного зрения CLIP картирует текстовое описание изображения в пространство репрезентаций.
  2. Затем Диффузная модель «Prior» картирует кодировки текста, описывающего изображение, в визуальные кодировки этого изображения.
  3. Потом модифицированная модель GLIDE картирует пространство репрезентаций в визуальное пространство посредством реверсивной диффузии, создавая один из множества возможных вариантов финального изображения по заданной семантике.

Изучаем, применяем

Сейчас на рынке есть несколько коммерческих приложений на базе DALL-E, мы пользуемся одним из них. Версия нейросети DALL-E 2 пока в закрытом доступе. Мы будем исследовать эту модель и делиться с вами совместными произведениями. Кроме создания графики на базе текста нейросеть еще умеет трансформировать исходные изображения по заданным параметрам, или совмещать 2 изображения. Мы поиграли немного со стилями и получили несколько интересных изображений обычного икосаэдра.

Исходный файл
Стилизация 1
Стилизация 2
Стилизация 3

У нас есть собственные ИИ-разработки для ритейла и производственныъ предприятий

Обсудить задачу с экспертом

Полезные материалы

Исследование: Agile в России 2021

.PDF
November 17, 2022

Государственные цифровые платформы 2021: особенности и сценарии развития. Доклад НИУ ВШЭ

.PDF
May 16, 2022

Альманах "Искусственный Интеллект". Индекс 2021 года

.PDF
April 18, 2022

Итоги работы Минцифры в 2021 и приоритеты на 2022

.PDF
April 13, 2022