GAN让AI有创造力

举报
chenjinge 发表于 2020/04/29 10:18:29 2020/04/29
【摘要】 2014年Ian Goodfellow博士在神经信息处理系统大会(Conference and Workshop on Neural Information Processing Systems,NIPS)上发表了一篇论文:Generative Adversarial Nets [1]。作者在论文中提出了一种利用对抗过程去训练、评估生成模型的新框架,此即为生成对抗网络(Generative ...

2014年Ian Goodfellow博士在神经信息处理系统大会(Conference and Workshop on Neural Information Processing Systems,NIPS)上发表了一篇论文:Generative Adversarial Nets [1]。作者在论文中提出了一种利用对抗过程去训练、评估生成模型的新框架,此即为生成对抗网络(Generative Adversarial Nets,GAN)的初始思想。GAN一经提出便风靡学术界,成为人工智能领域最热门的研究议题之一。Yann LeCun 2016年在Quora网站上的回答指出GAN是机器学习近10年以来提出的最引人关注的想法。


本文简单地介绍GAN的基本思想、研究和应用前景以及存在的问题,最后展望其在电信领域的潜在应用。



1GAN基本思想



生成模型(generative model)在机器学习的历史上一直举足轻重,其意图是得到数据的概率分布。生成模型非常有用。举个例子,在监督学习的场景中如果我们有一个生成模型能够准确的描述观测数据X和标签Y之间的联合概率分布P(X,Y) 
,那么我们可以直接应用该分布以及新观测的数据x来推测得到y:

HDC15.jpg

推测过程中x已观测,因此P(X=x)为常数HDC16.jpg,故 。此外,生成模型也可直接用于生成数据。混合高斯模型、隐马尔可夫模型、朴素贝叶斯模型、玻尔兹曼机等均属于生成模型。


如果我们有一个X的数据集S,怎么得到其生成模型呢?最常用的方法是先假设其分布服从一个已知的分布HDC17.jpg,如混合高斯分布。剩余的任务则是估计一组参数θ′,使得HDC18.jpg能最好的描述S。通常我们可用最大似然法来估计θ′


HDC19.png



此种方法要求有先验知识:预先知道其属于什么分布。可否弱化该要求,用较为通用的模型学习出来呢?根据万能近似定理(universal approximation theorem),带有非线性激活函数的深层神经网络是合适之选。即,我们可直接选择深层神经网络作为HDC17.jpg尝试训练得到该模型(深度生成模型)。然而应用最大似然方法来估计深层生成模型的参数却非常困难。



GAN将MinMax游戏的思想引入到神经网络的训练过程中来解决上述问题。最基本的GAN包含两个神经网络:


1)      生成模型网络(generative model, G。如上文所述,我们希望G作为生成模型能够学习到真实数据的分布。它接收随机数据HDC20.jpg,并“尽量”产生符合真实数据X分布的输出x′。即HDC21.jpg  。




2)      判别模型网络(discriminative model, D。本质上它是个二分类器,用来判断输入数据x是否来源于真实的数据集HDC23.jpg

训练即为两个网络的MinMax博弈过程。若我们选择交叉熵(cross entropy)作为分类器D的损失函数(loss function):


HDC24.jpg



则GAN的训练过程可表述为:

HDC25.png



即:
D以最大化V(D,G)为目标;V以最小化V(D,G)为目标。图1 为上述公式的一个说明。


HDC26.jpg


图 1  D和G的目标(图源自 [2])


训练过程就是按照上述公式交替的训练D和G


有一个形象的例子可阐述上述过程:我们可将G比为假币制造者,D类比为警察。G源源不断的制造假币并使用;D手中有真币,并可据此判断市面上货币的真假。初始阶段的大部分假币制造者技术不精,因其产出易被识别而锒铛入狱、被淘汰;得以留存的则技高一筹。然而在双方博弈过程中,警察的辨别能力也逐渐提升,迫使假币制造者不断的提高伪造水准。最终的假币几可乱真。



2相关研究



HDC27.jpg

图 2  GAN相关的研究论文(图源自The GAN Zoo [3])


上图展示了GAN自提出以来的相关论文数量增长。其在人工智能研究领域的影响力可见一斑。GAN的研究工作甚多,大体上可分为两大类:GAN的变种及其创新应用;GAN的基本性能、优化研究,如训练稳定性、收敛性等。感兴趣的读者可以去The GAN Zoo [3] 网站查看该 Github 仓库作者收集的各种GAN论文列表,做深入探索。此处,我们仅简单介绍若干个有意思的应用研究:


1)超高分辨率图片生成(SRGAN)


