zoukankan      html  css  js  c++  java
  • GAN(Generative Adversarial Nets)的发展

    GAN(Generative Adversarial Nets),产生式对抗网络

    存在问题:

    1.无法表示数据分布

    2.速度慢

    3.resolution太小,大了无语义信息

    4.无reference

    5.intend to generate same image

    6.梯度消失

    论文摘要:

    1、Goodfellow, Ian, et al. "Generative adversarial nets." Advances in Neural Information Processing Systems. 2014.

    做如下优化:

    全局最优解为:

    训练过程:

    算法描述:先优化discriminator,再训练generator

    latent code插值后出现了渐变特效:

    2.Mirza, Mehdi, and Simon Osindero. "Conditional generative adversarial nets."arXiv preprint arXiv:1411.1784 (2014).

    优化目标:

    好像就是加了label信息。

    3.Denton, Emily L., Soumith Chintala, and Rob Fergus. "Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks."Advances in neural information processing systems. 2015.

     不知道这篇论文正式发表没有。这篇论文似乎就是做了一个GAN和提高分辨率的结合。不过本来就没有什么语义信息的图片,就算提高分辨率感觉也没什么用,所以感觉96x96分辨率的结果没什么意义。

    原理:

    整个test过程为:

    整个train过程为:

     一些例子:

    4.Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised representation learning with deep convolutional generative adversarial networks." arXiv preprint arXiv:1511.06434 (2015).

    这篇论文也不知道发表没有。

    用了很多trick,什么batchnorm,全卷积无全连接,无pooling,用了LeakyReLu。 

    网络结构:

    个人感觉效果还不错:

    进行了有趣的实验:

    5.Salimans, Tim, et al. "Improved techniques for training gans." arXiv preprint arXiv:1606.03498 (2016).

    提出了一些改进的trick。

    用feature算距离

    加label

    效果:感觉没什么语义信息

    6.Chen, Xi, et al. "InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets." arXiv preprint arXiv:1606.03657 (2016).

    主要是为了解决产生一样的sample的问题

    公式:

    结果:

    7. Arjovsky M, Chintala S, Bottou L. Wasserstein GAN[J]. arXiv preprint arXiv:1701.07875, 2017.

    相关链接:https://zhuanlan.zhihu.com/p/25071913?utm_medium=social&utm_source=wechat_timeline&from=timeline

    https://arxiv.org/abs/1701.07875

    对生成器的loss进行散度(JS散度,KL散度)的等价转换,从而更直观也更容易分析不同loss对应的相应问题,这种分析比直接分析函数loss或者minmax函数更加容易。为了解决这些问题,引入了Wasserstein距离,替代了原来的loss。这种loss使得生成器的有一定的梯度,防止梯度消失,生成器训练不动的情况。这种loss还能指示训练效果以及防止模型崩塌。

    8.Li, Chongxuan, Jun Zhu, and Bo Zhang. "Max-Margin Deep Generative Models for (Semi-) Supervised Learning." arXiv preprint arXiv:1611.07119 (2016).

    实验室学长的工作,用GAN做半监督学习。利用generator产生更多的数据,帮助classfier训练。

    9.Wang, Jun, et al. "IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models." arXiv preprint arXiv:1705.10513 (2017).

    SIGIR 2017的best paper, 利用GAN的思想总和了检索领域的两大主流算法:一种根据关键字生成查询结果,一种评价查询和文档之间的关联性。generator用于生成,discriminator用于关联性评价。

  • 相关阅读:
    Python 调用multiprocessing模块下面的Process类方法(实现服务器、客户端并发)-TCP协议
    Python开启进程的2中方式
    基于UDP的交互的实例
    Python socket粘包问题(最终解决办法)
    Python socket粘包问题(初级解决办法)
    Python socket套字节
    OSI七层模型
    异常处理
    Python封装与隐藏
    螺旋队列问题
  • 原文地址:https://www.cnblogs.com/huangshiyu13/p/5984911.html
Copyright © 2011-2022 走看看