Генерация изображения по описанию: почему нейросеть искажает сюжет из-за одной фразы
«Зелёная скамейка, синий автомобиль, мужчина читает книгу». Человек легко связывает каждый цвет со своим объектом. Генератор может распределить атрибуты иначе: сделать скамейку синей, автомобиль зелёным, а заодно перенести книгу на капот.
Денис Архипов, Аналитик данных и фактчекер·Обновлено: 01 ноября 2026 г.·7 мин

Запрос кажется простым, но модель не воспринимает его как готовую сцену с чёткими связями между предметами.
Так проявляется одна из особенностей генерации изображения по описанию: слова влияют друг на друга, и их смысл не всегда остаётся привязанным к нужному объекту. Это не обязательно сбой конкретного сервиса. Разные генераторы используют разные текстовые энкодеры и способы обработки запроса, но ошибочная привязка атрибутов встречается в самой задаче преобразования текста в изображение.
Как текстовый энкодер обрабатывает промпт
Перед генерацией текст проходит через энкодер. Он разбивает фразу на токены и преобразует их в числовые представления, с которыми работает модель. Токеном может быть целое слово или его часть. Затем эти представления участвуют в построении изображения: помогают определить, какие объекты и признаки должны появиться в кадре.
Это не означает, что генератор читает предложение так же, как человек. Для нас фраза «зелёная скамейка рядом с синим автомобилем» задаёт два предмета, у каждого из которых есть свой цвет. Для модели запрос становится набором взаимосвязанных сигналов. Насколько хорошо она удержит отношения между ними, зависит от архитектуры, обучения и способа генерации.
CLIP — один из известных вариантов текстового энкодера, но универсальной основой всех генеративных инструментов его считать нельзя. В разных системах применяются разные энкодеры, а некоторые модели используют несколько текстовых представлений. Поэтому и ограничение по длине контекста нельзя переносить с одной архитектуры на все остальные. Например, лимит в 77 токенов встречается в отдельных системах, но не является общим правилом для генераторов изображений.
Сходный принцип действует и в моделях на основе диффузионных трансформеров, хотя детали обработки у них могут отличаться. Упрощённо: текст задаёт условия для генерации, а модель шаг за шагом создаёт изображение, стараясь им соответствовать. Но наличие слов в запросе ещё не гарантирует, что система правильно поймёт, какое свойство относится к какому предмету. Особенно когда объектов несколько, признаки похожи или сама формулировка перегружена.
Генератор получает не готовую сцену с подписанными предметами, а набор текстовых сигналов, связи между которыми ему ещё предстоит удержать.
Сбой связывания атрибутов: почему синяя скамейка становится синим автомобилем
Связывание атрибутов, или attribute binding, — это соответствие между объектом и его свойством. В запросе «зелёная скамейка и синий автомобиль» цвет должен закрепиться за конкретным предметом. Сбой возникает, когда модель переносит признак на соседний объект, теряет один из цветов или делает оба предмета одинаковыми.
Такое смешение возможно из-за взаимодействия токенов в процессе генерации. Цвет и название предмета не хранятся как отдельная пара с жёсткой меткой «этот признак принадлежит этому объекту». Вместо этого модель обрабатывает взаимосвязанные представления слов. Если запрос содержит несколько предметов и несколько признаков, связь между ними может оказаться недостаточно устойчивой. Это возможное объяснение механики ошибки, а не утверждение о конкретной частоте сочетаний в обучающих данных.
На результат влияет и сама формулировка. В коротком запросе «зелёная скамейка, синий автомобиль» связи видны достаточно ясно, но модель всё равно может их перепутать. В длинном описании к цветам добавляются материал, освещение, положение, фон и стиль. Часть деталей может усилить нужный образ, а часть — создать дополнительную неоднозначность.
Если важно сохранить разные атрибуты, полезно разнести их по простым фразам: «Скамейка зелёная. Рядом стоит синий автомобиль». Это не гарантирует точного результата. Но в такой формулировке меньше шансов, что два цвета сольются в одно общее описание сцены.
Сбой связывания атрибутов исследуют, в частности, на специальных бенчмарках для генерации изображений. Однако вывод о том, что проблема обязательно одинаково проявляется в большинстве закрытых коммерческих моделей, делать нельзя: их внутренние данные и механизмы оценки обычно недоступны. Корректнее говорить, что ошибочные привязки воспроизводятся в разных исследуемых системах, а частота и характер сбоев зависят от модели и запроса.
Семантическая утечка: когда надпись меняет кадр
Текст на изображении — отдельная трудная задача. Пользователь просит разместить на стене слово Welcome, а генератор меняет не только участок стены. Он может сделать освещение теплее, смягчить общий стиль или добавить элементы, которые модель связывает с приветствием и гостеприимством.
Такой эффект называют семантической утечкой: смысл одного элемента влияет на другие части изображения. В данном случае слово, которое должно было стать надписью, может одновременно работать как смысловая подсказка для всей сцены. Важно не путать это с прямым доказательством того, что модель обязательно «понимает» слово как человек. Речь о влиянии текстового сигнала на результат, которое может проявиться шире, чем ожидалось.
Есть и более буквальный вариант. Запрос вроде «профессиональный вид» может привести к появлению слова «professional» на фоне, хотя автор промпта имел в виду общий стиль картинки, а не надпись. Генератор иногда смешивает описание качества изображения с указанием на видимый текст. Чем больше в запросе абстрактных стилевых слов и прямых требований к надписям, тем труднее предсказать, где именно они отразятся.
Для оценки таких ошибок исследователи используют разные метрики, в том числе показатели распознавания и влияния текста на остальную композицию. Но сами названия метрик не означают, что существует единый способ измерить все виды семантической утечки. В разных работах могут отличаться задачи, наборы изображений и методика оценки. Поэтому формулировку «модель полностью переписала сцену» стоит понимать как описание возможного эффекта, а не как универсальный результат для любого запроса.
Почему длинное описание не всегда помогает
Подробность полезна, пока она уточняет сцену. Если же в одном промпте перечислено много объектов, свойств, условий освещения и стилевых требований, растёт число связей, которые модели нужно удержать одновременно. Она может точно передать общий стиль, но перепутать, кому принадлежит цвет, сдвинуть предмет или проигнорировать часть деталей.
Дело не в том, что каждое новое слово автоматически добавляет ошибку. Один удачно сформулированный признак способен прояснить задачу. Проблема начинается, когда описание наращивает детали без ясной структуры: сначала задаёт сцену, затем повторяет её другими словами, добавляет противоречивые пожелания и несколько объектов с похожими свойствами. В итоге текст содержит больше сигналов, но не обязательно больше ясности.
Практичнее разделить запрос на несколько смысловых частей:
1. Сначала назвать главные объекты. Например: скамейка, человек, книга, автомобиль.
2. Закрепить важные свойства за предметами. Не «зелёный и синий в парке», а «зелёная скамейка; синий автомобиль».
3. Отдельно описать расположение. Например, автомобиль стоит на дороге за скамейкой.
4. Добавить стиль и свет, если они действительно важны. Эти параметры не должны заслонять смысл сцены.
5. Убрать повторения и конфликтующие детали. Если одно слово требует тёплого света, а другое — холодной ночной сцены, модель может смешать или усреднить эти указания.
Негативный промпт тоже не стоит воспринимать как жёсткий запрет. Указание убрать объект или надпись может снизить вероятность их появления, но не всегда полностью контролирует результат. Возможности негативных условий зависят от конкретной модели и её способа генерации. Поэтому они скорее помогают скорректировать изображение, чем гарантируют изоляцию от нежелательных деталей.
Чем больше деталей в запросе, тем важнее не их количество, а ясность связей между объектами и признаками.
Что показывают бенчмарки композиционной генерации
Бенчмарки помогают сравнивать модели на задачах, где недостаточно просто нарисовать узнаваемый объект. Нужно проверить, сохранился ли нужный цвет, правильно ли посчитаны предметы и верно ли переданы отношения между ними. Среди таких наборов есть T2I-CompBench и GenEval. Они исследуют разные стороны композиционной точности, поэтому их результаты нельзя свести к одной универсальной оценке.
| Бенчмарк | Что проверяет | Что помогает заметить |
|---|---|---|
| T2I-CompBench | Композиционные задачи, включая свойства объектов и отношения между ними | Где модель теряет связи между несколькими признаками и предметами |
| GenEval | Наличие объектов, их количество и отдельные атрибуты или отношения | Насколько созданная сцена соответствует заданным элементам запроса |
Такие тесты делают видимым разрыв между узнаваемостью картинки и точностью следования инструкции. Изображение может выглядеть убедительно, но при этом предметов окажется не столько, сколько просили, или нужный признак будет привязан не к тому объекту. Для пользователя это важное различие: визуальная цельность не равна точному выполнению промпта.
Бенчмарк также не обещает, что любая модель поведёт себя так же в повседневном запросе. Результат зависит от набора тестов, формулировок, настроек генерации и способа автоматической оценки. Поэтому правильный вывод скромнее громких заявлений о том, что все генераторы одинаково плохо понимают сложные предложения: композиционные ограничения можно измерять, но их проявление меняется от задачи к задаче.
Ошибка начинается в связи, а не в одном слове
Когда нейросеть смешивает скамейку и автомобиль, проблема не обязательно в том, что пользователь выбрал «неправильное» слово. Модель может неверно распределить атрибуты даже в понятной фразе, поскольку создание картинки по текстовому запросу не работает как строгий разбор предложения. Текстовый промпт задаёт условия, а результат зависит от того, насколько конкретная система умеет сохранять связи между ними.
Поэтому совет писать короче полезен не как закон, а как способ убрать двусмысленность. Если в сцене важны несколько объектов, называйте их и сразу прикрепляйте к каждому нужные признаки. Отдельно задавайте положение и стиль. А если ошибка повторяется, меняйте формулировку или разделяйте задачу на этапы.
Нейросеть рисует по тексту не как иллюстратор, который сначала размечает сцену, а затем раскрашивает каждый предмет. Она может приблизиться к нужному изображению, но отдельные связи остаются уязвимыми. Чем яснее устроен запрос, тем меньше пространства остаётся для путаницы. Финальное слово всё равно за изображением, а не за обещанием, что промпт звучал недвусмысленно.