打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【深度学习】生成对抗网络Generative Adversarial Nets

Goodfellow, Ian, et al. “Generative adversarial nets.” Advances in Neural Information Processing Systems. 2014.

理念

本文是Ian Goodfellow在2014年的经典之作,在许多tutorial中作为非监督深度学习的代表作给予推广。
本文解决了非监督学习中的著名问题:给定一批样本,训练一个系统,能够生成(generate)类似的新样本。

作者给出了基于Pylearn21的源码(戳这里)。不过本文的结果稍显平凡,以理解思想为主,代码仅做参考。

忆苦思甜

在本文之前,大家是怎样做非监督学习的呢?

直白的想法是,根据训练集估计样本分布p(x)。之后对p(x)进行采样,可以生成“和训练集类似”的新样本。

对于低维样本,可以使用简单的,只有少量参数的概率模型(例如高斯)拟合p(x),但高维样本(例如图像)就不好办了。

一个经典方法是使用RBM(Restricted Boltzmann Machine)构造一个无向图,图的能量和节点取值的概率有指数关系。利用训练集设定图中节点和边的系数,用来表述x中单个元素和相连元素的关系。这个方法推导繁琐2,计算复杂,采样时马尔科夫链的混合速度慢

还有一种方法是DBN(Deep Belief Networks),用单个RBM和若干有向层构成网络。一样存在计算复杂的问题。

这两种方法在本次DL热潮早期(2010年之前),曾经和CNN并驾齐驱,但如今在图像领域已经鲜有应用。CNN虽然在分类、分割等监督学习方面立竿见影,但如何进行非监督学习一直是个难题。

对抗网络

本文采取的方法如下,使用两个网络互相竞争,称之为对抗式(adversarial)结构。


生成器(Generator)和鉴别器(Discriminator)都是常见的卷积+全连网络。前者从随机向量生成一个样本,后者鉴别生成的样本以及训练集样本究竟谁真谁假。
两者同时训练。在训练鉴别器时,最小化鉴别误差;在训练生成器时,最大化鉴别误差。两个目的均可以通过反向传播方法实现。

训练好的生成网络,能把任意一个噪声向量转化成和训练集类似的样本。该噪声可以看做该样本在低维空间的编码

训练

针对不同数据集,作者设计了不同复杂程度的网络。

MNIST

生成网络

鉴别网络

CIFA-10全连

生成网络。隐结点维度增大,但编码(输入噪声)仍然是100维。

鉴别网络

CIFA-10卷积

生成网络。在最后一级,用解卷积网获得图像。

鉴别网络

轮流迭代

在训练时,每更新一次生成网络,要更新k次鉴别网络。文中给出的理由是:避免生成器overfitting,学习出过于狭隘的生成规则。(实际使用的k=1

后续发展

FaceBook AI Reasearch提供了一个在线页面,可以看到实时生成的模拟图像。

2015年的DCGAN把类似的理念应用到人脸图像上。通过对编码(输入的随机向量)进行代数运算,控制生成人脸图像的属性。

Yan LeCun在Quora的这个回答中,给出了更多扩展阅读。


  1. Pylearn2是蒙特利尔大学LISA实验室基于Theano开发的一个机器学习库。 ?
  2. 不服的看这儿?
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
万圣节噩梦 | MIT 开发“噩梦机器” 用深度学习吓你一跳
详解 GAN 在自然语言处理中的问题:原理、技术及应用
ChatGPT 和 Whisper 模型的区别
NICE-GAN:新的图像转换网络框架
NeurIPS 2019丨推敲网络 soft原型序列,带来轻便又精准的机器翻译
CVPR2022 Oral:GAN监督的密集视觉对齐,代码开源
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服