怎样教机器学会画画和抽象“算术”?谷歌大脑深度详解(附论文)

简介:
本文来自AI新媒体量子位(QbitAI)

还记得去年Google Brain推出的小游戏“Quick, Draw!”吗?机器给出一个名词,你需要在20秒内画好,还得让机器猜出来。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

量子位编辑部全体同事都表示玩过这个小游戏,我们打算在自己简历里加一条:参与了谷歌大脑的Sketch-RNN项目。

说正事。

谷歌大脑团队研究员David Ha和Douglas Eck今天在博客中宣布,他们用“Quick, Draw!”游戏的玩家涂鸦作品教会了人工智能像人类一样画画,并发表了论文《A Neural Representation of Sketch Drawings》来详细解释这个名为Sketch-RNN的项目。

为训练Sketch-RNN网络,研究员们收集了人类在“Quick, Draw!”中画的75类、70000幅涂鸦,还记录了人类画画的整个过程:画笔的运动轨迹、何时落笔何时停止等等。

在训练过程中,AI还对自己所画的东西产生了抽象概念,比如说,它知道猫应该有两只眼睛,不会画出这样的惊悚作品:

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

两位研究员的博客全文

抽象的可视通信是人们相互之间表达思想的重要部分。从儿童时代开始,人类就开始形成用画笔描绘对象、甚至情绪的能力。这种简单的涂鸦可能与真实照片有很大差异,但却能告诉我们,人类如何对周围世界的画面进行展现和重建。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

 Sketch-RNN生成的绘画

在我们近期的论文《A Neural Representation of Sketch Drawings》中,展示了一种生成性的循环神经网络(RNN),可以绘制普通物体的涂鸦,其目标是训练机器以类似人类的方式来画画,并概括抽象的概念。我们使用由手绘涂鸦构成的数据集去训练我们的模型,而这些涂鸦的绘制由一系列控制画笔的肢体运动组成:画笔运动的方向,何时提笔,何时停止绘画。通过这样的训练,我们创造了一种可能有多种用途的模型,例如协助艺术家的创意过程,以及指导学生学习绘画。

尽管基于神经网络的图像生成模型已获得了大量研究,但大部分这类工作都专注于由二维像素网格构成的图像建模。目前,这些模型被用于生成具有真实感的图像,但这样做的关键挑战在于,如何生成结构协调的图像。例如,这些模型生成的宠物猫有时会出现三只眼睛,而生成宠物狗可能有好几个脑袋。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

 Ian Goodfellow, NIPS 2016 Tutorial

在这项工作中,我们基于人类的绘画方式研究了较低维度、基于向量的表现方式。我们的模型Sketch-RNN基于seq2seq自动编码框架,利用了变分推断,并使用超网络(hypernetworks)作为可重复的神经网络单元。使用seq2seq自动编码器的目的是训练神经网络将输入语句编码为一个浮点数向量,即隐藏向量,并利用这一隐藏向量和解码器去生成输出序列,以尽可能接近的方式重建输入序列。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

 Sketch-RNN原理图解

在我们的模型中,我们有意向隐藏向量加入了噪声信号。在论文中,我们展示了,通过在编码器和解码器之间的通信信道中引入噪声,这一模型无法再准确重建输入涂鸦,而是必须学会捕捉输入涂鸦的本质。我们的解码器获取这一隐藏向量,生成动作序列,用于绘制新涂鸦。在以下图片中,我们将多幅猫涂鸦输入至编码器,并利用解码器生成了重建的涂鸦。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

需要强调的一点在于,重建的猫涂鸦并不是输入涂鸦的直接模仿,而是与输入对象类似的新涂鸦。为了证明,这一模型并非简单地模仿输入序列,而是学会了人类涂鸦的方式,我们可以向编码器输入非标准的涂鸦。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

当我们向编码器输入三只眼睛的猫涂鸦时,模型生成了外形类似,但只有两只眼睛的猫涂鸦。这表明,模型已经知道,猫只有两只眼睛。

为了证明,我们的模型并不是从大量已记忆的猫涂鸦中选择了最接近的一个,我们可以输入完全不同的内容,例如一把牙刷的涂鸦。我们看到,这一神经网络生成了类似猫的涂鸦,但胡须很长,像是这把牙刷。这表明,神经网络学会将输入涂鸦编码为一系列抽象的猫概念,并嵌入至隐藏向量中,随后基于隐藏向量重建全新的涂鸦。

