Как ИИ генерирует картинки: от шума к шедевру

Источник
Как ИИ генерирует картинки: от шума к шедевру
Как ИИ генерирует картинки: от шума к шедевру

Midjourney, DALL-E, Stable Diffusion — все они рисуют по описанию. Вы пишете «кот в космосе» — и через секунды получаете картинку. Но как это работает? Разбираю технологию диффузии: почему модель начинает с хаотичного шума и как превращает его в готовое изображение.


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

Это кажется безумием, но:

Генерация изображения начинается с полного шума — и постепенно превращается в картинку.

Представьте телевизор без сигнала — белые и чёрные точки хаотично мелькают. Вот с этого и начинает ИИ. А потом, шаг за шагом, «вычищает» шум, пока не появится картинка.

Но как из шума получается картинка?


Что такое диффузия

Диффузия — это процесс распространения. В физике — молекулы распространяются в пространстве. В генерации картинок — шум «размывает» изображение.

Модель учится на двух процессах:

Прямая диффузия (обучение)

  1. 📷 Берём реальную картинку
  2. 🌫️ Добавляем немного шума
  3. 🌫️ Добавляем ещё шума
  4. 🌫️ Ещё и ещё...
  5. 📺 Получаем полный шум

Обратная диффузия (генерация)

  1. 📺 Начинаем с шума
  2. 🔄 Убираем немного шума
  3. 🔄 Убираем ещё...
  4. 📷 Получаем картинку!

Аналогия: Это как проявка фотоплёнки. Сначала — ничего не видно. Постепенно проявляется изображение.


Как обучается модель

Сейчас покажу на примере.

Во время обучения модели показывают миллионы картинок с разной степенью «зашумления»:

Исходная картинка кота → +10% шума → +30% шума → +50% шума → 100% шум

Задача модели — научиться предсказывать, какой шум был добавлен.

Если модель знает, какой шум добавили, она может его вычесть — и получить более чистую картинку.

| Что видит модель | Что учится делать |
|------------------|-------------------|
| Картинка + 10% шума | Определить этот 10% шум |
| Картинка + 50% шума | Определить этот 50% шум |
| 100% шум | Определить направление к картинке |

Как генерирует картинку

Вот тут начинается интересное.

Когда вы просите нарисовать «кота в космосе»:

  1. Старт: модель берёт случайный шум (как телевизор без сигнала)
  2. Шаг 1: убирает часть шума в направлении «кот + космос»
  3. Шаг 2: убирает ещё часть шума
  4. ...
  5. Шаг 50-100: получается готовая картинка

На каждом шаге картинка становится всё чётче:

[█████████] → [░░▓▓░░░░] → [🌌🐱░░░░] → [🌌🐱✨✨] → 🖼️
 Шум           Формы         Детали       Больше     Готово!
                                          деталей

Аналогия: Скульптор, который убирает лишнее из камня. Каждый удар молотка — и статуя становится чётче.


Роль текста: CLIP

А как текст влияет на результат?

Нужен «переводчик» между словами и изображениями. Это делает CLIP (Contrastive Language-Image Pre-training).

CLIP — модель от OpenAI, которая понимает связь между текстом и картинками:

  • «Кот» → направление в сторону котов
  • «Космос» → направление в сторону космоса
  • «Кот в космосе» → комбинация направлений

На каждом шаге генерации CLIP подсказывает модели:

  • «В этом направлении — больше кота»
  • «В этом направлении — больше космоса»

Аналогия: CLIP — как переводчик. Вы говорите на русском, художник понимает только формы и цвета. CLIP переводит между ними.


Латентное пространство

Работать с картинками напрямую — дорого. Изображение 1024×1024 = миллион пикселей.

Поэтому современные модели работают в латентном пространстве — сжатом представлении изображения.

| Пространство | Размер | Что это |
|--------------|--------|---------|
| Исходное | 1024×1024×3 | 3 млн чисел |
| Латентное | 128×128×4 | 65 тысяч чисел |

Диффузия происходит в сжатом виде, а потом результат «разжимается» обратно в картинку.

Аналогия: Вместо того чтобы рисовать на огромном холсте, художник делает набросок на салфетке — а потом увеличивает.


Почему иногда получается «не то»

Вот почему промпты так важны.

Проблемы генерации:

❌ Неточное понимание

Промпт: "Мужчина ест пиццу с другом"
Результат: Мужчина ест пиццу, рядом летающая пицца

Модель не всегда понимает связи между объектами.

❌ Проблемы с текстом

Модели плохо рисуют текст — они не понимают буквы как символы.

❌ Руки и пальцы

Классическая проблема — анатомия рук. Почему? В обучающих данных руки часто скрыты или в нестандартных позах.

❌ Счёт объектов

Промпт: "5 яблок на столе"
Результат: 3, 4, 6 или 7 яблок

Модель не умеет считать — она работает с паттернами, не с числами.


Разные модели

| Модель | Кто сделал | Особенности |
|--------|------------|-------------|
| **Midjourney v7** | Midjourney Inc. | Высочайший фотореализм, работа через сайт |
| **DALL-E 4** | OpenAI | Интеграция с GPT-5.2, идеальное понимание промптов |
| **Stable Diffusion 3.5** | Stability AI | Открытая модель, запуск на домашнем ПК |
| **Flux 1.1 Pro** | Black Forest Labs | Новое поколение, невероятная детализация текста |

Советы для промптов

Чтобы получать лучшие результаты:

✅ Делайте

  • Будьте конкретны: «золотистый ретривер» лучше, чем «собака»
  • Указывайте стиль: «в стиле аниме», «фотореалистично»
  • Описывайте освещение: «мягкий закатный свет»
  • Добавляйте атмосферу: «уютный», «драматичный»

❌ Не делайте

  • Не просите нарисовать текст
  • Не ожидайте точного количества объектов
  • Не надейтесь на сложные взаимодействия

📖 Словарик

  • Диффузия — процесс постепенного добавления/удаления шума
  • CLIP — модель, связывающая текст и изображения
  • Латентное пространство — сжатое представление изображения
  • Stable Diffusion — открытая диффузионная модель
  • Промпт — текстовое описание желаемого изображения

📅 Актуально на: январь 2026


Какой генератор картинок нравится вам больше? Midjourney, DALL-E или Stable Diffusion? Голосуем в комментариях!


Если статья была полезной — подписывайтесь, будет ещё много интересного!

0

Комментарии (0)

Вы оставляете комментарий как гость. Имя будет назначено автоматически.

Пока нет комментариев.

ESC
Начните вводить текст для поиска