抽象图像传播对人们交流思想起着重要作用。孩子们在很小的时候就培养了绘画能力,甚至可以用简单的线条表达他们的情感。这些简单的图画可能不像照片那样逼真,但它们确实提供了人们如何描绘和重建周围世界的另一种视角。▲sketch-rnn生成的矢量图在最新论文《简笔画绘图的神经表征》(ANeuralRepresentationofSketchDrawings)中,我们提出了一种能够生成常见物体的简笔画的生成递归神经网络,目标是训练机器进行绘制和泛化抽象的概念。我们在手绘简笔画数据集上训练我们的模型,其中每个简笔画代表一系列持笔动作:移动的方向,何时抬起和停止。这使我们能够创建一个具有广泛潜在应用的模型,从协助艺术家进行创作到帮助教学生如何绘画。在使用神经网络的生成建模方面已经完成了大量工作,其中大部分工作都集中在将光栅图像表示为2D像素网格。虽然这些模型目前能够生成逼真的图像,但由于2D像素网格的高维度,一个关键的挑战是生成具有连贯结构的图像。这些模型有时会产生有趣的图像,例如长着三只或更多只眼睛的猫,或者长着多个头的狗。▲上图显示了一只动物,其身体部位的数量是错误的,该模型是由先前在128x128ImageNet数据集上训练的GAN模型生成的。上图是IanGoodfellow的NIPS2016教程《生成对抗网络》(生成对抗网络)中的图29。在这项工作中,我们研究了受人类绘画方式启发的低维向量表示。我们的模型sketch-rnn基于序列到序列(seq2seq)自动编码器框架。它结合了变分推理并使用超网络作为递归神经网络单元。seq2seq自动编码器的目标是训练网络将输入序列编码为称为潜在向量的浮点数向量,并通过解码器从该潜在向量重建输出序列,该解码器尽可能接近地再现输入序列可能的。▲sketch-rnn示意图在我们的模型中,我们特意在latentvector中加入了噪声。在我们的论文中,我们表明,通过在编码器和解码器之间的通信通道中引入噪声,模型无法再准确地再现草图,而必须学会以噪声潜在向量的形式捕捉草图的本质。我们的解码器将使用这个潜在向量生成一系列动作来构建新的简笔画。在下图中,我们将几个真实猫的简笔画输入编码器,以使用解码器生成重建的简笔画。▲在猫简笔画上训练的模型重建的简笔画需要强调的是,重建的猫简笔画不是输入简笔画的复制品,而是与输入简笔画具有相似特征的新草图。为了证明模型不是简单地复制输入序列,而是确实学会了人类画猫的一些技巧,我们可以尝试将非标准的简笔画输入到编码器中:当我们输入一个三眼的简笔画时cat,模型会生成一只轮廓相似,但只有两只眼睛的猫,表明我们的模型已经知道猫有两只眼睛。为了证明我们的模型不是简单地从大量的猫简笔画中选择最接近的普通猫简笔画,我们可以尝试输入一些与猫完全不同的物体,例如牙刷简笔画。我们看到网络在尝试跟随牙刷的形状时仍然难以生成长胡须猫的图像。这表明网络已经学会了将输入的简笔画编码成一组抽象的猫概念并将其嵌入到隐向量中,同时可以基于这个隐向量重构一个全新的简笔画。还是不相信?让我们用在猪的简笔画上训练的模型重复实验,看看我们是否可以得出类似的结论。如果输入一头有八条腿的猪,模型将生成类似于猪的形状,只有四条腿。如果将卡车的简笔画输入猪绘图模型,它会画出一头看起来像卡车的猪。▲猪简笔画训练的模型重建的简笔画为了研究这些潜在向量如何编码动物的形态特征,在下图中,我们首先从两个截然不同的猪简笔画中获取隐藏向量。在本例中,In是猪头(在绿色框中)和猪的整个身体(在橙色框中)。我们想了解我们的模型是如何学会代表猪的,一种方法是在两个不同的潜在向量之间进行插值,并可视化由插值的潜在向量产生的每个简笔画。如下图所示,我们展示了一个猪头简笔画是如何慢慢变成一头整猪的,以及模型是如何理解简笔画猪的概念的。我们可以看到,在简笔画中,潜在向量控制着鼻子相对于头部的位置和大小,然后加上身体和腿。▲在猪简笔画上训练的模型生成的潜在空间插值我们还想知道如果模型学会表示多种动物会是什么样子?插值潜在向量以生成简笔画。我们可以看到表示是如何从猫头慢慢过渡到有尾巴的猫,再到身体肥胖的猫,最后变成一头完整的猪。就像小孩子学画画一样,我们的模型通过在身体上添加动物的头、腿、尾巴来画出他想要的动物。我们看到模型还可以画出猫头,这和猪头完全不一样。▲画猫猪简笔画训练模型的潜在空间插值上面这些插值示例表明,潜在向量确实编码了简笔画的概念特征。但是,我们是否可以利用这些特征来填充其他不具有此类特征的简笔画,比如给猫头添加身体?▲探索使用潜在向量算法来学习抽象概念之间的联系经过训练的模型可以进行简笔画类比。例如,我们可以从整只猪的潜在向量中减去编码后的猪头的潜在向量,得到表示身体概念的向量。将这种区别添加到猫头的潜在向量中会产生一只完整的猫(即,猫的头+身体=整只猫)。这些绘图类比使我们能够探索模型如何组织其潜在空间以在生成的众多简笔画中体现不同的概念。【本文为栏目组织《GoogleDevelopers》原创稿件,转载请联系原作者(微信?:Google_Developers)】点此查看更多本作者好文
