Известный ИТ-исследователь Янник Кильхер (Yannic Kilcher) представил подробный разбор революционной нейросети DALL·E от компании OpenAI, способной генерировать высококачественные изображения по текстовому описанию. Ведущий детально анализирует гибридную архитектуру модели, сочетающую языковые трансформеры с алгоритмами векторного квантования, и оценивает её реальные возможности. В центре внимания автора — не только удивительные успехи ИИ в стилизации, но и его концептуальные ограничения, скрытые за выверенными пиар-кампаниями.
🥑 Сюрреализм на практике: на что способна новая модель от OpenAI 0:00
Разбор начинается с демонстрации удивительных визуальных примеров, созданных нейросетью DALL·E. Среди первых кадров — идеальная сфера с текстурой швейцарского сыра, а также джинсовый торус и торус, состоящий из зубной пасты. Подобные изображения выглядят так, словно их кропотливо создавал профессиональный ретушер.
Однако, как подчеркивает Янник Кильхер, вся эта графика полностью сгенерирована искусственным интеллектом. Чтобы доказать уникальность контента, ведущий попытался выполнить обратный поиск по картинкам для некоторых результатов — интернет не выдал ни одного совпадения. Модель не просто копирует или склеивает существующие элементы, а создает новые объекты с нуля.
Спектр возможностей нейросети поражает своим разнообразием. В блоге OpenAI представлены такие промпты, как «иллюстрация маленького редиса дайкон в пачке, выгуливающего собаку» или «кресло в форме авокадо». И за всеми этими разнородными задачами стоит одна-единственная универсальная модель. Это не набор специализированных сетей, обученных отдельно на стульях или иллюстрациях, а единая система, принимающая текст и выдающая готовое изображение.
🧠 На стыке Dalí и WALL-E: архитектура и параметры DALL·E 3:07
Одновременно с презентацией DALL·E команда OpenAI выпустила еще одну модель под названием CLIP. В отличие от генеративной DALL·E, CLIP представляет собой своего рода классификатор, который связывает текст и изображения принципиально иным образом. По словам Кильхера, очевиден тренд компании на глубокую интеграцию текстовой и визуальной модальностей.
Само название DALL·E является очевидным оммажем художнику-сюрреалисту Сальвадору Дали и анимационному персонажу WALL-E. С технической точки зрения модель представляет собой версию трансформера GPT-3 мощностью 12 миллиардов параметров. Она обучена на огромном датасете, состоящем из пар «текст-изображение».
Особый интерес вызывает происхождение обучающих данных. Компания OpenAI предпочла не раскрывать детали сбора датасета. Янник Кильхер выдвигает гипотезу, что разработчики просто собирали данные со всего интернета в поисках картинок с описаниями. По мнению ведущего, у компании вряд ли было большое количество размеченных вручную данных для такой задачи, поэтому ставка была сделана на масштабирование автоматического сбора. Кильхер считает, что DALL·E не просто зазубривает обучающую выборку, а «умно интерполирует» между известными ей концептами.
🧩 Секрет механики: как подружить текст и пиксели 6:22
Как устроена DALL·E внутри? По сути, это языковая модель-трансформер (decoder-only). Она принимает на вход текст и изображение как единый непрерывный поток данных, содержащий до 1280 токенов. Обучение происходит методом максимального правдоподобия (maximum likelihood) для последовательной генерации токенов друг за другом. Это позволяет модели не только создавать рисунки с нуля, но и дорисовывать любые прямоугольные области существующих изображений.
Прямое моделирование пикселей с помощью трансформера — задача практически невыполнимая. Если взять стандартное изображение размером 256 на 256 пикселей, то нейросети пришлось бы обрабатывать цепочку из более чем 65 тысяч элементов. Для вычислительной архитектуры трансформера это слишком тяжелая нагрузка.
Чтобы обойти это ограничение, разработчики научили модель предсказывать не сами пиксели, а своеобразные «иероглифы» — дискретные токены визуального языка. По гипотезе Кильхера, архитектурный секрет DALL·E кроется в комбинации двух ключевых компонентов:
- Языковой модели на базе архитектуры GPT-3, которая принимает текст и генерирует цепочку визуальных токенов.
- Генеративной части модели VQ-VAE (Vector Quantized Variational Autoencoder), которая превращает эти токены в полноценное пиксельное изображение.
Трансформер отлично справляется с генерацией, если у него есть фиксированный словарь «иероглифов». Таким образом, задача DALL·E — перевести человеческий промпт на внутренний язык картинок, который затем расшифровывается в итоговое изображение.
🗂️ Векторное квантование и «книга кодов» 12:59
Для понимания логики процесса необходимо обратиться к литературе по векторно-квантованным автокодировщикам (VQ-VAE). Традиционный автокодировщик сжимает изображение в непрерывное латентное пространство (вектор), а затем пытается восстановить его обратно. Однако в VQ-VAE используется так называемая «книга кодов» (codebook), выполняющая роль фиксированного словаря.
Нейросеть-энкодер выдает непрерывный вектор, но система принудительно сопоставляет его с ближайшим доступным вектором из книги кодов. Выбирать произвольные значения латентного пространства нельзя — можно использовать только жестко заданный набор векторов. Декодер, в свою очередь, восстанавливает картинку исключительно по этим дискретным кодам.
Процесс обработки изображения выглядит следующим образом:
- Исходная картинка делится на сетку разрешением 32 на 32 блока.
- Каждый блок сетки пропускается через энкодер и сопоставляется с определенным вектором из книги кодов.
- В результате изображение кодируется ровно 1024 токенами.
В модели DALL·E размер книги кодов составляет 8192 вектора. Каждый такой токен может описывать определенный визуальный концепт, например «небо», «животное» или «растительность». Поскольку операция поиска ближайшего соседа не является дифференцируемой, для обучения всей цепочки используется специальный метод сквозного оценивания (straight-through estimator). В более продвиней версии VQ-VAE 2 этот процесс происходит иерархически на нескольких масштабах разрешения, где базовые слои задают общую структуру, а последующие — добавляют мелкие детали.
🌊 Непрерывная релаксация и авторегрессия 21:02
Согласно блогу OpenAI, в процессе обучения DALL·E все изображения предварительно сжимаются до сетки 32 на 32 дискретных кода с помощью дискретного VAE. Однако разработчики упомянули важный нюанс: они обучали этот VAE с использованием «непрерывной релаксации» (continuous relaxation). Авторы утверждают, что это избавляет от необходимости использовать явные трюки вроде обновления кодов через экспоненциальное скользящее среднее (EMA) и позволяет масштабировать словарь до огромных размеров.
Янник Кильхер признается, что эта формулировка его немного путает: если у них есть словарь из 8192 слов, то книга кодов все же должна существовать. Объясняя суть непрерывной релаксации, ведущий ссылается на концепцию конкретных случайных величин (Gumbel-Softmax). Вместо жесткого присвоения вектора к ближайшему соседу применяется «мягкое» вероятностное распределение. По мере снижения математической «температуры» распределение становится все более дискретным. Повышение температуры превращает его в смесь распределений, у которой появляется четко определенный градиент. Это позволяет дифференцировать сеть напрямую, избегая костылей вроде straight-through estimator.
После того как дискретный VAE предобучен, его параметры фиксируются. На этапе работы самой DALL·E текстовые токены соединяются с визуальными токенами в один ряд. Модель обучается авторегрессивно: зная текст и уже сгенерированную часть картинки (сканирование идет слева направо, сверху вниз), она должна предсказать следующий визуальный токен. Во время инференса этот цикл повторяется, пока не заполнится вся сетка из 1024 элементов, после чего декодер превращает их в пиксели.
🎯 Фокус с ранжированием и хрупкость промптов 32:25
Модель DALL·E способна успешно контролировать атрибуты объектов, например, создавать «пятиугольные зеленые часы» или «зеленый ланчбокс в форме пятиугольника». При этом Янник обращает внимание на необычную манеру построения фраз в примерах OpenAI. Примечательно, что разработчики открыто обсуждают ограничения своей системы, демонстрируя научную самокритичность, что редкость в текущем климате погони за безупречным пиаром.
Как выяснилось, идеальные картинки в блоге — результат скрытого технологического фильтра. Чтобы показать красивый результат, OpenAI генерирует сразу 512 вариантов изображений для одного промпта, а затем автоматически ранжирует их с помощью модели CLIP, отбирая топ-8 лучших кадров. Таким образом, выборка не отбиралась вручную людьми, но она была жестко отсеяна другой высокоэффективной нейросетью.
В связи с этим Кильхер делает вывод о крайней «хрупкости» (brittleness) текстовых запросов. По его мнению, модель очень чувствительна к формулировкам: если изменить порядок слов, результат может кардинально поменяться. Инженеры OpenAI наверняка перебрали сотни вариантов промптов, прежде чем найти те конструкции, которые стабильно выдают качественную графику. Этот феномен хорошо знаком пользователям GPT-3, где качество ответа напрямую зависит от выверенности вводных фраз.
📉 Локальная сила и глобальная слабость модели 35:40
Генеративные нейросети традиционно сильны в передаче текстур и стилей, поскольку сверточные слои и механизмы внимания хорошо улавливают локальные паттерны. Стоит отметить, что в DALL·E используется не полноразмерное внимание (full attention) для изображений. Вместо этого визуальные токены могут обращаться ко всем текстовым токенам, но между собой они взаимодействуют ограниченно: в одном слое внимание распределяется только по строке, в другом — по столбцу, а в третьем — по локальной окрестности, имитируя свертку.
Такой подход приводит к специфическим перекосам. Локальные характеристики (цвет, текстура, стиль) даются модели безупречно: «сфера из гуакамоле» или «куб из дикобраза» получаются очень убедительными. Однако глобальные взаимосвязи и структуры даются сети с трудом. Ключевые проблемы DALL·E, выделенные Кильхером:
- Счет объектов: модель не умеет считать. Промпт с требованием нарисовать пять часов выдает случайное количество предметов в диапазоне от трех до семи.
- Глобальный порядок: нейросеть путает пространственное расположение. Запрос «стопка из трех кубиков, где красный куб лежит на зеленом» часто приводит к хаотичному перемешиванию цветов, хотя сама концепция кубиков друг на друге считывается.
- Зависимость от контекста: если поместить редкий объект в нетипичную ситуацию (например, часы на обеденном столе), модель может проигнорировать часть промпта, выбрав более вероятный с точки зрения статистики датасета вариант.
Ведущий объясняет это тем, что человеческие датасеты сфокусированы на самих объектах, а не на точном подсчете их количества или описании очевидных физических связей, поэтому нейросеть просто копирует этот перекос человеческого внимания.
📸 Ракурсы, стили и «эффект Майнкрафта» 40:14
Несмотря на критику глобальной структуры, Кильхер признает силу модели в изменении ракурсов. Инструкции вида «крупный план», «вид сверху» (aerial view) или съемка на объектив «рыбий глаз» отрабатывают на удивление качественно. Нейросеть понимает даже разницу между передней и задней частью животного, хотя и здесь случаются сбои.
Великолепно выглядят стилизации под трехмерные воксели. Например, сова, выполненная в таком стиле, выглядит так, будто ее перенесли прямиком из игры Minecraft. Попытки сымитировать рентгеновские снимки (X-ray) тоже визуально интересны, хотя анатомическая точность костей оставляет желать лучшего.
А вот функция заполнения пропущенных областей на примере «фотографии бюста Гомера» вызвала у Кильхера скепсис. Разработчики утверждают, что DALL·E способна дорисовывать известных исторических личностей. Однако, по мнению ведущего, нейросеть не сохраняет идентичность конкретного Гомера — она просто дорисовывает абстрактный античный бюст, который кажется ей подходящим по контексту. В некоторых случаях ИИ, не зная как продолжить рисунок, буквально пишет текст поверх изображения — «это Гомер», напоминая игрока в испорченный телефон, который сдался и решил подписать загаданное слово буквами. Аналогичные тесты с Клеопатрой, Медузой Горгоной и Венерой показывают схожие результаты частичного попадания в образ.
Аналогичная проблема наблюдается с зеркалами. DALL·E хорошо рисует отражения на мокрой земле или глянцевом полу, так как такие примеры массово представлены в обучающей выборке. Но построить правильное геометрическое отражение объекта в вертикальном зеркале модель не может, поскольку у нее отсутствует сквозная пространственная логика. Фиаско терпят и запросы на сложные разрезы (cross-section): если разрез человеческой головы ИИ воспроизводит за счет обилия медицинских картинок в сети, то разрез пассажирского самолета превращается в кашу из случайных внутренних деталей, так как подобных чертежей в интернете слишком мало.
🎨 Король стилизации и «чипсы на PyTorch» 45:40
Настоящий триумф DALL·E — это перенос стилей (style transfer). Создать картину с совой в лесу в стиле поп-арт, превратить изображение в почтовую марку или витражное окно для нее не составляет труда. На этих задачах алгоритмы интерполяции раскрываются на максимум.
Нейросеть также способна выполнять операцию, обратную оптическому распознаванию текста (OCR). Промпт «витрина магазина с надписью OpenAI» заставляет модель генерировать вывески с буквами. Забавным примером стали вымышленные «чипсы на PyTorch». На упаковках этих чипсов нейросеть пыталась выводить надписи, хотя иногда путалась и писала бессмыслицу вроде «perch chips». Янник шутит, что в каждой такой пачке покупатель должен находить «кусочек обратного распространения ошибки» (backpropagation).
В сфере дизайна интерьеров и моды результаты выглядят коммерчески применимыми. Модель уверенно генерирует концепты одежды (например, желтые юбки на манекенах) или планировку комнат (спальня с аквариумом возле кровати). Правда, если попросить добавить «телескоп рядом с кроватью», физика снова начинает страдать: телескоп может оказаться лежащим прямо на подушке или деформироваться в причудливую трубу.
Особый восторг у Кильхера вызвало скрещивание несочетаемых объектов. Безусловным фаворитом ведущего стал «пингвин, сделанный из чеснока» — визуально безупречный и очаровательный гибрид. По оценке Янника, профессиональному художнику в Photoshop потребовалось бы немало времени и высокая оплата, чтобы добиться аналогичного бесшовного качества склейки текстур, тогда как нейросеть выдает это за секунды.
🌍 «Псевдознания» и коммерческое будущее 51:39
В блоге OpenAI утверждается, что DALL·E обладает географическими и временными знаниями, поскольку может генерировать «китайскую еду» или «телефон из 20-х годов». Однако Янник Кильхер категорически не согласен с термином «знания». По его мнению, модель не понимает историю или географию, она лишь ассоциирует определенные текстовые токены со специфическими визуальными стилями из интернета (например, стилистикой громоздких аппаратов для 20-х или футуристичным дизайном для промптов о будущем). Сюда же относятся и постеры к фильмам в стиле экшн, где ИИ просто копирует общую композицию плакатов.
Основными авторами исследования DALL·E выступили инженеры Адитья Рамеш (Aditya Ramesh), Михаил Павлов (Mikhail Pavlov), Габриэль Го (Gabriel Goh) и Скотт Грей (Scott Gray). Оценивая перспективы технологии, Кильхер указывает на серьезную пиар-дилемму, с которой сталкиваются лаборатории при релизе генеративных моделей. В отличие от классификаторов, генеративный ИИ может выдавать крайне опасный, оскорбительный или нелегальный контент. Именно поэтому OpenAI пока не дает публичный доступ к самой модели, ограничивая пользователей выбором готовых опций на сайте. Тем не менее ведущий убежден, что в этой сфере крутятся колоссальные деньги, и коммерциализация подобных инструментов — лишь вопрос времени.