谷歌近日推出一款名为 Auto Draw 的智能绘画软件,顾名思义软件能够自动画画,在软件上随意画出草图,然后它就会 Duang 的一下自动给匹配相近的图片让你选择。这是一款特别初级人工智能软件,和手机的手写输入功能很相似。
绘图金手指?
同一时期,Ali Eslami 和其他几名科学家研发了一款更加智能的、具有仿生思维、能够自学的绘图软件。这款软件可以做到的事:提供一副图后它能够绘制出 “副本”,重点在于绘制过程,即软件拥有绘制图像的能力而并不是像扫描仪一样简单的扫描、输出。
以下是科学家研发思路:
灵感:
我们发现人类看到的不仅仅是事物表面。比如我们看到建筑,我们不仅感慨设计的复杂性,也欣赏建筑的建造工艺。这种能够透过现象看本质的能力是人类智力高于其他物种的一个重要原因。因此我们希望能做出一款和人类一样聪明或者模仿人类思维的软件,比如当看画的时候,我们希望软件能够 “理解” 画像是如何绘制的,而不仅仅是分辨画像的像素。
准备工作:装备
我们给软件配备了相同的绘图工具,发现它可以自动分辨数字、人物和肖像各自不同的构造方式。最重要的是,这些都是它们自主学习达到的,没有经过数据集训练。这与其他必须从数据集学习的程序形成了鲜明的对比,但是这样可能比较耗时。
工程师设计思路
第一步:深度强化学习软件打底
我们先设计了一个深度强化学习软件,用以与计算机绘画程序交互:用电子笔在数位板上画画,随意更改画笔大小、压力和颜色。但是因为没有被训练过,画出来的都是随机笔画看不出整体的架构。为了解决这个问题,我们决定建立一个奖惩机制,用以鼓励产出更有价值的图像。
第二步: 甄别器神经网络升级
然后我们设计了一个名为甄别器的神经网络来判定图像是软件画的还是真实照片。如果软件画出的图被判定为真实照片,软件就会得到 “奖励” 。其实,软件的的 “奖励” 就是它学会了如何欺骗甄别器。这和之前的神经网络 GANS(Generative Adversarial Networks)用的方法相似,但是区别在于 GAN 是直接输出像素,我们这款是通过软件和真实图像环境交互后再输出图像。
第三步:MNIST&OMNIGLOT 数据集训练
在第一组实验中,软件被训练生成类似于 MNIST 数据集里的数字图像,通过尝试生成欺骗甄别器的图像,软件学会了控制画笔以适应不同数字的风格,这就是我们常说的可视化程序技术。
第四步:扩散到真人数据集
我们也用特定的图像训练软件,要求它生成 “复制” 图像,然后让甄别器判定 “复制” 后的图像是否是软件生成的和是否是原图的副本。区分难度越大,“奖励” 越多(软件学习得越多)。至关重要的是,软件会储存一系列控制模拟画笔的动作。这意味着可以将模拟过程中学习到的应用于其他类似环境中,比如在机器人手臂上应用来模拟真人。视频截图如下:
还有就是可以将框架扩展到真实的数据集中,在训练绘制名人脸部表情时,软件可以捕捉到脸部的主要特征:形状、色调、发型,就像街头艺术家寥寥数笔就勾勒出一幅肖像。
知其然也知其所以然,是人类很容易拥有并且经常用到的能力,在这项研究中我们成功的让软件也能看到一幅画后「明白」这是如何画出的。期间,还学会了可视化程序技术和简洁得表达因果关系。
尽管这仅仅是一个小研究,但后续这类使人工智能拥有类似人类认知、概括、分析沟通能力的技术必不可少。虽然短期内想要替代设计师是不可能的,甚至都无法替代「Adobe 全家桶」中任意一个,但是也不可否认自动绘图软件的出现,的确让我们看到了人工智能又一个有趣且前景明朗的应用场景。