Что такое Stable Diffusion (стабильная диффузия) в ML?
Большая часть недавних работ с искусственным интеллектом, найденных в Интернете, создана с использованием модели стабильной диффузии. Поскольку это инструмент с открытым исходным кодом, любой человек может легко создавать фантастические художественные иллюстрации, используя всего лишь текстовую подсказку.
В этой статье я собираюсь объяснить, как работает данная модель машинного обучения с открытым кодом.
@data_analysis_ml – лучшие ресурсы Data Science
Диффузионная модель ML
Здесь я постараюсь познакомить вас с диффузионной моделью машинного обучения!
Обучение искусственного интеллект, который основан на диффузионной модели, можно разделить на 2 этапа:
- Процесс прямой диффузии → добавление шума к изображению.
- Процесс обратный диффузии → удаление шума с изображения.
Процесс прямой диффузии
Процесс прямой диффузии постепенно, шаг за шагом, добавляет гауссов шум к изображению. Тем не менее, данный процесс можно ускорить, если воспользоваться формулой, которая позволит сразу получить зашумлённое изображение:
Процесс обратной диффузии
Поскольку процесс обратной диффузии не поддается прямому вычислению, мы обучаем нейронную сеть для её аппроксимации.
Цель обучения заключается в следующем:
Обучение
Этапы обучения стабильной диффузии:
- Для каждого генерируемого изображения будет выбран случайный временной шаг t;
- Далее идёт применение гауссова шума (соответствующего t) к каждому изображению;
- В конце временные шаги преобразуются в векторы.
Алгоритм сэмплирования
Сэмплинг означает создание изображения из гауссовского шума. На следующей диаграмме показано, как мы можем использовать обученную U-Net нейронную сеть для создания изображения:
Низкая скорость диффузии
Как вы можете заметить, процесс диффузии итеративно передаёт полноразмерное изображение в нейронную сеть U-Net для получения конечного результата. Это делает модель чистой диффузии чрезвычайно медленной, когда общее количество шагов диффузии T и размер изображения велики.
Таким образом, стабильная диффузия предназначена для решения этой проблемы.
Стабильная диффузия
Первоначальное название стабильной диффузии – “Latent Diffusion Model” (LDM). Как следует из его названия, процесс диффузии происходит в скрытом пространстве. Это то, что делает его быстрее, чем модель чистой диффузии.
Отправление в Скрытое пространство
Сначала мы обучим автокодировщик, чтобы он научился сжимать данные изображения в представления меньшего размера.
- Используя обученный кодировщик E, мы можем закодировать полноразмерное изображение в скрытые данные меньшего размера (сжатые данные).
- Используя обученный декодер D, мы можем декодировать скрытые данные обратно в изображение.
Скрытая диффузия
После кодирования изображений в скрытые данные, в скрытом пространстве будут выполняться процессы прямой и обратной диффузии.
- Процесс прямой диффузии → добавление шума к скрытым данным.
- Процесс обратной диффузии → удаление шума из скрытых данных.
Истинная сила модели стабильной диффузии заключается в том, что она может генерировать изображения из текстовых подсказок. Это делается путём модификации модели внутренней диффузии для принятия обработки данных.
Модель внутренней диффузии превращается в генератор условных изображений, дополняя её шумоподавляющую U-Net сеть механизмом перекрёстного внимания.
Переключатель на приведенной выше схеме используется для управления различными типами входных сигналов кондиционирования:
- Для текстовых вводов они сначала преобразуются в векторы с использованием языковой модели 𝜏θ (например, BERT, CLIP), а затем они отображаются в U-Net через механизм внимания (Q, K, V).
- Для других пространственно выровненных входных данных (например, семантических карт, изображений) кондиционирование может быть выполнено с помощью конкатенации.
Обучение
Цель обучения очень похожа на ту, что используется в модели чистой диффузии. Единственными изменениями являются:
- Введение скрытых данных zₜ вместо изображения xₜ
- Добавление ввода условия 𝜏θ(y) в U-Net
Алгоритм сэмплирования
Поскольку размер скрытых данных намного меньше, чем у исходных изображений, процесс шумоподавления будет намного быстрее.
Сравнение архитектур
Наконец, давайте сравним общую архитектуру модели чистой диффузии и модели стабильной диффузии (модель скрытой диффузии).
Стабильная диффузия (модель скрытой диффузии)
Резюме
Быстрое подведение итогов:
- Стабильная диффузия (LDM) проводит процесс диффузии в скрытом пространстве, и, таким образом, он намного быстрее, чем при использовании модели чистой диффузии.
- Базовая диффузионная модель – это модификация для принятия обусловливающих входных данных, таких как текст, изображения, семантические карты и т.д.
Если технология stable diffusion вам заинтересовала, советуем так же почитать про Chatgpt