КАДР

Как нейросеть генерирует картинки: диффузия простыми словами

Ален основатель КАДР Обновлено 2026-07-14 5 мин чтения

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

Главная идея: картинка проявляется из шума

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

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

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

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

Как её этому научили

Чтобы модель умела убирать шум, её сначала учили его добавлять.

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

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

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

Причём тут ваш текст

Пока что мы описали, как модель делает какую-то картинку из шума. Но вам нужна конкретная. Здесь в дело вступает промпт.

Ваш текст сначала переводится в числа. Этим занимается отдельный компонент, текстовый кодировщик, обученный связывать слова с изображениями. Он видел миллионы пар «картинка и подпись к ней», поэтому знает, что слово «закат» соответствует определённым цветам и формам.

Эти числа становятся подсказкой на каждом шаге очистки. Грубо говоря, модель на каждом шаге спрашивает себя: «в какую сторону убирать шум, чтобы результат был больше похож на то, что описано в тексте?».

Отсюда важный практический вывод: модель понимает смысл, а не ищет точные слова. Ей неважно, написали вы «машина» или «автомобиль». Ей важна концепция. Поэтому подробное осмысленное описание работает лучше, чем набор ключевых слов.

Почему одно описание даёт разные картинки

Вы наверняка замечали: жмёте генерацию дважды с тем же промптом и получаете два разных изображения.

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

За это отвечает параметр seed (зерно) это число, из которого генерируется стартовый шум. Один и тот же seed плюс один и тот же промпт дадут идентичный результат. Меняете seed, получаете вариацию. Именно так профессионалы фиксируют удачный кадр или создают серию похожих: играют с seed при неизменном промпте.

Латентное пространство: почему это быстро

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

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

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

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

Теперь понятно, почему модель путает пальцы

Знаменитая проблема кривых рук объясняется ровно устройством диффузии.

Модель не знает, что у человека пять пальцев. У неё нет понятия анатомии, скелета, трёхмерного тела. Она видела миллионы плоских картинок и запомнила статистические закономерности: как обычно выглядят пиксели рядом с другими пикселями.

С руками эти закономерности особенно коварны:

  • Пальцы похожи друг на друга. Модель видит группу вытянутых розовых форм и «на всякий случай» добавляет ещё одну.
  • Пальцы перекрывают друг друга. На фото часть пальцев спрятана за другими. Модель, восстанавливая их, может «дорисовать» лишние.
  • Рука принимает тысячи форм. Лицо почти всегда фронтально и симметрично, а рука бывает в любом положении. Разнообразие сбивает статистику.
  • Модель собирает картинку по частям и не ведёт общий счёт. Она может добавить палец с одной стороны, забыв, сколько их уже с другой.

Хорошая новость: новые модели справляются заметно лучше старых. Чем детальнее модель и чем больше в обучении было качественных изображений рук, тем реже она ошибается. Но полностью проблема не ушла и вряд ли уйдёт, пока модели остаются статистическими, а не понимающими анатомию.

Подробный разбор артефактов и способов их чинить есть в отдельной статье: почему нейросеть рисует кривые руки.

Почему модель любит усреднённую красоту

Ещё одно следствие механики. Модель обучена предсказывать самый вероятный результат. А самое вероятное это среднее по обучающим данным.

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

Отсюда практический вывод, который связывает теорию с делом: чтобы получить не среднее, а конкретное, нужно увести модель от медианы точным описанием. Именно об этом статья про то, как писать промпты.

Коротко

Нейросеть не рисует картинку, а проявляет её из случайного шума, шаг за шагом убирая лишнее. Текст промпта направляет эту очистку. Работает всё это в сжатом латентном пространстве ради скорости, а в конце разворачивается в полноразмерное изображение.

Из этой механики следует всё остальное: разные картинки по одному промпту (разный стартовый шум), кривые пальцы (нет понимания анатомии), любовь к усреднённой красоте (модель предсказывает самое вероятное). Понимаешь механику, понимаешь, как с моделью разговаривать.

Частые вопросы

Как нейросеть создаёт изображение?
Она начинает не с чистого листа, а с кадра случайного шума, и за несколько десятков шагов постепенно убирает лишнее, проявляя картинку. Текст промпта направляет эту очистку, подсказывая, что именно должно проявиться. Этот метод называется диффузией.
Что такое диффузионная модель простыми словами?
Это модель, которую научили превращать шум в осмысленную картинку. На обучении ей показывали изображения, постепенно добавляя к ним шум, и она запоминала, как выглядит обратный процесс. Теперь она умеет из чистого шума собрать изображение, следуя текстовому описанию.
Почему нейросеть рисует людям лишние пальцы?
Потому что она не знает, что у человека пять пальцев. Она не понимает анатомию, а лишь повторяет статистические закономерности из миллионов картинок. Пальцы похожи друг на друга, часто перекрывают друг друга и меняют форму в зависимости от жеста, поэтому модель легко ошибается в их количестве.
Почему одно и то же описание даёт разные картинки?
Потому что каждая генерация начинается со своего случайного шума. Разный стартовый шум ведёт к разному результату, даже если текст промпта одинаковый. За воспроизводимость отвечает параметр seed: зафиксировав его, вы получите тот же кадр.
Что такое латентное пространство?
Это сжатое внутреннее представление изображения, с которым модель работает вместо миллионов отдельных пикселей. Работать в нём в разы быстрее и дешевле по вычислениям. В самом конце готовый результат разворачивается из этого сжатого вида обратно в полноразмерную картинку.
Как модель понимает текст промпта?
Текст переводится в набор чисел специальным текстовым кодировщиком, который обучен связывать слова и изображения. Эти числа становятся подсказкой для процесса очистки шума. Поэтому важны не отдельные слова, а смысл: модель понимает концепции, а не ищет точные совпадения.

Посмотрите на диффузию в деле

В КАДР собраны разные модели генерации изображений, от быстрых до флагманских. Можно увидеть своими глазами, как разные архитектуры справляются с одним промптом. Оплата рублями с российской карты, цена генерации видна до запуска.

Открыть КАДР
Ален
Основатель КАДР. 5 лет в автоматизации, больше 50 проектов. Подключал модели генерации напрямую через API, поэтому пишу о том, с чем работаю каждый день.