对抗生成网络(GAN)和贝叶斯变分自编码是最为主要的两种数据生成模型,目前的生成对抗网络的一些改良技术已经实现了非常逼真的图像。

此外生成模型也是非监督学习的主要驱动力之一,假若人工神经网络已经具备了自我生成栩栩如生的真实图像的能力,我们亦可以说人工神经网络已经具备了想象和创作的能力,具有了想象和创作能力的个体当然已经掌握了一些抽象的概念,而非监督学习不就是让人工智能自我去摸索这个世界并掌握一定的抽象概念吗?

而从非监督学习研究角度来看,GAN仍然有一些美中不足的地方,现有的很多具有很好效果的GAN并不是完全非监督的,而是人为的加入了很多带标签数据的半监督学习。传统的GAN生成数据是通过一组完全随机的z隐含变量得到,这个z基本是不可控的,我们很难通过控制z中某数的大小变化让生成的图像变大变小或进行旋转等等简单操作,如果人工智能连这样的简单特性都不能稳定控制,那么我们很难说它已经具备了这些非常显著的人类易于掌握的概念。

infogan正是基于这一问题而提出的GAN修正模型,其在GAN优化函数中引入了一个有互信息最小下界得来的正则项。非常简单却又非常精彩。

互信息

这样可得特性(2),这个在物理层面上也很好理解,X中包含Y的信息量等于Y的信息量减去在X条件下Y的信息量,如果两者相减等于0,那么给定X和Y就无关。
而infogan的核心思想正是利用互信息这个正则项来使得隐空间中有那么几个可控变量来控制生成数据的属性。假设我们给定属性cc,那么生成数据中所包含的隐含变量c′c′与cc的互信息应该尽量的大,这样infoGAN的损失函数为

互信息的下界及infogan的求解

故 LI (G, Q) 是互信息的一个下界。作者指出,用蒙特卡罗模拟(Monte Carlo simulation)去逼近 LI (G, Q) 是较为方便的,这样我们的优化问题就可以表示为:

实现

在实现中,D(x)、G(z, c) 和 Q(x) 分别用一个 CNN (Convolutional Neural Networks)、CNN、DCNN (DeConv Neural Networks) 来实现。同时,潜码 c 也包含两部分:一部分是类别,服从 Cat(K = N,p = 1/N),其中 N 为类别数量;另一部分是连续的与生成数据有关的参数,服从 Unif(−1,1) 的分布

在此应指出,Q(c|x) 可以表示为一个神经网络 Q(x) 的输出。对于输入随机变量 z 和类别潜码 c,实际的 LI(G, Q) 可以表示为:

其中 · 表示内积(inner product),c 是一个选择计算哪个 log 的参数,例如 ci = 1 而 cj = 0(∀j = 1,2,···,i − 1,i + 1,···,n),那么 z 这时候计算出的 LI(G,Q) 就等于 log(Q(z,c)i)。这里我们可以消去 H(c),因为 c 的分布是固定的,即优化目标与 H(c) 无关:

而对于参数潜码,我们假设它符合正态分布,神经网络 Q(x) 则输出其预测出的该潜码的均值和标准差, 我们知道,对于均值 μ,标准差 σ 的随机变量,其概率密度函数为:

要计算参数潜码 c 的,就是要计算 log p(c),即:

设 Q(x) 输出的参数潜码 c 的均值 μ,标准差 σ 分别为 Q(x)μ 和 Q(x)σ,那么对于参数潜码 c:

同样的,我们可以消去 H(c),因为 c 的分布是固定的,那么:

再论InfoGAN的LI

对于类别潜码,这个 LI 本质上是 x 与 G(z, c) 之间的 KL 散度:

也就是说:

而 min DKL(c||Q(G(z, c))) 意味着减小 c 与 Q(G(z, c)) 的差别。

如果我们不考虑 Q(x)σ 的影响,LI 的优化过程:

也意味着减小 c 与 Q(G(z, c))μ 的差。

纵观整个模型,我们会发现这一对 LI 优化的过程,实质上是以 G 为编码器(Encoder), Q 为解码器(Decoder),生成的图像作为我们要编码的码(code),训练一个自编码器(Autoencoder),也就是说,作者口中的信息论优化问题,本质上是无监督训练问题。

来源:

https://blog.csdn.net/dagekai/article/details/53953513

