[#] Автоэнкодеры в Keras, Часть 5: GAN(Generative Adversarial Networks) и tensorflow
habrabot(difrex,1) — All
2017-06-30 17:30:05


### Содержание


* Часть 1: [ Введение ][1]
* Часть 2: [ _Manifold learning_ и скрытые (_latent_) переменные ][2]
* Часть 3: [Вариационные автоэнкодеры (_VAE_) ][3]
* Часть 4: [_Conditional VAE_][4]
* **Часть 5: _GAN_ (Generative Adversarial Networks) и tensorflow**
* Часть 6: _VAE_ + _GAN_

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

При всех преимуществах вариационных автоэнкодеров **_VAE_**, которыми мы занимались в предыдущих постах, они обладают одним существенным недостатком: из-за плохого способа сравнения оригинальных и восстановленных объектов, сгенерированные ими объекты хоть и похожи на объекты из обучающей выборки, но легко от них отличимы (например, размыты).

Этот недостаток в куда меньшей степени проявляется у другого подхода, а именно у _генеративных состязающихся сетей_ — **_GAN_**’ов.

Формально _GAN’ы_, конечно, не относятся к автоэнкодерам, однако между ними и вариационными автоэнкодерами есть сходства, они также пригодятся для следующей части. Так что не будет лишним с ними тоже познакомиться.


### Коротко о _GAN_


**_GAN_**’ы впервые были предложены в статье **_[1, Generative Adversarial Nets, Goodfellow et al, 2014]_** и сейчас очень активно исследуются. Наиболее state-of-the-art генеративные модели так или иначе используют _adversarial_.

Схема **_GAN_**:

![][5]

[Читать дальше →][6]

[1]: https://habrahabr.ru/post/331382/
[2]: https://habrahabr.ru/post/331500/
[3]: https://habrahabr.ru/post/331552/
[4]: https://habrahabr.ru/post/331664/
[5]: https://habrastorage.org/web/faf/0a8/b00/faf0a8b002584baca17e693e877b871b.png
[6]: https://habrahabr.ru/post/332000/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut