背景
生成对抗网络(GAN)对于合成真实图像非常有用,但我们不禁要问:你怎么知道GAN不能生成什么模式丢失或模式崩溃被认为是GAN面临的最大挑战之一,GAN忽略了目标分布的某些部分,但是对于GAN中的这种现象,目前的分析工具提供的信息很少.
麻省理工学院的研究可视化了分布和实例级别的模式崩溃。
首先,作者部署了一个语义分割网络来比较分割后的目标在结果图像中的分布和训练集的目标集。统计上的差异可以揭示GAN忽略的目标类别。
图1a显示,在church-GAN模型中,目标类别(如人、车和栅栏)在生成的分布中出现的像素比训练分布中少。
图1b我们比较了一对真实图像及其重构,其中无法生成人和栅栏的个体实例。在每个块中,我们都显示真实照片(左上),生成的重建图(右上)和两者的分割图(下)。
然后,给出被省略的目标类别,作者直接可视化了GAN的省略。具体来说,作者比较了照片和GAN反转的相似图像之间的具体差异。为此,作者放宽了反问题的局限性,解决了GAN单层(而不是整个发生器)的反转问题。
在实验中,作者应用这个框架分析了最近几次在不同场景数据集上训练的GANs作者惊讶地发现,丢失的目标类别没有被扭曲、渲染不良或渲染噪音。相反,它们实际上根本没有渲染,就好像对象不是场景的一部分图1b显示了一个例子,在这个例子中,您可以看到更大的肖像被完全跳过,栅栏的平行线被完全忽略。因此,GAN可以忽略太难处理的类别,同时获得更高的平均视觉质量输出。
方法
数量分布水平模式崩塌
利用场景图像的层次结构可以分析GAN的系统误差每个场景都可以自然地分解成对象,这样就可以通过估计构成目标统计信息的偏差来估计与真实场景分布的偏差。例如,装饰卧室的GAN也应该装饰一些窗帘如果窗帘的统计数据偏离了真实照片的统计数据,那么我们就知道可以通过检查窗帘来查看GAN的具体缺陷。
为了实现这一目标,作者利用文献[44]提出的统一感知分析网络对所有图像进行分割,将图像中的每个像素标记为336个目标类别之一对于每个图像样本,作者收集每个目标类别的总像素面积,并收集所有分割目标类别的均值和协方差统计作者在一个生成的大图像集和训练集图像上对这些统计数据进行采样作者将所有目标分割的统计数据称为“生成的图像分割统计”。
图2显示了两个网络的平均统计数据。在每个图中,将生成的每个目标类别的平均分割频率与真实分布进行比较。
来看看卧室生成遗漏的可视化;
已测试用于LSUN卧室的渐进式GAN。最重要的是,对对象分布的比较表明,许多类的对象被发电机排除在外,包括人,靠垫,地毯,灯具和几种类型的家具。在底部,照片图中显示了其重建G(E(x))以及分段。这些示例直接显示出许多对象类被省略。
由于大多数类别不会出现在大多数图像上,因此作者会按降序对类别进行分类,然后重点关注最常见的类别这种比较揭示了当前最佳模型之间的许多具体差异。分析中使用的两个模型都是在相同的图像分布(LSUN卧室集)上训练的,但是WGAN-GP与真实分布之间的差距远远大于StyleGAN与真实分布之间的差距。
也可以使用一个值来总结段的统计差异。为此,作者定义了Frechet分割距离(FSD),它类似于常用的Frechet起始距离(FID)度量,但FSD可以解释为:
其中μt是训练图像样本上每个目标类别的平均像素数,∑t是这些像素数的协方差同样,μg和∑g反映了生成模型的分割统计作者对实验中产生的10000个样本和10000个自然图像进行了统计比较。
生成图像分割统计信息可以测量整个分布:例如,它们可以显示生成器忽略特定目标类别的情况但是,它们并不单独排除应该生成目标但未生成的特定图像为了获得更深入的了解,需要一种在每个图像上可视化生成器省略的方法。
定量模式级崩溃
为了解决上述问题,作者比较了图像对(x,x'),其中x是真实图像(包含GAN生成器G中缺少的特定目标类别),x'是GAN模型层可以生成的所有图像的空间投影。
定义可解决的问题,理想情况下,您可以找到一个由生成器G完美组合的图像,并使其接近真实图像x。在数学中,目标是找到,,l是图像特征空间中的距离度量不幸的是,由于G中含有大量的层,以前的方法无法解决发电机的这个完全逆问题因此,作者转向求解这个完全反问题的一个可解子问题。作者将生成器G分解为若干层:
其中g u 1,…,gu n是生成器的几个早期层,gu f组合了g的所有后期层。
任何可以由G生成的图像都可以由G-u f生成,也就是说,如果用range(G)表示可以由G输出的所有图像的集合,那么就有range(G)换句话说,G不能生成G-u f不能生成的任何图像。因此,可以在范围(G)中确定的任何遗漏也在范围(G)中丢失。
因此,对于图层反转,作者通过简单地反转G的后期图层来可视化省略:
作者说,虽然最终的目标是中间表示r,但它可以从估计的z提供很多帮助:z的初始估计可以帮助搜索更好的r值,这些r值更有可能是z生成的。因此,求解这个逆问题的过程分为两个步骤:首先,构造一个近似整个G的神经网络E,并计算估计结果Z00= E(x)。然后,通过求解一个优化问题来确定一个中间表示,该中间表示可以生成一个重建图像来非常相似地恢复x图3显示了这个层逆方法。
层反演方法综述首先,训练反向G的网络E;这可用于获得隐含z_0=E(x)及其中间表示的初始估计然后使用r_0初始化对r*的搜索,以使重建的x'接近目标x。
通过在更小的问题上预训练各个层,可以更轻松地训练深度网络。因此,为了学习逆推神经网络 E,作者选择了逐层执行的方法。对于每一层 g_i ∈ {g_1, ..., g_n, G_f },训练一个小网络 e_i 以近似地逆推 g_i。也就是说,定义 r_i = g_i(r_i−1),目标是学习一个网络 e_i,使其能近似计算 r_{i−1} ≈ e_i(r_i)。作者也希望网络 e_i 的预测能够很好地保留层 g_i 的输出,因此需要 r_i ≈ g_i(e_i(r_i))。作者通过最小化左逆推和右逆推损失来训练 e_i:
为了将训练集中在由生成器获得的表示流形附近,作者对 z 进行了采样,并使用层 g_i 计算了 r_{i−1} 和 r_i 的样本,因此 r_{i−1} = g_{i−1}(· ·· g_1(z)· ··)。这里 ||·||_1 表示 L1 损失,作者将 λ_R 设为 0.01 以强调 r_{i−1} 的重建。
一旦所有层都反转,就可以为整个G构建反转网络:
实验结果
这些差异通过Frechet分割距离进行了总结,证实了较好模型的分割统计量整体上更接近真实分布。
10000幅图像有限样本集上图像分割统计生成的灵敏度。
图6的前三列比较了新的逆方法和以前的逆方法图6的最后三列比较了完全新方法(f)和两个烧蚀实验版本。
者应用上述逆推力工具测试了不同发生器在训练集外合成图像的能力。图7显示了使用在LSUN卧室集合上训练的渐进GAN来反转和重建不同场景的自然照片的定性结果的应用方法(f)。
总结
作者提出了一种方法来测量和可视化最新生成模型中的模式下降。产生的图像分割统计信息可以比较不同模型和架构的质量,并提供有关它们的输出空间的语义差异。层反转让我们进一步探究发电机的范围自然照片,揭示特定的对象和样式无法代表。
通过相互比较标记的分布,并通过比较自然照片与不完美的重建,我们可以识别出特定的物体,生成器无法生成的零件和样式。作者在此提出的方法构成了分析和理解物体潜在空间的第一步。GAN并指出其他问题。
相关论文源码下载地址:关注“图像算法”微信公众号 回复“GANMIT”
网友评论