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

Мы сделали это, ребята, мы, наконец, достигли точки, когда искусство ИИ стало мейнстримом. В апреле 2022 года OpenAI выпустила статью «Иерархическая генерация текстовых изображений с латентными данными CLIP», в которой подробно описала свою новую модель DALL-E 2. Некоторое время спустя Hugging Face выпустила DALL-E Mini (позже переименованный в Craiyon) для всех, и социальные сети были взорваны людьми, пробующими странные подписи и смеющимися над результатами. Я вышел из списка ожидания, поэтому у меня есть доступ к основному DALL-E 2, и эта модель на удивление хороша и интересна в использовании.

Но как на самом деле работает DALL-E 2? Что ж, DALL-E 2 — это комбинация моделей распространения и других моделей, разработанных OpenAI за последние несколько лет. Я сделаю краткий обзор моделей распространения и других работ OpenAI и соберу их все вместе, чтобы в конце объяснить DALLE-2.

Часть 1. Модель распространения

Диффузионные модели — относительно недавняя инновация в компьютерном зрении, хотя эта концепция существует уже несколько лет в форме генеративного моделирования на основе оценок (DPM; Sohl-Dickstein et al., 2015). ), (NCSN; Song et al., 2019). Первоначальная диффузионная модель появилась в 2020 г., правда, в виде вероятностных моделей шумоподавления (DDPM; Ho et al., 2020), а позже действительно набрала обороты в 2021 г., когда было показано, что они превзошли даже GAN (Generative Adversarial Networks) на синтезе изображений (Dhariwal et al., 2021). Модели диффузии названы в честь самой диффузии, научной концепции, которая возникает всякий раз, когда я смешиваю матча и молоко, чтобы приготовить латте с матча.

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

С более технической точки зрения, прямой процесс можно рассматривать как цепь Маркова, где изображение на каждом шаге зависит только от изображения на предыдущем шаге. На каждом этапе мы добавляем к изображению небольшое количество случайного гауссовского шума, а в исходном концептуальном документе (DDPM; Ho et al., 2020) использовалось 1000 шагов. Модель учится обращать этот процесс вспять, учась предсказывать остаточный шум каждого изображения, что позволит ей перейти к предыдущему шагу. Сама модель может быть любой, если вход и выход имеют одинаковый размер, и (DDPM; Ho et al., 2020) использовал UNet, поскольку он удовлетворяет этому требованию. Если вы знакомы с VAE (вариационными автоэнкодерами), вы могли заметить, что это похоже на то, как VAE изучают распределение. Это именно то, к чему они стремятся, когда модель пытается узнать среднее значение и дисперсию шума на каждом временном шаге.

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

Часть 2. Усовершенствования моделей распространения

Если вы следили за мной, возможно, вы заметили проблему с тем, что я указал выше. Чтобы сгенерировать изображение, модель должна запускаться столько раз, сколько раз она обучалась, поэтому вам придется запускать модель 1000 раз, чтобы сгенерировать одно изображение. Может показаться заманчивым просто предложить использовать гораздо меньшее количество временных шагов, однако процесс распространения должен использовать большое количество временных шагов. Это связано с тем, как работает динамика Ланжевена.

Распределение xₜ равно p(x), когда эпсилон приближается к нулю, а количество шагов приближается к бесконечности. На самом деле для нас невозможно использовать бесконечные временные шаги, но можно предположить, что разница между ними достаточно мала, чтобы ею можно было пренебречь, пока эпсилон достаточно мал, а количество шагов достаточно велико. Вот почему количество шума, добавляемого на каждом шаге, очень мало, а количество временных шагов велико, например, 1000. Это одна из больших выдающихся проблем моделей диффузии: длительное время генерации.

Хотя исследования по этому поводу уже ведутся. В 2021 году вышла статья Улучшенные вероятностные модели шумоподавления (Nichol et al., 2021), в которой предлагался пошаговый график выборки для сокращения временных шагов генерации с 1000 до его доли, например 50, с компромиссом небольшого снижения качества изображения. Первоначальная диффузионная модель также изучала только среднее значение и имела фиксированную дисперсию, но в этой статье предлагается способ также изучить дисперсию для улучшения качества изображения.

