Как работает GLIDE от OpenAI: диффузионные модели против DALL-E

Yannic Kilcher 39,4 тыс. 42 мин 4 мин 28.12.2021
Главное

В новом видео Янник Килчер детально разбирает статью исследователей из OpenAI под названием «GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models». Авторы Алекс Никол, Прафулла Даривал, Адитья Рамеш и другие представили новый класс моделей генерации изображений по текстовому описанию, который по качеству и фотореализму обходит знаменитую DALL-E.

🎨 От DALL-E к GLIDE: новая эра генерации 0:01

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

Ключевое визуальное отличие, по мнению ведущего, заключается в четкости и фотореализме:

Особое внимание Килчер уделяет возможностям редактирования. Поскольку диффузионные модели работают итеративно, они идеально подходят для задачи in-painting (дорисовка внутри области) . Ведущий описывает сценарий интерактивного создания интерьера:

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

🌀 Математика хаоса: как работают диффузионные модели 6:11

Кильчер подробно объясняет принцип работы диффузии, противопоставляя её генеративно-состязательным сетям (GAN). В GAN мы берем вектор случайного шума и через нейросеть превращаем его в картинку . Диффузионный процесс работает от обратного:

Фактически, модель учится не рисовать картинку целиком, а «удалять шум». Во время генерации мы берем случайный шум и пропускаем его через модель сотни раз, пока из хаоса не проявится четкое изображение . Килчер отмечает техническую деталь: современные модели (включая GLIDE) обучаются предсказывать не саму картинку на предыдущем этапе, а именно шум ($\epsilon$), который был добавлен. Это упрощает обучение, так как шум имеет нулевое среднее и единичную дисперсию .

🧭 Направляемая диффузия: Classifier-free vs CLIP 21:37

Чтобы модель рисовала не «что-то», а именно то, что просит пользователь, процесс нужно направлять (guidance). Килчер описывает две основные стратегии:

  1. CLIP Guidance: Используется модель CLIP от OpenAI, которая оценивает, насколько текст соответствует картинке. Во время генерации мы вычисляем градиент от CLIP и буквально «толкаем» процесс диффузии в сторону соответствия тексту . Недостаток в том, что диффузия может найти «состязательные примеры» (adversarial examples) — картинки, которые кажутся CLIP идеальными, но для человека выглядят как визуальный мусор .
  2. Classifier-free Guidance: Метод, который Килчер называет «немного странным, но работающим». Во время обучения модель иногда получает текст, а иногда — нет (unconditional). При генерации мы вычисляем разницу между «предсказанием с текстом» и «предсказанием без текста» и экстраполируем этот вектор .

По данным статьи, Classifier-free Guidance оказался эффективнее: изображения получаются более фотореалистичными и точными . Янник признается, что считает этот метод своего рода «хаком», указывающим на то, что мы еще не до конца понимаем, как заставить модели использовать данные на 100% без дополнительных уловок на этапе вывода .

🏗️ Архитектура и масштабы OpenAI 34:00

GLIDE — это массивная система, состоящая из нескольких компонентов:

Сравнивая с DALL-E, Янник отмечает, что GLIDE меньше по количеству параметров, но за счет диффузионного подхода дает гораздо более качественные результаты. При этом модель все еще имеет свои «слабости». Килчер показывает примеры неудач: модель не может нарисовать кота с восемью ногами, велосипед с гусеницами вместо колес или треугольные колеса у машины . По его мнению, DALL-E была более «чувствительна» к странным текстовым запросам, в то время как GLIDE слишком сильно стремится к реализму, иногда игнорируя абсурдные части промпта .

🛡️ Этические вопросы и «безопасность» OpenAI 39:40

В завершение Янник Килчер обрушивается с критикой на политику OpenAI в области безопасности. Компания выпустила в открытый доступ только уменьшенную версию модели, обученную на отфильтрованном датасете, выражая опасения по поводу создания дипфейков и дезинформации .

Позиция Килчера по этому вопросу:

Для желающих лично проверить технологию, Янник рекомендует воспользоваться демо-версией на Hugging Face (в пространстве пользователя valhalla), где можно протестировать малую версию GLIDE .

💬 Цитаты

«DALL-E всегда была присуща эта размытость, а результаты GLIDE гораздо, гораздо лучше.»

Янник Килчер 00:54

«Я не верю ни на секунду, что реальные соображения безопасности были причиной ограничения доступа.»

Янник Килчер 42:02
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Диффузионная модель
Класс генеративных моделей, которые создают данные путем постепенного удаления шума из случайного сигнала.
In-painting
Процесс восстановления или дорисовки недостающих частей изображения.
Classifier-free guidance
Техника управления генерацией, которая комбинирует результаты обученной модели с текстом и без него.
Adversarial examples
Входные данные, специально созданные для того, чтобы обмануть нейросеть-классификатор.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект OpenAI GLIDE Diffusion Models DALL-E In-painting