注册
首页 > 文化

生成对抗网络(GANs)红遍AI圈:技术进展大盘点

  • 来源:国际在线
  • 2020/3/26 0:42:44

两年前,蒙特利尔大学Ian Goodfellow等学者提出“生成对抗网络”(Generative Adversarial Networks,GANs)的概念,并逐渐引起AI业内人士的注意。其实,直到2015年,生成对抗网络还称不上是炙手可热。但自今年(2016)以来,学界、业界对GANs的兴趣出现“井喷”:

? 多篇重磅论文陆续发表;

? Facebook、Open AI等AI业界巨头也加入对GANs的研究;

? 它成为今年12月NIPS大会当之无愧的明星——在会议大纲中被提到逾170 次;

? GANs之父”Ian Goodfellow被公推为人工智能的顶级专家;

业内另一位大牛Yan Lecun也对它交口称赞,称其为“20年来机器学习领域最酷的想法”。

现在,就连苹果也跳上了GANs的彩车:苹果有史以来第一篇公开发表的AI论文,讲的是如何更好地利用GANs,来训练AI图像识别能力。这是继苹果本月初在NIPS大会上宣布“将对外公布AI研究成果”之后,为兑现诺言做出的行动。

那么,GANs是如何从一个原本“不温不火”的技术,成为今天人工智能的主要课题之一?

我们对此进行了梳理,归纳了GANs从诞生到现在如何一步步走向技术成熟。以下是它发展路线中的大事件(主要研究进展):

1. GANs诞生

▲Ian Goodfellow

2014年6月,Ian Goodfellow等学者发表了论文《Generative Adversarial Nets》,题目即“生成对抗网络”,这标志着GANs的诞生。文中,Ian Goodfellow等作者详细介绍了GANs的原理,它的优点,以及在图像生成方面的应用。

那么,什么是GANs?

用Ian Goodfellow自己的话来说:

生成对抗网络是一种生成模型(Generative Model),其背后基本思想是从训练库里获取很多训练样本,从而学习这些训练案例生成的概率分布。

而实现的方法,是让两个网络相互竞争,‘玩一个游戏\\’。其中一个叫做生成器网络(Generator Network),它不断捕捉训练库里真实图片的概率分布,将输入的随机噪声(Random Noise)转变成新的样本(也就是假数据)。另一个叫做判别器网络(Discriminator Network),它可以同时观察真实和假造的数据,判断这个数据到底是不是真的。

对不熟悉GANs的读者,这番解释或许有些晦涩。因此,雷锋网特地找来AI博主Adit Deshpande的解释,更加清楚直白:

GANs的基本原理是它有两个模型:一个生成器,一个判别器。判别器的任务是判断给定图像是否看起来‘自然\\’,换句话说,是否像是人为(机器)生成的。而生成器的任务是,顾名思义,生成看起来‘自然\\’的图像,要求与原始数据分布尽可能一致。

GANs的运作方式可被看作是两名玩家之间的零和游戏。原论文的类比是,生成器就像一支造假币的团伙,试图用假币蒙混过关。而判别器就像是警察,目标是检查出假币。生成器想要骗过判别器,判别器想要不上当。当两组模型不断训练,生成器不断生成新的结果进行尝试,它们的能力互相提高,直到生成器生成的人造样本看起来与原始样本没有区别。

早期的GANs模型有许多问题。Yan Lecun指出,其中一项主要缺陷是:GANs不稳定,有时候它永远不会开始学习,或者生成我们认为合格的输出。这需要之后的研究一步步解决。

2. 拉普拉斯金字塔(Laplacian Pyrami)的应用

GANs最重要的应用之一,是生成看起来‘自然\\’的图像,这要求对生成器的充分训练。以下是 Ian Goodfellow等人的2014年论文中,生成器输出的样本:

可以看出,生成器在生成数字和人脸图像方面做得不错。但是,使用CIFAR-10数据库生成的风景、动物图片十分模糊。这是GANs早期的主要局限之一。

2015年6月 Emily Denton等人发表的研究《Deep Generative Image Models using Lapalacian Pyramid of Adversarial Networks》(“深度图像生成模型:在对抗网络应用拉普拉斯金字塔”)改变了这一点。研究人员提出,用一系列的卷积神经网络(CNN)连续生成清晰度不断提高的图像,能最终得到高分辨率图像。该模型被称为LAPGANs。

其中的拉普拉斯金字塔,是指同一幅图像在不同分辨率下的一系列过滤图片。与此前GAN架构的区别是:传统的GAN只有一个生成器 CNN,负责生成整幅图像;而在拉普拉斯金字塔结构中,金字塔的每一层(某特定分辨率),都有一个关联的CNN。每一个CNN都会生成比上一层CNN更加清晰的图像输出,然后把该输出作为下一层的输入。这样连续对图片进行升采样,每一步图像的清晰度都有提升。

