Glow,基于流的生成模型

  生成模型只能受限于 GAN 和 VAE 吗?答案是否的。基于流的生成模型在 2014 年已经被提出,但是一直被忽视。由 OpenAI 带来的 Glow 展示了流生成模型强大的图像生成能力。
  在 Glow 论文之前,有两个基于流的生成模型 NICE 和 RealNVP,这两个是glow的基石。

glow的优点

  1)精确的潜在变量推断和对数似然评估,在 VAE 中编码后只能推理出对应于数据点的潜在变量的近似值,GAN 根本就没有编码器更不用谈潜在变量的推断了。在 Glow 这样的可逆生成模型中,可以在没有近似的情况下实现潜在变量的精确的推理,还可以优化数据的精确对数似然,而不是其下限。

  2) 高效的推理和合成,自回归模型如 PixelCNN,也是可逆的,然而这样的模型合成难以实现并行化,并且通常在并行硬件上效率低下。而基于流的生成模型如 Glow 和 RealNVP 都能有效实现推理与合成的并行化。

  3)对下游任务有用的潜在空间,自回归模型的隐藏层有未知的边际分布,使其执行有效的数据操作上很困难;在 GAN 中,由于模型没有编码器使得数据点通常不能在潜在空间中直接被表征,并且表征完整的数据分布也是不容易的。而在可逆生成模型和 VAE 中不会如此,它们允许多种应用,例如数据点之间的插值,和已有数据点的有目的修改。

  4)内存的巨大潜力,如 RevNet 论文所述,在可逆神经网络中计算梯度需要一定量的内存,而不是线性的深度。

glow的缺点

  flow 的历史和 VAE、GAN 它们一样悠久,但是 flow 却鲜为人知的原因是 flow 找不到像 GAN 一样的诸如“造假者-鉴别者”的直观解释吧,因为 flow 整体偏数学化,加上早期效果没有特别好但计算量又特别大,所以很难让人提起兴趣来。
  不过现在看来,有更多的人投入到 flow 模型的改进中。