Нейросети могут удивить, создавая несуществующие факты или картинки. Иногда это выглядит забавно, но порой такие ошибки вводят в заблуждение. Особенно часто галлюцинации проявляются в генеративных системах, таких как Stable Diffusion или GPT, которые создают текст, изображения и другие формы контента. Разберёмся, почему так происходит и как справляться с этим, чтобы получить точный и качественный результат.
О чем речь??
Галлюцинации нейросетей — это ошибки модели, при которых она генерирует контент, не имеющий связи с реальностью. Например, текстовые модели могут «выдумывать» факты, а генераторы изображений, такие как Stable Diffusion, создают визуальные элементы, которые не существуют в реальности (скажем, здания с невозможной архитектурой или людей с дополнительными конечностями). Если вы хотите распознать фейковое изображение, обратите внимание на руки: они часто спрятаны, обрезаны или выглядят странно. Это один из первых признаков генерации.
На первый взгляд, такие ошибки могут выглядеть как незначительные недочёты. Однако в профессиональных областях, например, в медицине или юриспруденции, такие «галлюцинации» могут стать причиной серьёзных проблем. Визуальные ошибки также могут сбить с толку зрителей, особенно если контент создан для образовательных целей.
Причины возникновения галлюцинаций
1. Ограниченность обучающих данных
Нейросети обучаются на больших объёмах информации. Однако даже самые большие датасеты не могут охватить весь спектр возможных запросов и ситуаций. Если модель сталкивается с ситуацией, не представленной в её обучающих данных, она начинает «гадать», что в итоге приводит к галлюцинациям. Недостаточная база обучения тоже вызывает проблемы: если модель обучена на изображениях 512×512 пикселей, она не сможет качественно сделать апскейл до 4K, так как не знает, как выглядят детали в высоком разрешении.
2. Погрешности данных
Если в обучающем наборе присутствуют неточности или шум, модель будет учитывать их в процессе обучения. Например, некорректные подписи к изображениям могут привести к тому, что модель начнёт неправильно интерпретировать визуальные объекты. Если в обучении кружка будет ошибочно подписана как тапок, модель начнёт считать, что тапки сделаны из керамики.
3. Неправильная настройка параметров
Генеративные модели, такие как Stable Diffusion, имеют множество настроек: от температуры до коэффициентов случайности. Если параметры подобраны неверно, увеличивается вероятность генерации галлюцинаций. Если вы загрузили картинку большого разрешения и хотите сделать его апскеил (например 2к до 4к), вероятность ошибок высока. Лучше использовать изображения с исходным разрешением не более 800 пикселей.
4. Компромиссы в архитектуре модели
Современные нейросети строятся с учетом баланса между скоростью и точностью. Это означает, что некоторые аспекты контента могут быть преднамеренно упрощены, что увеличивает вероятность ошибок. Нужно смотреть на название модели которые вы качаете (Small, Medium, XL).
5. Контекст и запросы пользователя
Некорректно сформулированный запрос может ввести модель в заблуждение. Например, если задать сложный вопрос или запросить противоречивую информацию, модель может сгенерировать несогласованный ответ или «воображаемый» результат. Хороший способ — представить, что вы объясняете промт другу, чтобы у вас возникла одна и та же картинка в голове. Если вы скажете просто «красный цветок», один подумает о маке, а другой — о розе. Будьте точнее.
Примеры галлюцинаций в Stable Diffusion
Stable Diffusion — мощный инструмент для генерации изображений, но и у него есть свои слабости:
- Искажение пропорций. На изображении человек может получить шесть пальцев вместо пяти.
- Неестественные текстуры. Например, стеклянные поверхности иногда выглядят как жидкость.
- Контекстные ошибки. Модель может сгенерировать собаку с лицом кошки, если запрос был слишком расплывчатым.
Как бороться с галлюцинациями?
1. Улучшение обучающих данных
Чем более качественным и разнообразным будет обучающий набор, тем меньше вероятность ошибок. Важно, чтобы данные были тщательно проверены и очищены от ошибок.
2. Ретушь
Примите факт, что изображение придётся дорабатывать — нейросеть редко создаёт идеальный результат с первого раза.
3. Дополнительное обучение
Если модель часто ошибается в определённой области (например, в создании архитектурных объектов), можно дообучить её на рендерах экстерьеров.
4. Оптимизация параметров генерации
При работе с генеративными нейросетями важно корректно настраивать параметры, такие как «guidance scale» в Stable Diffusion. Это помогает направить модель в нужное русло.
5. Человеческий контроль
Помните, что у нейросети нет опыта и понимания контекста. Разные английские слова могут иметь разные значения, поэтому иногда нужно пробовать разные фразы и переводы, чтобы она поняла запрос.
Так же приглашаю вас в мой Telegram-канал «Одна кавычка»: о коммуникационном дизайне, трендах и кейсах. Там я выпускаю новенькое каждый день.