2018最佳GAN论文回顾(上)

摘要: 受Reddit 站上讨论区的启发,我决定快速地浏览一下2018年关于GAN最有趣的文章。

我很高兴今年参加了一个研究项目,这要求我必须熟悉大量用于计算机视觉方面的深度学习领域的资料。我对过去两、三年内取得的进展感到惊讶,这真的非常令人兴奋和鼓舞,所有不同的子领域,如图像修复、对抗性样本、超分辨率或是三维重建,都大大得益于近期的发展。然而,有一种神经 络,它受到了大量的宣传和炒作 — 生成性对抗 络(Generative Adversarial Networks,GANs)。我也认为这种模型是非常吸引人的,并且我也一直在寻找一些GAN的新思路。

1.GAN解析:可视化和理解生成性对抗 络 — 考虑到GAN的大肆宣传,很明显这项技术迟早会被商业化应用。然而,因为我们对其内部机制了解的不多,所以我认为要生产一个可靠的产品仍然很困难。不过这项工作仍然向未来迈出了巨大的一步,在未来我们能够真正控制GAN。因此,一定要看看他们伟大的交互演示,结果是令人震惊的;

2.一种用于生成性对抗 络的基于生成器体系结构 – NVIDIA(英伟达)的研究团队会定期地提出一些具有开创性的概念(2018年的关于图像修复的论文,近期的用神经 络进行图形绘制的演示)。这篇论文也不例外,加上显示结果的视频就更有吸引力了;

3.进化生成性对抗 络 — 这是一个真正简单易懂的文章。进化算法和GAN一起 — 这肯定很有趣;

GAN解析: 可视化和理解生成性对抗 络(GAN Dissection: Visualizing and Understanding Generative Adversarial Networks)

详解

主要思想:

方法:

生成器G可以被看作是从潜在的向量z到一个生成的图像x=G(z)的映射。我们的目标是理解参数r,一种内部的表示,它是生成器G的特定层的输出。

x=G(z)=f(r)

一个单元u和一个类c之间的解析测量一致性

解析 — 我们要识别那些有趣的类,它们在r中有一个明确的表示方法。这基本上是通过比较两个图像来完成的。首先通过计算x获得第一个图像,然后通过语义分割 络来运行。这将返回与目标类别(例如:树木)相对应的像素位置。第二个图像是通过用ru,p进行上采样,因此它与sc(x)的维度相匹配,然后再对其进行阈值处理,以便对被这个特定单元所“发亮”的像素做出艰难的决定。最后,我们计算了两个输出之间的空间一致性。值越高,单元u对类c的因果效应就越大。通过对每个单元执行这个操作,我们最终应该找出哪些类在r的结构中有一个明确的表示方法。

干预测量一组单元U对类c的因果效应

干预 — 在这一点上,我们已经确定了相关的类。现在,我们试图为每个类找到最好的分离方式。这意味着,一方面我们抑制非受迫单元,希望目标类将从生成的图像上消失。另一方面,我们扩大了因果单元对生成图像的影响。这样我们就可以了解到他们对目标类c的存在有多大的贡献。最后,我们从两个图像中分割出类c并进行对比。语义图之间的一致性越小越好。这意味着在一个图像上,我们完全“排除”了树木的影响,而第二个图像只包含一片树林。

结果:

a)Progressive GAN生成的教堂图像 b)根据所给的预训练的Progressive GAN,我们确定了负责生成“树”类的单元 c)我们可以阻止那些单元“删除”图像中的树 d)扩大图像中树的密度。

上述结果表明,我们对 络内部的机制有了很好的理解。这些见解可以帮助我们改善 络行为。了解图像的哪些特征来自于神经 络的哪个部分,对于理解说明、商业应用和进一步的研究都是非常有价值的。

a)出于调试的目的,我们可以确定那些有伪影的单元……,b)和c)把它们去掉了,以“修复”GAN。

一个可以解决的问题是在生成的图像中有看得见的伪影。即使是一个训练很好的GAN有时也能产生一个极其不现实的图像,而这些错误的原因以前是未知的。现在我们可以将这些错误与导致视觉伪影的神经元联系起来。通过识别和阻止这些单元,可以提高生成的图像质量。

通过将某些单元设置为固定的平均值(例如,门),我们可以确保门将出现在图像中的某个位置。当然,这不会违反学过的分布统计(我们不能强迫门出现在空中)。另一个限制来自于这样一个事实,即一些对象与某些位置之间的联系是非常的紧密,以至于无法将它们从图像中消除。举个例子:不能简单地把椅子从会议室里删除掉,那样只会降低它们像素的密度或尺寸。

