Медиа

Магия без мистики: как работает генерация картинок по описанию

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

Сначала не создаём картинку, а распознаём

картинку, а распознаём
Сначала не создаём
Когда ты наводишь камеру смартфона на компанию друзей и она сама обводит лица рамками, внутри работает алгоритм: программа перебирает миллионы крошечных условий о том, как обычно выглядит лицо, глаз, нос при разных освещениях и ракурсах. Сейчас этим занимаются нейросети, но суть та же: на вход подаётся картинка, на выходе модель говорит, что на ней — кот, чашка кофе или светофор.
Важно понять одну вещь: нейросеть не хранит у себя каталог картинок. Внутри нет секретной папки «котики 1−1 000 000». Есть огромная система формул с коэффициентами, которые подбирались в процессе обучения. На этапе обучения ей много раз показывали разные изображения и говорили: «вот это — кот», «вот это — дерево». Формулы подкручивались так, чтобы сеть всё чаще угадывала правильно.
С точки зрения математики изображение — это набор чисел (пиксели), а нейросеть — большая функция, которая эти числа превращает в ответ: «это кот», «это цифра 8» или «это лицо». Распознавание картинок — просто удобный способ «прочитать» изображение, вытянуть из него смысл. Где здесь связь с генерацией? Очень простая: если формула умеет по картинке получать «смысл», значит, её можно развернуть назад — по «смыслу» получить картинку.
Творчество без границ →

От распознавания изображений к генерации: переворачиваем ход мыслей

изображений к генерации: переворачиваем ход мыслей
От распознавания
Когда учёные научили ИИ более-менее стабильно распознавать изображения, они захотели пойти дальше и начали эксперименты в стиле «а что если». Один из первых хитовых результатов — Neural Style Transfer. Внутри использовалась уже обученная нейросеть распознавания изображений. Идея была хитрой и очень красивой: взять две картинки, условно «что» и «как».
  • Картинка № 1 — «что» (например, селфи или городская улица).
  • Картинка № 2 — «как» (картина Ван Гога, пиксель-арт, комикс).
Сначала в уже обученную сеть отправляли картинку № 1 и запускали расчёты, но не доводили их до финала — обрывали, скажем, на 10-м шаге из 12. Все получившиеся к этому моменту промежуточные значения аккуратно записывали в память, после чего сеть возвращали в исходное состояние. Затем ей скармливали картинку № 2 и проделывали то же самое, только останавливали работу еще раньше, например на 5-м шаге. А дальше вступал в игру третий, отдельный алгоритм. Он начинал с пустой, «придуманной» картинки № 3 и постепенно подбирал её так, чтобы при прогоне через ту же сеть на 5-м шаге она давала те же внутренние значения, что картинка № 2, а на 10-м шаге — максимально совпадала по значениям с картинкой № 1. В результате получалось изображение, где общая композиция и крупные формы были похожи на картинку № 1, а мелкие детали и текстуры напоминали картинку № 2. И так стало можно превратить селфи в картину в стиле Ван Гога.
Чуть позже появился Deep Dream — эксперимент, где, наоборот, усиливались какие-то отдельные части изображений. Здесь тоже бралась готовая нейросеть, натренированная распознавать изображения, но вместо пары картинок использовалась только одна. Ключевым параметром был выбранный шаг вычислений, который нужно было искусственно подчеркнуть — например, 12-й из 15. Алгоритм доходил в сети до этого шага, фиксировал промежуточные значения и затем усиливал их, просто умножая на некоторую константу. После этого запускался процесс обратного подбора — генерировалась новая картинка, которая при прохождении через ту же сеть уже сама давала увеличенные значения на 12-м шаге, без дополнительного умножения. В итоге Deep Dream создавала изображения, где отдельные фрагменты исходного кадра вдруг становились ярче, выразительнее и порой фантастически преувеличенными.

То есть путь от «найти кота на фото» до «сгенерировать картинку по описанию» уже был наполовину пройден — нейросети научились не только понимать изображения, но и строить их.
Творчество без границ →