▲拉普拉斯金字塔结构图像生成示意

这产生了一个新概念:有条件生成对抗网络(conditional GAN,CGAN),指的是它有多个输入:低分辨率图片和噪音矢量。该研究生成的高质量图片,在40%的情况下被真人裁判当做真实图像。

对该研究的意义,李嫣然评论道:它将GAN的学习过程变成了“序列式”的——不要让GAN一次学完全部的数据,而是让GAN一步步完成这个学习过程。

3.利用GANs把文字转化为图像

把文字转化为图像,比起把图像转为文字(让AI用文字概括、描述图像)要难得多。一方面是近乎无限的像素排列方式;另一方面,目前没人知道如何把它分解,比如像(图像转为文字任务中)预测下一个词那样。

2016年6月,论文《Generative Adversarial Text to Image Synthesis》(“GANs文字到图像的合成”)问世。它介绍了如何通过GANs进行从文字到图像的转化。比方说,若神经网络的输入是“粉色花瓣的花”,输出就会是一个包含了这些要素的图像。该任务包含两个部分:1.利用自然语言处理来理解输入中的描述。2.生成网络输出一个准确、自然的图像,对文字进行表达。

为实现这些目标,生成器和判别器都使用了文字编码技术:通过循环文字编码器(recurrent text encoder)生成的文字属性,来作为条件对GAN进行训练。这使得GAN能够在输入的文字描述和输出图像之间建立相关性联系。

▲原理示意

该任务中,GAN其实完成了两件任务:1.生成自然、说得过去的图像;2.图像必须与文字描述有相关性。

利用GAN, GAN-CLS, GAN-INT,GAN-INT-CLS生成的结果示意。GT是真实图像,从左到右三组图像的任务分别是:1.全黑色的鸟,粗圆的鸟嘴;2.黄胸、棕冠、黑眉的小鸟;3.蓝冠、蓝羽、黑颊的超小鸟,嘴小、踝骨小、爪小。

4. GANs应用于超分辨率(Super Resolution)

这是推特 Cortex研究团队进行的一项研究,在今年9月发表。它的主要贡献是开发出全新的损失函数(loss function),使得GANs能对大幅降采样后的图像,恢复它的生动纹理和小颗粒细节。

对于不熟悉超分辨率的读者,它是一个能把低分辨率图像重建为高清图像的技术。在机器学习中,实现超分辨率需要用成对样本对系统进行训练:一个是原始高清图像,一个是降采样后的低分辨率图像。本研究中,低分图像被作为输入喂给生成器,它重建出高分辨率图像。然后,重建图片和原始图片被一起交给判别器,来判断哪一幅是原始图像。

该研究中的损失函数可分为两个部分:对抗损失(adversarial loss )和内容损失(content loss)。在较高层面上,对抗损失使图像看起来更自然;内容损失则保证重建图像与低分辨率原始图像有相似的特点。其中,对抗损失和传统的GANs应用类似,创新的是内容损失。该研究中的内容损失,可被看作为重建的高分辨率图像和原始高分图像之间特征图(feature map)的欧式距离(Euclidean distance)损失。而GAN的损失函数是对抗损失和内容损失的加权和。对原文感兴趣的读者,请点这里。

▲左栏是原始图像,右三栏是GANs重建的高分图像。

以上是GANs 2014-2016发展期间的主要里程碑。但读者们注意,2016年以来,GANs的研究应用层出不穷。以上只是最具代表性的几个,不代表其他GANs研究就没有价值。

值得一说的是,今年6月一篇关于深度卷积GANs(Deep Convolutional Generative Adversarial Networks,DCGAN)的论文在业内引发强烈反响:《使用深度卷积GANs进行无监督表征学习》。研究人员们发现,用大规模数据库训练出的GANs 能学习一整套层级的特征(a hierarchy of features),并具有比其他无监督学习模型更好的效果。而此前使用CNN训练GANs的尝试大多以失败告终。当研究人员修改架构创造出DCGAN,他们能够看到神经网络在每一层级学习到的过滤器 。Yan Lecun评论道,这打开了GANs的“黑箱”。

最后,我们来看看在大神Yan Lecun眼里,GANs为什么这么重要:

“它为创建无监督学习模型提供了强有力的算法框架,有望帮助我们为AI加入常识(common sense)。我们认为,沿着这条路走下去,有不小的成功机会能开发出更智慧的AI。”


相关阅读:
租房 https://zufang.zhuge.com/
版权所有: 宿州网 All Rights Reserved
鲁ICP备09062847号 网上传播视听节目许可证1503009 互联网新闻信息服务许可证3712006002