Какие существуют популярные категории глубоких генеративных моделей (также известных как генеративные ИИ) в области глубинного обучения, и какие у них недостатки?
Для создания различных форм информации, таких как изображения, видео, тексты и аудио, было разработано множество глубоких генеративных моделей. Кроме того, эти модели могут быть адаптированы для генерации данных, специфичных для конкретных областей, например, для моделирования органических молекул и белковых структур. В этой главе мы сначала рассмотрим определение генеративного моделирования, а затем подробно опишем каждый тип генеративной модели, оценив их сильные и слабые стороны.
Генеративное и дискриминационное моделирование.
В традиционном машинном обучении существует два основных подхода к моделированию связей между входными данными () и выходными метками (
): генеративные модели и дискриминативные модели. Генеративные модели направлены на получение распределения вероятностей, лежащих в основе входных данных,
или совместного распределения
между входными данными и метками. В отличие от них, дискриминативные модели фокусируются на моделировании условного распределения
меток при заданных входных данных.
Классическим примером, который демонстрирует различия между этими подходами, служит сравнение наивного байесовского классификатора и классификатора логистической регрессии. Оба эти классификатора способны оценивать вероятности классов и могут быть использованы в задачах классификации. Однако логистическая регрессия считается дискриминативной моделью, поскольку она непосредственно моделирует условное распределение вероятностей
меток классов на основе входных данных, не предполагая совместного распределения этих данных. С другой стороны, наивная байесовская модель относится к генеративным моделям, так как она моделирует совместное распределение вероятностей
входных признаков
и выходных меток
. Выучив это совместное распределение, генеративная модель, подобная наивной байесовской, моделирует порождающий процесс входных данных. Это позволяет ей при необходимости создавать новые выборки из того же распределения.
Типы глубоких генеративных моделей
Когда мы говорим о глубоких генеративных моделях или глубоком генеративном ИИ, мы часто ослабляем это определение, чтобы включить в него все типы моделей, способных создавать реалистично выглядящие данные (как правило текст, изображения, видео и звук). В оставшейся части этой главы кратко рассматриваются различные типы глубоких генеративных моделей, используемых для генерации таких данных.
Энергетические модели
Энергетические модели (EBM) представляют собой класс генеративных моделей, которые обучаются энергетической функции, присваивающей каждой точке данных скалярное значение, известное как энергия. Чем ниже значение энергии, тем более вероятной считается соответствующая точка данных. Цель обучения модели заключается в минимизации энергии для реальных точек данных и увеличении энергии для генерируемых. Примером энергетической модели является глубокая машина Больцмана (DBM), которая считается одним из ранних достижений в области глубокого обучения. DBM предоставляет средства для построения сложных представлений данных, что позволяет создавать модели, которые затем можно файнтюнить для различных задач.
Глубокие машины Больцмана и многослойные персептроны (MLP) можно сравнить с наивной байесовской моделью и логистической регрессией. Их можно рассматривать как соперников в сфере генерации и распознавания. DBM сосредоточены на изучении процесса создания данных, в то время как MLP пытаются смоделировать границу между классами или сопоставить входные и выходные данные.
DBM состоит из нескольких слоев скрытых узлов, как показано на Рисунке 1.1. Как вы можете видеть, помимо скрытых слоев, обычно присутствует видимый слой, который соответствует наблюдаемым данным. Этот видимый уровень служит входным слоем, где фактические данные или функции вводятся в сеть. Кроме того, DBM использует алгоритм обучения, отличный от MLP. Вместо обратного распространения в DBM применяется контрастивная дивергенция. Кроме того, DBM состоит из бинарных нейронов, а не из непрерывных.