一种用于生成性对抗 络的基于生成器体系结构(A Style-Based Generator Architecture for Generative Adversarial Networks)

详述

该论文已于2018年12月12日提交,代码很快就将会发布。另外,对于那些想更多了解这种方法但并不想阅读论文的人来说,博客上发表了一篇很好的总结文章。

主要思想:

这项工作提出了关于GAN框架的另一个观点。更具体地说,它从样式转换设计中吸取灵感,创建了一个生成器架构,在生成的图像中可以学习高级属性(如年龄、在人脸或背景上训练时的身份、相机视角)和随机变化(雀斑、头发细节)。它不仅学习自动分离这些属性,而且还允许我们以非常直观的方式控制合成。

补充的结果回顾视频

方法:

传统的GAN架构(左)与基于样式的生成器(右)。在新的框架中,我们有两个 络组件:映射 络f与综合 络g。前者将一个潜在的代码映射到一个中间的潜在空间W,W对样式的信息进行编码。后者利用生成的样式和高斯噪声来创建新的图像。块“A”是一个训练过的仿射转换,而块“B”将训练过的每个通道的比例因子应用于噪声的输入。

1.一个全连接的 络,代表着非线性映射 f:Z→W;

2.一个综合 络g;

合成 络 — AdaIN的操作通过对其进行标准化来改变每个特征图xi,然后使用来自样式y的分量进行比例缩放和移位。最后,生成器的特征映射也被提供了一个直接的方式来生成随机细节 — 显式的噪声输入 — 以包含不相关高斯噪声的单通道图像的形式。

综上所述,虽然显式的噪声输入可以被视为在合成 络中生成过程的“种子”,但从W抽取的潜在代码试图向图像添加某种样式。

结果:

·粗糙空间分辨率(分辨率42?82) — 高级方面,如:发型、眼镜或年龄;

·中间样式分辨率(分辨率162?322) — 较小比例的面部特征,如:发型样式的细节、眼睛;

·精细分辨率(分辨率642?10242)—只需修改一些小细节,如:头发颜色、肤色色调或皮肤结构;

我发现真正令人惊奇的是,这个框架可以进一步应用于不同的数据集,比如汽车和卧室的图像。

进化生成性对抗 络Evolutionary Generative Adversarial Networks

细节

该论文已于2018年3月1日提交。

主要思想:

方法:

原始的GAN框架(左)与E-GAN框架(右)。在E-GAN框架中,全部的Gθ生成器在一个动态环境中进化 — 即识别器D。该算法涉及三个阶段:变化、评估和筛选。最好的子版本被保留下来以供下一次迭代的时候使用。

进化算法试图在一个给定的环境(这里是指识别器)中进化全部的生成器。生成器中的每个个体都代表了生成 络参数空间中的一个可能的解决方案。进化过程归结为三个步骤:

1.变化:通过根据一些突变属性而自我修改,生成器的单个Gθ生成其子级

…;

2.评估:每个子级都将使用一个适应函数进行评估,该函数取决于识别器的当前状态;

3.筛选:我们对每个子级进行评估,并决定它在适应函数的方面是否足够好,如果是,它将被保留,否则就会被丢弃;

上述这些步骤涉及到两个应该被详细讨论的概念:突变和适应函数:

适应函数 — 在进化算法中,一个适应函数告诉我们一个给定的子级离达到设定的目标有多接近。这里,适应函数包括两个要素:质量适应得分和多样性适应得分。前者确保了生成器能够提供欺骗识别器的输出,而后者则关注生成样本的多样性。因此,一方面,培育子版本不仅要很好地接近原始分布,而且还要保持多样性,并且避免模式崩溃的陷阱。

结果:

在潜在空间

中线性地插值。生成器已经从CelebA数据集中学习了图像的分布。α=0.0对应着从向量z1生成一个图像,而α=1.0则意味着图像来自向量z2。通过改变alpha的取值,我们可以在潜在的空间内进行插值,效果非常好。

阿里云云栖社区组织翻译。

文章原标题《The best of GAN papers in the year 2018 | DTRANSPOSED》

译者:Mags,审校:袁虎。

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

(0)
上一篇 2019年1月8日
下一篇 2019年1月8日

相关推荐