Что такое Stable Diffusion (стабильная диффузия) в ML?

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

В этой статье я собираюсь объяснить, как работает данная модель машинного обучения с открытым кодом.

@data_analysis_ml – лучшие ресурсы Data Science

Что такое Stable Diffusion (стабильная диффузия) в ML?
Как работает стабильная диффузия?

Диффузионная модель ML

Здесь я постараюсь познакомить вас с диффузионной моделью машинного обучения!

Что такое Stable Diffusion (стабильная диффузия) в ML?
2 этапа обучения искусственного интеллекта, основанного на диффузии

Обучение искусственного интеллект, который основан на диффузионной модели, можно разделить на 2 этапа:

  • Процесс прямой диффузии → добавление шума к изображению.
  • Процесс обратный диффузии → удаление шума с изображения.
Процесс прямой диффузии

Процесс прямой диффузии постепенно, шаг за шагом, добавляет гауссов шум к изображению. Тем не менее, данный процесс можно ускорить, если воспользоваться формулой, которая позволит сразу получить зашумлённое изображение:

Что такое Stable Diffusion (стабильная диффузия) в ML?
Формула процесса прямой диффузии
Процесс обратной диффузии

Поскольку процесс обратной диффузии не поддается прямому вычислению, мы обучаем нейронную сеть для её аппроксимации.

Цель обучения заключается в следующем:

Что такое Stable Diffusion (стабильная диффузия) в ML?
Формула процесса обратной диффузии
Обучение

Этапы обучения стабильной диффузии:

  • Для каждого генерируемого изображения будет выбран случайный временной шаг t;
  • Далее идёт применение гауссова шума (соответствующего t) к каждому изображению;
  • В конце временные шаги преобразуются в векторы.
Что такое Stable Diffusion (стабильная диффузия) в ML?
Этапы обучения
Что такое Stable Diffusion (стабильная диффузия) в ML?
Алгоритм сэмплирования

Сэмплинг означает создание изображения из гауссовского шума. На следующей диаграмме показано, как мы можем использовать обученную U-Net нейронную сеть для создания изображения:

Что такое Stable Diffusion (стабильная диффузия) в ML?
Как работают алгоритмы сэмплирования
Низкая скорость диффузии

Как вы можете заметить, процесс диффузии итеративно передаёт полноразмерное изображение в нейронную сеть U-Net для получения конечного результата. Это делает модель чистой диффузии чрезвычайно медленной, когда общее количество шагов диффузии T и размер изображения велики.

Таким образом, стабильная диффузия предназначена для решения этой проблемы.

Стабильная диффузия

Первоначальное название стабильной диффузии – “Latent Diffusion Model” (LDM). Как следует из его названия, процесс диффузии происходит в скрытом пространстве. Это то, что делает его быстрее, чем модель чистой диффузии.

Отправление в Скрытое пространство
Что такое Stable Diffusion (стабильная диффузия) в ML?

Сначала мы обучим автокодировщик, чтобы он научился сжимать данные изображения в представления меньшего размера.

  • Используя обученный кодировщик E, мы можем закодировать полноразмерное изображение в скрытые данные меньшего размера (сжатые данные).
  • Используя обученный декодер D, мы можем декодировать скрытые данные обратно в изображение.
Скрытая диффузия

После кодирования изображений в скрытые данные, в скрытом пространстве будут выполняться процессы прямой и обратной диффузии.

Что такое Stable Diffusion (стабильная диффузия) в ML?
2 этапа стабильной диффузии
  • Процесс прямой диффузии → добавление шума к скрытым данным.
  • Процесс обратной диффузии → удаление шума из скрытых данных.
Что такое Stable Diffusion (стабильная диффузия) в ML?

Истинная сила модели стабильной диффузии заключается в том, что она может генерировать изображения из текстовых подсказок. Это делается путём модификации модели внутренней диффузии для принятия обработки данных.

Что такое Stable Diffusion (стабильная диффузия) в ML?

Модель внутренней диффузии превращается в генератор условных изображений, дополняя её шумоподавляющую U-Net сеть механизмом перекрёстного внимания.

Переключатель на приведенной выше схеме используется для управления различными типами входных сигналов кондиционирования:

  • Для текстовых вводов они сначала преобразуются в векторы с использованием языковой модели 𝜏θ (например, BERT, CLIP), а затем они отображаются в U-Net через механизм внимания (Q, K, V).
  • Для других пространственно выровненных входных данных (например, семантических карт, изображений) кондиционирование может быть выполнено с помощью конкатенации.
Обучение
Что такое Stable Diffusion (стабильная диффузия) в ML?

Цель обучения очень похожа на ту, что используется в модели чистой диффузии. Единственными изменениями являются:

  • Введение скрытых данных zₜ вместо изображения xₜ
  • Добавление ввода условия 𝜏θ(y) в U-Net
Алгоритм сэмплирования
Что такое Stable Diffusion (стабильная диффузия) в ML?

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

Сравнение архитектур

Наконец, давайте сравним общую архитектуру модели чистой диффузии и модели стабильной диффузии (модель скрытой диффузии).

Что такое Stable Diffusion (стабильная диффузия) в ML?
Стабильная диффузия (модель скрытой диффузии)
Что такое Stable Diffusion (стабильная диффузия) в ML?

Резюме

Быстрое подведение итогов:

  • Стабильная диффузия (LDM) проводит процесс диффузии в скрытом пространстве, и, таким образом, он намного быстрее, чем при использовании модели чистой диффузии.
  • Базовая диффузионная модель – это модификация для принятия обусловливающих входных данных, таких как текст, изображения, семантические карты и т.д.

Если технология stable diffusion вам заинтересовала, советуем так же почитать про Chatgpt

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *