
不知道各位小时候是否曾经羡慕过神笔马良的独特能力,只需画下一幅画,就能变为现实,这是多么令人垂涎不已的创造力啊!然而现实中却并没有这样的神笔。不过现在在人工智能深度学习的帮助之下,这一梦想已经得到了“部分”实现。
一款神奇的软件

这张图是否看得有些惊愕不已呢?这正是英伟达推出的全新软件NVIDIA Canvas,这款软件依托强大的AI,能够自动把用户简单的手绘变成足以乱真的风景!

一边是抽象得羞于见人的涂鸦,一边是真实得令人赞叹的风景,仅仅通过这样一个神奇的软件,竟然就实现了二者之间的质变?让我们来看看吧。

尽管Nvidia Canvas是一款极其给人未来感的软件,但其本质其实与Windows自带的“画图”没有太大区别,左边一个方框允许用户自行涂绘,这就是软件的主要操作区域。

但他当然与画图不同,他的强大之处在于右上角有着极其丰富的备选材质。不过与其说是材质,实际上应该算某种极其智能的自动填充特定素材的“神笔”。比如当用户选择了“云”并在左边画了两团色块,右边就呈现出了逼真的云彩。

右下角则决定了图像的样式,当用户选择了一个看上去蓝天白云的样式之后,右边的图像就变成了蓝天上的两朵白云。


同样地,用户用“河流”材质在右下角画了一片水域,接着用“石头”材质添加了石头,图像就呈现出了一条相当真实的河流。

最后当然是“加点细节”时间,增加了一些远景的山与植被,于是生成了右边这副乍一看完全感觉不到违和的景色。

软件当然还可以输出用户“绘制”的图像,于是这个分辨率不高,但绝对足以唬住普通人的“手绘照片”就诞生了。
别忘了,这个过程中用户要做的,仅仅是选择特定材质做出相当抽象的涂鸦,而后续的工作则完全由AI自动生成。虽然这个“神笔”没能画出现实,但至少画出来的东西还是很逼真的。

这个软件的功能还不止于此,根据不同的样式选择,同一幅画还可以呈现出截然不同的面貌,满足更加具体的风景需求。
而这,就是基于生成式对抗网络(GAN)技术的最新时代成果。
生成式对抗网络

生成式对抗网络是一种深度学习模型,它的原理非常简单,内含两个模块,一个负责阅读大量信息,然后加以模仿,另一个则对前者的成果进行判断。
举个例子,模块A在网上看了一万张可爱猫猫图,然后总结经验自主生成了一百张可爱猫猫图,而模块B则负责打分,那些不够像的会被打不及格。在这样一个负责学习模仿,一个负责评判的“对抗”式博弈下,最终AI被训练成极其擅长生成可爱猫猫图,乃至于以假乱真。

别怕,这一张猫猫图是真实的……大概吧。
又是人工智能,又是深度学习,又是什么生成式对抗网络,虽然它听上去很厉害,但似乎与现实生活还有一段距离。但真是如此吗?


像是这两张看上去品相还不错的猫猫,就是由生成式对抗网络(GAN)自主生成的不存在的猫。实际上,生成猫猫仅仅是它最基础的实验性功能,像是这个猫猫图生成,甚至直接挂载在了一个普普通通的网页上,用户每一次刷新页面都可以生成一张新图。
GAN功能网址:Thiscatdoesnotexist.com


当然不仅仅是猫,人工智能的进步是飞快的,很快它就学会了如何生成人脸。上图的两张照片就是由GAN自主生成的,非常真实,但根本不存在的“人”。同样地,这个功能也被挂载在了网站上,每次刷新都可以出现一张新人像。
网址:Thispersondoesnotexist.com

不过在日本科学家手里,这个新技术被用来生成虚构的少女偶像……
但这些,还仅仅是生成式对抗网络的小试牛刀罢了!
深度学习模仿吃豆人
单纯地学习图片然后生成图片,那都是几年前的事了。如果仅仅用来干这种小事儿,也太看不起全新技术的潜力了!
于是,生成式对抗网络被用来生成游戏了……

吃豆人是个经典得不能再经典的游戏了,但如果让你看人玩很长时间,你能做出来这样一款游戏吗?看和做恐怕相去甚远,但深度学习的人工智能却做到了。

同样是英伟达的科研团队,他们开发了一个名为GameGAN的全新项目,用于学习并模仿游戏。但如果是让AI自己去玩游戏再模仿,那未免难度太低了,来点难的吧!

于是条件变成了让AI去看吃豆人的游戏视频,然后在没有游戏引擎的帮助下,让AI自主模仿并生成一款吃豆人游戏!

然后……他就这么做到了,通过大量的观看学习原游戏的视频,GameGAN真的模仿并制作了一款高仿版《吃豆人》,而这个过程仅仅用了四天。
GameGAN通过对五万多个游戏视频的学习,了解到了“吃豆人在迷宫中移动且不能穿墙”“鬼追吃豆人,碰到就会死”“吃豆人吃到食物可以吃掉幽灵”等基础规则,并应用在了自己的高仿版本中。随后将该版本输出成应用程序,让玩家也可以游玩。

尽管最终生成的结果非常令人满意,对吃豆人的模拟程度很高。但却有一个令人哭笑不得的缺陷——GameGAN本身的操作太厉害了,以至于它自己很少会Game Over,于是形成了这游戏不会输的“误解”。最终在它生成的高仿版本里,玩家操作的吃豆人根本就没有Game Over这个结局,哪怕是玩家主动寻死也不行……
(GameGAN:啊?原来这游戏还能输?)
深度学习模仿GTA
虽然模拟吃豆人很令人震惊,但吃豆人毕竟是个相当简单的游戏,还不算太大的成就。但如果让它来生成更大的游戏,比如说GTA呢?
这个特别的《Gan Theft Auto》同样是基于英伟达的GameGAN人工智能,但却有着更大的目标,那就是模仿GTA(的驾驶部分)。

GTA的内容实在是太丰富了,游戏体积也庞大得可怕,模仿整个游戏显然是不现实的,所以目标设定为驾驶部分。
首先研究者装载了一个自动驾驶的MOD,让GTA游戏可以自动运行并始终驾驶。接着GameGAN人工智能被用来看大量的驾驶视频,同时有MOD帮忙收集的操作命令与环境数据,最后人工智能借助了PyTorch,最终成功模拟了一部GTA出来(尽管仅仅能用来开车)

这个动图尽管非常的糊,像是喝多了一样,但确实是由人工智能在毫无基础的前提下自行模仿制作出来的“游戏”,虽然效果距离正牌GTA还差得远,但比起模拟一款吃豆人,还是有了惊人的进步。
结语
生成式对抗网络(GAN)真的强大吗?那要看你怎么看待了。一方面它的学习效率并不高,对于GTA的模拟学习效果仅仅是模仿了驾驶部分;但另一方面它的进步速度极其惊人,从生成图片,到模拟游戏,再到生成以假乱真的风景,谁也不知道下次它又能学会什么。
而且,以上的进程仅仅是近几年的发展罢了,今后它又将发展出怎样强大的功能与应用呢?让我们拭目以待吧。