专栏名称: DeepTech深科技
“DeepTech深科技”是与麻省理工科技评论官方独家合作的一个新科技内容品牌。我们专注于关注三个方面:1、基于科学的发现;2、真正的科技创新;3、深科技应用的创新。
目录
相关文章推荐
新浪科技  ·  【#理想2024年共交付500508辆汽车# ... ·  4 天前  
新浪科技  ·  【#2024年标普500指数累涨23%# ... ·  4 天前  
51好读  ›  专栏  ›  DeepTech深科技

把低龄涂鸦画变成美术作品,谷歌AutoDraw是怎样拯救手残党的?

DeepTech深科技  · 公众号  · 科技媒体  · 2017-04-14 16:18

正文



绘画水平很糟糕?别担心,谷歌神经网络帮你服务到家。

 

谷歌近日推出了一个名为 AutoDraw.com 的网站,你可以把它看作Microsoft Paint(微软画图软件)。

 

别看 AutoDraw界面简单,它却拥有一颗复杂的人造大脑。你只需要通过鼠标或触摸板画出一些曲线,谷歌就能利用它强大的搜索引擎对线条进行检索,提供一个它认为你可能想画的图形的列表,最终生成一个近乎完美的图案。

 

实际上,AutoDraw所用的技术基于谷歌先前的涂鸦实验“Quick, Draw!”。Quick, Draw!是一个游戏,在游戏中,玩家被要求在20秒内绘制出6个简单的对象,与此同时,Quick, Draw!的人工智能字符识别系统对这些简单对象进行识别。

 

有趣的是,当你嘲笑计算机无法对你绘出的丑陋图形进行识别时,它仍然可以从中收集大量的数据。有了更多了数据,谷歌的人工智能就能够从一款游戏衍生出一个工具了。因此,AutoDraw表面看起来似乎有些傻,但是它背后的技术却能推动计算机理解复杂且难以捉摸的人类行为

 

谷歌并不是唯一一个试图解决此类问题的企业:在上个月由《麻省理工科技评论》主办的EmTech数字峰会上,人工智能创业公司Gamalon称他们正在开发一种新方法,帮助机器在更少的训练数据支持下识别类似的图形。

 

虽然已有许多研究工作,利用神经网络(NN)来探究图像的生成模型(generative model),但其中的大部分都集中于对表示为2D像素网络的栅格图像进行建模。这些模型如今借助高维度的2D像素网络能够产生逼真的图像,但仍有一个关键挑战尚未解决:产生具有一致结构的图像。比如,这些模型有时会产生一些很奇怪的图像,比如有三只甚至更多眼睛的猫或很多脑袋的狗。

 


那么,AutoDraw是怎么做到学习识别图像的呢

 

在这项工作中,谷歌的开发者们受到人们作画方式的启发,研究了一个更低维度的向量表示模型sketch-rnn。这个模型基于序列到序列(seq2seq)的自动编码器框架。它包含了变分推断,并利用超网络作为递归神经网络单元。Seq2seq自动编码器的目标是训练一个能将输入序列编码为一个浮点数向量的网络。我们将这种向量称为特征向量(latent vector)。由它通过解码器,能重建出一个和输入序列极为接近的输出序列。

 

 Sketch-RNN原理图解


另外,谷歌开发者们还故意向特征向量中加入噪声。其相关论文表明,通过向编解码器间的通讯信道中引入噪声,模型无法准确地重现输入的草图,而必须学习将草图的精华提取出来,表示为一个带噪声的特征向量。解码器接收到它后,会产生一系列构建新草图的活动。下图中,开发者将几个实际的猫类草图送入到编码器中,再利用解码器产生重建的新草图。

 


需要强调的是,重建的猫类草图不再是输入草图的副本,而是和输入草图具有类似特征的新草图。为了表明这个模型不是简单地从输入序列中进行复制,而是真正学习到人们绘制猫的方法,开发者尝试将一些异常的草图送入到编码器中。

 


当开发者们将一幅绘有三眼猫的草图送入编码器,模型会生成一只看上去很像两只眼睛的猫的输出,这表明这一模型已经学习到猫类一般只有两只眼睛。为了证明这一模型不仅简单地从大量的记住的猫类草图中选择最接近正常外表的猫,开发者尝试以完全不同于猫类的牙刷草图作为输入。最后,一个像猫、有长胡须、模仿了牙刷的特征和朝向的图形就生成了。这表明网络已经学会将输入草图编码为一组抽象的猫类概念,嵌入到特征向量中,再基于该特征向量重建一个全新的草图


训练一个猪类草图的模型,同样可以得到类似的结论。当把八脚猪送入模型中,模型会生成一个类似的拥有四条腿的猪。如果我们把一辆卡车送入到模型中,我们会得到一只看上去有点像卡车的猪。

 

那么,这个模型能否学习到多种动物的表示,如果可以的话,它们是什么样子的呢?下图中,开发者从对猫头和全猪进行插值而得到的一组特征向量,逐个生成草图。我们能看到从猫的头部,到一只尾巴的猫,再到一只胖胖的猫,最终转变为一只猪的过程。就像孩子学习如何绘制动物,这一模型学习如何通过加入头部、腿部、尾巴到躯干上来建造动物。

 


这些例子表明特征向量的确能对于草图的概念特征进行编码。但是能否把这些特征加入到没有这些特征的草图中呢,比如,为一个躯体加上猫头?

 

的确,开发者发现,对于同时对猫类猪类草图进行训练的模型,草图绘制的类比是可能的。比如,我们能从一个全猪的特征向量中,减去一个猪脑袋的特征向量,这样得到一个能表示躯体概念的向量。再把这种差异加入到猫头提取的特征向量中,就能产生一只猫(猫头+躯体=全猫)。这样的绘图类比使得我们能够探索模型是如何组织它的特征空间,进而表示出多种生成草图中的不同概念的。

 

如果,你想知道基于这一模型设计出来的AutoDraw水平到底怎么样,不如现在就动动手指尝试一下:https://autodraw.com/(无需翻墙)

 

 

MIT Technology Review 中国唯一版权合作方,任何机构及个人未经许可,不得擅自转载及翻译。

分享至朋友圈才是义举




一个魔性的科幻号,据说他们都关注了