当AI有了想象力:可以指马为斑马 变冬天为夏天

当AI有了想象力:可以指马为斑马 变冬天为夏天
导读:《黑客帝国》里,机器的发展达到了一种可以创造整个世界的程度,弱人工智能和强人工智能的界限并不特别清晰,也许有一天,在达到弱人工智能之后,蹭一下地就到了强人工智能。

  说起“教授”计算机如何完成人类工作,生成式对抗系统(GAN)是现有最有效的手段之一。虽然人们一直被告知“竞争可以激发出更好的表现”,但是只有在有了生成式对抗系统之后这一“从竞争中学习”的逻辑才被发展到了造福产业生产的高度。

  具体来说,生成式对抗系统是由不同的AI实体彼此竞争,以达到更好地解决自己任务的目的。想象一下,如果有一个恶意软件程序和一个安保机器人程序同时对抗,彼此都毫不放松的想要在对方的制约下更好的完成自己的职责。那么在这个过程中,他们双方都可以将自己的任务(入侵VS保护)完成的越来越好。

  生成式对抗系统最初是由蒙特利尔大学的 Ian Goodfellow 首先创造出来。而最近,它已经向人们显示出了“无监督学习”的强大威力。

  那么究竟生成式对抗系统是如何工作的呢?

  每个生成式对抗系统都有两个相互竞争的神经网络。其中一个将噪音录入并且生成样本(生成器)。而另一网络则能够分辨正常的实验数据和从生成器获得的样本(分辨器)。这两个网络在进行一个持续的游戏,生成器会一直学习如何能够成功欺骗分辨器,而分辨器则能逐步增强自己分辨两种数据的能力。这两个系统同时接受长期的训练,终于在百万次的“对抗”之后,生成器生成的样本已经和真实的数据几乎没有差异。

  简单来说,生成器就是一个造假者不断想要制造虚假的资料,而分辨器则是警察,其职责就是将虚假的资料分辨出来。因为整个过程都是被现有计算机器自动化执行的,生成式对抗系统已经可以实现许多令人惊叹的任务。而以下就是至今为止生成式对抗系统最为惊艳世界的应用。

  1. 当机器有了想象力

  谷歌的Deep Dream可以制造出有着幻觉效果的图像

  Google Brain的研究者已经找到了可以从视觉上展现他们的精神网络,Google Net,如何看待事物本质的方法。而通过这种方法,生成式对抗系统制造出了可以被称为有着迷幻效果图像。

  其实,这些如梦似幻的图片,是一个给图片分类的功能刻意过度处理图像时产生的副产品。而在这个过程中涉及到的主要系统就是Deep Dream。

  Deep Dream究竟是如何工作的呢?你首先要给他一个图像,然后他会主动去寻找他在之前训练中学会的认识的一切。神经网络可能会发现一些类似于一只狗,一个房子这一类的意象。而Google Deep Dream就可能强化这些被认出来的事物。

  打个比方,如果现有的认知网络在你输入一个图像时会认为“看,这个图像有40%的可能是一只狗”,那么,下一次,它会在自动完善后说:“看,这有60%的可能性是一只狗。”这个过程会一直持续到被输入的图片可以被转化成在神经系统看来完全就是一只狗或者其他事物为止。并且,在这样不断转化被分类的图像的过程中,系统创造了看起来超脱尘世的迷幻图像。

  Google的Deep Dream以这样的方式逆转了我们传统认识中,输入一个图形就会生成一个对应输出结果的固定思维。如今,每个输入的图像都会被认知系统不断改进,直到它可以完全的理解并进行最佳分类。

  2.让机器模仿人类

  通过生成式对抗系统模仿学习的过程

  一群AI研究人员希望能够用不同的方式去建构能自学的人工智能,而不是沿用传统的建立在奖励机制上的方法。

  他们给了人工智能一套真实的展示数据作为输入指令,而根据这套数据,人工智能就可以学习并且尝试模仿同样的动作。

  在这个模型中,Jonathan Ho和Stefano Ermon展示了一种全新的模仿学习的方法。在标准的强化学习系统中,人们总是要设计一个奖励功能来向人工智能描述他们应该做出怎样的行为。然而,在实际操作中,这会需要昂贵的“实验-纠错“的过程来将保证细节的正确。但是,在模仿学习的设定下,人工智能可以直接向样本的展示如何去学习,从而完全消除了去设计一个奖励功能的需要。

  3.指马为斑马,变冬为夏

  图像到图像的生成

  通过已有的图像来生成新的图像是生成系统的一个非常有趣的应用。在试验中,研究者们已经可以改变视频中的动物,或者图片中的季节。


  这一任务的目标是学习如何通过一整套图像对(image pair)去充分认识输入与输出的图像的联系与区别。然而,在多数情况中,成对的训练数据并不好找。而解决这一问题的方法就是使用两个完全相对的映像,一方的输出图像被设定成正好是对方的输入图像。以这样的方法,人们得以用非常少量的数据让人工智能认识到两个图像的真实联系(无监督学习)。

  4. 将简略素描变成丰满画作

  通过轮廓生成图像

  逼真的图像处理是一项艰巨的任务,因为它需要人工智能通过一个被用户设定的角度去丰富图像的表现,但同时他也要能够确保最终输出的逼真效果。这着实需要相当高超的技巧。而一个艺术家可能需要数年的持续训练才可以达到这样的程度。

  研究此项技术的人工智能研究人员之前一直是如何做的呢?他们创造了一个模型。当人们给这个模型一个物体的轮廓时,他可以成功认出这个物体,然后基于轮廓生成一个逼真的实际图像。

  然而,在近期的一篇论文中,一位作者提议使用Generative Adversarial Neural Network(生成式对立神经网络)来使人工智能可以直接通过自然图像背后的数据进行学习。这样的模型自动调节了输出图像的编辑,使其尽可能逼真。同时,这样的处理可在约束优化的条件下实现近乎于实时的执行。这项技术如果可以进一步发展,那我们可以期待,未来,人工智能可以将人们的草稿变成新的图形,又或者是将一幅固定图像改变地与目标图像无限接近。

  5. 看字画图

  从字到图的自动合成

  根据文本自动合成逼真图片的技术令人向往。最近,深度卷积生成式对抗网络已经可以识别某些特定种类的文章然后生成非常引人注目的图片,例如面庞,唱片封面和房间内部装饰。

  这个模型被同时包含文本和他们相应图片的样本数据喂养着。当人们提供了任何一个事物的描述时,这个模型就会开始自动生成对应的图像。

  在这一技术中,从文本到图像的合成其实基于两个步骤:首先,人工智能需要学习并识别文本中展现出重要视觉细节的部分,然后,通过这些特定的特点来合成一个足以欺骗人类的逼真图像。

  6. 让电脑因为好奇而学习

  好奇会是深层神经网络持续探索的真实动因

  在现实社会中,人工主体可以收到的外部奖励基本不存在。而一个被动的程序是无法主动进化并学习的。因此,好奇心能够作为一个内在奖励的信号帮助人工主体去探索他的周围环境并且学习之后对其有用的技能——积极的学习者一定比那些被动懒惰的人表现得好得多。

  在这样一个模型里,好奇心其实是每当AI预测到自己的未来行动时就会发出错误预警。

  这样的机器人程序也可以同时通过程序员建造的奖励系统来帮助他学习。

  如果我们将人工主体想象成一个幼儿。一个没有父母监督的孩子非常可能会忍不住去触碰发烫的锅,随即领悟到这个东西这么烫让我这么疼,所以之后我一定不能够再碰了。好奇心驱使他去探索,而奖励机制可以告诉他这件事情是好是坏。

  这样一个“好奇心”驱动的学习是基于以下几点判断建造的:

  1)极少的外部奖励会使得好奇心与外界环境接触并达成目标的欲望极具减弱

  2)比起没有外部奖励的探索,好奇心驱动的人工主体可以在学习时更加有效率

  3)对于未知情景进行概括,可以使人工主体将它们之前有过的经历和知识转化为面对新环境的智慧,而不是两眼一抹黑地从头开始学习

  这一方法也可以在以下两个游戏环境中来检验:VizDoom和超级玛丽兄弟。

  7. AI设计游戏

  使用生成式对抗系统来设计游戏的用户界面

  想想如果我们可以生成令人信服的视频游戏的图像界面,那么我们就可以复制粘贴这些界面的一些元素然后为我所用。


  这一技术的目标是生成一组风格统一的游戏图像。为了达到这个目的,这个程序需要集结不同游戏的一系列图像。然后, 通过已有图像的各个部分来生成新的独特的图形,作为新游戏的背景界面。

  8. 预测视频中下一步会发生什么

  基于场景动态特性生成视频

  理解物体的运动趋势和场景动态特性是计算机视觉的核心问题。为了实现视频识别和视频生成,我们需要一个场景转换的模型。然而,制造这样一个动态模型太有挑战性,毕竟物体和场景都有无数种改变的方向。

  而这样看似不可能的任务被一个分割了前景和背景的模型实现了。这个模型强调了背景的固定性,从而将神经网络的大部分精力集中在了学习前景物体的移动方向上。同时,这些场景也被分门别类地分割开来,使得人工主体对于前景物体移动方向的预测更为准确。

  9. 生成逼真的人工脸

  神经识别人联系统

  “Neural Faces”是一种可以生成人工(而不是真实的)人脸的一款人工智能技术。他的基础就是由Facebook 的AI团队开发的深度卷积生成式对抗网络。

  这个AI团队,使用包含了100个0到1之间的实数的Z向矢量来生成一幅图像。之后,这个生成器就可以逐步学习人类图像的分布。它可以逐步学会如何生成可以蒙混分辨器的新脸,而分辨器也同时在分辨生成脸和真实人脸上越来越熟练。

  10. 改变照片中的面部表情和特征

  使用生成式对抗网络的向量运算

  在一次实验中,研究人员通过一系列的样本图像就已经可以成功生成人脸的各种表情。比如说,他可以把一张没有笑的脸变成微笑的,在脸上添加装饰品,或者强调面部的一些特征。

  这一功能的基础方法,是将图像的每一列以 X 向矢量代表,然后通过 X 的平均数来生成 Y 向矢量的中位数。之后,在 Y 向矢量上进行例如添加和减少的算术运算,从而形成一个新的 Z 向矢量,即新图像。将 Z 向矢量输入生成器从而生成上面最右边的结果图。

  我们可以自信的进行其他的属性操作,例如放大缩小,转换方向等等。为了达到这样的目的,我们需要将看向左边和右边的人脸的图像样本平均为一个人脸的左右向矢量。然后,通过加入对应着图像矢量的轴的“插值“,我们就可以成功地对这些人脸进行这些更高级的改变了。

  结论

  我们现在还处于生成式对抗网络发展的初期。以上的这些例子,虽然现在看起来已经颇为令人鼓舞,但是这仍然非常基本。对于我们工程师来说,它给予了我们一个训练 Neural Nets 来完成任何复杂的人类任务的光明路径。它也同时可以证明创造力已经不是一个只有人类才有的特征了。

推荐阅读