猜画小歌揭秘 | 神经网络已经猜到了你要绘制的内容
来源 | Tensorflow
作者 | David Ha,JONAS JONGEJAN,Ian Johnson
【磐创AI导读】:本文授权转载自Tensorflow。主要介绍了跟猜画小歌背后类似的技术。神经网络已经猜到了你要绘制的内容。想要了解更多技术咨询,欢迎大家点击上方蓝字关注我们的公众号:磐创AI。在 Google 首款微信小程序“猜画小歌”里遇见 AI
Try the sketch-rnn demo
对于通过蜂窝数据连接网络的移动用户:第一个演示大小约为 5 MB 数据。每次在演示中更改模型时,您将使用另外 5 MB 的数据。
我们进行了一个交互式网络实验,让你能与一个名为 sketch-rnn 的循环神经网络模型一起绘制作品。我们利用来自于 Quick Draw! 游戏的数百万涂鸦训练该神经网络。一旦开始绘制对象,sketch-rnn 将提出许多可行的方法基于你中断的位置继续绘制此对象。试试第一个演示。
在上面的演示中,我们被提示开始绘制特定对象。一旦你停止涂鸦,神经网络将接管并试图猜测涂鸦的其余部分。你可以再次接管绘图并继续从中断处开始。我们训练了大约 100 种可以用于试验的模型,并且一些模型在多种类别上进行了训练。
其他 sketch-rnn 演示
下面的演示最好在桌面浏览器上体验,而不是在移动设备上体验。
多预测
多预测演示
该演示类似于第一个预测绘图其余部分的演示。在此版本中,您将在左侧区域内绘制草图的开头,模型将在右侧较小的框内预测图形的其余部分。这样,您可以看到模型预测的各种不同结局。预测的结局有时会让人感到期待,有时会出乎意料和奇怪,而且有时也可能是丑陋和完全错误的。
你还可以选择不同的类别,使模型基于相同的不完整的起始草图绘制不同的对象,或者使模型绘制方形猫或圆形卡车等内容。你可以随时中断模型并继续在左侧区域内绘制图形,并让模型不断预测你离开的位置。
插值
插值演示
除了预测不完整绘图的其余部分外,sketch-rnn 还可以从一个绘图变换到另一个绘图。在 Interpolation Demo 中,可以使用屏幕两侧的按钮随机生成两个图像。点击 Interpolate 按钮,模型将提出新的草图,作为两个原始草图之间的插值。在上图中,模型在自行车和瑜伽位置之间进行插值。尝试使用插值演示在两个随机生成的图像之间进行变换。
变分自动编码器
变分自动编码器演示
该模型还可以模拟你的绘图并生成类似的涂鸦。在变分自动编码器演示中,你将绘制指定对象的完整图形。在左侧区域内绘制完整草图后,点击自动编码按钮,模型将开始在右侧较小的框内绘制类似的草图。模型将尝试模拟你的绘图,而不是绘制完美的绘图副本。
你可以尝试绘制其他类别的绘图对象,并查看模型如何解释你的绘图。尝试变分自动编码器演示。
想了解更多?
如果您想了解更多信息,请参阅以下几点:
谷歌搜索关于本模型的 blog post(https://ai.googleblog.com/2017/04/teaching-machines-to-draw.html)
阅读我们的论文 A Neural Representation of Sketch Drawings (https://arxiv.org/abs/1704.03477)
早期的 Magenta blog post (https://magenta.tensorflow.org/sketch_rnn)介绍了此模型的 TensorFlow 实现。GitHub repo(https://github.com/tensorflow/magenta/blob/master/magenta/models/sketch_rnn/README.md)
该模型的 JavaScript 实现以及预先训练的模型权重。GitHub repo(https://github.com/tensorflow/magenta-demos/blob/master/sketch-rnn-js/README.md)
欢迎扫码关注:
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2018/08/05/fa7dd03656/