1.3 了解生成对抗网络
1.3.1 从机器感知到机器创造
机器学习与深度学习在过去几年取得了重大的突破,尤其是深度学习的发展让计算机具备了非常强大的感知能力,计算机可以感知物体、识别内容,甚至理解人们说的话。从机器学习到深度学习的不断发展过程中,机器一直在不停模仿人类的思维方式,希望能像人一样思考。但仅仅具备感知能力似乎是不够的,人类思维能力的迷人之处更在于它的创造能力,我们希望计算机能够自己写诗、谱曲、作画、创作艺术作品等。
越来越多的研究者将自己的研究方向从机器感知转向了机器创造,希望通过生成技术能够让计算机具备生成新事物的能力。在生成技术的研究中,本书的主角“生成对抗网络”应运而生,它不仅打破了人们对传统生成模型的理解,同时也具备了非常令人满意的效果。
要了解生成对抗网络[1],不得不首先认识一下“生成对抗网络之父”Ian Goodfellow(见图1-17,以下简称Ian)。Ian本科与研究生在斯坦福大学计算机科学专业就读,博士时期在蒙特利尔大学研究机器学习,师承深度学习的顶级大师Yoshua Benjo(业界公认他与Geoffrey Hinton、Yann LeCun并列为深度学习领域的“三驾马车”),而生成对抗网络正是Ian在蒙特利尔大学博士期间提出的想法。Ian在毕业后先后在Google和OpenAI进行深度学习相关的研究,在此期间对GAN的持续发展做出了非常大的贡献。
图1-17 GAN发明者:Ian Goodfellow
Ian发明生成对抗网络是出于一个偶然的灵感,当时他正在蒙特利尔大学和其他博士一起进行生成模型的研究,他们想通过该生成模型让计算机自动生成照片。当时他们的想法还是希望使用传统的神经网络方法,希望通过模拟人的大脑思考方式来进行图片的生成。但是事实是生成的图像质量始终不理想,出现了图片模糊的情况,如果需要继续对现在的模型进行优化,需要大量的训练数据集,而且最终的可行性也是不得而知。
当时的Ian对使用传统神经网络的方式本身产生了怀疑,他认为也许这并非最理想的解决方案。一天晚上,他突然想到一种全新的思路,如果不是只用一个神经网络,而是同时使用两个神经网络会不会有更好的效果呢?
这一想法为他打开了一种全新的思路,在Ian的构思中两个神经网络并非是合作关系而是一种博弈与对抗的关系(见图1-18),这也就是生成对抗网络最初的思想。就如同人类自身在发展过程中经历的那样,只有在与同类的竞争环境下对于某项技能的学习才会更加快速,比如各类比赛尤其是体育类竞赛,每年的成绩都在不断逼近人类极限,这其中有很大一部分原因在于比赛选手之间的比拼与较劲。
图1-18 图片来自《麻省理工科技评论》的2018十大技术突破
如果从仿生学的角度来看,在生物的发展过程中也有着类似的状态,在与其他物种尤其是天敌的对抗中自身会不断进化,从而向着一个更完善的状态转变。这一理论是由进化生物学家Leigh Van Valen在1973年的时候总结提出的,称为“红皇后假说”,是一种关于生物协同进化的假说,物种间为了争夺有限的资源,不得不持续优化自身以对抗自身种族的捕食者与竞争者。同样地,对于该物种的捕食者与竞争者来说,也同样需要不断进化来获取相应的资源。
Ian Goodfellow是一个非常果敢的执行派,同时也是一个代码高手,在基础理论大致清晰了之后他立刻就开始了实践,并且在最初的几次实践过程中,这种对抗的思想就在实验数据的图像生成上取得了非常理想的效果。
生成对抗网络这种全新的技术在生成方向上带给了人工智能领域全新的突破。在之后的几年中生成对抗网络成为深度学习领域中的研究热点,近几年与GAN有关的论文数量也急速上升(见图1-19),网络上有人整理了近年来的GAN模型,截至2018年2月份已经有了350多个,数量仍然在持续增加中。
图1-19 GAN论文数量趋势图
“深度学习三驾马车”的另外一位顶级专家Yann LeCun(纽约大学教授,前Facebook首席人工智能科学家)称赞生成对抗网络是“过去20年中深度学习领域最酷的思想”,而在国内被大家熟知的前百度首席科学家Andrew Ng也把生成对抗网络看作“深度学习领域中一项非常重大的进步”。在机器学习顶级会议NIPS2016上,为Ian Goodfellow专门开设了关于GAN的教程演讲(见图1-20)。在2018年,这一对抗式神经网络的思想被《麻省理工科技评论》评选为2018年“全球十大突破性技术”(10 Breakthrough Technologies)之一。
图1-20 Ian在NIPS2016的分享
1.3.2 什么是生成对抗网络
让我们先用一个小例子来认识一下生成对抗网络。首先我们来认识一下生成对抗网络的双方—生成器与判别器,在训练过程中两者的配合非常重要。我们可以把生成器想象成一个古董赝品制作者(虽然比喻可能并不太合适),他的成长过程是从一个零基础的“小白”慢慢成长为一个“仿制品艺术家”。而判别器则担任的是一个古董鉴别专家的角色,当然一开始也许他也仅仅是一个普通等级的鉴别师,在与赝品制作者的博弈中逐渐成长为一个技术超群的鉴别专家(见图1-21)。
图1-21 生成对抗网络:创作者与鉴别师
生成对抗网络的内部比赛现在就开始了。让我们来看一下最初的情况是怎样的:赝品制作者还是一个什么都不懂的“小白”,也不懂得真实的古董到底应该是什么样子,完全凭借自己的心意随意制作产品。
面对如此简单可分辨的仿制品,虽然自身功力也不深,但是此时的初级鉴别者却还是能够一眼就能分辨孰真孰假。在分辨完成的同时,鉴别者会将自己的判断结果写成报告:比如做工不精细、颜色不协调等。
最初的第一次对抗就这么完成了,似乎离我们期待的目标还非常远,但是没关系,这才刚刚开始。现在进入第二阶段,仿造者通过一些渠道,拿到了鉴别者的判断报告,他认真研读了里面的每一条信息,根据这些信息重新制作赝品,虽然他依然不知道真实古董到底是什么样子,但他希望能够通过这份报告的信息来“骗过”鉴别者。
这一次创作的赝品比起之前的来说确实要成熟不少。到了鉴别者这边,当他再次拿到赝品和真品时,要重新判断作品的真假,这一次他也发现了赝品制造者的能力有所提升了,为了区分真假作品,他需要花时间去寻找一些更深入的区别点。当然,在一番努力过后,鉴别师顺利完成了任务,同时他也如第一次一样,将他区分真假的理由写成报告(之后依然会流出到赝品制造者手里)。第二次对抗到这里也完成了。
当然对抗远远没有结束,如同上述的故事一直持续了很多很多次……
在经历了N次的互相博弈以后,两者在整个训练过程中都变得非常强,其中的造假者一方几乎能制作出以假乱真的作品,而鉴别者一方也早已是“火眼金睛”的鉴别专家了。最后一次博弈是这样的:赝品制作者已经完全摸透了鉴别师的心理,虽然他还是没有见过真的古董是什么样子,但是对古董应该具备什么样的特性已经十拿九稳,对于鉴别师可能的分辨过程也全都了然于心。对于如此以假乱真的赝品,虽然鉴别者拥有“火眼金睛”,但已然是无能为力了,他可以做的只能是凭运气猜测是真是假,而无法用确定的理由进行判断。
这也就是生成对抗网络最终的目的,而我们所需要的就是培养出这个能够以假乱真的生成器。在之后的第3章开始,本书会详细介绍生成对抗网络的技术细节。