Принцип работы генератора изображений Dall-e. Почему он делает такие уродливые фотографии

Все сейчас хвалят нейросети, но наконец я разберу черные их строны. Начнем с генератора изображений DALL-E (1 и 2) от производителей ChatGPT. Он делает красивую графику, но фотографии - это кошмар=)

Принцип работы генератора изображений Dall-e. Почему он делает такие уродливые фотографии

Начнем с простой теории

Прежде чем углубляться в детали работы DALL-E 1/2, давайте ознакомимся с общим механизмом того, как DALL-E генерирует изображения. Хотя DALL-E может выполнять много разных задач, включая манипулирование изображениями и интерполяцию, здесь мы сосредоточимся на задаче генерации изображений, которая доступна большинству пользователей.

Вид со стороны на процесс генерации изображений
Вид со стороны на процесс генерации изображений

По-сути, все работает довольно просто, но сложными словами:

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

Теперь более подробный механизм работы Dall-e

Шаг 1. Связывание текстовой и визуальной семантики

После ввода «плюшевый мишка катается на скейтборде на Times square» DALL-E выводит следующее изображение:

Принцип работы генератора изображений Dall-e. Почему он делает такие уродливые фотографии

Откуда DALL-E знает, как такое текстовое понятие, как «плюшевый мишка», проявляется в визуальном пространстве? Связь между текстовой семантикой и визуальным представлением в DALL -E изучается с помощью другой модели OpenAI, называемой CLIP ( переобучение контрастного языка — изображения ).

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

Обучение с помощью нейросети CLIP

Основополагающие принципы тренировки CLIP достаточно просты:

  • Во-первых, все изображения и связанные с ними подписи проходят через соответствующие кодировщики, отображая все объекты в m-мерном пространстве.
  • Затем вычисляется косинусоидное сходство каждой пары (изображение, текст).
  • Цель обучения состоит в том, чтобы одновременно максимизировать косинусоидное сходство между N правильно закодированными парами изображения/заголовка и минимизировать косинусоидное сходство между N 2 - N неправильно закодированными парами изображение/заголовок.

Этот тренировочный процесс показан ниже:

Значение CLIP для DALL-E

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

Шаг 2 — Генерация изображений из визуальной семантики

После обучения модель CLIP завершает свою работу и DALL-E переходит к своей следующей задаче — обучению обращению преобразования кодирования изображения, которое только что изучил CLIP. CLIP изучает пространство представления, в котором легко определить родство текстовых и визуальных кодировок, но нас интересует генерация изображений . Поэтому мы должны научиться использовать пространство представления для выполнения этой задачи.

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

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

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

Что такое диффузионная модель?

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

Схема модели диффузии
Схема модели диффузии

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

Обучение GLIDE

Хотя GLIDE не первая диффузионная модель, ее важный вклад заключался в модификации, позволяющей генерировать текстовые изображения . В частности, можно заметить, что модели диффузии начинаются со случайно выбранных гауссовых шумов. Сначала неясно, как адаптировать этот процесс для создания определенных изображений. Если диффузионная модель обучена на наборе данных человеческого лица, она будет надежно генерировать фотореалистичные изображения человеческих лиц; но что, если кто-то хочет создать лицо с определенной чертой лица, например, с карими глазами или светлыми волосами?

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

Вот несколько примеров изображений, созданных с помощью GLIDE. Авторы отмечают, что GLIDE работает лучше, чем DALL-E по фотореализму и сходству подписей. Но GLIDE, кажется, недоступен простому пользователю.

Принцип работы генератора изображений Dall-e. Почему он делает такие уродливые фотографии

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

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

Другими словами, как нам внедрить информацию об обработке текста из нашего представления в процесс генерации изображения?

Напомним, что помимо нашего кодировщика изображений , CLIP также обучает кодировщик текста. DALL-E использует другую модель, которую авторы называют предыдущей, для преобразования текстовых кодировок подписей к изображениям в кодировки соответствующих им изображений. Авторы DALL-E эксперементировали как с авторегрессионными моделями, так и с диффузионными моделями, но в конечном итоге говорят о том, что обе модели дают сопоставимую производительность. Учитывая, все же, что диффузионная модель намного более эффективна в вычислительном отношении, она выбрана в качестве априорной для DALL-E.

