深度学习新星:GAN的基本原理、应用和走向html
(本文转自雷锋网,转载已获取受权,未经容许禁止转载)
原文连接:http://www.leiphone.com/news/201701/Kq6FvnjgbKK8Lh8N.html
做者:亚萌算法
相关参考:网络
本文内容来自新加坡国立大学【机器学习与视觉实验室】负责人冯佳时博士在【硬创公开课】的分享。冯佳时博士梳理了关于生成对抗网络(GAN)的全景图,解答了涉及GAN方方面面的问题,包括其基本框架、原理、应用案例、优缺点、发展方向等,感谢冯佳时老师及其实验室同窗为本次公开课精心的筹备工做。框架
近年来,基于数据而习得“特征”的深度学习技术受到狂热追捧,而其中GAN模型训练方法更加具备激进意味:它生成数据自己。iphone
GAN是“生成对抗网络”(Generative Adversarial Networks)的简称,由2014年还在蒙特利尔读博士的Ian Goodfellow引入深度学习领域。2016年,GAN热潮席卷AI领域顶级会议,从ICLR到NIPS,大量高质量论文被发表和探讨。Yann LeCun曾评价GAN是“20年来机器学习领域最酷的想法”。机器学习
在GAN这片新兴沃土,除了Ian Goodfellow所在的OpenAI在火力全开,Facebook的人工智能实验室也在这一领域快马加鞭深耕,而苹果近日曝出的首篇AI论文,就是基于GANs的变种“SimGAN”。从学术界到工业界,GANs席卷而来。ide
经360首席科学家、人工智能研究院院长颜水成强力推荐,【硬创公开课】特邀冯佳时博士,在1月5日为你们带来了一期以《深度学习新星:GANs的诞生与走向》为主题的演讲,拨开围绕GANs的迷雾。函数
嘉宾介绍工具
冯佳时,现任新加坡国立大学电子与计算机工程系助理教授,机器学习与视觉实验室负责人。学习
中国科学技术大学自动化系学士,新加坡国立大学电子与计算机工程系博士。2014-2015年在加州大学伯克利分校人工智能实验室从事博士后研究。现研究方向为图像识别、深度学习及面向大数据的鲁棒机器学习。
冯佳时博士曾获ICCV’2015 TASK-CV最佳论文奖,2012年ACM多媒体会议最佳技术演示奖。担任ICMR 2017技术委员会主席,JMLR, IEEE TPAMI, TIP, TMM, TCSVT, TNNLS及 CVPR, ICCV, ECCV, ICML, NIPS, AAAI, IJCAI等期刊、会议审稿人。冯佳时博士已在计算机视觉、机器学习领域发表论文60余篇。
冯佳时博士
如下内容整理自公开课分享。
GANs是深度学习领域比较重要的一个模型,也是人工智能研究的一个重要工具。
咱们如今所追求的人工智能,一个很重要的特性就是可以像咱们人类同样,理解周围复杂的世界。包括识别和理解现实中的三维世界,人类、动物和各类工具。这样才能在对现实世界理解的基础上,进行推理和创造。
而正像著名物理学家,理查德•费曼说的同样,若是要真正理解一个东西,咱们必需要可以把它创造出来。
正是基于这样的想法,机器学习以及人工智能的研究者们提出了几率生成模型,致力于用几率和统计的语言,描述周围的世界。
做为一种几率生成模型:GAN
简单说, 几率生成模型的目的,就是找出给定观测数据内部的统计规律,而且可以基于所获得的几率分布模型,产生全新的,与观测数据相似的数据。
举个例子,几率生成模型能够用于天然图像的生成。假设给定1000万张图片以后,生成模型能够自动学习到其内部分布,可以解释给定的训练图片,并同时生成新的图片。
与庞大的真实数据相比,几率生成模型的参数个数要远远小于数据的数量。所以,在训练过程当中,生成模型会被强迫去发现数据背后更为简单的统计规律,从而可以生成这些数据。
如今比较流行的生成模型,其实能够分为三类:
1) 生成对抗网络(GAN)。这个是咱们今天要重点介绍的内容。
2) 变分自动编码模型(VAE)。它依靠的是传统的几率图模型的框架,经过一些适当的联合分布的几率逼近,简化整个学习过程,使得所学习到的模型可以很好地解释所观测到的数据。
3) 自回归模型(Auto-regressive)。在这种模型里,咱们简单地认为,每一个变量只依赖于它的分布,只依赖于它在某种意义上的近邻。例如将自回归模型用在图像的生成上。那么像素的取值只依赖于它在空间上的某种近邻。如今比较流行的自回归模型,包括最近刚刚提出的像素CNN或者像素RNN,它们能够用于图像或者视频的生成。
GAN热度从学术界蔓延至工业界
这三种生成模型都有各自的优缺点,而后也在不一样的领域上获得普遍的关注。而今天咱们要介绍的GAN其实是一种比较年轻的方法。两年半以前, Ian Goodfellow的一篇论文首次将其引入,虽然时间很短,但咱们看Google的搜索热度和Google学术上论文引用的次数,它一直受到学术界普遍的关注,并且热度一直快速增加。
除了学术界,GAN还受到工业界的普遍关注。有许多作人工智能研究的公司正在投入大量的精力来发展和推广GAN模型。其中包括 Ian Goodfellow 现在所在的 OpenAI 公司。这个公司一直在致力于研究推广GAN,并将其应用在不一样的任务上。同时 Facebook 和 Twitter 最近两年也投入了大量的精力来研究,并将GAN应用在了图像生成和视频生成上。尤为值得一提的是,Apple最近发表了其关于人工智能研究的首篇论文,偏偏是应用GAN来作数据的生成,帮助更好地训练机器学习模型。
那么,GAN为何会受到这样普遍的关注呢?
Goodfellow在他的论文中,给出了一些解释。
GAN是更好的生成模型,在某种意义上避免了马尔科夫链式的学习机制,这使得它可以区别于传统的几率生成模型。传统几率生成模型通常都须要进行马可夫链式的采样和推断,而GAN避免了这个计算复杂度特别高的过程,直接进行采样和推断,从而提升了GAN的应用效率,因此其实际应用场景也就更为普遍。
其次GAN是一个很是灵活的设计框架,各类类型的损失函数均可以整合到GAN模型当中,这样使得针对不一样的任务,咱们能够设计不一样类型的损失函数,都会在GAN的框架下进行学习和优化。
再次,最重要的一点是,当几率密度不可计算的时候,传统依赖于数据天然性解释的一些生成模型就不能够在上面进行学习和应用。可是GAN在这种状况下依然可使用****,这是由于GAN引入了一个很是聪明的内部对抗的训练机制,能够逼近一些不是很容易计算的目标函数。
Facebook人工智能研究院的Yann LeCun也一直是GAN的积极倡导者。其中一个最重要的缘由就是GAN为无监督学习提供了一个强有力的算法框架,而无监督学习被普遍认为是通往人工智能重要的一环。就像Yann LeCun所给出的一个比喻同样:
“若是人工智能是一块蛋糕,那么强化学习是蛋糕上的一粒樱桃,监督学习是外面的一层糖霜,无监督/预测学习则是蛋糕胚。目前咱们只知道如何制做糖霜和樱桃,殊不知如何制做蛋糕胚。”
虽然还在快速的发展当中,可是GAN确实为无监督学习,提供了一个很是有潜力的解决方案。
朴素GAN的基本框架
一个最朴素的GAN模型,其实是将一个随机变量(能够是高斯分布,或0到1之间的均匀分布),经过参数化的几率生成模型(一般是用一个神经网络模型来进行参数化),进行几率分布的逆变换采样,从而获得一个生成的几率分布(图中绿色的分布模型)。
而GAN的或者通常几率生成模型的训练目的,就是要使得生成的几率分布和真实数据的分布尽可能接近,从而可以解释真实的数据。可是在实际应用中,咱们彻底没有办法知道真实数据的分布。咱们所可以获得的只是从这个真实的数据分布中所采样获得的一些真实数据。
经过优化目标,使得咱们能够调节几率生成模型的参数\theta,从而使得生成的几率分布和真实数据分布尽可能接近。
那么怎么去定义一个恰当的优化目标或一个损失?传统的生成模型,通常都采用数据的似然性来做为优化的目标,但GAN创新性地使用了另一种优化目标。首先,它引入了一个判别模型(经常使用的有支持向量机和多层神经网络)。其次,它的优化过程就是在寻找生成模型和判别模型之间的一个纳什均衡。
GAN所创建的一个学习框架,实际上就是生成模型和判别模型之间的一个模仿游戏。生成模型的目的,就是要尽可能去模仿、建模和学习真实数据的分布规律;而判别模型则是要判别本身所获得的一个输入数据,到底是来自于真实的数据分布仍是来自于一个生成模型。经过这两个内部模型之间不断的竞争,从而提升两个模型的生成能力和判别能力。
若是咱们把生成模型比做是一个假装者的话,那么判别模型就是一个警察的角色。假装者的目的,就是经过不断的学习来提升本身的假装能力,从而使得本身提供的数据可以更好地欺骗这个判别模型。而判别模型则是经过不断的训练来提升本身判别的能力,可以更准确地判断数据来源到底是哪里。
当一个判别模型的能力已经很是强的时候,若是生成模型所生成的数据,仍是可以使它产生混淆,没法正确判断的话,那咱们就认为这个生成模型实际上已经学到了真实数据的分布。
GAN的基本原理
GAN模型包括了一个生成模型G和一个判别模型D,GAN的目标函数是关于D与G的一个零和游戏。也是一个最小-最大化问题。
这里判别模型D其实是对数据的来源进行一个判别:究竟这个数据是来自真实的数据分布Pdata,仍是来自于一个生成模型G所产生的一个数据分布Pg。
判别模型D的训练目的就是要尽可能最大化本身的判别准确率。当这个数据被判别为来自于真实数据时,标注 1,自于生成数据时,标注 0。
而与这个目的相反的是,生成模型G的训练目标,就是要最小化判别模型D的判别准确率。在训练过程当中,GAN采用了一种很是直接的交替优化方式,它能够分为两个阶段,第一个阶段是固定判别模型D,而后优化生成模型G,使得判别模型的准确率尽可能下降。而另外一个阶段是固定生成模型G,来提升判别模型的准确率。
下面这张图,可视化了GAN学习的过程,从左到右是随着训练过程的进展,依次获得的训练结果。
图(a)中黑色大点虚线P(x)是真实的数据分布,绿线G(z)是经过生成模型产生的数据分布(输入是均匀分布变量z,输出是绿色的曲线)。蓝色的小点虚线D(x)表明判别函数。
在图(a)中,咱们能够看到,绿线G(z)分布和黑色P(x)真实分布,还有比较大的差别。这点也反映在蓝色的判别函数上,判别函数可以准确的对左面的真实数据输入,输出比较大的值。对右面虚假数据,产生比较小的值。可是随着训练次数的增长,图(b)和图(c)反映出,绿色的分布在逐渐靠近黑色的分布。到图(d),产生的绿色分布和真实数据分布已经彻底重合。这时,判别函数对全部的数据(不管真实的仍是生成的数据),输出都是同样的值,已经不能正确进行分类。G成功学习到了数据分布,这样就达到了GAN的训练和学习目的。
可是GAN有一些待增强的理论保证,其中一个是说,GAN是存在全局最优解的。这个全局最优解能够经过一些简单的分析获得。首先,若是固定G,那么D的最优解就是一个贝叶斯分类器。将这个最优解形式带入,能够获得关于G的优化函数。简单的计算能够证实,当产生的数据分布与真实数据分布彻底一致时,这个优化函数达到全局最小值。
另一点,是关于GAN的收敛性。若是G和D的学习能力足够强,两个模型能够收敛。但在实际中,GAN的优化还存在诸如不稳定等一些问题。如何平衡两个模型在训练中是一个很重要的问题。
GAN的优势不少,前面咱们提到了一部分。这里要提到的一个重要优势,就是生成模型G的参数更新不是来自于数据样本自己(不是对数据的似然性进行优化),而是来自于判别模型D的一个反传梯度。
GAN能够和CNN、RNN结合在一块儿。任何一个可微分的函数,均可以用来参数化GAN的生成模型和判别模型。那么,在实际中,咱们就可使用深度卷积网络,来参数化生成模型。另外,GAN和RNN结合在一块儿,用来处理和描述一些连续的序列数据,能够学习到序列数据的分布,同时也能够产生序列数据应用,包括对音乐数据或者是一些天然语言数据的建模和生成。
但GAN的缺点也一样明显。
第一个是GAN的可解释性很是差,由于咱们最后所学到的一个数据分布Pg(G),没有显示的表达式。它只是一个黑盒子同样的映射函数:输入是一个随机变量,输出是咱们想要的一个数据分布。
其次,在实际应用中GAN比较难训练。由于GAN要交替优化两个部件,而这两个部件之间的优化须要很好的同步。例如,在实际中咱们经常须要 D 更新 K次, G 才能更新 1 次,若是没有很好地平衡这两个部件的优化,那么G最后就极大可能会坍缩到一个鞍点。
GAN的应用实例
做为一个生成模型,GAN最直接的应用,就是用于真实数据分布的建模和生成,包括能够生成一些图像和视频,以及生成一些天然语句和音乐等。其次,由于内部对抗训练的机制,GAN能够解决一些传统的机器学习中所面临的数据不足的问题,所以能够应用在半监督学习、无监督学习、多视角、多任务学习的任务中。还有,就是最近有一些工做已经将进行成功应用在强化学习中,来提升强化学习的学习效率。所以GAN有着很是普遍的应用。
Twitter 公司最近发表了一篇图像超分辨率的论文,就是应用了GAN模型。图像超分辨率的目的,是将一个低分辨率的模糊图像,进行某种变换,获得一个高分辨率的带有丰富细节的清晰图像。
超分辨率问题,其实是一个病态问题,由于在图像分辨率下降的过程当中,****丢失的高频细节很难恢复。可是GAN在某种程度上能够学习到高分辨率图像的分布,从而可以生成质量比较好的高分辨率图像。
生成模型要将模糊的低分辨率图像做为输入,并输出一个高分辨率的清晰图像。而判别模型,就要判断所输入的图像到底是“真实高分辨率图像”仍是由低分辨率图像“转化来的高分辨率图像”。而这就大大简化了图像超分辨率模型的学习过程。由于传统上作一个图像超分辨率,都要去对一些高频细节进行建模,而这里生成模型训练目的就简化为迷惑判别模型。
为了使得整个GAN可以取得比较好的结果,咱们经常要求生成模型和判别模型都要有很强的学习能力,因此在实际应用中,咱们经常用一个多层的神经网络来参数化生成模型或者判别模型。
在 Twitter 这篇论文中,他们用一个16个残差块的网络来参数化生成模型。而判别模型使用的是一个VGG网络。这个实验结果也说明了使用GAN模型可以获得更好的结果。与以往基于深度学习模型作图像超分辨率的结果相比的话(好比SRResNet等),咱们能够看到GAN的结果图可以提供更丰富的细节。这也就是GAN作图像生成时的一个显著优势,即可以提供更锐利的数据细节。
Apple最近刚刚发表了其第一篇AI论文,论文要解决的问题,就是如何使得模拟的数据更加逼真,与真实图像的差别性尽可能小。
这篇论文中使用了相似GAN的框架,将模拟器(Simulator)产生的虚拟数据做为输入,经过一个叫作改进器(Refiner)的模型(对应生成模型)来产生改进后的虚拟数据。再一样的,使用一个判别器,来判断所产生的图像是真实的,仍是虚拟的 。
Apple对GAN主要作了两个方面的改进。
第一个就是,为了最大程度保留虚拟图像的类别,引入了额外的一个自正则项(Self-Regularization Term),最小化生成图像与合成图像的绝对值偏差,从而保留图像的标注信息,如眼睛视线的方向,使得生成图像能够用于训练机器学习模型。
另一个改进,是引入了一个局部对抗损失函数(Local adversarial loss),而不是像以前的判别器,使用的是一个全局的损失函数。这里不一样于朴素GAN将整张图做为一个输入进行真与假的判别,而是将输入的图像分红若干个图像块,对每一个图像块进行判别。这样的话能够避免过于强调某些特定的图像特征而致使的尾插。同时实验结果也代表,使用这种局部的对抗损失,确实能够提供一些更锐利的细节,使得生成结果具备更丰富的信息。
那么除了刚才介绍的两个例子,GAN还有其余一些很是有意思的应用。
首先,图像到图像的翻译。好比说将语义标注图、灰度图或边缘图做为GAN的输入,那么咱们但愿它输出可以和输入图一致的真实图像,例如这里的街景图和彩色图。
其次,文本到图像的翻译。GAN的输入是一个描述图像内容的一句话,好比“一只有着粉色的胸和冠的小鸟”,那么所生成的图像内容要和这句话所描述的内容相匹配。
GAN能够用在特定的人脸图像****生成上,例如戴着墨镜的人脸。还可用在图像语音分割上,经过引入对抗训练,获得更锐利的风格结果。GAN能够用于视频生成,经过过去的一些帧来预测将来的一些帧,从而捕捉到一些运动的信息。
最近,咱们本身的实验室团队在GAN上也有一些应用和发展,其中一个是将GAN应用在“人脸去遮挡”。咱们引入了一种保持人的身份信息的GAN模型,实验结果证实,这个模型不只可以检测和去掉在人脸上的遮挡,同时还能保持人的身份信息,从而提升人脸的识别准确率。
咱们实验室的另外一个GAN应用,是在小物体的检测上,例如在自动驾驶领域对交通标志进行检测。
咱们发现,小的交通标志和大的交通标志实际上在特征表示上有着显着的差别。所以,若是咱们直接将所学习到的特征表示做为输入,进行检测的话,那么小物体上的检测结果每每都不是特别好。因此,咱们提出了一个“感知GAN模型”(Perceptual GAN),应用在小物体特征表示的超分辨率上,而不是对原始图像进行超分辨率,使得小物体的特征表示和大物体的特征角表示尽可能接近,这样咱们就可以成功检测到小物体。咱们将这个感知GAN模型应用在了交通标志检测上,取得了比较好的实验结果。
GAN的将来发展方向
1) 针对GAN可解释性差进行改进。包括最近刚提出的InfoGANs。InfoGANs经过最大化隐变量与观测数据的互信息,来改进GAN的解释性。
2) 进一步提升GAN的学习能力。包括引入“多主体的GAN”。在多主体的GAN中,有多个生成器和判别器,它们之间能够进行交流,进行知识的共享,从而提升总体的学习能力。
3) 针对GAN优化不稳定性进行改进。例如使用 F 散度来做为一个优化目标和手段,对GAN进行训练。
4) 应用在一些更普遍的领域。包括迁移学习以及领域自适应学习。还有一个最近比较有意思的应用,是创建了GAN和强化学习之间的联系,将GAN用在了逆强化学习和模拟学习上,从而可以大幅度提升强化学习的学习效率。另外还能够用在数据的压缩上以及应用在除了图像之外其余的数据模式上,好比用于天然语句的生成,还有音乐的生成。
总结
1) GAN的优点。做为一个生成模型,GAN模型避免了一些传统生成模型在实际应用中的一些困难,巧妙地经过对抗学习来近似一些不可解的损失函数。
2) 应用方****面。GAN如今普遍应用图像和视频等数据的生成,还能够用在天然语言和音乐生成上。
3) 存在的问题。一个是GAN的优化过程当中存在不稳定性,很容易坍缩到一个鞍点上;其次是GAN的可解释性比较差;再次,须要提升训练过程当中的稳定性和GAN模型的延展性,尤为在处理大规模数据的时候。
4) 应用前景。在将来,咱们但愿看到GAN应用在无监督学习或自监督学习上,提供有效的解决方案。同时GAN还能够创建与强化学习之间的联系,应用在强化学习上。
最后,回到Yann LeCun提出的那个比喻,咱们对它进行一点修改。就是若是人工智能是一个蛋糕的话,那么“蛋糕胚”不只是指无监督的数据表示学习,还应该包括“无监督推断学习”,而GAN确实很好地链接了这两个重要的人工智能主体。
另外,除了强化学习这颗“樱桃”以外,实际上还有不少其余的“樱桃”。好比说鲁棒学习、自监督学习和在线学习等。因此实际上还有许多问题须要你们一块儿来解决。
最后我要感谢一下实验室的博士后和访问学生对咱们GAN工做的贡献,他们在新年的时候还要熬夜帮我准备此次PPT的一些素材。另外,谢谢你们来听此次分享课。
( 本文转载自雷锋网:http://www.leiphone.com/news/201701/Kq6FvnjgbKK8Lh8N.html ,未经容许禁止转载,转载请先获取受权)
做者:zhwhong连接:https://www.jianshu.com/p/80bd4d4c2992來源:简书简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。