ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ

Как ИИ генерирует картинки из текста

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

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

Сначала ИИ учится отличать кота от хаоса

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

Это похоже на то, как ты сам учился узнавать предметы в детстве. Тебе показывали разных собак — большую, маленькую, лохматую, гладкую — и в какой-то момент в голове сложился общий образ «собаки». Теперь ты узнаешь собаку, даже если видишь её впервые. ИИ проходит тот же путь, только на чудовищном количестве примеров.

Магия начинается с чистого шума

А теперь самое странное и самое интересное. Современные генераторы картинок (их называют диффузионными моделями) начинают рисовать не с пустого холста, а с случайного шума — той самой «ряби», которую старые телевизоры показывали, когда не ловили канал. Просто экран, забитый хаотичными цветными точками.

Звучит безумно: как из мусора получить кота? Но вот в чём фокус. Во время обучения сеть тренировали наоборот: брали нормальную картинку и постепенно добавляли к ней шум, шаг за шагом, пока от изображения не оставалась сплошная рябь. А сеть училась предсказывать, что именно нужно убрать, чтобы вернуться на один шаг назад — к чуть более чёткой картинке.

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

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

А где же здесь твой текст?

Хороший вопрос. Если просто чистить шум, получится какая-то картинка, но не та, что ты просил. Поэтому твоя фраза играет роль проводника.

Сначала отдельная часть системы превращает твои слова в набор чисел — компактное математическое описание смысла. Для компьютера «рыжий кот в скафандре» — это не буквы, а координаты в огромном пространстве смыслов, где похожие понятия лежат рядом. И на каждом шаге очистки шума модель сверяется с этим описанием: «Я двигаюсь в сторону кота в скафандре или куда-то не туда?»

Получается, текст — это как штурман в ралли. Гонщик (модель очистки шума) крутит руль, а штурман постоянно подсказывает: «Чуть больше рыжего, добавь скафандр, фон делай космическим». Без штурмана машина уехала бы куда попало; без водителя штурман никуда не доедет. Только вместе они приходят к нужной картинке.

Почему две одинаковые фразы дают разные картинки

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

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

  • Детали в запросе решают многое. Чем точнее ты опишешь сцену, стиль, освещение и настроение, тем ближе результат к задумке.
  • Случайность — это фича. Не понравилось — жми генерацию ещё раз, выпадет другой вариант из того же описания.
  • Модель знает только то, чему её учили. Если в обучающих данных чего-то не было, нарисовать это правдоподобно ей будет трудно.

Почему у ИИ иногда шесть пальцев

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

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

#генерация изображений#диффузия#искусственный интеллект#машинное обучение#нейросети
Понравилась статья?
В Telegram-канале — лучшее из журнала и анонсы новых учебников.