Если вы знакомы с другими моделями машинного обучения, вы могли подумать: Почему они не пытаются делать что-то в скрытом пространстве? к настоящему времени, и это на самом деле то, что уже опробовано, и это также улучшение моделей диффузии. В 2021 году Синтез изображений высокого разрешения с использованием моделей скрытой диффузии (Ромбах и др.. 2021) предлагает модель диффузии специально для скрытого пространства, что значительно сокращает объем вычислений, необходимых для обучения, а также улучшает качество изображения.

Первоначальная модель диффузии также не имела возможности контролировать то, что было сгенерировано из входного случайного шума, но большая часть любой модели генерации изображений заключается в том, что мы можем указать модели, что создавать. В документе, в котором показано, что диффузионные модели работают лучше, чем GAN (Dhariwal et al., 2021), предлагается метод Classifier Guidance, в котором вы используете градиент отдельного классификатора изображений, чтобы направить процесс генерации диффузии к определенному классу. Позже было предложено Руководство без классификаторов (Ho et al., 2021), при котором сама диффузионная модель обучается на парных данных (изображение и класс), чтобы она могла научиться генерировать определенные классы со своими собственными входными данными, а не зависимость от внешних моделей.

Часть 3. OpenAI

Теперь давайте изменим направление и рассмотрим часть работы, проделанной OpenAI. Начнем с оригинальных DALL-E (Рамеш и др., 2021) и CLIP (Рэдфорд и др., 2021), выпущенных одновременно в феврале 2021 г. CLIP это кодировщик изображений и текста OpenAI (две отдельные модели), который изучает совместное распределение между вложениями изображения и текста и пытается максимизировать скалярное произведение вложений, когда текст описывает изображение, и минимизировать его, когда они не совпадают. Между тем, оригинальный DALL-E был преобразователем (модифицированная версия GPT-3), который также моделировал совместное распределение между изображением и текстом. Поскольку он является преобразователем, он также может брать образцы из преобразователя для определенного входного текста, как DALL-E изначально генерировал изображения из текста.

Некоторое время назад OpenAI также сделал GLIDE (Nichol et al., 2021), который является своего рода прототипом DALL-E 2. Они экспериментировали с текстовыми моделями распространения при использовании CLIP для классификатора. руководство, а также руководство без классификатора, и обнаружили, что даже с их удивительной моделью CLIP руководство без классификатора по-прежнему работает лучше. GLIDE также можно использовать для раскрашивания изображений с помощью текста, преобразования штриховых рисунков в реалистичные фотографии и многого другого. Все эти способности унаследовал DALL-E 2.

Часть 4: DALL-E 2

И вот мы, наконец, подошли к DALL-E 2 (Рамеш и др., 2022), забавной мем-модели. DALL-E 2 следует чрезвычайно простому правилу Байеса, которое вы, возможно, помните из уроков математики или статистики. По сути, p(x, z) = p(x|z)p(z), или в данном конкретном случае все зависит от другой переменной y: p(x, z | y) = p(x|z, y )p(z | у). Чтобы разбить его, x — это изображение, которое нужно сгенерировать, y — входной текст, а z — вложения изображений CLIP, созданные из входного текста y.

В DALL-E 2 есть две части: предшествующий p(z|y) и декодер p(x|z, y). Априорная модель — это диффузионная модель, которая принимает входной текст (y) и встраивание текста CLIP в этот текст (которое можно сгенерировать, просто запустив текстовый кодировщик CLIP для входного текста) и предсказывает встраивание изображения CLIP (z). что соответствует этому встраиванию текста. Декодер представляет собой модифицированную версию GLIDE, которая также использует вложения изображений CLIP и генерирует оттуда выходное изображение (x).

Забавный факт об этой модели: в документе она фактически упоминается как unCLIP, потому что она берет входное встраивание CLIP (текст для предварительного, изображение для декодера) и выводит изображение, отныне «отсекающее». » встраивание обратно в изображение. Позже он был назван DALL-E 2, так как стал открытым для публики.

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