我们重复了试验,让这一模型学习猪的涂鸦,并取得了类似结果。在输入8条腿的猪涂鸦时,这一模型生成了外形类似,但只有4条腿的猪涂鸦。如果我们向其中输入卡车涂鸦,那么模型会生成看起来像是卡车的猪涂鸦。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

为了研究这些隐藏向量如何编码动物的概念特征,在下图中,我们首次获得了来自两个明显不同的猪涂鸦的隐藏向量,包括一个猪头(绿色框)和一只完整的猪(橙色框)。我们希望了解,模型如何重建猪涂鸦,而方式之一是在两个不同的隐藏向量之间进行插值,随后从每个插值的隐藏向量去生成涂鸦。在下图中,我们展示了猪头涂鸦如何逐渐演化成了整只猪的涂鸦,并在这一过程中演示了,我们的模型如何组织猪涂鸦的概念。我们看到,隐藏向量控制了鼻子与头部的相对位置和大小,以及涂鸦中身体和腿部是否存在。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

我们还想知道,如果模型能学会多种动物涂鸦的重建,那么在这样的情况下,最终涂鸦看起来会是什么样?在下图中,我们利用基于猫头和整只猪之间的插值隐藏向量去生成涂鸦。我们看到,最终涂鸦逐渐从一只猫头变成了有尾巴的猫,再变成躯体肥胖的猫,最终变成一只猪。与儿童学习画动物的方式类似,我们的模型在画动物时也是将头、腿和尾巴连接到身体上。我们还看到,这一模型绘制的猫头与猪头有明显不同。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

这些插值的例子表明,隐藏向量确实编码了输入涂鸦的概念特征。那么,我们是否可以使用这些特征去增强不具备这类特征的其他涂鸦,例如在猫头上加一个身子?

640?wx_fmt=png&wxfrom=5&wx_lazy=1

 通过这样的隐藏向量算术,系统学会了抽象概念之间的关系

实际上,在我们用猫涂鸦和猪涂鸦训练模型的过程中,我们发现,涂鸦的类推是可能的。例如,我们可以从整只猪涂鸦的隐藏向量中删除属于猪头的隐藏向量,从而得到属于身子的向量。将这样的差异添加到猫头的隐藏向量中,我们就可以得到一只完整的猫。这样的涂鸦类推使我们可以探索,模型如何组织其隐藏空间,在重建涂鸦的过程中呈现不同的概念。

创意应用

在这项工作中,除了研究目的以外,我们也非常关注Sketch-RNN的潜在创意应用。例如,在最简单的应用场景中,图案设计师可以使用Sketch-RNN为布艺和墙纸图案生成大量类似,但各有不同的设计。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

 绿色和黄色方框中的是输入涂鸦,其他是系统生成的类似却不同的设计

正如我们此前所见的,经过训练,能绘制猪涂鸦的模型也可以绘制出类似猪的卡车,只要提供卡车涂鸦的输入即可。我们可以将这样的成果投入应用,帮助创意设计师得出抽象设计,满足目标人群的喜好。

例如在下图中,我们将4把不同椅子的涂鸦输入至能够画猫的模型中,生成了与椅子有相似之处的猫涂鸦。我们可以更进一步,利用插值方法去探索看起来类似椅子的猫的隐藏空间,生成一系列设计供选择。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

探索不同对象之间的隐藏空间或许可以帮助创意设计师找到有趣的交汇点,以及不同图案之间的关系。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

我们还可以将Sketch-RNN的解码模块视为独立模型,训练其预测未完成涂鸦的可能结果。这种技术可以协助艺术家完成创意流程,推荐更多方式去完成尚未完成的作品。在下图中,我们绘制了多个不同的未完成涂鸦(用红色表示),并让这一模型以多种可能的方式去完成绘画。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

我们甚至可以将这一概念更进一步,让不同模型去处理同一幅未完成涂鸦。在下图中,我们看到,同样的圆形和方形图案如何演变成了蚂蚁、火烈鸟、直升机、猫头鹰、沙发,甚至画刷的一部分。通过使用多样化的模型去绘制不同对象,设计师可以探索具有创新性的方式,向受众传达有意义的可视化信息。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

