Почему «учить убирать шум» работает
Урок отвечает на главный вопрос интуиции: почему такая простая задача рождает целые изображения.
Принцип диффузии — сложная задача генерации разбивается на множество одинаковых простых шагов «убери немного шума», каждый из которых модели по силам.
Разбить сложное на простое
Нарисовать осмысленную картинку «с нуля за один шаг» — задача неподъёмной сложности: слишком много вариантов, легко ошибиться. Диффузия делает гениально простой ход: вместо одного гигантского прыжка она делает сотню крошечных шагов. Каждый отдельный шаг — лёгкий: «вот почти готовая картинка с чуть-чуть шума, убери его». А цепочка таких лёгких шагов решает исходную тяжёлую задачу.
Аналогия со скульптором
Представьте скульптора перед глыбой мрамора. Он не пытается высечь статую одним ударом — он снимает по чуть-чуть, и из бесформенного камня проступает фигура. Чистый шум — это глыба; предсказание и удаление шума — каждый аккуратный скол; готовая картинка — статуя. Модель не «придумывает» статую сразу, она лишь знает, какой следующий маленький скол приближает к правдоподобному.
Где здесь промпт
Пока мы описывали генерацию «вообще». Чтобы получить именно кота, а не случайную картинку, на каждом шаге модели подсказывают цель — текстовое условие (промпт). Тогда из всех правдоподобных картинок модель убирает шум в сторону тех, что соответствуют описанию. Как именно текст влияет на расшумление — тема следующих разделов.
Как работает под капотом
Каждый шаг — это вызов одной и той же нейросети с разными входами (текущее изображение и номер шага). Модель выучила универсальное правило «как выглядит чуть менее шумная версия» для любого уровня шума. Поскольку правило одно, его можно применять многократно. Математически это аппроксимация обращения прямого процесса: раз мы знаем, как шум добавлялся, можно научиться его снимать. Стабильность берётся из того, что каждый шаг — маленький, а значит, ошибка на нём тоже маленькая и не накапливается катастрофически.
Частые ошибки
- Искать «магию» в одном шаге. Магии нет: сила в количестве простых шагов, а не в сложности каждого.
- Считать, что без промпта картинки не будет. Будет — просто случайная правдоподобная; промпт лишь направляет результат.
- Думать, что модель помнит конкретные обучающие картинки. Она выучила общее правило расшумления, а не запомнила примеры.
Почему ошибки не накапливаются
Резонный страх: если модель ошибается на каждом шаге, не накопятся ли ошибки за сотню шагов в катастрофу? На практике — нет, и причина в самой структуре процесса. Каждый шаг маленький, поэтому и ошибка на нём маленькая. А главное, следующий шаг видит уже исправленный результат предыдущего и работает с ним заново, как бы постоянно «переоценивая обстановку». Это похоже на езду по дороге: вы не выкручиваете руль один раз на весь путь, а делаете много мелких поправок, и каждая корректирует предыдущую.
Эта устойчивость к ошибкам — одно из ключевых преимуществ диффузии перед попытками «нарисовать всё за один проход». Один большой шаг не имеет шанса исправиться; цепочка маленьких шагов самокорректируется. Цена — медленность, и именно поэтому исследователи учатся сокращать число шагов без потери этого свойства самокоррекции.
Итог
- Диффузия превращает тяжёлую задачу генерации в цепочку лёгких шагов «убери немного шума».
- Аналогия со скульптором: модель не создаёт картинку сразу, а постепенно высекает её из шума.
- Промпт работает как условие, направляющее расшумление к нужному смыслу.