Содержание статьи
Откуда у ИИ проблемы с руками
Сложная и изменчивая форма
Одним из способов решения этой проблемы является включение предварительных знаний о геометрии рук и конечностей в архитектуру нейронной сети. Например, в некоторых моделях используются специализированные модули, предназначенные для улавливания геометрической структуры рук и пальцев, а в других — ограничения или штрафы, побуждающие генерируемые изображения соответствовать определенным геометрическим свойствам.
Некоторые фото рук, которые есть в датасетах, могут быть не самого высокого качества и изображать лишь отдельные пальцы кисти. Если нейросеть получает много таких фотографий, то она начинает думать, что именно так и должны выглядеть руки. Для того чтобы улучшить работу нейросетей с изображениями рук, нужно дополнительное обучение, которое позволит им не только узнавать внешний вид рук, но и также понимать, как они функционируют и какие ограничения существуют у человеческих конечностей.
Иногда имеющиеся данные для обучения могут не включать достаточное количество примеров рук в различных позах. Из-за этого нейросети будет сложно генерировать реалистично выглядящие руки и конечности. Это может существенно повлиять на общее качество генерируемых изображений.
Недостаток изображений или недостаточное количество обучающих данных тоже может внести свой вклад в проблему генерации рук в нейронных сетях для генерации изображений. Тренировочные данные, используемые для обучения этих моделей, должны быть разнообразными и охватывать широкий спектр сценариев, поз и условий освещения. Это гарантирует, что полученная модель способна генерировать высококачественные изображения, точно отражающие реальный мир.
Почему у искусственного интеллекта возникают проблемы с человеческими руками? Неважно, какую именно нейросеть вы используете, но на изображении человека с яблоком руки всегда выглядят странно. Почему это так сложно, ведь представляется довольно простым? Странно, ведь ИИ может мгновенно одеть Авраама Линкольна как гламурного Дэвида Боуи. Зато запрос «женщина с телефоном в руках» неизбежно влечет проблемы. Неспособность обработать человеческие руки может приоткрыть для нас завесу тайны функционирования ИИ.Что же в этом такого сложного?Я спросил художника, научившего тысячи людей рисовать руки по памяти.Полную версию видео смотрите эксклюзивно в сообществе ИноСМИ ВКонтакте— Прежде чем решить стать художником-любителем или выучиться на него профессионально, вы работаете с распознаванием образов, изучаете несметное количество разных рук и четко усваиваете, как они должны выглядеть.— Мы узнаём о внешнем виде разных вещей из окружающего нас мира благодаря распознаванию шаблонов. С ИИ ситуация схожая, но есть ряд важных отличий. Представьте, что искусственный интеллект — это вы, только с самого рождения запертый в музее. В таких условиях источники обучения машины сводятся к картинкам и небольшим плакатам на «стенах».Вот яблоко — красное яблоко на коричневом столе. Оно похоже на изображения из интернета и те описания, что к ним прилагаются. Это похоже на то, как обучаетесь вы, но взаперти. Чтобы получше изучить внешний вид яблока, мы можем покрутить его в руке и по-разному рассмотреть, а ИИ для этого нужно найти в своем «музее» еще одно изображение яблока. Распознавание образов позволяет ИИ и людям прилично рисовать эти самые яблоки, но процессы при этом происходят разные.— Итак, вы решили учиться на художника, и наступает момент выучить ряд правил. Здесь-то и появляется главное отличие от паттернов обучения искусственного интеллекта. Чтобы нарисовать нечто сложное, художники поначалу упрощают предметы до базовых форм. Ладонь, например, можно представить совокупностью блоков с добавлением передней и задней частей, а также толщины. Можно упростить образ до трехмерного квадрата. Дальше в ход идут стиль, текстура и детали.— ИИ действует иначе. Взгляните на эту руку: ее форма причудлива, но при этом нейросеть проделала хорошую работу со светом и текстурой. Помните: ИИ знает, как вещи выглядят, а как работают — нет. Пиксельные паттерны понять легко, в отличие от способов согнуть пальцы. Из-за «музейного обучения» нейросеть не упрощает форму, а просто пытается угадать, где должны быть пиксели, похожие на руки, без оглядки на функционирование последних в реальной жизни, как это делаем мы.Слушайте, меня это не устраивает. ИИ справляется с изображением рук хуже человека, но при этом способен, не обладая знаниями в области строительства, сгенерировать запрос «красивый небоскреб в Нью-Йорке». Чтобы во всем разобраться, я поговорил с двумя людьми, которые работают с генеративными моделями. Йилун Ду — аспирант, отдавший сердце робототехнике, но втянувшийся в работу с нейросетями на волне популярности ИИ.— Из-за того, насколько популярны эти модели в генеративном искусстве, я тоже ими увлекся.— Еще я пообщался с Роем Шилкротом, у которого весьма разностороннее резюме, но с 2018 года он преподает генеративное искусство.— Приходят хорошие студенты и пытаются сломать эти модели, чтобы вывести их на следующий уровень.— Давайте выделим три веские причины — не все, а только три, — по которым ИИ не может сгенерировать нормальное изображение рук. Это размер и качество данных, принцип работы кистей, и отсутствие права на ошибку.Разбирая пункт с размером данных, давайте вернемся к идее с музеем, в котором тусуется робот. В нем масса комнат, посвященных лицам — но не рукам, то есть возможностей для обучения у него меньше. Например, в фотохостинге Flickr хранится 70 тысяч лиц и 200 тысяч фотографий знаменитостей по множеству параметров, таких как «очки» или «острый нос». Существует приличный массив данных о руках, которые действительно помогут лучше их понять. Вот здесь, например, представлено 11 тыс. изображений кистей и ладоней, но они могли не использоваться в процессе обучения нейросети.Эта нехватка данных коррелирует с их качеством и сложностью. Данные о руках в художественном музее не имеют аннотации с объяснением принципа их работы, в отличие от конкретного запроса «знаменитости с острым носом».— Вот есть изображение, вот на нем человек, а в руке у него зонт. Вы не даете машине уточняющие подсказки, чтобы, скажем, его большой палец лежал поверх указательного, а не всех остальных, которые, в свою очередь, обхватывают ручку зонта.— Ситуация усугубляется тем, что руки действуют множеством способов, в отличие от того же лица, например.— Наиболее распространенные лица — это портретные фото, коих в интернете бессчетное множество. Суть в том, что изображение центрировано, и глаза всегда находятся в конкретном месте, и вообще существует определенный порядок.— Ситуация с руками иная, ведь они могут совершать множество разных движений: и так, и эдак. (Клянусь, я не пил!) Стэн, кстати, тоже этот момент упомянул.— Сколько пальцев сейчас видно: два или три? ИИ не знает, что их всегда пять, потому что видно бывает не все.— Эта проблема характерна не столько для рук, сколько для самого искусства ИИ-моделирования. Рассмотрим на примере лошадей.— Нейросеть может выдать лошадь с тремя, пятью, шестью ногами — вариантов много, а объяснять ему нюансы положения некогда. К тому же ИИ не настолько предвзят, как мы с вами.— Слышали последнюю мысль? Отлично, потому что это действительно важно!— ИИ не настолько предвзят, как мы с вами.— Мы много внимания уделяем рукам и хотим, чтобы они выглядели идеально. Права на ошибку почти нет. Но модель не понимает эстетику рук и видела их не так много, да и не может отследить их причудливое поведение, поэтому и выдает изображения, похожие на руки, которые она когда-то видела в своем музее, но не на реальные человеческие. Позвольте привести несколько примеров.Итак, попросим изобразить человека ровно с пятью веснушками на щеке. Эту картинку сгенерировала DALL-E, вот работа Stable Diffusion, а здесь потрудилась Midjourney. Отличная работа, могу сказать. Мы получили человека с рыжими волосами, у которого наверняка будут веснушки, только вот их не пять. Это не имеет особого значения, поскольку в итоге нам все же создали веснушчатое лицо.Для рук стандарты куда выше. Давайте еще раз взглянем на человека с яблоком. Я сделал три вариации этой картинки, и везде руки выглядят странно, но обратите внимание на другие моменты. ИИ изменил полоски на рубашке, пуговицы и вид яблока, но все это не особенно важно, потому что полоски остались полосками, пуговицы — пуговицами, а яблоко — яблоком. А вот такое подобие рук никуда не годится.Все эти размышления наводят на следующие выводы: ИИ плохо разбирается в искусстве в целом, как мы поняли на примере рук, и вряд ли в будущем сможет усовершенствоваться. Оба утверждения не совсем верны. Скажу, что на данный момент у современнейшей из современных нейросетей — Midjourney пятой версии (Mj5) — с руками явно стало намного лучше, но все же не до конца. Так что лучше не просите ИИ изображать зонт в руке.— Думаю, они тратят много времени на то, что нравится аудитории, но многое вы даже не замечаете. Да, пейзажи получаются хорошие, а вот с изображением людей есть куда стремиться.— Работа идет по двум направлением. Во-первых, специалисты заставляют нейросети прогонять через себя огромный объем изображений, что требует больше вычислительной производительности.— Эту проблему пытаются решить в широком масштабе, потому что тренировка на горстке изображений — это одно, а если их больше сотни — совсем другое, ведь процесс требует огромных ресурсов для переобучения самой модели.— Решением может стать привлечение в «музей» большего количества людей.— Есть интересная аналогия. Вы наверняка слышали о ChatGPT, так вот его главная отличительная особенность заключается в том, что за основу берется реакция пользователей. Разработчики генерируют множество предложений и просят людей их оценить. По сути, они настраивают модель таким образом, чтобы она генерировала предложения, которые людей убедят и устроят. Думаю, потребуется много инженерных усилий, чтобы заставить народ маркировать такое количество данных, но можно же просто спрашивать их, насколько хорошо нейросети генерируют изображения, и тогда многие проблемы исчезнут. Модели тренируют делать то, что нравится людям.— Дело не в руках, зубах или кубиках пресса — дело в шаблоне, куда входит множество переменных. У ИИ нет правил относительно того, как много их может быть, и он тренируется на разных объемах данных.
Еще одна причина плохой генерации рук: отсутствие фотографий людей в полный рост в датасетах. Нейросети достаточно хорошо научились рисовать лица, одежду, тела и пейзажи, но когда на картинке появляются руки, то сгенерированные изображения можно легко отличить от работы реального художника.
Отсутствие референсов
В процессе исследования данного явления, компания Stability AI, занимающаяся разработкой нейросетей, сообщила, что для обучения ИИ-художников используются масштабные датасеты, состоящие из десятков миллионов изображений. Чем больше в датасетах присутствует частей человеческого тела, тем лучше нейросеть будет рисовать человека. Но проблема заключается в том, что на фотографиях руки не являются главным объектом съемки, и обычно на исходных изображениях занимают мало места. Также, руки довольно редко бывают сфотографированы крупным планом.
Другой подход заключается в использовании генеративных состязательных сетей (GAN). Они состоят из двух частей: генератора, создающего изображения, и дискриминатора, который пытается отличить реальные изображения от созданных. Обучив генератор создавать изображения, неотличимые от реальных, GAN могут создавать более реалистичные и анатомически точные руки.
Кроме того, руки и конечности представляют собой сложные структуры. Точное моделирование их в двумерном изображении может оказаться сложной задачей для любой нейронной сети. Это может привести к тому, что модель будет генерировать нереалистичные руки даже при наличии достаточного количества обучающих данных.