Предположим, мы хотим создавать изображения. DBM может выучить распределение вероятностей между значениями пикселей в простом наборе данных изображений, таком как MNIST. Чтобы создать новые изображения, DBM использует процесс, известный как семплирование по Гиббсу, для получения выборки из этого распределения. Видимый слой DBM представляет входное изображение. Чтобы сгенерировать новое изображение, DBM начинает с инициализации этого слоя случайными значениями или, альтернативно, использует существующее изображение в качестве сида. После нескольких итераций семплирования по Гиббсу конечное состояние видимого слоя становится сгенерированным изображением.
Глубокие машины Больцмана стали важным этапом в истории как одни из первых глубоких моделей, способных генерировать данные. Однако в настоящее время они не так часто используются для этой цели. Причинами их непопулярности являются высокая стоимость и сложность обучения, а также их относительно невысокая выразительность по сравнению с более современными моделями, которые мы обсудим в следующих разделах. Как следствие, качество генерируемых образцов обычно оказывается ниже.
Вариационные автоэнкодеры
Вариационные автоэнкодеры (VAE) представляют собой модель, основанную на принципах вариационного вывода и архитектуре автоэнкодера. Вариационный вывод - это метод, который позволяет приблизить сложные вероятностные распределения к более простым и понятным, стремясь к максимально близкому соответствию с истинным распределением. Автоэнкодеры - это нейронные сети, которые обучаются без учителя. Они умеют сжимать входные данные в сжатое представление (процесс кодирования) и затем восстанавливать исходные данные из этого представления (процесс декодирования), минимизируя при этом ошибку восстановления.
Модель VAE (вариационный автоэнкодер) состоит из двух ключевых компонентов: энкодера и декодера. Энкодер принимает в качестве входных данных, например, изображение и преобразует его в скрытое (латентное) пространство, одновременно обучаясь распределению вероятностей для скрытых переменных. Это распределение обычно моделируется как гауссово, с параметрами (среднее значение и дисперсия), которые зависят от входного изображения. Затем сеть декодирования берет случайную выборку из изученного латентного распределения и восстанавливает исходное изображение на основе этой выборки. Основная цель VAE - создать компактное и выразительное скрытое представление, которое отражает основную структуру входных данных и в то же время позволяет генерировать новые изображения путем выборки из этого скрытого пространства.
На Рисунке 1.2 изображены автоэнкодер и его составляющие: энкодер и декодер. обозначает восстановленный входной сигнал
. В типичном вариационном автоэнкодере латентный вектор выбирается из распределения, которое примерно соответствует стандартному Гауссову распределению.

Процесс обучения VAE включает оптимизацию параметров модели при помощи минимизации функции потерь, состоящей из двух частей: лосс при восстановлении (Reconstruction loss) и дивергенции Кульбака–Лейблера, которая выступает в роли регуляризации. Лосс при восстановлении отвечает за то, чтобы декодированные выборки были максимально похожи на исходные изображения. В свою очередь, KL-дивергенция, как суррогатный лосс, способствует тому, чтобы выученное скрытое распределение было близко к заранее определенному, обычно стандартному Гауссову. Чтобы создать новые изображения, мы берем случайные точки из априорного распределения латентного пространства (стандартного Гауссова) и передаем их через декодер. В результате получаются новые, разнообразные изображения, которые похожи на обучающие данные.
К недостаткам VAE можно отнести их сложную функцию потерь, состоящую из отдельных компонент, а также их зачастую низкую выразительность. Последнее может привести к получению более размытых изображений по сравнению с другими моделями, такими как генеративные состязательные сети.
Генеративно-состязательные сети
Генеративно-состязательные сети (GAN) представляют собой модели, состоящие из нескольких взаимосвязанных подсетей, которые предназначены для создания новых образцов данных, схожих с заданным набором входных данных. Хотя и GAN, и VAE являются моделями с латентными переменными, которые генерируют данные, семплируя из выученного латентного пространства, их архитектура и механизмы обучения принципиально различаются.
Генеративные состязательные сети (GAN) представляют собой систему из двух нейронных сетей - генератора и дискриминатора, которые обучаются одновременно в режиме конкуренции. Генератор принимает в качестве входных данных случайный вектор шума из латентного пространства и генерирует синтетический образец данных, например, изображение. В свою очередь, задача дискриминатора — отличить поддельные выборки, созданные генератором, от реальных образцов, извлеченных из обучающих данных, как показано на Рисунке 1.3.

Генератор в GAN имеет некоторое сходство с декодером в VAE с точки зрения своей функциональности. Во время генерации вывода как генераторы GAN, так и декодеры VAE берут случайные векторы шума, которые были выбраны из известного распределения, например, стандартного гауссова распределения, и преобразуют их в синтетические образцы данных, такие как изображения.
Одним из главных недостатков GAN является их нестабильное обучение. Это связано с тем, что функция потерь и процесс обучения противоречат друг другу. Согласование скорости обучения генератора и дискриминатора может быть затруднено и часто приводит к колебаниям, схлопыванию мод распределения (mode collapse) или отсутствию сходимости. Второй существенный недостаток GAN - низкое разнообразие генерируемых ими выходных данных, что часто возникает из-за схлопывания мод. В таких случаях генератор может успешно обманывать дискриминатор, используя лишь небольшой набор выборок, который представляет лишь часть исходных обучающих данных.
Генеративные модели на основе потоков
Основная идея потоковых моделей, также известная как нормализующие потоки, берет свое начало в хорошо известных статистических методах. Её суть заключается в преобразовании простого распределения вероятностей, такого как Гауссово, в более сложное с помощью обратимых операций.
Хотя идея нормализации потоков уже давно известна в статистике, применение ранних моделей глубокого обучения, основанных на этом принципе, особенно для создания изображений, стало относительно недавним достижением. Одной из наиболее инновационных моделей в этой области является метод нелинейной оценки независимых компонентов (NICE). NICE начинается с простого распределения вероятностей, часто такого простого, как нормальное распределение. Вы можете представить его как своего рода "случайный шум" или данные, не имеющие определенной формы или структуры. Затем NICE применяет серию преобразований к этому простому распределению. Каждое преобразование направлено на то, чтобы данные стали более похожими на конечный результат, например, на распределение изображений в реальном мире. Эти преобразования являются "обратимыми", что означает, что мы всегда можем вернуть их к исходному простому распределению. После нескольких последовательных преобразований простое распределение превращается в более сложное, которое точно соответствует распределению целевых данных (например, изображений). Теперь мы можем создавать новые данные, которые будут выглядеть как исходные, просто выбирая случайные точки из этого сложного распределения.
Рисунок 1.4 демонстрирует принцип работы потоковой модели. Она преобразует сложные входные данные в более простые и наоборот.