对于生成性向量图像建模未来的各种可能性,我们感到非常兴奋。这些模型将在多个方向上,赋能许许多多有趣的创新应用。它们也可以被作为工具,协助我们加强对自身创新性思维流程的理解。

论文

A Neural Representation of Sketch Drawings

摘要:

We present sketch-rnn, a recurrent neural network (RNN) able to construct stroke-based drawings of common objects. The model is trained on thousands of crude human-drawn images representing hundreds of classes. We outline a framework for conditional and unconditional sketch generation, and describe new robust training methods for generating coherent sketch drawings in a vector format.

地址:https://arxiv.org/abs/1704.03477

各方评价

谷歌大脑的负责人Jeff Dean第一时间在Google+(是的,这个网站还活着)上发文这篇博客文章和团队的论文,还评价说,Sketch-RNN是对机器学习在未来能够提供何种创意工具的试水。

最让众网友感兴趣的大概有两点。

一是算术问题,猫头的图片+(整只猪的图片-猪头的图片)=?系统能知道是一只猫,让网友们很惊讶。

二是PASCUAL JUAN NUÑEZ提出的,这一研究的关键不是画画,而是概念化,可以应用到二维图像、一维的压力波动、三维建模等各种领域。

至于那些fun、nice、awesome、interesting,我们就不提啦。

还没玩过“Quick, Draw!”,以及前两天推出的Auto Draw的胖友,可以去玩一下:

Quick, Draw!传送门:quickdraw.withgoogle.com

Auto Draw传送门:autodraw.com

本文作者:陈桦 允中
原文发布时间: 2017-04-14
相关文章
|
2月前
|
机器学习/深度学习 人工智能 编解码
哲学家解析Sora本质,AI视频离世界模拟器还有多远?
【2月更文挑战第24天】哲学家解析Sora本质,AI视频离世界模拟器还有多远?
32 2
哲学家解析Sora本质,AI视频离世界模拟器还有多远?
|
11月前
|
算法 数据处理 计算机视觉
计算机视觉应用算法的通俗理解 - 网络究竟在里面干了什么(一)
计算机视觉应用算法的通俗理解 - 网络究竟在里面干了什么(一)
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
重新审视AI,神经网络中概念符号涌现的发现与证明(2)
重新审视AI,神经网络中概念符号涌现的发现与证明
109 0
|
12月前
|
机器学习/深度学习 人工智能 决策智能
重新审视AI,神经网络中概念符号涌现的发现与证明(1)
重新审视AI,神经网络中概念符号涌现的发现与证明
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了
扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了
192 0
|
12月前
|
机器学习/深度学习 自然语言处理 算法
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异(2)
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异
|
12月前
|
机器学习/深度学习 算法 数据建模
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异(1)
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异
|
12月前
|
机器学习/深度学习 算法 搜索推荐
亚马逊团队使用受物理启发的图神经网络,解决组合优化等问题
亚马逊团队使用受物理启发的图神经网络,解决组合优化等问题
108 0
|
12月前
|
机器学习/深度学习 计算机视觉
深度学习模型模拟大脑地形图,有助于回答大脑不同部分如何协同工作
深度学习模型模拟大脑地形图,有助于回答大脑不同部分如何协同工作
|
机器学习/深度学习 人工智能 算法
人工智能机器学习底层原理剖析,人造神经元,您一定能看懂,通俗解释把AI“黑话”转化为“白话文”
按照固有思维方式,人们总以为人工智能是一个莫测高深的行业,这个行业的人都是高智商人群,无论是写文章还是和人讲话,总是讳莫如深,接着就是蹦出一些“高级”词汇,什么“神经网络”,什么“卷积神经”之类,教人半懂不懂的。尤其ChatGPT的风靡一时,更加“神话”了这个行业,用鲁迅先生形容诸葛武侯的话来讲:“多智而近妖”。 事实上,根据二八定理,和别的行业一样,人工智能行业内真正顶尖的天才也就是20%,他们具备真正的行业颠覆能力,可以搞出像ChatGPT这种“工业革命”级别的产品,而剩下的80%也不过就是普通人,每天的工作和我们这些人一样,枯燥且乏味,而之所以会出现类似“行业壁垒”的现象,是因为这个行
人工智能机器学习底层原理剖析,人造神经元,您一定能看懂,通俗解释把AI“黑话”转化为“白话文”