Аниме — мультипликация, которая интересна не только подросткам. Даже среди суровых бородатых айтишников в свитерах есть ценители этого направления. Создатели Waifu Labs – сайта для генерации аниме-портретов – поделились своей внутренней кухней и рассказали, как ИИ создаёт рисунки.

Проекту Waifu Labs исполняется 2 года, за это время их художник-нейросеть «нарисовала» около 20 миллионов изображений.

Как это работает?

Так выглядит процесс тренировки нейросети:

А вот так - готовый рисунок:

ИИ, на котором работает Waifu Labs, называется генеративно-состязательной сетью. Авторы сняли обучающее видео о том, как работает технология:

Процесс обучения можно представить, как соревнование двух ИИ:

Первая нейросеть называется Генератор. Её задача – научиться рисовать.

Вторая нейросеть называется Дискриминатором. Она должна научиться отличать поддельные рисунки (созданные ИИ) от настоящих (созданных человеком-художником).

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

Ниже вы можете увидеть прогресс Генератора: авторы собрали образцы работ, которые он создавал во время обучения. Время обучения измерили в «шагах».

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

Шаг 1024: Здесь мы уже видим нечто похожее на человеческое лицо.

Шаг 4096: Начали проявляться характерные для аниме черты лица, пряди волос. 

Шаг 13516: Как и художники-люди, ИИ всегда сначала учится рисовать глаза.

Шаг 23961: Начинают прорисовываться второстепенные черты, такие как уши и плечи.

Шаг 40564: Медленно, но верно размытые формы превращаются в реальные черты. Появляется всё больше мелких деталей, благодаря чему иллюстрация обретает «текстуру» и «стиль». Цвет появится в последнюю очередь.

Шаг 43636: На данном этапе обучение может стать нестабильным, поэтому появляются вот такие криповые кадры:

Шаг 50000: Окончательный результат!

ИИ Waifu Labs потребовалось около 2-х недель, чтобы добиться того качества рисовки, которое вы видите сегодня.

Создание мысленного представления

Благодаря вышеописанному процессу, ИИ не просто учится копировать увиденные работы, но и формирует у себя представление о высокоуровневых (формы) и низкоуровневых (текстуры) признаках для создания собственных оригинальных изображений.

Художники-люди также обладают этим мысленным представлением. Просто для многих оно выведено за рамки сознания и лежит в области интуиции. Это мысленное представление развивается на протяжении всей жизни художника благодаря занятиям искусством и накоплению жизненного опыта.

С ИИ всё немного иначе. Рост его мысленного представления останавливается в момент окончания обучения, так что можно «извлечь» его и внимательно рассмотреть. Это немного похоже на систему координат, авторы назвали его скрытым пространством.

Изолируя векторы, управляющие определенными функциями, можно создавать такие результаты, как

другая поза, тот же персонаж:

та же поза, другой стиль:

И многое другое!

Некоторые координаты в скрытом пространстве очень странные. Вот, например, очаровательная девочка, которую авторы ласково прозвали «головастиком».

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

Если разделить координаты, которые управляют позой, цветами и деталями, можно создать интерфейс, с помощью которого пользователи могут поручить ИИ нарисовать то, что они хотят!

Как измерить креативность?

Большая часть процесса разработки ИИ — это оценка производительности, но как замерить креативность? Традиционно генеративные нейросети оцениваются с помощью FID, но в данном случае этого недостаточно.

Чтобы правильно оценить результаты ИИ-художника, авторы использовали систему из другого ресурса. А именно, систему оценки качества, которую используют коммерческие арт-директора для оценки художников-фрилансеров.

Качество: Художник может работать в полном соответствии с требуемым стилем (аниме-портреты).

Разнообразие: Художник может изобразить различные характерные черты в запрошенном качестве.

Настраиваемость: Художник может правильно подобрать и изобразить элементы, нужные для определенного портрета.

Время: Художник может подготовить работу вовремя.

Некоторые интересные моменты, на которые стоит обратить внимание:

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

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

Заключение

Конечно, нельзя оценить творчество по сугубо коммерческим показателям. Но благодаря этим критериям можно направить творческий процесс ИИ таким образом, чтобы он сочетал креативность и при этом являлся коммерчески эффективным.

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


Что ещё интересного есть в блоге Cloud4Y

→ История Game Genie — чит-устройства, которое всколыхнуло мир

→ Как я случайно заблокировал 10 000 телефонов в Южной Америке

→ Странные продукты Apple

→ WD-40: средство, которое может почти всё

