欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

通过SketchRNN、PCA和t-SNE从Google QuickDraw数据集中显示矢量图的潜在空间|附源码 cJNI 

程序员文章站 2022-07-08 17:57:11
...
原文链接http://click.aliyun.com/m/23528/
79b373d51eb109fd75ac6dd612fe1d96b9107ad9
本文是作者最近发布的Google QuickDraw数据集一系列笔记中的第三部分,使用的最近发布的SketchRNN模型。下面介绍QuickDraw数据集及SketchRNN模型。
        QuickDraw数据集是由世界各地1500多万人参与的“快速绘画” AI实验后收集数百万幅图画建成,要求参与者在20秒内绘制出属于某个类(例如“猫”)的图像。如下图所示,选择一个类别,可以看见数据库中该类所有的形状。

2fe2089ec0ed5b84a527913712fa475ca9591aea

当然,如果数据集中没有和你想象一样的形状,你也可以帮助向该数据库中增添一些涂鸦,进行个人绘画表演。

25e02e433cc92c54480a29cf266faf369ffa9b74 49417fcbdccba38dd7d1d93ee3ca314c04d4d095
        SketchRNN是基于上述数据集训练的生成模型,被训练成能够生成矢量图,它巧妙地集合了机器学习中最近开发的许多最新的工具和技术,例如Variational Autoencoders、HyperLSTMs(一个用于LSTM的HyperNetwork)、自回归模型 ,Layer Normalization、Recurrent Dropout、Adam optimizer等。
        SketchRNN系统是由谷歌探究AI能否创作艺术的新项目的一部分,类似于教AI去绘画,另外不仅仅是让人工智能学习如何画画,还要能够“用类似于人类的方式概括归纳抽象的概念”,比如去画“猪”的广义概念,而不是画特定的动物,这显然不是一件简单的事情(下图 SketchRNN系统画的“猪”)。

70a2d2c1d429e95023c9ba0b0674aa0373548164

该模型能够将你的灵魂画作对应成实际的物品,当然,如果画作太过于抽象,暂时是无法识别或者是识别错误,毕竟它还没有学会读心术(自己画的自行车,系统无法识别)。

e6f82e43b014419c1744cd5f513148c9528ca3762bbd775563fe7e0fa81f490ff7055730bef5f2aa
       本文代码舍弃了那些旨在解释或演示的代码块,只保留了运行实验所需的代码。“潜在空间中的主成分分析 ”部分的所有内容是直接从以前的博客中摘取。随意跳过该部分,因为接下来是真正有趣的分析。这里是第一篇和第二篇博客的链接,之前所讲述的一切都是一些实用功能,以便于现在的可视化分析。

原文链接http://click.aliyun.com/m/23528/
相关标签: c JNI