
Почему нейросети ошибаются

Несмотря на свою высокую эффективность, нейросети могут допускать ошибки, так как они являются моделями, которые обучаются на основе опыта. Вот несколько причин, почему нейросети ошибаются:
1. Недостаточные данные для обучения: Если нейронная сеть не получила достаточного количества данных для обучения, то она может допустить ошибку. Каждый тип данных требует свой набор обучающих примеров, поэтому важно иметь достаточное количество данных для правильного обучения нейросети.
2. Неправильная предобработка данных: Перед тем, как данные будут поданы на вход нейросети, их нужно предварительно обработать. Если данные были неправильно предобработаны (например, были неправильно масштабированы или были искажены другим способом, на выборке присутствовали дополнительные элементы — к примеру, текст, водяные знаки), то это может привести к ошибкам в работе сети и дальнейшим артефактам на выходе.
3. Недостаточное время обучения: Если нейросеть была обучена недостаточно, то она может допускать ошибки. Обучение может потребовать много времени, особенно при обработке больших объемов данных.
Ошибки в нейросетях носят стохастический характер, и устранение одной ошибки может привести к возникновению другой. Поэтому важно правильно настраивать нейросети для каждой конкретной задачи и бдительно анализировать результаты ее работы. Не всегда с этим справляется ее внутренний «критик» без вмешательства человека извне.
Данная глава строится на основе трех нейросетей: this person does not exist (этого человека не существует) this cat does not exist (этой кошки не существует) this horse does not exist (этой лошади не существует)
Я сознательно не беру нейросети, генерирующие темы «по запросу» по двум причинам:
Почему нейросети не умеют рисовать руки?
Нейросети, как и любые другие алгоритмы машинного обучения, могут выполнять только те задачи, для которых они были обучены находить закономерности внутри заданных данных и использовать их для прогнозирования. Для того, чтобы нейронная сеть могла рисовать руки, ей необходимо обучаться на огромном количестве примеров рук, в разных позах, с различными деталями и в разном освещении.
Кроме того, для создания изображений рук необходима совокупность качеств алгоритма, которые сложно сочетать в одной нейросети. Для создания изображений требуются не только навыки распознавания формы, положения и размера руки, но и умение понимать тонкие отличия в текстурах и тенях, а также преобразовывать пространственные координаты в пиксели, чтобы изображение получилось правильным.
Таким образом, хотя теоретически нейросеть может научиться рисовать руки, для этого нужно провести большую работу по сбору и обработке огромного объема тренировочных данных и использовать высокотехнологический подход к решению задачи.
Почему нейросети ошибаются при рисовании фона?
Нейросети — все еще технология в стадии разработки, они могут совершать ошибки в процессе работы. Одна из причин, почему нейросети могут ошибаться при рисовании фона, заключается в том, что они могут не иметь достаточно информации о том, что является фоном, а что является объектом на изображении.
Например, если нейросеть обучалась на изображениях, где объект на фоне имеет схожий цвет или структуру с фоном, то нейросеть может не распознать правильно объект и то, что объектом не является, что приведет к ошибкам в создании фона.
В основном, для «маскировки» своего неумения нейросети стараются заливать фон одним цветом, к которому не может быть вопросов.
Важно понимать, что обучение нейросетей на большом количестве разнообразных изображений помогает улучшить ее работу, и с течением времени они совершенствуют свои умения в захватывании реальности, позволяя создавать более точные и натуроподобные фоны.
Таким образом, ошибки нейросетей при создании фона могут быть связаны с интерпретацией конкретных изображений, а также с качеством и количеством данных, использованных для обучения модели.
при накладывании картинок друг на друга можно увидеть не только схожие проблемы с фоном (пятна), но и родство между всеми котами;
При накладывании картинок друг на друга можно увидеть не только схожие проблемы с фоном (пятна), но и родство между всеми котами.
Смотря на многие изображения из исследования, начинает казаться, что какие-то персонажи повторяются.
Это происходит из-за того, что при генерации модель видоизменяет изображения, и они как-бы «перетекают» из одного в другого.
В теории, все изображения здесь — родственники.
обратите внимание на «бестелесность» травы
Трава, и в принципе растительность — огромная проблема для ИИ. Это множественные хаотичные структуры, и выделить четкую последовательность довольно сложно.
На всех изображениях она неестественно множится, может приобретать кислотные оттенки.
Просмотр фона — первое, на что нужно смотреть в случае желания отличить настоящее изображение от «поддельного».
Иногда возможны «блуждающие артефакты — как полоска полотенца внизу изображений на примерах выше.
Можно заметить, как они собираются в серии.
Всего лишь пара некачественных фотографий для обучения, и сотни неверных изображений на выходе обеспечены.
здесь же трава преобразуется в нечто, похожее на заборное плетение
Почему нейросети не могут определять границы объектов
Нейросети могут определять границы объектов на изображении, но это может быть сложной задачей в большинстве случаев. Одна из причин, почему нейросети могут не правильно определять границы объектов на изображении, заключается в недостаточном количестве информации в данных, на которых обучалась модель.
Другая причина может заключаться в сложности и многообразии изображений, с которыми работает нейросеть. Изображения могут иметь различную резкость, контрастность, размер, угол обзора, освещение, что усложняет работу нейросети.
Казалось-бы, мало изображений — плохо, много изображений — тоже плохо, что же тогда хорошо?
На самом деле, чем больше выборка для обучения, тем лучше, но одинаково принципиально нейросеть смотрит на качество фотографий.
Чем однообразней, тем лучше.
Чтобы исправить эту проблему, существуют различные методы обучения нейросетей, которые развивают их возможности в распознавании границ объектов на изображении. При обучении нейросетей используют различные архитектуры и оптимизирующие алгоритмы, которые помогают улучшить точность распознавания границ.
Таким образом, нейросети могут определять границы объектов на изображении, но для этого им необходимо обучение на большом и разнообразном количестве данных с учетом сложных условий и разнообразия сценариев.
порой, тело человека расплывается и распадается. Вероятно, связано с тем, что нейросеть пыталась сопоставить несколько фотографий, в которых человек находился в движении
с рисованием шляп у нейросети тоже очень плохо. Из-за малого количества примеров они не могут правильно определить их форму.
некоторые кошки «расплываются». Дело не в шутке, что коты — это жидкость, это вовсе не тонкий подкол от нейросети. Просто обозначить форму кошки порой сложно.
Чуть подробней взглянем на тело
как бы сложно ни было в это поверить, но это кот. По крайней мере нейросеть в этом уверена.
вот и идеальный пример «родственных» изображений. Все они похожи, и кажутся идентичными. Можно легко проследить, как кошка переливается из одной в другую.
Лирическая пауза
Небольшое отступление.
Сейчас я ввожу в исследование не получившую широкого распространения сеть this horse does not exist (этой лошади не существует).
Ее лошади крайне абстрактны и неправильны, в них столько ошибок, что «правильность» здесь будет исключением.
Эта сеть — идеальный пример недостаточного обучения модели.
Сложно сказать, что она «включает все выше и ниже упомянутые ошибки», просто по причине того, что чтобы ошибиться, нужно хоть что-то сделать правильно.
Как минимум у нее получается более правдоподобный фон, из-за чего возникает вопрос, по какому принципу и для каких целей нейросеть обучалась.
Рисовать лошадей, или, все-таки, фон?
в порыве экспрессии нейросеть иногда действительно забывает добавить лошадь на фон
лошади нет, а дырка от лошади — есть.
Почему нейросети не могут создать более одного человека на картинке
Создание более одного человека на картинке может быть более сложным из-за того, что нейронные сети работают с изображениями пикселей в определенном порядке, начиная с одного конца и заканчивая другим концом изображения. Это может привести к тому, что порядок создания нескольких лиц может стать более сложным, и можно столкнуться с трудностями в создании реалистичных и гармоничных по внешнему виду групп людей на фотографии.
Т.е. работая со входными данными, модель «регистрирует» первое на фотографии лицо.
Таким образом в нашем случае нейросеть воспринимает дополнительные лица как внешний «шум», который не соответствует «чистой» выборке, и «лица» становятся частью фоновой структуры.
Заметки
Наблюдения, которые нельзя обозначить в большие подглавы из-за малого количества примеров.
Несовершенства
Порой, на коже появляются различные артефакты.
Скорее всего это связано с некачественной выборкой фотографий для обучения модели — где-то точно просочились помехи, теперь уродующие несуществующих людей.
Возраст
Иногда, довольно редко, нейросеть может ошибиться с установкой возраста своей модели. Появляются то ли старые дети, то ли слишком молодые взрослые.
Открытые рты у кошачьих
На данный момент нейросеть ЯВНО испытывает недостаток примера открытых ртов у кошек. Всего во всей сети встречается около 3-4 вариантов «исходного» открытого рта, и все их нейросеть крайне неумело вставляет в контекст фотографии.
На видео-демонстрации ниже представлена не чистая выборка изображений, на которой обучалась модель.
Птицы брались с вкраплениями фонового изображения, из-за чего нейросеть путалась, и старалась подставить форму «фона» в форму «птицы».