Анализ данных • 23 сентября 2024 • 5 мин чтения

Как ошибаются нейросети и можно ли уберечь себя от их промахов

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

Причины ошибок нейросетей

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

Например, нейросеть обрабатывает 10 тысяч изображений столов и выявляет простейшие закономерности: это предмет мебели, который может иметь разную форму и разное количество ножек: одну, две, три, четыре и т. д.

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

Другой пример возникновения ошибки: просматривая сотни видеороликов, раскадровок и стоп-кадров, в том числе размытых, нейросеть фиксирует случайное появление в моменте у персонажа третьей ноги, шестого пальца или непропорциональных плеч и принимает это за норму.

Лишние части тела — одна из самых частотных галлюцинаций нейросетей при генерации изображений. Источник: behance

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

Например, YandexGPT легко сформулирует теорему Пифагора или перескажет содержание «Властелина колец» в 300 слов, но постарается избежать ответа на вопрос, кто победил в разразившейся в 1917 году Гражданской войне в России. Это связано со спецификой машинного обучения нейросети: она должна дать ответ, но в этом случае он может быть размытым либо содержать последнее упоминание темы в открытом доступе.

Научиться готовить данные для нейросетей и создавать обучающие алгоритмы можно на курсе «Инженер машинного обучения». Учёба в онлайн-формате займёт 4 месяца, за это время студенты освоят теоретическую часть, выполнят шесть проектов и разработают три сервиса для портфолио. Найти новую работу с таким бэкграундом будет проще, а ещё получится завести ценные связи в сообществе.

Примеры ошибок нейросетей

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

Противоречивость. Текстовая нейросеть обучается на тысячах текстов, обрабатывая в том числе противоположные точки зрения на один вопрос. Поэтому она может выдавать состоящий из множества пунктов ответ, в котором первый будет противоречить последнему.

Самые распространённые типы ошибок нейросетей

При генерации изображений

❌ Неправильные пропорции

❌ Лишние детали или, наоборот, отсутствие нужных

❌ Стилевая разноголосица

При генерации текстов

❌ Полное отсутствие персонализации, обезличенность текста

❌ Общий характер формулировок

❌ Уклон в канцеляризм

Дарья Сидорук

Как правило, пользователь может быстро распознать, что текст создан нейросетью и лишь минимально отредактирован. На это указывают общие, расплывчатые или шаблонные формулировки, а также ответы в стиле капитана Очевидность.

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

Постоянное переобучение нейросетей, в частности в процессе их использования, приводит к модификации ошибок: исчезают предыдущие, но появляются новые. Источник: midjourney

Как проверить ответы нейросети на ошибки

Сегодня не существует какого-то специального сервиса, который перепроверяет нейросеть на галлюцинации. Вот каким путём пользователь может проверить достоверность ответа:

Визуально — этот метод подходит для сгенерированных картинок.
Проверка через внушающие доверие источники — например, правильность доказательства теоремы Пифагора можно проверить, сравнив с ходом рассуждений в учебнике.
Повторение одного и того же запроса несколько раз и сравнение ответов. Если суть ответов остаётся одинаковой, вероятность ошибки в ответе минимальна.
Проверка одного промпта в разных нейросетях и сравнение ответов. Этот метод больше подходит для текстовых генераций, но можно поэкспериментировать и с картинками. Например, текстовый промпт можно отправить в чат GPT, YandexGPT 2 и GigaChat.

Дарья Сидорук

Есть отдельные области, в которых мы можем довериться нейросети. Например, это область точных формулировок: правил, теорем, расчётов. Можно в качестве эксперимента пересчитать за машиной, но в подавляющем большинстве случаев мы получим правильные ответы.

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

Способы минимизации ошибок нейросетей

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

Негативный промпт. Например, в интерфейсе Stable Diffusion есть специальное окно, где можно написать негативный промпт. Так называют слова, которые будут действовать как исключение — например, это могут быть те же шестой палец или третья нога, то есть сущности, которые мы точно не хотим видеть в сгенерированном изображении. Также в качестве негативного промпта можно прописать общие нежелательные результаты: bad anatomy, distorted, extra limb и т. д.

Кодинг. В Midjourney можно использовать дополнительные параметры или символы — с ними процесс создания промпта уподобляется простейшему кодингу. Например, можно указать, какой уровень хаоса или стилизации требуется.

Чем больше в промпте контекста и характеристик, тем точнее результат выдаёт нейросеть. Источник: midjourney

Важно всегда перепроверять созданный нейросетью контент, редактировать и дорабатывать тексты.

Совет эксперта

Дарья Сидорук

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

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

Ещё советую попробовать делать один и тот же промпт в разных нейросетях и не бояться экспериментировать с их настройками и детализацией. Пользователь не может сам сделать что-то неправильно, но может получить неожиданный результат генерации, которого ещё не было.

Статью подготовили:
Дарья Сидорук
Яндекс Практикум
Моушн-дизайнер, креативный продюсер, ООО «БТМ» / творческая мастерская «Беатриче»
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Fri Nov 15 2024 12:47:29 GMT+0300 (Moscow Standard Time)