如何从一张低分辨率的图片得到一张超高分辨率图片?发表于CVPR 2017 上的论文 SRGAN[8] 聚焦这一目标。SRGAN 是一个典型的GAN结构:生成器接收低分辨率图片,输出高分辨率图片;判别器分辨输入是原始高分辨率图片还是生成的图片。其两个网络结构如图3所示。生成器中除了图像中常用的卷积层,还有残差块。生成器的损失函数是content loss和adversarial loss的加权结合。在content loss中,该文摒弃了常用的MSE,而是提出了VGG损失度量(具体参见论文)。


HDC28.jpg


图 3  SRGAN生成、判别网络结构(图源自SRGAN[8])


HDC29.jpg


图 4   SRGAN效果(图源自SRGAN[8])


    

相似的应用研究还有[9]。


2)根据文本生成图片


很多情况下,我们都希望能够根据文本描述搜索到对应图片。研究者们则更进一步,研究从文本直接生成图片。相关的工作较多,如[10][11][12]。这类工作将文本处理后作为图片生成器的一个输入,即文本约束图片生成的条件。图5展示了 StackGAN[11] 的结构。其使用了两个阶段的GAN结构,用于生成清晰的符合描述的图片。文本约束在两个阶段中均存在。图6展示了其效果。


HDC30.jpg

图 5   StackGAN 结构(图源自StackGAN[11])


HDC31.jpg

图 6   StackGAN 效果(图源自StackGAN [11])



3)图片转图片


得益于众多研究者的投入[13][14][15][16][17][18],图片转图片是GAN目前最成熟的应用之一。以下两个有趣的功能可以基于这类研究实现:


a)      给图片换纹理、风格。典型的工作如 CycleGAN[18]。CycleGAN 使用两个循环的GAN网络,其中:G将X域数据转换到Y域;F将Y域数据转换到X域。其损失函数包含两个GAN网络各自的 adversarial loss部分以及cycle consistency loss部分,以参数 
 控制 cycle consistency loss 的权重。图8展示了其效果。


HDC32.jpg

图 7   CycleGAN 结构示意图(图源自CycleGAN [18])


HDC34.jpg


图 8  CycleGAN 效果图


b)      辅助修图:深度学习加持的PS 工具 [19]。该论文呈现了名为 Neural Photo Editor 的工具来辅助修图。为了实现上述目标,作者提出了IAN(Introspective Adversarial Network)结构,创新性的结合了VAE(Variation Auto-Encoder)和GAN。图9显示了IAN结构,其中:G、D分别为生成器、判别器;E为VAE编码器;G同时也是VAE解码器。具体网络结构、损失函数定义、训练过程参见论文。图10为Neural Photo Editor 工具效果。


HDC35.jpg


图 9   IAN 结构(图源自IAN[19])


HDC36.jpg


图 10   Neural Photo Editor  (中间为原图,图源自IAN[19])


4)其他领域应用


学者们将GAN拓展应用到了很多其他领域,如:创造音乐 [20][21];检测肿瘤 [22];生成3D物体 [23];生成视频 [24];用于对话加密 [25];应用于高能物理仿真 [26] 等等。


