欢迎来到《The Turing Times 图灵时报》第五期!
本周有幸请到心有麟熙的好友、伦敦帝国理工人工智能实验室的Shikun Liu同学,为大家介绍他的最新作品:Variational Shape Learner(变分图形学习机)。
今天我们给大家介绍一个具备层级信息隐变量的3D图形生成式模型 (hierarchical 3D latent-variable model)。由于这个模型是基于变分自编码器(variational auto-encoder, VAE)的改进,我们把他命名为Variational Shape Learner (VSL)。通过采样 VSL 学习到的隐变量,我们可以生成极其高质量的三维物体:
项目网址:http://shikun.io/papers/vsl.html
文章网址:https://arxiv.org/abs/1705.05994
GitHub 网址:https://github.com/lorenmt/vsl
一
◆
模型设计
◆
很多基于 VAE 的生成式模型由于高斯先验分布的限制,通常只能生成较模糊且相似的结果,因此这种基于单一隐变量的模型无法学习到一些复杂数据集的内在层级关系。我们观察到,在 3D模型数据集中,例如ModelNet和ShapeNet,在同一类别里多数物体都具备非常相似的几何结构。一个简单的例子:任何形式的⻜机,无论是滑翔机,战斗机,或者客机通常由细⻓型机身,两侧机翼和尾翼组成。
基于这样的观察,我们建立一个同时具备总隐变量(global latentvariable)来学习模型的总体信息,并在此基础上搭建局部隐变量(local latent variable)的设计不容置疑的会很大程度上帮助模型学习到一个更精确的内在表达式。
我们为此设计了 Variational Shape Learner (VSL),一个由层级信息而搭建的生成式模型。在上图中,底部总隐变量标为橙色,其中连接到由蓝色表示的局部隐变量。由于我们期望模型学习到有用的层级信息,我们使用跳跃连接(skip-connections)的方式链接局部隐变量,这样一个从下而上的设计能最大化利用好每个隐变量的作用从而生成高质量的数据样本。
二
◆
实验
◆
为了测试模型里隐变量学习到的强大表示力,我们做了如下几个实验。
>>>>
1. 数据生成、重建和变形
在图一中,我们展示了模型的逼真的 3D 物体数据生成能力。下面我们展示其数据重建能力。
以及相同(第二行)和不同(第一行)种类内的物体之间的一些有趣的变形。
>>>>2. 物体分类
由于模型的惊人表达力,在物体分类中我们仅仅通过SVM(Support Vector Machine),一种无监督学习的方法就可超越并达到之前不少基于深度监督学习的工作。此外,我们在分类里采用的特征直接来源于小于100维的隐变量,而得到的效果接近并超越了另一个 3D 数据生成模型 3D-GAN 里使用的100万维特征的分类结果。
>>>>3. 基于 2D 图片的三维重建
另外一个有趣的应用是生成 2D 图片里的三维信息。在这个任务里,我们需要额外的在模型里连接一个以图片为输入的卷积编码器,使得学习到的表达式跟隐变量学习到的表达式相同。下图是我们扔入图片(左)所得到的三维模型(右)。
>>>>4. 数据运算
最后我们展示一个我最喜欢的数据运算实验。为了探究学习到的隐变量是否真正有意义,可被人类所理解,我们直接对选定物体学习到的隐变量进行加减运算,并生成运算后得到的 3D 物体。比如我们期待,一个有扶手的形态 A 的椅子减去一把没有扶手形态 A 的椅子加上的没有扶手形态 B 的椅子等于有扶手的形态 B 的椅子。以下是我们对各类数据加减得到的的结果。
最后对于模型细节,损失函数的具体数学推导,极其模型和其实验更细节的讨论请直接参看原文章。
END
感谢大家支持心有麟熙。还没有关注心有麟熙公众号的同学们请加DrJimFan或者扫下图二维码。
领取专属 10元无门槛券
私享最新 技术干货