→ Изучаем своё железо: сброс паролей BIOS на ноутбуках

Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем не чаще двух раз в неделю и только по делу.

Комментарии (12)


  1. vladvul
    12.01.2022 15:53
    +5

    а есть видео где она...


    1. shiru8bit
      12.01.2022 16:24
      +8

      Тема глубокого обучения недостаточно раскрыта.


      1. bgBrother
        13.01.2022 00:30
        +2

        Из постера первого видео в статье:
        AN A.I. aka Anal


        1. shyneko
          13.01.2022 09:59

          Тут точно AN A.I. написано?


    1. Minebot
      12.01.2022 16:52
      +3

      Как-то раз попытался обучить хентайный stylegan. Запарсил один сайт, выкачал картинки, прогнал пару недель, вот до сих пор не знаю как это забыть, было крипово


      1. Alexey2005
        12.01.2022 17:17
        +3

        Потому что StyleGAN — это не волшебная коробка, а цифровой аналог мясорубки. И если на вход засыпать лебеду, то и на выходе получится исключительно лебеда, только перемолотая.
        Такие нейронки служат отличной иллюстрацией принципа GIGO (Garbage In — Garbage Out, мусор на входе — мусор на выходе). Вы не можете просто собрать побольше разнородных картинок и прямо как есть ввалить их в нейронку. Вернее, можете, но тогда тех картинок должно быть по-настоящему много, от 400 тысяч. На датасетах вменяемого размера, порядка 30К, даже 2% мусора или откровенных «вылетов», сильно отличающихся от остальных картинок, уже приводит к существенному снижению качества.
        Именно поэтому когда кто-то обучает такую сетку впервые, скармливая ей полное зеркало какой-нибудь имиджборды, результат обычно выглядит

        как-то так


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


  1. Alexey2005
    12.01.2022 16:21
    +7

    В общем-то, всю статью можно заменить одним словом: StyleGAN2.
    Хотя она давно не является вершиной генеративных технологий, однако благодаря относительно разумному количеству требуемых для обучения вычислительных ресурсов всё ещё наиболее популярна и широко используется во всех подобных проектах (waifulabs, Artbreeder, TPDNE).
    Доступно для обучения каждому, у кого есть хотя бы 30 тыс. картинок и видеокарточка с достаточно большим объёмом VRAM (от 16Гб). А у кого нет такой карточки, для тех есть облака (вроде Google Colab за $50 в месяц).
    Держатели бюджетных карт, а также «мне только посмотреть» могут обратить внимание на бюджетный вариант сетки — FastGAN и её многочисленные реализации (пример), которая хоть и обладает существенными ограничениями, но может быть обучена всего за 15 часов работы древней карточки типа GeForce 1070Ti.


    1. logran
      12.01.2022 21:52
      +2

      достаточно большим объёмом VRAM (от 16Гб)

      Вот это вот самое печальное. Весь потребительский сегмент ограничен 12гб. Чуть-чуть бы ужать архитектуру (не до уровня FastGAN, а просто чтобы в 11.5-12гб влазила), и учить долго, но с мелким batch size — и было бы норм на той же дешевой (уже не дешевой) 1080Ti.


      1. IlluminatusII
        13.01.2022 14:05

        а архитектура закрытая? batch size не изменить так просто?


        1. Alexey2005
          13.01.2022 16:16

          Открытая, только вот в данной архитектуре большой размер батча нужен не только для накопления градиентов и ускорения расчётов, но и для работы такой фичи как path length regularization, которая как раз и обеспечивает оптимальное распределение фич в векторном пространстве модели. И именно данная архитектурная особенность потребляет примерно треть всей используемой памяти (сохранение графа вычислений для всего батча целиком). Соответственно, при сильном уменьшении батча сразу падает качество обучения.
          Тем не менее, при некотором желании запустить на «потребительской» 12Гб карточке всё же можно: выставить батч 12, gradient accumulation = 4, размер изображения 128x128. Такая конфигурация при обучении займёт 11Гб VRAM, и это самый минимум, на котором данную модель вообще имеет смысл пускать.
          К счастью, обучать модель для заданного датасета нужно всего один раз, после чего запускать уже обученную можно даже на весьма слабых карточках. Поэтому при отсутствии High-end карточки проще закинуть $50 на облачный аккаунт, купив GPU-ресурсов, чем пытаться впихнуть невпихуемое.


  1. Biga
    12.01.2022 16:28
    +1

    Добавить в статью котиков и будет идеально.


    1. vashu1
      13.01.2022 00:53
      +3

      На 9ой секунде видео - кошкодевочка. Это даже лучше котиков!