从上述例子可见,GAN主要应用于图像领域,且基本都是应用训练出来的生成器G生成仿真数据。



3存在的问题



如上所述,关于GAN的研究工作非常之多。学者们在不断的将其改进、拓展。然而还有诸多问题未被研究透彻,或是在实际的应用中难以处理。以下列出5干个在应用和训练GAN过程中易碰到的问题:


1)什么是“好”?怎么评估生成模型G?

如何评估模型非常重要,涉及到我们怎么构建模型、怎么挑选超参数、何时终止训练等。通常而言,我们会用似然去评估生成模型。然而似然表现好的模型生成的数据可能不如人意;反过来似然差的模型也可能生成满意的样例。评估GAN中的G会更为困难 [6]。因为GAN更难以定义和计算似然。例如我们用GAN来训练从照片生成艺术画作,到什么程度我们认为G满足要求了?此时我们很难像监督学习那样去定个指标、用测试集测试,很多时候靠人来判断和观察。


2)训练不收敛。


我们用优化算法去训练能够得到较低损失的模型。优化算法一步步朝着降低损失的方向前进,直至收敛到最优点。GAN的目标不是单一的G或者D达到最优点,而是博弈的双方达到纳什均衡点(Nash equilibrium point)。一方在优化中前进一步,很可能造成另一方离目标更远一步。有时训练能让双方达到平衡点;有时双方只是在不断的来回“拉扯”。


3)模式塌陷(mode collapse)。


模式塌陷会导致生成多样性低。极端的模型塌陷情况下,对于任何输入,G始终只产生一个输出。此种情况较少发生。更常见的是局部模型塌陷,例如G产生的多个艺术画作用色一样。在这个问题的影响下,应用GAN的场景更多是能够容忍G输出多样性低的场景。


4)梯度消失。

在反向传播过程中,我们基于链式法则求得损失函数相对每层网络参数的梯度,从而更新参数。传播过程中若初始梯度太小、或是每层相乘的梯度较小,易导致传播的梯度越来越小(接近0),即梯度消失。此时网络中参数的迭代更新会非常缓慢。合适地选择激活函数和损失函数可一定程度防止梯度消失:用线性整流器(ReLU)替换sigmoid;在 [1] 中作者用HDC37.jpg替代HDC38.jpg。在实际应用中,我们也可尝试 LSGAN、BEGAN、WGAN等不同的损失函数。




5)对超参非常敏感。


众所周知超参数的选择是深度学习中非常重要的一环,可直接导致模型训练的成功与否。由于上述不收敛、模式塌陷、梯度消失等问题的存在,GAN的超参数选择更为重要,包括G、D网络的结构、优化算法的选择、学习率、损失函数的设计等等。超参的**非常耗费时间,需要训练人员不断地做选择、训练、评估。


上述问题都比较棘手,有不少研究工作在尝试解决它们。有兴趣的读者可自行查阅相关论文。Github上 How to Train a GAN [7] 列出了一些实际可参考的训练小技巧。



4结语



GAN的原理、改进、应用的研究都非常火热。其基本思想是利用对抗训练过程去学习数据的分布。实质上我们并不能从训练得到的生成器G得到数据显式的概率分布。然而G可用于生成样本数据,结合各种场景进行应用。当前GAN在图像领域应用最成功,将其用于电信领域尚需更多的探索和实践,包括潜在应用场景、可能存在的问题等。



5参考



[1]    Goodfellow I, Pouget-Abadie J, Mirza M, et al.Generative adversarial nets[C]//Advances in neural information processingsystems. 2014: 2672-2680.

[2]    Goodfellow I. NIPS 2016 tutorial: Generativeadversarial networks[J]. arXiv preprint arXiv:1701.00160, 2016.

[3]    The GAN Zoo: https://github.com/hindupuravinash/the-gan-zoo

[4]    CycleGAN: https://github.com/junyanz/CycleGAN