http://aistudio.baidu.com/#/projectdetail/29156

infoGAN公式推导(信息最大化生成对抗网络(理论部分))相关推荐

  1. 深度学习(九) GAN 生成对抗网络 理论部分

    GAN 生成对抗网络 理论部分 前言 一.Pixel RNN 1.图片的生成模型 2.Pixel RNN 3.Pixel CNN 二.VAE(Variational Autoencoder) 1.VA ...

  2. InfoGAN(基于信息最大化生成对抗网的可解释表征学习)

    前言: 这篇博客为阅读论文后的总结与感受,方便日后翻阅.查缺补漏,侵删! 论文: InfoGAN: Interpretable Representation Learning by Informati ...

  3. 生成对抗网络入门指南(内含资源和代码)

    python进阶教程 机器学习 深度学习 长按二维码关注 进入正文 前言:春节假期结束了,在这个假期中,原本好好的计划终究没能跟上变化,发生了很多意想不到的事情,导致公众号有近十天没能更新,首先给长期 ...

  4. 新手必看:生成对抗网络的初学者入门指导

    新手必看:生成对抗网络的初学者入门指导 https://www.cnblogs.com/DicksonJYL/p/9698877.html 本文为 AI 研习社编译的技术博客,原标题 A Beginn ...

  5. 生成对抗网络(GAN)相比传统训练方法有什么优势?(一)

    作者:元峰 链接:https://www.zhihu.com/question/56171002/answer/148593584 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  6. 生成对抗网络-改进方法|深度学习(李宏毅)(二十四)

    视频地址: ①B站:https://www.bilibili.com/video/BV15W411i7uP?p=2 ②油管:https://www.youtube.com/watch?v=KSN4QY ...

  7. 生成对抗网络(GAN)的理论与应用完整入门介绍

    本文包含以下内容: 1.为什么生成模型值得研究 2.生成模型的分类 3.GAN相对于其他生成模型相比有什么优势 4.GAN基本模型 5.改进的GANs 6.GAN有哪些应用 7.GAN的前沿研究 一. ...

  8. 生成对抗网络 : LSGAN, WGAN, CGAN, infoGAN, EBGAN, BEGAN, VAE

    训练"稳定",样本的"多样性"和"清晰度"似乎是GAN的 3大指标 - David 9 VAE与GAN 聊到随机样本生成, 不得不提VAE与 ...

  9. [生成对抗网络GAN入门指南](10)InfoGAN: Interpretable Representation Learning by Information Maximizing GAN

    本篇blog的内容基于原始论文InfoGAN: Interpretable Representation Learning by Information Maximizing Generative A ...

最新文章

  1. 提升Web应用程序性能的最佳实践
  2. Sql insert into 后获得自动插入的id
  3. keyCode(ASCII)与键盘按键对照表
  4. 元素,布局方式,BFC和清除浮动
  5. oracle的java路径,oracle学习----访问路径
  6. 利用python爬取_在知乎上利用Python爬取了三百万数据!服务器崩了!企业级大项目...
  7. 配置加密_数据库密码配置项都不加密?心也太大了!
  8. 2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey
  9. gl3520 gl3510_带有gl gl本机的跨平台地理空间可视化
  10. [转载] Python中TFTP的理解
  11. setTimeOut传参数
  12. Android Images
  13. DBUtils注意问题
  14. day22 正则表达式 re
  15. 【第一章:绪论】静态时序分析圣经翻译计划
  16. 《Windows安全机制》之DEP(数据执行保护)
  17. blowfish java_java如何实现blowfish算法
  18. 175个常用诗词语句出处
  19. 【java】IDEA设置自己的名字和时间(Created by)
  20. tiptop 编译运行_CPU 利用率背后的真相,只有 1% 人知道

热门文章

  1. js中图片加载失败,显示默认图片
  2. 读写配置文件模块configparser—参考杨永明博客
  3. String类型转换成LocalDate 和 LocalDateTime
  4. Eclipse下Tomcat项目自动部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)
  5. 【踩坑记录】uni-app工程转vue-cli 工程
  6. 小程序中消息订阅与发布
  7. php ajax传悚惧,科学网—对“钱学森之问”的一种解答 - 科学报官微的博文
  8. Segmenter Transformer for Semantic Segmentation
  9. delphi反编译ded逆向工程和协议分析 lgx
  10. Paper reading