Изменения

Перейти к: навигация, поиск

Generative Adversarial Nets (GAN)

213 байт добавлено, 23:10, 14 января 2021
CGAN (Conditional Generative Adversarial Nets)
[[File:CGAN_architecture.png|450px|thumb|Архитектура CGAN. Источник: https://arxiv.org/pdf/1411.1784.pdf]]
'''Условные порождающие состязательные сети''' (англ. ''Conditional Generative Adversarial Nets, CGAN'') $-$ это модифицированная версия алгоритма GAN, которая может быть сконструирована при помощи передачи дополнительных данных '''y''', являющихся условием для генератора и дискриминатора. '''y''' может быть любой дополнительной информацией, например, меткой класса, изображением или данными из других моделей, что может позволить контролировать процесс генерации данных. Например, можно подавать параметр '''y''', как условие на класс для генерации чисел, похожих на MNIST (Рисунок 1). Создание таких картинок , в случае передачи картинки в качетсве '''y''' является [[:Задача трансляции изображений|задачей трансляции изображений]]. Пример работы ''CGAN' на датасете ''MNIST'' с метками классов представленных в виде ''one-hot'' векторов <ref>[https://arxiv.org/pdf/1411.1784.pdf Yoshua Bengio, Gre ́goire Mesnil, Yann Dauphin and Salah Rifai {{---}} Better Mixing via Deep Representations ]</ref> [[File:CGAN_generated.png|450px|thumb|right|Цифры, сгенерированные с помощью CGAN. Источник: https://arxiv.org/pdf/1411.1784.pdf]]
Как уже было упомянуто на вход генератора и дискримантора из GAN подается дополнительная информация '''y''', например в случае с многослойными перецептронами условие может быть представлено дополнительным входным слоем.
При создании изображения в генератор поступает скомбинированная информация двух параметров: '''y''' и вектор шума. В случае ''MNIST'' это может быть, например, просто метка класса (от 0 до 9). На выходе из генератора поступает изображение, полученное с помощью транспонированной свертки (происходит деконволюция). Затем полученное изображение поступает в дискриминатор, который в свою очередь применяет операцию, обратную деконволюции, чтобы получить полносвязный слой. Наконец, анализируя полученную информацию (полносвязный слой) и параметр '''y''' дискриминатор принимает решение, является ли изображение сгенерированным.
[[File:CGAN_gen_disc.png|450px|thumb|right|Генерация при использовании CGAN]]
 
''CGAN'' был натренирован на датасете ''MNIST'' с метками классов представленных в виде ''one-hot'' векторов.
 
[[File:CGAN_generated.png|450px|thumb|right|Цифры, сгенерированные с помощью CGAN. Источник: https://arxiv.org/pdf/1411.1784.pdf]]
Также, используя условные порождающие состязательные сети, можно научить такую сеть генерировать текст по картинке и наоборот. В качестве параметра '''y''' в данном случае передается изображение, которое будет описано.
100
правок

Навигация