论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2

深度生成模型都有什么问题

研究者将常见的生成模型分为两种:一种是基于似然的模型,包括 VAE 及其变体、基于流的模型、以及自回归(autoregressive)模型,另一种是隐式生成模型,如生成对抗网络(GAN)。这些模型都会存在某些方面的缺陷,如样本质量、多样性、生成速度等。

GAN 利用生成器和判别器来优化 minimax 目标函数,前者通过将随机噪声映射到图像空间来生成图像,后者通过分辨生成器生成的图像是否为真来定义生成器的损失函数。大规模的 GAN 模型已经可以生成高质量和高清晰度的图片。然而,众所周知,GAN 生成的样本并不能完全捕捉真实分布中的多样性。另一方面,针对生成对抗网络的评价非常困难,目前依然不存在一个较通用的度量标准,用于在测试集中判断模型是否过拟合。

与生成对抗网络不同的是,基于似然的模型在训练集上优化一个负对数似然函数(negative log-likelihood)。这一目标函数可以对模型进行对比并度量在未见数据上的泛化能力。此外,由于模型在训练集上对所有样本分配的概率都达到最大,理论上基于似然的模型可以覆盖数据的所有模式,不存在像生成对抗网络那样的模式崩塌(mode collapse)和多样性缺失(lack of diversity)问题。

但是在这些优点之外,直接最大化像素空间的似然是困难的。首先,像素空间上的负对数似然不一定是对生成样本质量的良好评估方式;其次对于这些模型而言,它们不一定会关注图像的全局结构,因此生成效果也不是很好。

「最强非 GAN 生成器」

在这篇论文中,研究者们利用了有损压缩的思想,令生成模型可以忽略对不重要信息的建模。事实上,JPEG 等图像压缩技术已经表明,在不对图像质量产生显著影响的情况下,我们可以移除超过 80% 以上的数据。正如以前研究所提出的,我们能将图像压缩到离散隐变量空间,这只需要通过自编码器的中间表征就能完成,即一种经量化的向量。

这些中间表征要比原始图像小三十多倍,但仍然能解码并重建为极其逼真的图像。这些离散表征的先验知识能利用当前最优的 PixelCNN(带自注意力机制)建模,其可以称为 PixelSnail。当模型从这些先验中采样时,解码的图像也会展现出高质量与重建的一致性。
论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第1张图片
图 1:带类别约束的图像生成样本(256x256),它们通过 ImageNet 上训练的两阶段模型可以生成逼真且一致的图像。

除了逼真以外,该生成模型在离散空间上的训练和采样也非常快,它比以前直接在像素空间运算要快 30 倍,这也就意味着能训练更高分辨率的图像。最后,该研究中的编码器和解码器都保留了原始 VQ-VAE 的简单性与速度,这意味着这种方法对于需要快速、低开销的大图编码、解码过程具有很大的吸引力。

生成图像两步走

具体而言,提出的方法遵循两阶段过程:首先我们需要训练一个分层的 VQ-VAE,我们需要用它将图像编码到离散的隐空间;其次我们需要在离散的隐空间拟合一个强大的 PixelCNN 先验,这个隐空间是通过所有图像数据构建的。

论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第2张图片
如上算法 1 和算法 2 为两阶段过程,其中在第一阶段学习层次化隐编码中,我们可以借助层次结构建模大图像。其主要思想即将局部信息(例如纹理)与目标的几何形状等全局信息分开建模。在第二阶段中,为了进一步压缩图像,并且能够从第一阶段学习到的模型中采样,我们需要在隐编码中学习一种先验知识。

下图展示了该模型的训练和生成过程,它们的过程基本和自编码器类似。如下左图所示为分层 VQ-VAE 的整体架构,它是由编码器和解码器组成的深度神经网络。模型输入是一张 256×256 的图像,它会分别压缩为 64×64 的底层量化隐层和 32×32 的高层量化隐层。解码器从两个隐层中重建图像。

下图右侧为多阶段图像生成。高层 PixcelCNN 先验会通过类别标签进行约束,底层的 PixcelCNN 会以类别标签和第一级编码作为约束。由于前馈解码器的存在,隐层向像素的映射速度很快。(图 1 中的鹦鹉就是根据这个模型生成的)

论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第3张图片

当然我们也可以用更多的层级来生成更清晰的大图。如下所示为利用不同层级编码所生成的图像结果。
论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第4张图片
图 3:从多层 VQ-VAE 的三种隐层中重建图像。最右边的是原图。对于每一个隐层,都会在重建中增加额外的细节。这些隐层的尺寸大约比原图分别小 3072x,768x,192x 倍。

实验

实验部分展示了模型在 ImageNet 256 × 256 上训练得到的定性和定量结果。从图 5 中的类别条件样本中可以看出,多个代表性类的样本质量确实非常高。在多样性方面,研究者提供了可以与 BigGAN-deep(当前的 SOTA GAN 模型)相媲美的模型样本(如图 5 所示)。从这些对照比较中可以看出,VQ-VAE 可以生成媲美 GAN 保真度的样本,但多样性更高。
论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第5张图片
图 5:本文提到的方法与 BigGAN Deep 模型在生成样本多样性方面的比较。我们会发现即使在 BigGAN 拥有最大多样性的情况下,VQ-VAE 生成图像的多样性也要显著多一些。如果读者放大原论文中的原图,就会发现更多的生成细节。

建模高分辨率人脸图像

为了进一步评估文中方法在获取数据中超长依赖方面的有效性,研究者在分辨率为 1024 × 1024 的 FFHQ 数据集上训练了一个三级分层模型。

图 6:在 FFHQ-1024 × 1024 数据集上训练得到的三级分层模型中的代表性样本。该模型可以生成逼真的人脸,这些人脸符合长距离依赖,如匹配眼睛颜色或对称的人脸特征,同时还覆盖了数据集中的低密度模式(如绿色头发)。

定量评估

本实验中的定量评估旨在度量生成样本的质量和多样性。

负对数似然和重建误差
表 1 为文中模型 top 先验和 bottom 先验的 NLL 值,在训练和验证方面都很接近,表示两个网络都没有过拟合。
论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第6张图片
表 1:top 先验和 bottom 先验设定下训练和验证的夫多数似然与均方误差值。
论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第7张图片
精度-召回率(recall)度量
图 7b:利用精度/召回率度量对多样性—质量权衡进行定量评估

分类准确度分数(CAS)

研究者还利用最近提出的分类准确率分数(CAS)对他们的方法进行评估,这只需要在候选模型的样本上训练一个 ImageNet 分类器即可,但还要评估该分类器在测试集真实图像中的分类准确度,这样就可以衡量样本质量和多样性。利用 CAS 度量的评估结果如下表所示:
论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第8张图片
表 2:真实数据集、BigGAN-deep 和 VQ-VAE 模型的分类准确率分数(CAS)

1.FID 和 Inception 分数(IS)
论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2_第9张图片
图 7a:利用 FID 和 IS 对多样性—质量权衡进行定量评估

你可能感兴趣的:(GAN论文解读)