Сэмплирование: Угадывая сквозь туман
Мы знаем, что маг воды может шаг за шагом идеально извлекать тушь из воды, чтобы проявить четкую картину. Но есть один нюанс. Когда вода абсолютно черная, маг не может увидеть спрятанного на дне дракона. На самом деле, никакого дракона там нет. Это просто случайная темная вода.
Как же он понимает, какие именно капли туши нужно извлечь?
Ему приходится угадывать.
Он вглядывается в темную воду и представляет, что могло бы там скрываться. Опираясь на все картины, которые он видел в своей жизни, он делает очень грубое предположение: «Это крошечное пятно похоже на очертания горы».
Основываясь на этой догадке, он извлекает из воды определенную каплю туши. Вода становится чуть прозрачнее.
Теперь он смотрит снова. «Вообще-то, без этой капли это уже не похоже на гору. Скорее, это похоже на тигра».
Он корректирует свою догадку и извлекает другую каплю туши.
Он повторяет этот процесс сотни раз. Угадывает, чем является размытое пятно, убирает каплю туши на основе этой догадки, смотрит на чуть более четкую форму и угадывает снова. К тому моменту, когда вода становится абсолютно прозрачной, его сотни крошечных, скорректированных догадок вылепливают из хаотичной воды идеальную, совершенно новую картину тигра.
Реальность
В диффузионных моделях этот процесс генерации изображения из чистого шума называется «Сэмплингом» (Sampling) или «Логическим выводом» (Inference).
Когда вы просите Midjourney создать изображение, она начинает с абсолютно случайной сетки телевизионных помех. ИИ смотрит на эти помехи и делает грубое предположение о том, как будет выглядеть финальное изображение. На основе этой догадки он вычитает крошечную долю шума.
Затем он останавливается, смотрит на новое, чуть менее зашумленное изображение и переоценивает ситуацию. Он делает новую догадку. Вычитает еще немного шума.
Поскольку ИИ постоянно останавливается, чтобы посмотреть на свою работу и скорректировать траекторию, он может исправлять собственные ошибки в реальном времени. Если на 50-м шаге он случайно сгенерирует тигра с тремя ушами, к 60-му шагу он может осознать ошибку и плавно превратить третье ухо в листву на заднем фоне.
Почему это важно
Этот постоянный цикл «угадай, скорректируй, повтори» — причина, по которой диффузионные модели генерируют изображение гораздо дольше, чем GAN, но именно поэтому они создают такие невероятно детализированные и связные шедевры. Они в буквальном смысле вылепливают изображение из шума, уточняя свое видение на каждом отдельном шаге.
Главная мысль
Лучший способ пройти сквозь густой туман — это не бежать вслепую туда, где, как вам кажется, находится цель. Нужно сделать шаг, осмотреться и скорректировать курс.
Специалисты по ИИ называют это: Процесс сэмплинга / Вывода (Sampling / Inference)
Во время вывода модель итеративно решает стохастическое дифференциальное уравнение (SDE) или ОДУ вероятностного потока для выборки из изученного распределения данных. Начиная с x_T ~ N(0, I), она применяет изученную функцию оценки на каждом дискретном временном шаге t. Такие методы, как DDPM (Denoising Diffusion Probabilistic Models) или более быстрые сэмплеры, такие как DDIM (Denoising Diffusion Implicit Models), определяют размеры шагов и траектории, балансируя между скоростью генерации и качеством финальной проекции на многообразие.
💬 Вспомните проект, над которым вы работали. Вы спланировали его идеально заранее (как GAN) или разбирались шаг за шагом по ходу дела (как диффузия)?
Часть 12 из 14 | #GenerativeModelsForHumans
#ai_edu На основе лекций Стэнфорда и индустрии