Как текст превращается в картинку: встречаем большие языковые модели

в картинку: встречаем большие языковые модели
Как текст превращается
Итак, с картинками мы разобрались. Но генерация картинок по описанию или по промпту — это уже вторая половина фокуса. Нужно не только придумать изображение, но и связать его с текстом. Здесь на сцену выходят большие языковые модели на трансформерах. Это такие же нейросети, только натренированные не на массиве изображений, а на огромных корпусах текста. Их задача — продолжать текст так, как это сделал бы живой человек. Им показывают миллиарды страниц, откусывают фрагменты и заставляют угадывать недостающие куски. Постепенно сеть учится понимать, какие слова обычно стоят рядом, чувствовать стиль и интонацию, улавливать смысл связок вроде «красный кот в космическом скафандре на фоне туманности».
И вот здесь происходит ключевая вещь: язык и визуальные образы начинают жить в общем пространстве признаков. Упрощённо — и текст, и изображение можно перевести в набор чисел, которые описывают смысл. Называть это можно по-разному: эмбеддинги, векторные представления, «смысловые координаты». Важно другое: фраза «акварельный пейзаж в тумане» и подходящие ей изображения оказываются где-то рядом в этом пространстве. Это и есть фундамент мультимодальных моделей, которые умеют работать с разными видами данных: текстом, картинками, звуком и видео.
Творчество без границ →

Что происходит, когда ты пишешь промпт

когда ты пишешь промпт
Что происходит,
Теперь самое интересное — как работает генерация картинок по описанию в привычном для всех режиме «ввёл текст — получил картинку». Разберём по шагам.
Шаг 1

Текст запроса превращается в числа

Когда ты формулируешь промпт, сервис не «читает» ее по-человечески. Текст режется на токены — кусочки слов и символов, а затем каждый токен превращается в вектор чисел.
Языковая часть модели анализирует:
  • какие объекты ты упомянул (кот, город, неон, портрет, робот);
  • в каком стиле просишь создание артов (фото, акварель, аниме, 3D-рендер);
  • дополнительные уточнения: ракурс, освещение, настроение, эпоху, цветовую палитру.
В результате весь текст запроса превращается в плотное числовое представление — условный «слепок смысла».
Шаг 2

Картинка рождается из шума

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

Проверка и дорисовка деталей

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

Нейросеть — гений
или плагиатор?

или плагиатор?
Нейросеть — гений
Часто можно услышать, что нейросети «воруют» работы настоящих художников. Но нейросеть не копирует и не хранит чужие изображения как готовые файлы. Если сильно упростить, любая современная генерация изображений по запросу — это огромная система, которая переплавила миллиарды картинок и текстов в компактные математические закономерности, научилась по тексту доставать нужный «кусок» и по нему шаг за шагом создавать из шума осмысленную картинку. Когда модель генерирует новое изображение, она собирает его заново из этих абстрактных закономерностей, а не воспроизводит чью-то работу по частям.
Другая крайность — считать нейросети гениальными. Они ровно настолько гениальны, насколько гениален коллективный визуальный опыт людей, который лёг в основу обучения. Нейросеть — очень детальное зеркало, собранное из наших же текстов, фотографий, артов и запросов. Ты печатаешь промпт, алгоритм щёлкает бесчисленными формулами, и на экране появляется изображение, которое лучше всего совпадает с твоим описанием.
И, пожалуй, самое интересное начинается тогда, когда в эту цепочку вмешивается живой автор с ясной позицией. Тогда генерация изображений перестает быть просто «красивыми картинками бесплатно» и превращается в инструмент, через который можно говорить о важном — только уже не кистью, а текстом, промптом и тонкой настройкой нейросетевого зеркала.
Попробуй ↗ себя настоящим художником: в Daisy есть продвинутые инструменты для работы с изображениями, которыми ты можешь воспользоваться бесплатно. ИИ-фотошоп, генерация изображений, удаление фона и улучшение качества фото — регистрируйся ↗ и создай свой первый арт прямо сейчас.