Изменения

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

Generative Adversarial Nets (GAN)

2732 байта добавлено, 15:23, 27 января 2019
Add CGAN and DCGAN
* StackGAN<ref> [https://arxiv.org/abs/1612.03242 Han Zhang {{---}} StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks]</ref>: создает изображения по заданному тексту,
* MidiNet<ref> [https://arxiv.org/abs/1703.10847 Li-Chia Yang {{---}} MIDINET: A CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORK FOR SYMBOLIC-DOMAIN MUSIC GENERATION]</ref>: генерирует последовательность нот, таким образом, создает мелодию.
 
==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''' входных данных генератора и дискриминатора.
 
В таком случае задача оптимизации будет выглядеть следующим образом:
 
<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>
 
==DCGAN (Deep Convolutional Generative Adversarial Nets)==
 
[[File:DCGAN_generator.png|450px|thumb|Архитектура генератора в DCGAN. Источник: https://arxiv.org/pdf/1511.06434.pdf]]
 
'''DCGAN''' $-$ модификация алгоритма ''GAN'', основными архитектурными изменениями которой являются:
* Замена всех пулинговых слоев на страйдинговые свертки (''strided convolutions'') в дискриминаторе и частично-страйдинговые свертки (''fractional-strided''
''convolutions'') в генераторе.
* Использование батчинговой нормализации для генератора и дискриминатора.
* Удаление всех полносвязных скрытых уровней для более глубоких архитектур.
* Использование ''ReLU'' в качестве функции активации в генераторе для всех слоев, кроме последнего, где используется ''tanh''.
* Использование ''ReLU'' в качестве функции активации в дискриминаторе для всех слоев.
==См. также==
* Сергей Николенко, Артур Кадурин, Екатерина Архангельская. Глубокое обучение. Погружение в мир нейронных сетей. — «Питер», 2018. — С. 348-360.
* [https://medium.com/@jonathan_hui/gan-why-it-is-so-hard-to-train-generative-advisory-networks-819a86b3750b Medium | GAN — Why it is so hard to train Generative Adversarial Networks! ]
* [https://arxiv.org/pdf/1411.1784.pdf CGAN Paper]
* [https://arxiv.org/pdf/1511.06434.pdf DCGAN Paper]
[[Категория: Машинное обучение]]
[[Категория: Порождающие модели]]
7
правок

Навигация