Как нейросеть DALL·E генерирует изображения по тексту: технический разбор

Yannic Kilcher 105 тыс. 55 мин 6 мин 06.01.2021
Главное

Компания OpenAI представила DALL·E — нейросеть, способную генерировать детализированные изображения на основе текстовых описаний. Известный AI-исследователь и блогер Янник Килчер (Yannic Kilcher) подробно разобрал официальный блог-пост разработчиков, проанализировав вероятную архитектуру системы, её технические инновации и практические ограничения. Автор сопоставил заявленные возможности с существующими научными публикациями, выявив неочевидные нюансы работы алгоритма.


🎨 Искусство из текста: первое знакомство с DALL·E 0:00

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

Янник Килчер подчеркивает несколько важных аспектов этой демонстрации:


🧠 На стыке текста и графики: архитектура на 12 миллиардов параметров 3:07

Модель DALL·E (названная в честь художника Сальвадора Дали и робота ВАЛЛ-И) представляет собой модифицированную версию языковой модели GPT-3 с 12 миллиардами параметров. В отличие от оригинальной GPT-3, которая значительно крупнее, эта сеть специально обучена генерировать последовательности токенов, объединяющие текст и изображения. Одновременно с DALL·E компания OpenAI анонсировала модель CLIP, которая связывает текст и картинки иным, негенеративным способом.

Технические параметры обучающей выборки и структуры данных включают:

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


🛠️ Как это устроено: гипотеза Килчера об интеграции VQ-VAE и GPT-3 7:25

Поскольку на момент разбора полноценная научная статья еще не была опубликована, Янник Килчер предложил собственную теоретическую модель устройства DALL·E. Его гипотеза строится на комбинации двух известных технологий — автокодировщиков с векторным квантованием (VQ-VAE) и архитектуры GPT-3.

Прямая генерация отдельных пикселей высокого разрешения (например, матрицы 256x256) стандартным трансформером невозможна из-за колоссальных вычислительных затрат. Для обхода этого ограничения, по мнению Килчера, DALL·E использует промежуточный «язык изображений», напоминающий египетские иероглифы. Каждому элементу или текстуре на картинке соответствует фиксированный символ из словаря.

Процесс генерации, согласно гипотезе автора, разделен на два этапа:

  1. Трансформер получает текстовый промпт и переводит его в последовательность визуальных «иероглифов».
  2. Предобученный декодер принимает эти символы и воссоздает по ним финальное пиксельное изображение.

🔢 Квантование векторов и «словарь картинок»: секреты Discrete VAE 12:59

Официальный блог OpenAI подтверждает использование дискретного вариационного автокодировщика (Discrete VAE) на первом этапе обработки данных. В классических VQ-VAE кодировщик сжимает изображение в непрерывный латентный вектор, который затем принудительно привязывается к ближайшему значению из фиксированного словаря — так называемого «кодбука» (codebook).

В реализации DALL·E этот процесс выглядит следующим образом:

Вместо стандартного жесткого квантования, как в классической архитектуре VQ-VAE, инженеры OpenAI применили метод непрерывной релаксации (continuous relaxation) при обучении dVAE. По словам разработчиков, это избавило их от необходимости использовать сложные трюки вроде обновления векторов через экспоненциальное скользящее среднее (EMA) или реанимации «мертвых» кодов.

Янник Килчер признается, что формулировка OpenAI об «отсутствии необходимости в явном кодбуке» вводит его в заблуждение, поскольку словарь из 8192 токенов все же декларируется. Автор предполагает, что релаксация (использование распределений типа Gumbel-Softmax с температурным масштабированием) позволяет сети на этапе обучения осуществлять «мягкое» взвешанное сопоставление со всеми вектором сразу. Это обеспечивает наличие градиента, который полностью отсутствует при жестком выборе ближайшего соседа.


⚠️ Ограничения модели: хрупкие промпты и проблемы с математикой 32:25

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

Ключевые уязвимости и особенности системы, выделенные Килчером:

Отдельное внимание автор уделяет методологии демонстрации результатов. Изображения на сайте OpenAI не являются «черри-пикингом» в привычном понимании, совершенным человеком. Модель генерирует 512 вариантов для каждого запроса, после чего алгоритм CLIP автоматически ранжирует их и выбирает лучшие.

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


🗺️ Иллюзия знаний: от трехмерных ракурсов до географических ассоциаций 41:40

DALL·E способна изменять ракурсы объектов, имитируя снимки с эффектом «рыбий глаз», макрофотографию, виды снизу или сзади. Она также демонстрирует выдающиеся успехи в переносе стилей — например, способна нарисовать сову в стиле поп-арт или в виде витража. Архитектура справляется даже с задачами оптического распознавания символов (OCR) наоборот: генерирует пачки чипсов с надписью «PyTorch».

Тем не менее Килчер скептически относится к заявлениям о наличии у модели глубоких абстрактных знаний:


💼 Коммерческая тайна и дилемма безопасности 53:13

Над проектом DALL·E работала большая команда инженеров OpenAI, среди которых ведущими авторами блога стали Адитья Рамеш (Aditya Ramesh), Михаил Павлов (Mikhail Pavlov), Габриэль Го (Gabriel Goh) и Скотт Грей (Scott Gray).

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

💬 Цитаты

«Это единая модель, которая принимает на вход текст и выдает изображение, а не отдельные специализированные сети.»

Янник Килчер 02:15

«Прямая генерация отдельных пикселей высокого разрешения стандартным трансформером невозможна из-за колоссальных вычислительных затрат.»

Янник Килчер 10:20
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Трансформер (Transformer)
Архитектура нейросетей, основанная на механизме внимания, эффективно обрабатывающая последовательности данных.
Кодбук (Codebook)
Фиксированный словарь дискретных векторов, используемый в автокодировщиках для квантования латентного пространства.
Векторное квантование (VQ)
Процесс отображения непрерывных векторов в дискретные значения из заранее заданного набора.
Чарри-пикинг (Cherry-picking)
Выборочный подбор наиболее удачных результатов демонстрации с сокрытием неудачных примеров.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект OpenAI DALL·E Янник Кильхер GPT-3 VQ-VAE