地址:https://genforce.github.io/higan/
收录会议:IJCV2020
概括:
- 论证了GANs不同层的潜码能控制不同层次的语义
- 提出了一种重新评分方法,用于在经过良好训练的模型中定量识别可操纵的语义概念
- 在潜空间利用SVM可找出二分类问题决策边界,通过改变潜码和决策边界的距离可以实现生成图像的控制
文章目录
摘要
- 生成模型在深层生成表示中学到了什么?照片级真实图像如何能够由GANs中引入的分层随机进行组成?
- 本工作将语义作为变化因素应用在先进的GAN模型(如StyleGAN和BigGAN),生成合成场景。
- 量化了激活和输出图像中语义之间的因果关系,量化了GANs学会的人类可理解的变化因素。
- 定性和定量结果进一步表明,具有分层潜在代码的GANs学习的生成性表示专门用于合成不同的层次语义:早期层倾向于确定空间布局和配置,中间层控制分类对象,随后的层最终渲染场景属性以及颜色方案。
- 识别可操纵的潜在变异因子有助于语义场景操纵。
关键词:生成模型·场景理解·图像处理·表征解释·特征可视化
1. 介绍
- 深层神经网络的成功源于表征学习,表征学习识别了高维观测数据背后的可解释因素。
- 通过分析深层表征及其涌现结构,可以深入了解深层特征的泛化能力,以及不同任务之间的特征转移能力。
- StyleGAN的原始工作指出,分层潜在代码实际上控制着从粗到细的合成,但这些变化因素是如何组合在一起的,以及如何量化这些语义信息仍然未知。
通过量化分层激活和输出图像中语义之间的因果关系,我们能够识别具有分层潜在代码的GAN模型不同层之间最相关的变化因素:早期层指定空间布局,中间层组成类别引导对象,后面的层渲染整个场景的属性和颜色方案。我们进一步表明,从布局、对象到场景属性和颜色方案识别这样一组可操纵的变化因子有助于语义图像操作(如图1所示)具有很大的多样性。建议的操作技术进一步推广到其他GAN,如BigGAN和ProgressiveGAN。
2. 相关工作
图像分类的深层表征
为了研究为分类任务而训练的CNN的内部表示,已经进行了许多尝试。
- Zhou等人[41]通过简化输入图像来分析隐藏单元,以查看哪一个上下文区域给出了最高的响应
- Simonyan等人[31]应用反向传播技术来计算图像特定的类显著性图
- Bau等人[3]借助分割掩模解释了隐藏表示
- Alain和Bengio[2]解释了隐藏表示训练独立的线性探针来分析不同层之间的信息可分性。
- 也有一些研究转移了CNN的特征,以验证学习到的表征如何适应不同的数据集或任务[37,1]。
- 通过将给定的表示映射回图像空间[39,23,21],逆转特征提取过程,还可以深入了解CNN在区分不同类别时实际学到了什么。
然而,这些为分类网络开发的解释技术不能直接应用于生成模型。
从合成图像中获得深度表示
GANs极大地促进了图像合成,但尚不清楚GANs究竟学会了什么来制作如此多样化和逼真的图像。
- 拉德福德等人[27]指出了GAN潜在空间中的向量算术现象,但是,发现训练有素的模型中存在哪些语义以及这些语义是如何构造以合成高质量图像的仍然没有解决。
- 最近的一项工作[4]分析了GAN中生成器的各个单元,发现它们能够自发地合成信息性的视觉内容,如对象和纹理。
- 此外,并行工作[14,9]还分别通过学习的语义探索了GANs的可操作性,并提高了GANs的可记忆性。
与他们不同的是,我们的工作定量地探索了分层生成表示中多层次语义的出现。
场景操纵和编辑
以前的工作还用于编辑场景图像。
- Laffont等人[18]定义了40个瞬态属性,并设法将类似场景的外观转移到图像中进行编辑。
- Cheng等人[7]提出了语音引导图像解析,以识别和操作室内场景中的对象。
- Karacan等人[15]学习了一种基于预定义布局和属性合成室外场景的条件GAN。
- 其他一些作品[19,43,13,20]研究了图像到图像的翻译,可以用来将一个场景的风格转换到另一个场景。
与之不同的是,我们通过解释训练好的GANs的生成表示层次语义来实现场景操纵。除了图像编辑,这种解释也让我们更好地了解生成模型如何能够生成照片真实感合成。
3. 生成表征中的变异因素
3.1 场景合成中的多级可变因子
人类如何通过多角度解释场景来绘制场景抽象层次(艺术家绘制客厅为例):
- 选择透视图并设置房间的布局
- 添加通常出现在客厅中的对象,例如沙发和电视
- 指定的装饰风格,例如温暖或寒冷
相比之下,生成模型(如GANs)完全采用端到端的训练方式来合成场景,没有任何关于绘图技术和相关概念的先验知识。即便如此,经过训练的GANs仍然能够制作出逼真的场景,这让我们怀疑GANs是否已经自发地掌握了人类可以理解的绘画知识以及场景的变化因素。
3.2 分层生成表示
最近最先进的GAN模型(例如StyleGAN和BigGAN)引入了分层随机性来改进训练稳定性和合成质量。如图3所示,与仅将潜在代码作为第一层输入的传统生成器相比,具有分层随机性的改进生成器将随机潜在代码带入所有层。值得一提的是,越来越多的最新GAN模型继承了使用分层潜在代码以实现更好的生成质量的设计,如SinGAN和HoloGAN。
已有工作[17]指出,分层随机性的设计实际上控制着从粗到细的合成,然而,“粗”和“细”实际上指的是什么仍然是不确定的。本工作旨在建立变化因子和生成表示之间的关系,为了使变化因素与人类感知保持一致,我们将变化因素分为四个抽象级别,包括布局(layout)、分类对象(categorical objects)、场景属性(scene attributes)和配色方案(color scheme)。
我们在第四节中进一步提出了一个框架,量化输入生成表征和输出变异因子之间的因果关系。我们惊奇地发现,GANs以一种与人类高度一致的方式合成了一个场景。
4. 识别变异因素
我们使用几个现成分类器,关注布局检测[40]和语义分割[35],以帮助分析合成场景图像,即给定一幅图像,我们可以使用这些分类器来获得关于各种语义的响应分数。图4示出了由两个步骤组成的识别变异因素过程,即探测(第4.1节)和验证(第4.2节)。这样的识别可以实现多种场景操作(第4.3节)。
4.1 探测潜在空间
以“室内照明”为例(图4):
- 场景属性分类器输出输入图像具有室内照明的概率,我们使用该概率作为语义分数。
- 引入布局估计器、场景类别识别器和属性分类器,分别从这些抽象级别预测语义分数,形成层次化的语义空间。
- 在建立了从潜在空间Z到语义空间S的一对一映射后,我们通过将每个概念视为双分类问题来搜索其决策边界,如边界将潜在空间划分为两组,即有无室内照明。
4.2 验证可操纵变量因子
我们认为,如果目标概念可以从潜在空间的角度进行操作(例如,通过简单地改变潜在代码来改变合成图像的室内照明状态),则GAN模型能够在训练过程中捕获这些变化因素。如上所述,我们已经为每个候选设定了分离边界。设 { n i } i = 1 C \left\{\mathbf{n}_{i}\right\}_{i=1}^{C} {
ni}i=1C指定这些边界的法向量,其中 C C C表示候选的总数。对于某个边界,如果我们将一个潜在的代码移动到其法线方向(正),语义分数也应该相应增加。因此,我们建议对变化的潜在代码重新评分,以量化变化因子与目标模型的相关性,以便进行分析。如图4所示,该过程可表述为:
Δ s i = 1 K ∑ k = 1 K max ( F i ( G ( z k + λ n i ) ) − F i ( G ( z k ) ) , 0 ) \Delta s_{i}=\frac{1}{K} \sum_{k=1}^{K} \max \left(F_{i}\left(G\left(\mathbf{z}^{k}+\lambda \mathbf{n}_{i}\right)\right)-F_{i}\left(G\left(\mathbf{z}^{k}\right)\right), 0\right) Δs