Предварительное сопоставление текстовой кодировки с соответствующей кодировкой изображения
Предварительное сопоставление текстовой кодировки с соответствующей кодировкой изображения

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

Diffusion Prior в DALL-E состоит из трансформатора(Transformer), предназначенного только для декодера. Он действует с маской каузального внимания на упорядоченной последовательности действий:

  • Токенизированный текст/заголовок.
  • Текстовые кодировки CLIP этих токенов.
  • Кодирование временного шага распространения.
  • Зашумленное изображение проходит через кодировщик изображения CLIP.
  • Окончательное кодирование, выходные данные которого из Transformer используются для прогнозирования кодирования изображения CLIP без шума.

Шаг 4 — Собираем все вместе

На данный момент у нас есть все функциональные компоненты DALL-E и нам нужно только связать их вместе для генерации текстового изображения:

  • Сначала кодировщик текста CLIP сопоставляет описание изображения с пространством представления .
  • Затем априорная диффузия преобразуется из кодировки текста CLIP в соответствующую кодировку изображения CLIP .
  • Наконец, модель генерации модифицированного GLIDE отображает пространство представления в пространство изображения посредством обратной диффузии, создавая одно из множества возможных изображений, которое передает семантическую информацию во входном заголовке.
Общий обзор процесса создания изображений DALL-E 2
Общий обзор процесса создания изображений DALL-E 2

Так почему же Dall-e генерирует такие уродливые фотографии?

Как и многие искусственные интеллекты, DALL-E подвергается глубокому обучению, обрабатывая неструктурированные данные (текст, так же это может быть звук, изображения, человеческий язык и т. д.), программа смешивает несколько слоев различных вычислений и называет это «нейронной сетью». Алгоритм:

В случае Dall-E между предложением и его значением компьютерная программа пытается установить связи между несколькими фрагментами данных. Пример, запрос: michael walking on street18:42

Но, как мы видим, результат часто скорее забавный, чем реалистичный. И причина все в том же. Картинка из Dall-e - это собранные несколько фрагментов разных картинок, подобранные из миллионов изображений, на которых обучена нейросеть. И она еще не умеет слеплять их достаточно хорошо при генерации фото, что не скажешь о графике.

Хоть из-за этого Dall-E стал памятником среди мемов, все же он показывает резкое развитие нейросетей. Если бы ИИ развивался экспоненциально (как и начинает сейчас), мы были бы очень далеки от таких картинок. Но пока еще Dall-E по-прежнему пугает (или смешит) нас ограниченными возможности ИИ.

И чем же тогда Dall-e хорош?

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

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

Ну и как положено на VC, канал телеграм))) Канал и чатик

Туда выкладываю статьи VC и то, что нет в VC. Мысли, идеи, опыт.

В закрепленных всегда телеграм-боты Kolersky для доступа в ChatGPT, GPT-4 без VPN и генератор изображений Dall-e и Midjorney. (проект KolerskyAI).

4343
25 комментариев

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

4
Ответить

зачем генерировать подобие фото?Чтобы пользователю было ещё сложнее найти что-то нормальное. Собственно, уже давно неясно, изображение — натуральная фотка или сильно преобразованная в фотошопе, а может, вообще результат фантазии дизайнера.

1
Ответить

Нейросети делают фотографии?
Я уже устал от статей про нейросети, а также от логических ошибок (или трюков) в статьях на vc, терпение на пределе, где статьи про бизнес? Следующий мой шаг удалить приложение. Сейчас оно в быстром доступе на главном экране телефона

3
Ответить

где статьи про бизнесЗачем в России статьи про бизнес сейчас?

3
Ответить

То есть, Dall-e находит подходящие картинки и и делает из них нехитрый монтаж. Sic. Вся магия нейросетей в одночасье разрушена, и кем - даже не Павлом Комаровским

3
Ответить

GLIDE, кажется, недоступен простому пользователю.а это? https://github.com/openai/glide-text2im

Ответить