Изменения

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

Generative Adversarial Nets (GAN)

9 байт добавлено, 22:38, 14 января 2021
CGAN (Conditional Generative Adversarial Nets)
Как уже было упомянуто на вход генератора и дискримантора из GAN подается дополнительная информация '''y''', например в случае с многослойными перецептронами условие может быть представлено дополнительным входным слоем.
В генераторе априорная вероятность шума <tex>p_{z}(z)</tex> и условие <tex>y</tex> комбинируются в объединённое скрытое представление, а состязательная тренирующая модель () предоставляет достаточно свободы в том как это представление составляется.<ref>[https://arxiv.org/pdf/1207.4404.pdf Yoshua Bengio, Gre ́goire Mesnil, Yann Dauphin and Salah Rifai {{---}} Better Mixing via Deep Representations ]</ref>
В дискриминаторе '''x''' и '''y''' представлены как входные параметры.
В таком случае задача оптимизации будет выглядеть следующим образом:
<center> <tex> \min\limits_{G}\max\limits_{D} \mathop{E}\limits_{x \sim p_{data}}[logD(x|y)] + \mathop{E}\limits_{z \sim p_{z}}[log(1-D(G(z|y))] . </tex> </center>
В качестве примера использования данного алгоритма можно рассмотреть задачу генерации рукописных цифр.
При создании изображения в генератор поступает скомбинированная информация двух параметров: '''y''' и вектор шума. В случае ''MNIST'' это может быть, например, просто метка класса (от 0 до 9). На выходе из генератора поступает изображение, полученное с помощью транспонированной свертки (происходит деконволюция). Затем полученное изображение поступает в дискриминатор, который в свою очередь применяет операцию, обратную деконволюции, чтобы получить полносвязный слой. Наконец, анализируя полученную информацию (полносвязный слой) и параметр '''y''' дискриминатор принимает решение, является ли изображение сгенерированным.
[[File:CGAN_gen_disc.png|450px|thumb|right|Генерация при использовании CGAN]]
100
правок

Навигация