技术创新是社会经济发展的核心驱动力。继以物联网、云计算、大数据和移动互联网为代表的信息技术之后,以深度学习为代表的人工智能技术蓬勃发展,被公认是社会经济发展的新动能和新引擎,有望在农业生产、工业制造、经济金融、社会管理等众多领域产生颠覆性变革。生成式对抗网络(Generative adversarial networks, GAN)作为一种新的生成式模型,已成为深度学习与人工智能技术的新热点,在图像与视觉计算、语音语言处理、信息安全等领域中展现出巨大的应用和发展前景。
1
GAN的原理与现状
生成式对抗网络GAN是由Goodfellow等[1]在2014年提出的一种生成式模型。其核心思想来源于博弈论中的二人零和博弈。基本的GAN模型在结构上由一个生成器(Generator)和一个判别器(Discriminator)组成,如图1所示。从某个概率分布pz(例如高斯分布)中采样随机变量z,作为生成器G的输入,经过G的非线性映射,输出信号G(z)。取决于G的结构和计算复杂性,从z到G(z)一般经过高度复杂的非线性变换,使得随机变量G(z)具备拟合高度复杂分布的能力。不失一般性,将G(z)称为生成数据(或伪数据),相应地将来自物理世界的数据x称为真实数据。判别器D以G(z)或x为输入,通过计算其属于真实数据的概率,判断输入数据是来自于真实数据还是生成数据。由于G和D一般采用高度非线性并且可微的深度神经网络结构,因而均可以采用端对端学习策略进行训练。具体而言,在训练G和D时,采用对抗学习策略,使二者的训练目标相反。D的目标是最大化对数似然函数以判断G(z)和x的来源,将G(z)判断为生成数据,将x判断为真实数据。与之相对的是,G的目标是最小化对数似然函数,使G(z)的分布pg逼近真实数据x的分布pdata。不断迭代此对抗训练过程,交替更新判别器D和生成器G的参数,使D和G的性能不断提高;当达到平衡状态时,则认为G(z)学习到了真实数据x的分布空间,此时G(z)和x在分布上不具有差异性,判别器D无法对数据来源做出正确的判断。
图1 GAN的基本结构和计算流程
Fig.1 Basic structure and computation procedure of GAN
Goodfellow等[1]从理论上证明了当GAN模型收敛时,生成数据具有和真实数据相同的分布。但是在实践中,GAN的收敛性和生成数据的多样性通常难以保证[2]。主要存在两个问题:生成器梯度消失和模式坍塌(Mode collapse)。梯度消失是指由于生成器G和判别器D的训练不平衡,判别器D的性能很好,对生成数据G(z)和真实数据x能够做出完美的分类,那么D对应的误差损失将很小,进而反向传播到G的梯度值很小,使得生成器G不能得到有效的训练。模式坍塌是指对于任意随机变量z,生成器G仅能拟合真实数据分布pdata的部分模式,虽然G(z)与真实数据x在判别器D难以区分,但是生成器G无法生成丰富多样的数据。
为了解决GAN模型存在的问题,国内外学者提出了许多衍生模型[3]。例如,Arjovsky等[4]提出了Wasserstein GAN,用Earth-Mover距离代替Jensen-Shannon散度,来度量生成数据与真实数据之间的差异,在很大程度上缓解了梯度消失和模式坍塌问题。图2显示了arXiv上GAN论文数量(以Generative adversarial networks、Generative adversarial nets和Adversarial learning为关键词检索得到)的变化趋势,反映了GAN的研究热度变化。可以看出,Goodfellow等提出GAN后的两年内,相关论文的数量并不多,但是从2016年下半年开始,论文数量快速增长。
图2 arXiv上GAN论文数量的变化趋势
Fig.2 Trend of the number of GAN papers published on arXiv
另外,有许多衍生模型是从应用的角度提出的。例如,图像到图像转换具有广泛的应用,Zhu等[5]提出了CycleGAN,它包括两个生成器和两个判别器,在对抗损失的基础上增加了循环一致性损失,用于训练非配对的图像到图像转换模型。目前,GAN已经被广泛应用于计算机视觉、语音语言处理、信息安全等领域。图3显示了arXiv上GAN论文所属的学科领域。可以看出,论文最多的学科领域是计算机视觉(cs.CV),说明GAN目前主要用于图像处理与计算机视觉;其次是机器学习(cs.LG和stat.ML)、计算与语言(cs.CL)、人工智能(cs.AI)、语音(cs.SD)、语音处理(eess.AS)、机器人(cs.RO)、密码与安全(cs.CR)、多媒体(cs.MM)等。
图3 arXiv上GAN论文所属的TOP10学科领域
Fig.3 Top10 subject categories of the GAN papers published on arXiv
2
GAN:从生成数据到创造智能
GAN的初始目的是基于大量的无标记数据无监督地学习生成器G,具备生成各种形态(图像、语音、语言等)的数据能力。随着研究的深入与发展,以生成图像为例,GAN能够生成百万级分辨率的高清图像[6]。实际上,GAN生成数据并不是无标记真实数据的单纯复现,而是具备一定的数据内插和外插作用,可以作为一种数据增广方式结合其它数据更好地训练各种学习模型。进而,通过在生成器的输入同时包括随机变量z和隐码c并最大化生成图像与隐码c的互信息,InfoGAN能够揭示复杂数据中隐含的分布规律,实现数据的解释化表达[7]。因而,GAN不仅可以用于探索复杂数据的潜在规律,还能够生成高质量的生成样本以作为真实数据的有效补充,为学习智能模型提供了新的视角和数据基础。
对于条件GAN模型,生成网络的输入往往被定义为样本的类别甚至其它形式(模态)的数据。到目前为止,已研究了根据文本描述生成图像[8],进行交互式图像编辑[9],从低分辨率图像生成高分辨率图像[10],预测视频的未来帧[11],将仿真图像转换为真实风格的图像[12],实现通用的图像到图像转换[5],对真实图像的光照和天气条件进行变换[13],从二维图像生成物体的三维模型等[14]。数据形式(模态)的转换可以进一步带来不同模态之间数据的可复用、模型和知识的迁移、创造更高水平的智能。例如,SimGAN能够将仿真图像转换为更具真实感的图像,同时保持仿真图像的标注信息不变,利用转换后的图像数据来训练视线估计和手势估计模型,使模型精度得到大幅提升[12]。
更进一步,由于GAN引入了对抗学习机制,在训练生成器产生更高质量数据的过程中,本身就会创造新的智能。例如,将语义分割卷积神经网络作为GAN的生成器,用判别器来判断分割图是来自分割网络还是来自真实标注,可以引入更高阶的一致性约束,提高语义分割的精度[15];在本专刊中,郑文博等撰写的《基于贝叶斯生成对抗网络的背景消减算法》利用GAN的对抗学习机制来训练背景消减神经网络,将一批输入图像直接转换成一批前景/背景分割结果,在公共测试集上取得了良好的性能;MalGAN能够主动生成具有对抗性的病毒代码样本,攻击黑盒病毒检测模型,有利于提高反病毒软件的性能[16]。总之,GAN在对抗样本、数据增广、迁移学习和创造智能等方面都展现出巨大的潜力,已成为当前的深度学习与人工智能研究中关注的热点。
3
GAN与平行智能
GAN作为一种有效的生成数据和创造智能的模型,与平行智能密切相关[17]。平行智能强调虚实互动,其载体是基于ACP (Artificial systems, computational experiments, and parallel execution)的平行系统[18]。利用人工系统来建模和表示实际系统,通过计算实验来分析和评估各种计算模型,借助平行执行来引导实际系统向着理想的目标状态逼近。平行智能包括平行视觉、平行学习等分支。
平行视觉[19-20]是ACP理论在视觉计算领域的推广。平行视觉利用人工场景来模拟和表示复杂挑战的实际场景,使采集和标注大规模多样性的图像数据集成为可能,通过计算实验进行视觉算法的设计与评估,最后借助平行执行来在线优化视觉系统,实现对复杂环境的感知与理解。利用GAN的半监督/无监督学习能力,能够生成大规模、多样性的图像数据[12-13],有利于对视觉模型进行充分的训练与评估,提高视觉模型在复杂场景下的运行可靠性。平行学习[21]是一个新型的机器学习理论框架。首先从原始数据中选取特定的“小数据”,输入到软件定义的人工系统中,并由人工系统产生大量新的数据;然后这些人工数据和特定的原始小数据一起构成解决复杂问题所需要学习的“大数据”集合,通过计算实验和平行执行来更新机器学习模型,得到应用于某些具体场景或任务的“精准知识”。GAN能够生成大量新的数据,作为训练数据的一部分,提高机器学习模型的性能。简言之,可以把GAN看作真与假的平行,把平行智能看作虚与实的平行。GAN必将促进平行智能理论的发展!
References
1. Goodfellow I, Pouget-Abadie J, Mirza M, Xu B, WardeFarley D, Ozair S, Courville A, Bengio Y. Generative adversarial nets. In: Proceedings of the 2014 Conference on Advances in Neural Information Processing Systems 27. Montreal, Canada: Curran Associates, Inc., 2014. 2672−2680
2. Creswell A, White T, Dumoulin V, Arulkumaran K, Sengupta B, Bharath A A. Generative Adversarial Networks: An Overview. IEEE Signal Processing Magazine, 2018, 35(1): 53−65
3. Wang Kun-Feng, Gou Chao, Duan Yan-Jie, Lin Yi-Lun, Zheng Xin-Hu, Wang Fei-Yue. Generative adversarial networks: the state of the art and beyond. Acta Automatica Sinica, 2017, 43(3): 321−332
(王坤峰, 苟超, 段艳杰, 林懿伦, 郑心湖, 王飞跃. 生成式对抗网络 GAN 的研究进展与展望. 自动化学报, 2017, 43(3): 321−332)
4. Arjovsky M, Chintala S, Bottou L. Wasserstein GAN. arXiv preprint arXiv:1701.07875, 2017.
5. Zhu J Y, Park T, Isola P, Efros A A. Unpaired image-to-image translation using cycle-consistent adversarial networks. 2017 IEEE International Conference on Computer Vision (ICCV), Venice, Italy, Oct. 2017, pp. 2242−2251
6. Karras T, Aila T, Laine S, Lehtinen J. Progressive Growing of GANs for Improved Quality, Stability, and Variation. arXiv preprint arXiv:1710.10196, 2017.
7. Chen X, Duan Y, Houthooft R, Schulman J, Sutskever I, Abbeel P. InfoGAN: Interpretable representation learning by information maximizing generative adversarial nets. In Advances in Neural Information Processing Systems, Dec. 2016.
8. Zhang H, Xu T, Li H S, Zhang S T, Huang X L, Wang X G, Metaxas D. StackGAN: text to photo-realistic image synthesis with stacked generative adversarial networks. arXiv preprint arXiv: 1612.03242, 2016.
9. Zhu J Y, Krähenbühl P, Shechtman E, Efros A A. Generative Visual Manipulation on the Natural Image Manifold. arXiv preprint arXiv:1609.03552, 2016.
10. Ledig C, Theis L, Huszar F, Caballero J, Cunningham A, Acosta A, Aitken A, Tejani A, Totz J, Wang Z, Shi W. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network. arXiv preprint arXiv:1609.04802, 2016.
11. Santana E, Hotz G. Learning a driving simulator. arXiv preprint arXiv: 1608.01230, 2016.
12. Shrivastava A, Pflster T, Tuzel O, Susskind J, Wang W D, Webb R. Learning from simulated and unsupervised images through adversarial training. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, July 2017, pp. 2242−2251
13. Liu M Y, Breuel T, Kautz J. Unsupervised Image-to-Image Translation Networks. In Advances in Neural Information Processing Systems, Dec. 2017.
14. Zhang C, Wu J, Xue T, Freeman B, Tenenbaum J. Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling. In Advances in Neural Information Processing Systems, Dec. 2016.
15. Luc P, Couprie C, Chintala S, Verbeek J. Semantic Segmentation using Adversarial Networks. arXiv preprint arXiv:1611.08408, 2016.
16. Hu W W, Tan Y. Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN. arXiv preprint arXiv:1702.05983, 2017.
17. Wang F Y, Wang X, Li L X, Li L. Steps toward parallel intelligence. IEEE/CAA Journal of Automatica Sinica, 2016, 3(4): 345−348
18. Wang Fei-Yue. Parallel system methods for management and control of complex systems. Control and Decision, 2004, 19(5): 485−489, 514
(王飞跃. 平行系统方法与复杂系统的管理和控制. 控制与决策, 2004, 19(5): 485−489, 514)
19. Wang Kun-Feng, Gou Chao, Wang Fei-Yue. Parallel vision: an ACP-based approach to intelligent vision computing. Acta Automatica Sinica, 2016, 42(10): 1490−1500
(王坤峰, 苟超, 王飞跃. 平行视觉: 基于 ACP 的智能视觉计算方法. 自动化学报, 2016, 42(10): 1490−1500)
20. Wang K F, Gou C, Zheng N N, Rehg J M, Wang F Y. Parallel vision for perception and understanding of complex scenes: methods, framework, and perspectives. Artificial Intelligence Review, 2017, 48(3): 299−329
21. Li Li, Lin Yi-Lun, Cao Dong-Pu, Zheng Nan-Ning, Wang Fei-Yue. Parallel learning—a new framework for machine learning. Acta Automatica Sinica, 2017, 43(1): 1−8
(李力, 林懿伦, 曹东璞, 郑南宁, 王飞跃. 平行学习 — 机器学习的一个新型理论框架. 自动化学报, 2017, 43(1): 1−8)
本文源“GAN生成式对抗网络”,作者:王坤峰、王飞跃等
往期文章推荐
🔗【重要通知】2018智能汽车跨界融合高峰论坛将于6月28日在江苏常熟召开
🔗【通知】中国自动化学会关于推荐联合国 可持续发展目标青年工程师奖项候选人的通知
🔗【CAC2018】2018中国自动化大会论文投稿截止日期变更通知