Содержание статьи
Генерация аниме с помощью нейросети StyleGAN
О StyleGAN
Gwern пробовал решить задачу с помощью ряда существующих генеративных сетей: StackGAN / StackGAN ++ & Pixel * NN *, WGAN-GP, Glow, GAN-QP, MSG-GAN, SAGAN, VGAN, PokeGAN, BigGAN 3, ProGAN и StyleGAN. Многие из них начинали либо расходиться после одного или двух дней обучения, либо создавать ограниченный диапазон лиц (или одно лицо), либо просто сходиться к изображениям плохого качества.
Сервис максимально прост в использовании и понятен даже без знания китайского — тут есть лишь одна кнопка. При нажатии на нее появляется кадр с фотографией девушки, а под ним еще одна кнопка. Нажав на эту вторую кнопку, вы можете выбрать на компьютере нужное изображение и загрузить его на сервис. Несколько секунд — и результат «аниме-преображения» готов.
StyleGAN вносит также ряд дополнительных улучшений: например, в ней используется новый датасет лиц “FFHQ” с изображениями размером 1024 пикселя (выше, чем у ProGAN). Кроме того, сеть демонстрирует меньше потерь и очень интенсивно использует полностью связанные слои для обработки случайного ввода (не менее 8 слоёв из 512 нейронов, в то время как у большинства GAN 1 или 2 слоя). Ещё более поразительным является то, что в StyleGAN не используются методы, которые считались критически важными для обучения других GAN: например, релятивистские потери, распределение шума, расширенная регуляризация и т. д.
В общем, результат всегда оказывается разный, сколько раз ни загружай одну и ту же фотку. Мы предполагали, что это не нейросеть, а просто накладывание на фото фильтра, стилизующего картинку под аниме. Но тот факт, что сервис выдает каждый раз разные фотки, меняя черты лица, задний фон или другие детали, означает, что работает он при помощи нейросети. И мы даже знаем, какой.
В попытках заставить компьютер рисовать аниме есть что-то забавное — это уж точно интереснее, чем работать со снимками знаменитостей или с датасетом ImageNet! Кроме того, рисунки и аниме отличаются от фотографий, которые сейчас очень часто используются в задачах машинного обучения. Если нейросети научатся генерировать случайные нарисованные изображения, то совсем скоро станет возможна генерация картин и фотографий по их текстовому описанию.
Нейросети для генерации, объединения или редактирования изображений мгновенно становятся популярными. Это доказывает пример Lensa, которая встроила в приложение генератор аватаров на основе ваших загруженных фотографий. Но новое китайское приложение имеет еще больший потенциал, ведь оно обещает превратить каждую фотку в кадр из аниме.
Примеры
StyleGAN — та самая нейросеть, которая генерирует лица несуществующих людей на сайте thispersondoesnotexist.com. Исследователь Gwern Branwen вывел её на новый уровень и научил создавать несуществующие лица персонажей аниме, запустив свой сайт thiswaifudoesnotexist.net. На нём каждые 15 секунд появляется новый персонаж и его история, также генерируемая искусственным интеллектом. Сегодня мы расскажем, как самому обучить нейросеть для создания аниме-лиц с помощью StyleGAN.
Первый успех продемонстрировали сети BigGAN и ProGAN: они показали, что обычные CNN могут научиться генерировать и масштабировать чёткие аниме-изображения. Сеть ProGAN была достаточно мощной, но требовала около 6 недель обучения на GPU. Поэтому ей на смену пришла StyleGAN — более быстрая архитектура, с которой можно обучать объёмные модели на больших наборах данных.
StyleGAN стала настоящим прорывом, поскольку предоставляла возможности уровня ProGAN, но работала быстрее. Эта сеть с радикально иной архитектурой минимизирует потребность в медленном прогрессивном росте (возможно, полностью его исключая) и эффективно обучается на изображениях с разным разрешением. Кроме того, она позволяет контролировать генерируемые кадры с помощью механизма передачи стиля.
Стоит отметить, что лица получаются очень разнообразными: меняется не только цвет волос или глаз, ориентация головы и другие мелкие детали, но и общий стиль. Изображения могут быть похожи на кадр из мультфильма, компьютерную графику, аниме 90-х и 00-х годов и даже на рисунки акварелью или маслом.
В качестве результата вам показывается видео с преображением вашей фотографии. Чтобы получить фото «до/после», надо развернуть страницу сайта на полный экран и нажать внизу левую кнопку, верхний край которой еле виден. Впрочем, сайт сделан скорее под мобильные устройства, поэтому, возможно, с телефонов пользоваться им будет удобнее (но это не точно).
StyleGAN представлена в 2018 году. Она использует стандартную архитектуру GAN, применяемую в ProGAN, но черпает вдохновение из механизма передачи стиля. StyleGAN модифицирует свою генераторную сеть (генератор), которая создаёт изображение путём его многократного увеличения: 8px → 16px → 32px → 64px → 128px и т. д. При этом на каждом уровне используется комбинация случайных входных данных или «стилевого шума» (“style noise”) с AdaIN. Это указывает генератору, как стилизовать изображения с определённым разрешением: изменить волосы, текстуру кожи и так далее. Систематически создавая такую случайность на каждом этапе процесса формирования изображения, StyleGAN может эффективно выбирать более удачные варианты.