GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models

Yannic Kilcher 39,6 тыс. 42 мин 4 мин 28.12.2021

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

🎨 Текстовая диффузия: новый стандарт качества 0:01

Модель GLIDE (Guided Language-to-Image Diffusion for Generation and Editing) представляет собой новый класс генеративных алгоритмов — диффузионные модели . В отличие от предыдущих итераций вроде DALL-E, которая часто выдавала «замыленные» или мультяшные результаты, GLIDE способна генерировать фотореалистичные изображения с корректным освещением, тенями и сложными текстурами .

Янник Килчер (Yannic Kilcher) отмечает ключевые особенности результатов:

🛠 Как работают диффузионные модели 6:11

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

Процесс обучения строится следующим образом:

  1. Прямая диффузия: В обучающее изображение (например, фото кота) постепенно добавляется гауссов шум шаг за шагом . На финальном этапе изображение превращается в чистый статистический шум .
  2. Обратная диффузия: Нейросеть обучается выполнять обратную задачу — предсказывать, какой именно шум был добавлен на конкретном шаге, чтобы «очистить» изображение .
  3. Генерация: Для создания новой картинки модель берет чистый шум и проходит через сотни шагов очистки, постепенно «проявляя» изображение из хаоса .

По словам Янника Килчера (Yannic Kilcher), технически модель предсказывает не само изображение, а именно параметры шума ($\epsilon$), который нужно вычесть. Это математически проще для обучения нейросети .

🧭 Управление генерацией: Classifier-Free Guidance против CLIP 21:37

Чтобы модель рисовала именно то, что просит пользователь, процесс диффузии нужно «направлять». OpenAI исследовали два метода:

  1. CLIP Guidance: Использование внешней модели CLIP для оценки соответствия картинки тексту на каждом шаге генерации . Модель движется по градиенту этой оценки.
  2. Classifier-Free Guidance (CFG): Метод, при котором одна и та же модель обучается и как условная (с текстом), и как безусловная (без текста) .

Янник Килчер (Yannic Kilcher) поясняет, что в режиме CFG модель сравнивает два предсказания: «как бы я дорисовала это с учетом текста» и «как бы я дорисовала это вообще» . Разница между этими путями показывает чистое влияние текста. Увеличивая масштаб этой разницы (параметр $s > 1$), можно заставить модель гиперболизировать соответствие запросу .

По результатам тестов OpenAI, Classifier-Free Guidance оказался эффективнее: человеческие респонденты оценили такие изображения как более фотореалистичные и точные .

🖼 Редактирование и In-painting: интерактивное творчество 1:45

Одним из главных преимуществ GLIDE стала возможность локального редактирования (In-painting). Поскольку диффузия работает попиксельно, можно маскировать часть изображения и просить модель перерисовать только её .

Янник Килчер (Yannic Kilcher) демонстрирует примеры итеративного создания интерьера:

Также модель поддерживает «скетч-редактирование», где помимо текста пользователь может задать грубые цветовые пятна, определяя композицию будущего объекта .

⚠️ Критика OpenAI и вопросы безопасности 39:40

OpenAI выпустили в открытый доступ только уменьшенную версию GLIDE (фильтрованную модель на 300 млн параметров вместо 3.5 млрд), мотивируя это борьбой с дипфейками и дезинформацией . Янник Килчер (Yannic Kilcher) относится к этим аргументам крайне скептически.

По мнению Янника Килчера (Yannic Kilcher), опасения OpenAI по поводу того, что их модели «ввергнут мир в хаос», не подтвердились на примере GPT-2 . Ведущий утверждает:

В практической части Янник Килчер (Yannic Kilcher) тестирует доступную малую модель и отмечает, что она всё ещё склонна к ошибкам в сложной логике (например, «машина с треугольными колесами» всё равно получается с круглыми) и иногда странно интерпретирует текст, путая политическую «партию» с «днем рождения» .