Погружение в Sampling method: механизмы работы в моделях диффузии
Метод выборки (sampling method) в генеративных моделях, таких как Stable Diffusion или FLUX, определяет способ преобразования случайного шума в изображение в процессе диффузии. Этот метод напрямую влияет на качество, стиль и скорость генерации изображения.
В предыдущей статье я разбирал, как работает CFG Scale и для чего он нужен. Рекомендую ознакомиться, так как здесь метод безклассификаторного управление будет использоваться.
1. Зачем нужен Sampling method
▍Sampling method необходим для нескольких ключевых задач:
Постепенное уменьшение шума:
Основная задача метода выборки — это постепенное уменьшение шума и улучшение структуры изображения на каждом шаге. Каждый шаг итерации уменьшает уровень шума и добавляет детали, приближая изображение к целевому.
Управление процессом диффузии:
Методы выборки управляют процессом диффузии, определяя, как модель должна обновлять изображение на каждом этапе. Это позволяет контролировать скорость и качество генерации.
Оптимизация качества и скорости:
Стабилизация процесса:
Методы выборки также помогают стабилизировать процесс генерации, чтобы избежать артефактов и нежелательных искажений. Это особенно важно при работе с сложными текстовыми подсказками или при генерации высококачественных изображений.
2. Основные параметры Sampling method
Качество изображения:
Некоторые методы выборки могут обеспечивать более высокое качество изображения, лучше сохраняя детали и улучшая реалистичность.
Стиль изображения:
Разные методы могут приводить к различным стилям изображения. Например, одни методы могут создавать более сглаженные изображения, а другие — более детализированные.
Скорость генерации:
Методы выборки могут различаться по скорости. Некоторые методы быстрее, но могут уступать в качестве, тогда как другие медленнее, но обеспечивают лучшее качество.
3. Основные типы методов выборки
DDIM (Denoising Diffusion Implicit Models):
Преимущества: Быстрая генерация, возможность управления стилем.
Недостатки: Может уступать в качестве более медленным методам.
PLMS (Pseudo Linear Multistep):
Преимущества: Хорошая комбинация скорости и качества, улучшенная устойчивость к шумам.
Недостатки: Может быть сложнее в настройке.
DPM‑Solver:
Преимущества: Высокое качество изображения, более точное управление процессом диффузии.
Недостатки: Более высокая вычислительная сложность и время генерации.
Euler A and B:
Преимущества: Быстрая и стабильная генерация, подходит для широкого спектра задач.
Недостатки: Может уступать в качестве более специализированным методам.
LMS (Laplacian Pyramid Sampling):
Преимущества: Хорошее сохранение деталей и текстур.
Недостатки: Могут быть более медленными по сравнению с другими методами.
5. Алгоритм работы метода выборки на примере DDIM
В данном разделе рассмотрим процесс взаимодействия CFG Scale и метода выборки, чтобы понимать механизмы их работы.
▍Шаг 1: Инициализация
В начале процесса инициализируем случайный шум , который генерируется по нормальному распределению:
где — начальный момент времени.
Шум нужен для того, чтобы модели было что расшумлять — это называется обратной диффузией и лежит в основе современных генеративных нейросетей.
▍Шаг 2: Расчет результирующего состояния на основе CFG Scale
Подробнее про CFG Scale.
На этом этапе модель генерирует 3 изображения: на основе позитивного и негативного промпта + одно безусловное изображение — без какого‑либо промпта.
Здесь задействуется модель CLIP для перевода промпта в векторы (язык нейросети) и U‑Net для непосредственно генерации.
Применяем формулу CFG Scale для получения результирующего состояния на основе безусловной и условной генерации:
где:
— безусловная генерация (основное изображение).
— условная положительная генерация (с учетом положительного условия).
— условная негативная генерация (с учетом отрицательного условия).
— коэффициент, который регулирует, насколько сильно положительные и отрицательные условия влияют на итоговое состояние изображения (его мы вводим ручками в интерфейсе).
▍Шаг 3: Вычисление модифицированного шума
На основе результата из шага 2, модель рассчитывает модифицированный шум, учитывающий влияние условий:
В этом шаге, исходя из полученного , модель вычисляет разные предсказанные шумы (, , ), а затем получает модифицированный шум , который используется в формуле DDIM для обновления состояния изображения.
Этот шаг — своего рода «корректировка» на основе уже имеющегося состояния изображения и специфических условий. Благодаря этому процессу итоговое изображение становится более адаптированным к условиям, которые были заданы.
Данный шаг также нужен из‑за несовершенства математики — для оптимизации вычислений. Именно значения из третьего шага взаимодействуют с формулой метода выборки. В прошлом же шаге подготавливается база для этого.
Это как 1+1=2, где без одной единицы двойка не получится.
Вычисления на данном шаге также проводятся с помощью U‑Net.
▍Шаг 4: Применение метода выборки (DDIM)
На третьем этапе модифицированный шум подставляется в формулу метода выборки, чтобы скорректировать мелкие детали и стабилизировать общий процесс генерации. На этом шаге будет решено: где шум добавить, а где убрать.
Зачем добавлять шум? Чтобы повысить детализацию. Вспомните снимки со своего смартфона ночью — если убрать весь шум, то они будут смазанными.
Формула метода выборки DDIM:
где — текущее состояние изображения на шаге .
и — коэффициенты, контролирующие скорость изменения состояния изображения на каждом шаге. Они зависят от заданных параметров шума и времени.
Подставляем значения модифицированного шума в формулу DDIM:
Результатом всего процесса будет являться матрица векторов — т. е. изображение в скрытом пространстве нейросети, очищенное от части шума.
Обратный диффузионный процесс идет в обратном направлении по времени, начиная с шума и постепенно очищая его до целевого изображения .
обозначает состояние изображения на шаге , которое является результатом применения модифицированного шума к текущему состоянию . Также на каждом шаге корректируются и , отвечающие за количество шума, который будет исключен на текущем и следующем шаге.
▍Шаг 5: Повторение процесса
Теперь все значения будут рассчитываться для , которое затем нужно подставить в формулу метода выборки DDIM:
После вычисления мы вычисляем , и так далее до .
6. Метод выборки DPM++ 2M Karras
Метод выборки DPM++ 2M (Denoising Diffusion Probabilistic Models++) является одним из методов улучшения процесса диффузии. Рассмотрим его, так как он, по моему мнению, является самым удачным сэмплером по соотношению качество / скорость.
DPM++ 2M использует прогрессивные улучшения и шаги для более точного и стабильного уменьшения шума.
Karras указывает на применение оптимизаций, которые могут включать улучшенные методы планирования шагов, адаптивное уменьшение шума и другие техники, направленные на повышение качества.
Вот так выглядит формула метода выборки DPM++ 2M Karras:
Здесь:
— текущее состояние изображения на шаге t.
— состояние изображения на предыдущем шаге.
— коэффициент шага.
— весовой коэффициент для градиента.
— градиент функции потерь.
— функции, включающие оптимизации, предложенные Тимо Керрасом.
7. Заключение
Как вы, надеюсь, поняли, sampling method работает не в отрыве от всего остального, а является звеном в конвейерной цепочки по генерации изображения. Он, как и все рассмотренные в статье шаги, сделан для корректировки работы основном модели, чтобы генерации получались точнее и детальнее.
Буду рад видеть вас в телеграм‑канале, где я пишу гайды по Stable Diffusion и FLUX. Там же будут и анонсы новых статей.