[5]    iGAN: https://github.com/junyanz/iGAN

[6]    Theis L, Oord A,Bethge M. A note on the evaluation of generative models[J]. arXiv preprintarXiv:1511.01844, 2015.

[7]    How to Train a GAN: https://github.com/soumith/ganhacks

[8]    Ledig C, TheisL, Huszár F, et al. Photo-Realistic Single Image Super-Resolution Using aGenerative Adversarial Network[C]//CVPR. 2017, 2(3): 4.

[9]    Sønderby C K,Caballero J, Theis L, et al. Amortised map inference for imagesuper-resolution[J]. arXiv preprint arXiv:1610.04490, 2016.

[10] Reed S, Akata Z,Yan X, et al. Generative adversarial text to image synthesis[J]. arXiv preprintarXiv:1605.05396, 2016.

[11] Zhang H, Xu T,Li H, et al. Stackgan: Text to photo-realistic image synthesis with stackedgenerative adversarial networks[J]. arXiv preprint, 2017.

[12] Dai B, Fidler S,Urtasun R, et al. Towards diverse and natural image descriptions via aconditional gan[J]. arXiv preprint arXiv:1703.06029, 2017.

[13] Radford A, MetzL, Chintala S. Unsupervised representation learning with deep convolutionalgenerative adversarial networks[J]. arXiv preprint arXiv:1511.06434, 2015.

[14] Taigman Y,Polyak A, Wolf L. Unsupervised cross-domain image generation[J]. arXiv preprintarXiv:1611.02200, 2016.

[15] Brock A, Lim T,Ritchie J M, et al. Neural photo editing with introspective adversarialnetworks[J]. arXiv preprint arXiv:1609.07093, 2016.

[16] Isola P, Zhu JY, Zhou T, et al. Image-to-image translation with conditional adversarialnetworks[J]. arXiv preprint, 2017.

[17] Kim T, Cha M,Kim H, et al. Learning to discover cross-domain relations with generativeadversarial networks[J]. arXiv preprint arXiv:1703.05192, 2017.

[18] Zhu J Y, Park T,Isola P, et al. Unpaired image-to-image translation using cycle-consistentadversarial networks[J]. arXiv preprint, 2017.

[19] Brock A, Lim T,Ritchie J M, et al. Neural photo editing with introspective adversarialnetworks[J]. arXiv preprint arXiv:1609.07093, 2016.

[20] Yang L C, Chou SY, Yang Y H. MidiNet: A convolutional generative adversarial network forsymbolic-domain music generation[J]. arXiv preprint arXiv:1703.10847, 2017.

[21] Dong H W, HsiaoW Y, Yang L C, et al. MuseGAN: Multi-track sequential generative adversarialnetworks for symbolic music generation and accompaniment[C]//Proc. AAAI Conf.Artificial Intelligence. 2018.

[22] Schlegl T,Seeböck P, Waldstein S M, et al. Unsupervised anomaly detection with generativeadversarial networks to guide marker discovery[C]//International Conference onInformation Processing in Medical Imaging. Springer, Cham, 2017: 146-157.

[23] Wu J, Zhang C,Xue T, et al. Learning a probabilistic latent space of object shapes via 3dgenerative-adversarial modeling[C]//Advances in Neural Information ProcessingSystems. 2016: 82-90.

[24] Vondrick C,Pirsiavash H, Torralba A. Generating videos with scene dynamics[C]//Advances InNeural Information Processing Systems. 2016: 613-621.

[25] Abadi M,Andersen D G. Learning to protect communications with adversarial neuralcryptography[J]. arXiv preprint arXiv:1610.06918, 2016.

[26] Paganini M, deOliveira L, Nachman B. CaloGAN: Simulating 3D high energy particle showers inmultilayer electromagnetic calorimeters with generative adversarialnetworks[J]. Physical Review D, 2018, 97(1): 014021.



【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。