Качество генерации рук нейросетями постепенно улучшается, но проблема с точностью анатомии всё ещё остаётся. Модели часто не умеют правильно «считать» пальцы. Вместо этого они распознают паттерн, похожий на «некоторое количество похожих элементов рядом»*).
Когда нейросеть пытается заполнить область, которая по её паттернам должна быть рукой, она может сгенерировать четыре, шесть или больше пальцев. Такое поведение объясняется статистической природой обучения: модель видела множество изображений рук, но редко с полностью детализированной анатомией.
Нейросеть не понимает, как должна выглядеть рука; она просто угадывает структуру, основываясь на неполных или скрытых фрагментах и тысячах вариаций из обучающего набора данных. Поэтому при генерации она вынуждена «домысливать» анатомические детали, что и приводит к ошибкам.
*) Как нейросети «угадывают» структуру? Современные генеративные модели (DALL·E, Stable Diffusion, MidJourney) работают на трансформерах:
1. Изображение разбивается ёна токены (маленькие фрагменты).
2. Модель предсказывает следующий токен на основе статистики.
3. Если часть изображения напоминает руку, она выбирает комбинацию токенов, которая чаще встречалась в обучении.