Как ошибаются нейросети и можно ли уберечь себя от их промахов
Как ошибаются нейросети и можно ли уберечь себя от их промахов
Рассказываем, как избежать галлюцинаций нейросети, получить изображение без третьей ноги и в целом минимизировать риск ошибки.
«Галлюцинация нейросети» — это ситуация, когда искусственный интеллект в ответ на запрос пользователя выдаёт ошибочный или недостаточно достоверный ответ. Причины ошибок нейросетей кроются в механике их работы. Нейросеть учится путём насмотренности, собирая и обрабатывая огромные массивы информации. Закономерности она находит сама, и бывает, что в этот процесс закрадываются ошибки.
Например, нейросеть обрабатывает 10 тысяч изображений столов и выявляет простейшие закономерности: это предмет мебели, который может иметь разную форму и разное количество ножек: одну, две, три, четыре и т. д.
Но нейросеть не может стопроцентно связать стол с категорией мебели или с домом либо самостоятельно представить, что за столом люди обычно пьют чай. Из-за этого при генерации появляются логические ошибки, которые человеку кажутся очевидными: например, плывущий по морю вверх ногами стол. Кажется, что это результат недообученности, но как при этой генерации «мыслила» нейросеть, пользователь узнать не сможет.
Другой пример возникновения ошибки: просматривая сотни видеороликов, раскадровок и стоп-кадров, в том числе размытых, нейросеть фиксирует случайное появление в моменте у персонажа третьей ноги, шестого пальца или непропорциональных плеч и принимает это за норму.
Лишние части тела — одна из самых частотных галлюцинаций нейросетей при генерации изображений. Источник: behance
Что касается генерации текстов, в этой области ошибки чаще возникают, когда речь заходит об исторических, философских или морально-этических вопросах. С точными математическими формулировками, пересказами или другими конкретными задачами нейросеть справляется лучше. Так, нейросеть при подробно написанном промпте может довольно точно рассчитать бюджет или выполнить сложный расчёт, но на этические вопросы часто либо отказывается отвечать, либо просто приводит подборку разных мнений со ссылками на источники.
Например, YandexGPT легко сформулирует теорему Пифагора или перескажет содержание «Властелина колец» в 300 слов, но постарается избежать ответа на вопрос, кто победил в разразившейся в 1917 году Гражданской войне в России. Это связано со спецификой машинного обучения нейросети: она должна дать ответ, но в этом случае он может быть размытым либо содержать последнее упоминание темы в открытом доступе.
Научиться готовить данные для нейросетей и создавать обучающие алгоритмы можно на курсе «Инженер машинного обучения». Учёба в онлайн-формате займёт 4 месяца, за это время студенты освоят теоретическую часть, выполнят шесть проектов и разработают три сервиса для портфолио. Найти новую работу с таким бэкграундом будет проще, а ещё получится завести ценные связи в сообществе.
Отсутствие точности. Например, когда нейросеть сообщает, что у неё недостаточно данных для точного ответа, даёт размытый ответ или просто ссылку на последнее упоминание темы в открытом доступе — либо отвечает не по существу. Современные нейросети стараются дать ответ, даже если не знают его.
Противоречивость. Текстовая нейросеть обучается на тысячах текстов, обрабатывая в том числе противоположные точки зрения на один вопрос. Поэтому она может выдавать состоящий из множества пунктов ответ, в котором первый будет противоречить последнему.
Постоянное переобучение нейросетей, в частности в процессе их использования, приводит к модификации ошибок: исчезают предыдущие, но появляются новые. Источник: midjourney
Сегодня не существует какого-то специального сервиса, который перепроверяет нейросеть на галлюцинации. Вот каким путём пользователь может проверить достоверность ответа:
● Визуально — этот метод подходит для сгенерированных картинок.
● Проверка через внушающие доверие источники — например, правильность доказательства теоремы Пифагора можно проверить, сравнив с ходом рассуждений в учебнике.
● Повторение одного и того же запроса несколько раз и сравнение ответов. Если суть ответов остаётся одинаковой, вероятность ошибки в ответе минимальна.
● Проверка одного промпта в разных нейросетях и сравнение ответов. Этот метод больше подходит для текстовых генераций, но можно поэкспериментировать и с картинками. Например, текстовый промпт можно отправить в чат GPT, YandexGPT 2 и GigaChat.
● Подробная детализация промпта. Нужно стараться задавать нейросети как можно больше условий, то есть создавать максимально расширенный промпт. Например, попросить написать школьное сочинение не просто на тему «Как я провёл лето», а на тему «Как я провёл лето» от лица шестиклассника, который живёт в Свердловской области, ездил на неделю в скалолазный лагерь на Аракуль, объедался там черникой, а потом ещё посетил с бабушкой музей деревянного зодчества в Нижней Синячихе.
● Негативный промпт. Например, в интерфейсе Stable Diffusion есть специальное окно, где можно написать негативный промпт. Так называют слова, которые будут действовать как исключение — например, это могут быть те же шестой палец или третья нога, то есть сущности, которые мы точно не хотим видеть в сгенерированном изображении. Также в качестве негативного промпта можно прописать общие нежелательные результаты: bad anatomy, distorted, extra limb и т. д.
● Кодинг. В Midjourney можно использовать дополнительные параметры или символы — с ними процесс создания промпта уподобляется простейшему кодингу. Например, можно указать, какой уровень хаоса или стилизации требуется.
Чем больше в промпте контекста и характеристик, тем точнее результат выдаёт нейросеть. Источник: midjourney
Важно всегда перепроверять созданный нейросетью контент, редактировать и дорабатывать тексты.
Совет эксперта
Читать также: