Найти в Дзене

ЧТО ТАКОЕ GAN И ИХ ПРИМЕНЕНИЕ

Оглавление

GAN – генеративно-состязательная нейросеть. Один из алгоритмов машинного обучения, обучающийся без учителя.

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

Комбинируются две нейросети «генератор» и «дискриминатор». Задача генератора – генерировать образы заданной категории. Задача дискриминатора – пытаться распознать созданный образ.

Для чего?

Создание изображений похожих на лица людей, картинок для интернет-магазина, аватаров для игр. Есть случаи генерации видеоклипов и виртуальных ведущих для ТВ-программ.

https://medium.com/
https://medium.com/

Разберемся подробнее

Дискриминатор

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

Генератор

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

blog.f-secure.com
blog.f-secure.com

Для понимания давайте напряжём фантазию.

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

Реальные примеры

  • Перенос движения. Модель Everybody Dance Now позволяет заставить изображение танцевать так, как в исходном видео.
  • Перенос стиля. Модель Harshit Kumar (kharshit.github.io) превращает лошадь в зебру на видео.
https://kharshit.github.io/
https://kharshit.github.io/
  • TwinGan генерирует аниме-изображения по входному изображению человека.
https://towardsdatascience.com/
https://towardsdatascience.com/
  • Edges2cats преобразовывает наброски рисунков в реалистичного кота.
  • И всем известный DeepFake.

Введение в Java, Python, машинное обучение и рассказы и советы из жизни разработчика в нашей группе Вконтакте.

И, конечно же, мемы. Подписывайтесь!