AI科技评论按:本文内容来自新加坡国立大学【
机器学习与视觉实验室
】
负责人
冯佳时博士在【
硬创公开课
】的分享。冯佳时博士梳理了关于生成对抗网络(GAN)的全景图,解答了
涉及GAN方方面面的问题,包括其
基本框架、原理、应用案例、优缺点、发展方向等,感谢冯佳时老师及其实验室同学为本次公开课精心的筹备工作。另外,如果各位读者想要获得本次公开课的PPT,可在后台回复关键词【GAN】,即可下载。
近年来,基于数据而习得“特征”的深度学习技术受到狂热追捧,而其中GAN模型训练方法更加具有激进意味:
它生成数据本身
。
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席卷而来。
经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万张图片之后,生成模型可以自动学习到其内部分布,能够解释给定的训练图片,并同时生成新的图片。
与庞大的真实数据相比,概率生成模型的参数个数要远远小于数据的数量。因此,在训练过程中,生成模型会被强迫去发现数据背后更为简单的统计规律,从而能够生成这些数据。
现在比较流行的生成模型,其实可以分为三类:
-
生成对抗网络(GAN)
。这个是我们今天要重点介绍的内容。
-
变分自动编码模型(VAE)
。它依靠的是传统的概率图模型的框架,通过一些适当的联合分布的概率逼近,简化整个学习过程,使得所学习到的模型能够很好地解释所观测到的数据。
-
自回归模型(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学习的过程,从左到右是随着训练过程的进展,依次得到的训练结果。