На первый взгляд, эта иллюстрация может показаться очень похожей на изображение VAE, представленное на рисунке 1.2. Однако, в отличие от VAE, в которых используются нейросетевые энкодеры, такие как сверточные нейронные сети, потоковая модель применяет более простые слои, такие как простые линейные преобразования. Кроме того, декодер в VAE не зависит от энкодера, в то время как в потоковой модели функции преобразования данных математически инвертируются для получения выходных данных.
В отличие от VAE и GAN, потоковые модели способны давать точные оценки правдоподобия. Это позволяет оценить, насколько сгенерированные выборки соответствуют распределению обучающих данных. Данная информация может быть полезна, например, для обнаружения аномалий или оценки плотности распределения. Однако качество генерации изображений с помощью потоковых моделей обычно уступает GAN. Кроме того, потоковые модели обычно требуют больше памяти и вычислительных ресурсов, чем GAN или VAE, так как им необходимо сохранять и вычислять обратные преобразования.
Авторегрессионные модели
Авторегрессионные модели предназначены для прогнозирования будущих значений на основе текущих и предыдущих. Одним из самых известных примеров таких моделей являются большие языковые модели (LLM), такие как ChatGPT, которые используются для генерации текстов.
Как и в случае с созданием слов, модели авторегрессии, такие как PixelCNN, пытаются предсказать значение одного пикселя за раз, основываясь на значении уже имеющихся пикселей. Эти модели могут прогнозировать расположение пикселей в произвольном порядке, например, сверху вниз или слева направо, следуя принципам растрового сканирования или любому другому заранее заданному шаблону.
Чтобы проиллюстрировать, как модели авторегрессии генерируют изображение по одному пикселю за раз, предположим, что у нас есть изображение размером (где
- высота, а
- ширина), игнорируя цветовой канал для простоты. Это изображение состоит из
пикселей, где
. Вероятность наблюдения определенного изображения в наборе данных равна
. Основываясь на правиле цепи для вероятностей в статистике, мы можем разложить эту общую вероятность на условные вероятности:
Здесь - это вероятность появления первого пикселя,
— вероятность появления второго пикселя, если задан первый, а
- вероятность появления третьего пикселя, если известны первые два, и так далее.
В процессе создания изображения авторегрессионная модель, как уже упоминалось ранее, пытается предсказать значение каждого пикселя, основываясь на информации о предыдущих пикселях. Этот процесс наглядно представлен на Рисунке 1.5, где пиксели формируют контекст, а пиксель
- следующий пиксель, который будет сгенерирован.

Преимущества моделей авторегрессии заключаются в их простоте и возможности легко интерпретировать результаты. Они способны точно предсказывать вероятность появления следующего пикселя или слова, подобно моделям, основанным на потоках. Это делает их особенно полезными для задач, связанных с обнаружением аномалий. Кроме того, модели авторегрессии легче поддаются обучению, чем GAN. Они не сталкиваются с такими проблемами, как схлопывание мод распределения и другими трудностями, связанными с нестабильностью обучения, что делает их более подходящими для широкого спектра задач.
Однако модели авторегрессии могут создавать новые выборки медленно. Это происходит из-за того, что они генерируют данные по шагам, например, для изображений - пиксель за пикселем, что требует больших вычислительных ресурсов. Кроме того, модели авторегрессии могут испытывать трудности в обнаружении долгосрочных зависимостей, поскольку каждый выходной сигнал зависит только от предыдущих выходных значений.
Таким образом, модели авторегрессии обычно уступают генеративно-аддитивным сетям по общему качеству изображения, однако их проще обучать.
Диффузионные модели
Как обсуждалось в предыдущем разделе, модели, основанные на потоках, преобразуют простое распределение (например, стандартное нормальное распределение) в сложное (целевое распределение), применяя последовательность обратимых и дифференцируемых преобразований (потоков). Как и модели, основанные на потоках, диффузионные модели также включают в себя ряд преобразований. Однако лежащая в их основе концепция принципиально отличается.
Диффузионные модели, основанные на стохастических дифференциальных уравнениях, постепенно преобразуют исходное распределение данных в более простое распределение шума. Процесс диффузии представляет собой случайный процесс, в ходе которого к данным добавляется шум, пока они не станут похожи на более простое распределение, такое как гауссовский шум. Чтобы создать новые семплы, процесс повторяют в обратном порядке: сначала добавляют шум, а затем постепенно его удаляют.
На Рисунке 1.6 представлен процесс добавления и удаления гауссовского шума из входного изображения . На этапе вывода применяется метод обратной диффузии, который генерирует новое изображение
, начиная с тензора шума
, выбранного из гауссовского распределения.