Значит ли это, что в ближайшем будущем диффузионные модели полностью заменят компьютерное зрение? Может быть. На NVIDIA GTC 2022 года, почти в самом конце беседы Fireside Chat с тремя крестными отцами ИИ (Хинтоном, Бенжио, ЛеКуном), Джеффри Хинтон похвалил способность GAN научиться генерировать изображения без каких-либо знаний об апостериорных распределениях или изучить вероятностные распределения. Я упустил здесь тонну математики за моделями диффузии, но поверьте мне, их ТОННА. Возможно, когда-нибудь в будущем мы сможем достичь того, на что в настоящее время способны диффузионные модели, без какой-либо сложной математики или вероятностного моделирования под капотом. Если это произойдет, мне будет намного легче исследовать все это.

Похожие записи в блоге:

Ссылки:

  • DALL-E 2: Адитья Рамеш, Прафулла Дхаривал, Алекс Никол, Кейси Чу, Марк Чен: «Генерация иерархического текстового условного изображения с латентными данными CLIP», 2022 г.; [http://arxiv.org/abs/2204.06125arXiv:2204.06125]
  • DALL-E: Адитья Рамеш, Михаил Павлов, Габриэль Гох, Скотт Грей, Челси Восс, Алек Рэдфорд, Марк Чен, Илья Суцкевер: «Преобразование текста в изображение с нуля», 2021; [http://arxiv.org/abs/2102.12092arXiv:2102.12092]
  • КЛИП: Алек Рэдфорд, Чон Вук Ким, Крис Халласи, Адитья Рамеш, Габриэль Гох, Сандхини Агарвал, Гириш Састри, Аманда Аскелл, Памела Мишкин, Джек Кларк, Гретхен Крюгер, Илья Суцкевер: «Learning Transferable Visual Модели наблюдения за естественным языком», 2021; [http://arxiv.org/abs/2103.00020arXiv:2103.00020]
  • GLIDE: Алекс Никол, Прафулла Дхаривал, Адитья Рамеш, Пранав Шьям, Памела Мишкин, Боб МакГрю, Илья Суцкевер, Марк Чен: «GLIDE: на пути к созданию и редактированию фотореалистичных изображений с помощью текстовых диффузионных моделей», 2021; [http://arxiv.org/abs/2112.10741arXiv:2112.10741]
  • Вероятностные модели диффузии: Яша Золь-Дикштейн, Эрик А. Вайс, Ниру Махесваранатан, Сурья Гангули: «Глубокое обучение без учителя с использованием неравновесной термодинамики», 2015 г.; [http://arxiv.org/abs/1503.03585arXiv:1503.03585]
  • Сети условной оценки шума (NCSN): Ян Сонг, Стефано Эрмон: «Генеративное моделирование путем оценки градиентов распределения данных», 2019 г.; [http://arxiv.org/abs/1907.05600arXiv:1907.05600]
  • Вероятностные модели диффузионного шумоподавления (DDPM): Джонатан Хо, Аджай Джейн, Питер Аббил: «Вероятностные модели диффузионного шумоподавления», 2020 г.; [http://arxiv.org/abs/2006.11239arXiv:2006.11239]
  • Diffusion Beats GANS: Prafulla Dhariwal, Alex Nichol: «Diffusion Models Beats GANs on Image Synthesis», 2021; [http://arxiv.org/abs/2105.05233arXiv:2105.05233]
  • Улучшенные вероятностные модели диффузионного шумоподавления (улучшенный DDPM): Алекс Никол, Прафулла Дхаривал: «Улучшенные вероятностные модели диффузионного шумоподавления», 2021 г.; [http://arxiv.org/abs/2102.09672arXiv:2102.09672]
  • Модели скрытой диффузии (LDM): Робин Ромбах, Андреас Блаттманн, Доминик Лоренц, Патрик Эссер, Бьорн Оммер: «Синтез изображений с высоким разрешением с использованием моделей скрытой диффузии», 2021 г.; [http://arxiv.org/abs/2112.10752arXiv:2112.10752]
  • Руководство по распространению без классификаторов: Джонатан Хо, Тим Салиманс: «Руководство по распространению без классификаторов», 2022 г.; [http://arxiv.org/abs/2207.12598arXiv:2207.12598]