Хотя и диффузионные, и потоковые модели являются генеративными моделями, которые предназначены для воспроизведения сложных распределений данных, они предлагают разные подходы к решению этой задачи. Потоковые модели используют детерминированные обратимые преобразования, в то время как диффузионные модели используют вышеупомянутый стохастический процесс диффузии.
Недавние проекты продемонстрировали впечатляющие результаты в создании высококачественных изображений с реалистичными деталями и текстурами. Диффузионные модели также оказались более простыми в обучении, чем GANы. Однако, есть один недостаток: семплирование из диффузионных моделей занимает больше времени, так как требует выполнения нескольких последовательных шагов, подобно моделям на основе потоков и моделям авторегрессии.
Модели согласованности
Модели согласованности обучают нейронную сеть сопоставлять зашумленные изображения с их чистыми версиями. Для этого сеть проходит обучение на наборе данных, состоящем из пар зашумленных и чистых изображений. В процессе обучения она учится распознавать закономерности в исходных изображениях, которые могут быть искажены из-за шума. После завершения обучения, обученная сеть может быть использована для восстановления чистых изображений из зашумленных в один шаг.
В процессе обучения модели согласованности используется траектория, основанная на обыкновенных дифференциальных уравнениях (ОДУ). Эта траектория описывает, как изображение с шумом постепенно очищается от него. Траектория ОДУ задаётся набором дифференциальных уравнений, которые показывают, как изменяется шум на изображении с течением времени. Пример такой траектории можно увидеть на Рисунке 1.7.

Как видно из Рисунка 1.7, мы можем рассматривать модели согласованности как модели, которые учатся преобразовывать любую точку из вероятностного потока ОДУ, плавно превращающего данные в шум, в входные данные.
На момент написания этой статьи модели согласованности являются самым современным типом генеративных ИИ-моделей. Согласно оригинальной статье, модели согласованности могут конкурировать с диффузионными моделями по качеству изображений. Кроме того, модели согласованности работают быстрее, чем диффузионные модели, так как для создания изображений им не требуется итеративный процесс - они генерируют изображения за один шаг.
Однако, несмотря на то, что модели согласованности позволяют быстрее получать результаты, их обучение по-прежнему является дорогостоящим процессом. Это связано с тем, что для их обучения необходим большой набор данных, включающий пары зашумленных и чистых изображений.
Рекомендации
Глубокие машины Больцмана представляют особый интерес с исторической точки зрения, так как они стали одной из первых моделей, успешно применивших концепцию обучения без учителя. Потоковые модели и модели авторегрессии могут быть полезны в ситуациях, когда требуется точная оценка правдоподобия. Однако, когда речь заходит о создании высококачественных изображений, обычно предпочтение отдают другим моделям.
В частности, модели VAE и GAN на протяжении многих лет соперничали за создание наилучших изображений с высокой точностью. Однако в 2022 году для генерации изображений стали активно использовать диффузионные модели. Модели согласованности представляют собой многообещающую альтернативу диффузионным моделям, но пока неясно, получат ли они более широкое распространение и достигнут наилучших результатов. Следует отметить, что процесс семплирования из диффузионных моделей обычно занимает больше времени, поскольку он включает в себя последовательность шагов по устранению шума, которые необходимо выполнять в определенном порядке, подобно моделям авторегрессии. Это может сделать диффузионные модели менее подходящими для некоторых задач, где требуется быстрый инференс.
denisnov79
Сегодня чистые VAE и авторегрессионные модели для изображений отошли на второй план. Актуальный тренд — гибридные подходы (например, диффузионные модели с авторегрессионными компонентами для видео). Также стоит отметить, что главный недостаток GAN — нестабильность обучения — во многом решен в современных архитектурах, таких как StyleGAN.