论文阅读 SeFa:《Closed-Form Factorization of Latent Semantics in GANs》

1在这里插入图片描述
收录:CVPR2021
地址:https://genforce.github.io/sefa/


摘要

  • 以前方法需要明确属性和手动注释,限制了应用
  • 这项工作以无监督的方式揭示潜在的变异因素
  • 提出了一种直接分解预训练权重的封闭形式分解潜在语义发现算法

1. 介绍

  • 由于潜在空间的高维性以及图像语义的巨大多样性,在潜在空间中寻找有效的方向是极具挑战性的。
  • 现有监督方法:采样然后需要属性预测器或简单统计信息,现有无监督方法:也需要模型训练或采样
  • 提出SeFa:语义分解Semantic Factorization的简称,只需使用生成器的预训练权重即可从潜在空间中识别通用语义
  • 我们使用图1中发现的语义演示了一些有趣的操作结果。例如,我们可以旋转图像中的对象,而不知道其基础三维模型或姿势标签。
    在这里插入图片描述
图1. 在不同的GAN模型(包括PGGAN[16]、StyleGAN[17]、BigGAN[4]和StyleGAN 2[18])中,无监督地发现了潜空间的多功能可解释方向。对于每一组图像,中间的图像是原始输出,而左侧和右侧是通过将潜在代码朝SeFa找到的可解释方向前后移动而得到的输出图像。

1.1 相关工作

  • GAN
  • 潜在语义解释

2. 方法

2.1 前期工作

GANs的生成机制:绝大多数的G(·)可表示为,A,b分别表示第一个转换步骤G1(·)中使用的权重和偏差。
G 1 ( z ) ≜ y = A z + b G_{1}(\mathbf{z}) \triangleq \mathbf{y}=\mathbf{A} \mathbf{z}+\mathbf{b} G1(z)y=Az+b
GAN潜在空间中的操纵模型:n是语义方向,α是操作强度
edit ⁡ ( G ( z ) ) = G ( z ′ ) = G ( z + α n ) \operatorname{edit}(G(\mathbf{z}))=G\left(\mathbf{z}^{\prime}\right)=G(\mathbf{z}+\alpha \mathbf{n}) edit(G(z))=G(z)=G(z+αn)

2.2 无监督语义分解

我们的目标是从GANs的潜在空间揭示解释因素(即公式(2)中的方向)。上面两个式子可以写成:
y ′ ≜ G 1 ( z ′ ) = G 1 ( z + α n ) = A z + b + α A n = y + α A n \begin{aligned} \mathbf{y}^{\prime} \triangleq G_{1}\left(\mathbf{z}^{\prime}\right) &=G_{1}(\mathbf{z}+\alpha \mathbf{n}) =\mathbf{A z}+\mathbf{b}+\alpha \mathbf{A} \mathbf{n}=\mathbf{y}+\alpha \mathbf{A} \mathbf{n} \end{aligned} yG1(z)=G1(z+αn)=Az+b+αAn=y+αAn
我们从式(3)中观察到,操纵过程与实例无关。给定任意代码z和某个潜在方向n,在第一步之后,通过在投影代码上添加术语αAn,始终可以实现编辑。从这个角度来看,权重参数应该包含图像变化的基本知识。因此,我们的目标是通过分解A来发现重要的潜在方向。
n ∗ = arg ⁡ max ⁡ { n ∈ R d : n T n = 1 } ∥ A n ∥ 2 2 \mathbf{n}^{*}=\underset{\left\{\mathbf{n} \in \mathbb{R}^{d}: \mathbf{n}^{T} \mathbf{n}=1\right\}}{\arg \max }\|\mathbf{A n}\|_{2}^{2} n={nRd:nTn=1}argmaxAn22
我们提出了一种无监督的方法,它独立于数据采样和模型训练,通过解决以下优化问题来进行语义分解:
这个问题的目的是在A的投影后找到可能导致较大变化的方向。直观地说,如果某个方向n0投影到一个零范数向量,An0=0,则等式(3)中的编辑操作变为y0=y,这将保持输出合成不变

在寻找k个最重要方向{n1,n2,···,nk}的情况下,我们将等式(4)展开为:
N ∗ = arg ⁡ max ⁡ { N ∈ R d × k : n i T n i = 1 ∀ i = 1 , ⋯   , k } ∑ i = 1 k ∥ A n i ∥ 2 2 , \mathbf{N}^{*}=\underset{\left\{\mathbf{N} \in \mathbb{R}^{d \times k}: \mathbf{n}_{i}^{T} \mathbf{n}_{i}=1 \forall i=1, \cdots, k\right\}}{\arg \max } \sum_{i=1}^{k}\left\|\mathbf{A n}_{i}\right\|_{2}^{2}, N={NRd×k:niTni=1i=1,,k}argmaxi=1kAni22,
式中,n=[n1,n2,··,nk]对应于顶部的K符号。为了解决这个问题,我们将拉格朗日乘子{λi}ki=1引入等式(5)中,如下所示:
N ∗ = arg ⁡ max ⁡ N ∈ R d × k ∑ i = 1 k ∥ A n i ∥ 2 2 − ∑ i = 1 k λ i ( n i T n i − 1 ) = arg ⁡ max ⁡ N ∈ R d × k ∑ i = 1 k ( n i T A T A n i − λ i n i T n i + λ i ) \begin{aligned} \mathbf{N}^{*} &=\underset{\mathbf{N} \in \mathbb{R}^{d \times k}}{\arg \max } \sum_{i=1}^{k}\left\|\mathbf{A} \mathbf{n}_{i}\right\|_{2}^{2}-\sum_{i=1}^{k} \lambda_{i}\left(\mathbf{n}_{i}^{T} \mathbf{n}_{i}-1\right) \\ &=\underset{\mathbf{N} \in \mathbb{R}^{d \times k}}{\arg \max } \sum_{i=1}^{k}\left(\mathbf{n}_{i}^{T} \mathbf{A}^{T} \mathbf{A} \mathbf{n}_{i}-\lambda_{i} \mathbf{n}_{i}^{T} \mathbf{n}_{i}+\lambda_{i}\right) \end{aligned} N=NRd×kargmaxi=1kAni22i=1kλi(niTni1)=NRd×kargmaxi=1k(niTATAniλiniTni+λi)
通过对每一个的偏导数,我们得到:
2 A T A n i − 2 λ i n i = 0 2 \mathbf{A}^{T} \mathbf{A} \mathbf{n}_{i}-2 \lambda_{i} \mathbf{n}_{i}=0 2ATAni2λini=0
公式(7)的所有可能解应为矩阵的特征向量。为了获得最大目标值并使 { n i } i = 1 k \left\{\mathbf{n}_{i}\right\}_{i=1}^{k} {ni}i=1k彼此不同,我们选择列作为与最大特征值相关的数据的特征向量。

方法可以算出很多个特征值和对应的特征向量,特征向量就是我们要的 direction,也就是属性变化方向,按特征值大小排序后一个个试,找到姿态,性别,年龄等变化最大的向量,然后做实验

2.3 GAN的模型实现

本文算法应用于PGGAN , StyleGAN , and BigGAN.

3. 实验

3.1 不同模型和数据集的结果

数据集:FF-HQ、动画人脸、LSUN、街景和ImageNet
通过调整可解释方向进行交互式编辑:我们开发了一个界面来促进人机交互,如图4所示
在这里插入图片描述

图4. 交互编辑界面。

StyleGAN上的结果
我们分别在底层、中间层和顶层解释目标模型。图2显示了在这些模型中发现的多功能语义方向。我们明显地发现,它们被组织成一个层次结构,这与之前工作的观察结果一致[17,27]。以汽车为例,底层倾向于控制旋转,中间层决定形状,而顶层对应于颜色。我们进一步进行用户研究,以了解SeFa发现的变异因素如何与人类感知相一致。在这里,向10位注释者提问。如表1所示,SeFa确实可以找到人类可以理解的概念,即使是从GAN模型中的某些特定层。
在这里插入图片描述

图2. 在基于样式的生成器中发现的分层可解释方向,即。EStyleGAN[17]和StyleGAN[18]。其中,街景模型使用StyleGAN2进行训练,而其他模型则使用StyleGAN。

在这里插入图片描述

表1. 用户研究。我们为每个数据集随机生成2K个图像,并使用来自每一层的前50个特征方向来处理这些图像。括号中的数字表示要解释的图层索引。用户会被问到有多少方向会导致不明显的内容变化(分子),有多少方向在语义上有意义(分母)。

关于BigGAN的结果。我们还解释了在ImageNet[6]上进行条件训练的大规模BigGAN[4]模型。BigGAN使用类别驱动的嵌入向量扩展潜在代码,以实现条件合成。这里,我们只关注语义的潜在代码部分发现。图3提供了一些示例。我们可以看出,我们的算法发现的语义可以应用于处理不同类别的图像。这验证了SeFa的泛化能力。

在这里插入图片描述

图3. BigGAN[4]中发现了多种可解释的方向,它在ImageNet[6]上进行了有条件的训练。这些语义进一步用于处理来自不同类别的图像。

3.2 与监督方法比较(InterFaceGAN)

定性结果
图5通过使用识别的语义可视化了一些操作结果。从编辑姿势、性别、眼镜和表情(微笑)的角度来看,SeFa实现了与InterFaceGAN相似的性能,表明其有效性。更重要的是,InterFaceGAN需要对大量数据进行采样,并对属性预测值进行预训练。相比之下,SeFa完全独立于数据采样和模型训练,这更高效、更具普遍性。
在这里插入图片描述

图5. 通过(a)监督方法InterFaceGAN[24]和(b)封闭形式解决方案SeFa发现的潜在语义的定性比较,其中SeFa实现了与InterFaceGAN相似的性能。使用CelebA HQ[16]上训练的PGGAN和FF-HQ[17]上训练的StyleGAN作为解释的目标模型。

重新评分分析
为了进行定量分析,我们在CelebA数据集[19]上使用ResNet50结构[11]训练一个属性预测器,如下[24]。有了这个预测器,我们可以进行重新评分分析,以定量评估所识别的方向是否能够正确地表示相应的属性。特别是,我们随机抽取2K图像,并沿着某个发现的方向进行操作。

  • SeFa可以充分控制某些属性,如姿势和性别,类似于InterFaceGAN。
  • 当改变一种语义时,InterFaceGAN对其他属性表现出更强的鲁棒性,得益于其监督训练方式。例如,年龄和眼镜对应于SeFa识别的相同潜在方向。正如[24]所指出的,这是因为训练数据有些偏颇(即老年人更可能戴眼镜)。相比之下,在某种程度上,让标签作为监督可以帮助学习更准确的方向。
  • SeFa未能发现与眼镜对应的方向。原因是眼镜的存在不是很大的变化,因此不符合等式(4)中的优化目标。

在这里插入图片描述

表2. 对InterFaceGAN[24]和SeFa从CelebA HQ数据集[16]上训练的PGGAN模型识别的语义进行重新评分分析。每一行评估沿某个方向移动潜在代码后语义分数的变化。

多样性比较
监督方法高度依赖于可用的属性预测器。相比之下,我们的方法更具通用性,可以在潜在空间中发现更多不同的语义。如图6(a)所示,我们成功地识别了与头发颜色、发型和亮度相对应的方向。这超过了InterFaceGAN,因为这些属性的预测值在实践中不容易获得。此外,监督方法通常受到训练目标的限制。例如,建议InterFaceGAN处理二进制属性[24]。相比之下,我们的方法可以识别更复杂的属性,如图6(b)所示的不同发型。
在这里插入图片描述

图6.(a) 由于缺乏语义预测器,InterFaceGAN[24]无法识别多样的语义。(b) 不同的发型,不能用二元属性来描述。使用CelebA HQ数据集[16]上训练的PGGAN模型。

3.3 与无监督基线的比较

我们将我们的方法与一些无监督的方法进行比较,包括基于抽样的方法[10]和基于学习的方法[5]。主要区别在于SeFa是一个封闭形式的解决方案,它独立于任何类型的数据采样或模型训练。
与基于抽样的基线进行比较。GANSpace[10]建议对采样数据的集合执行PCA,以在潜在空间中找到主方向。在这一部分中,我们在FF-HQ数据集上训练的StyleGAN模型上比较SeFa和GANSpace[17]。图7显示了一些定性比较结果,其中SeFa的发现语义导致更精确的控制。例如,在更改面部姿势时,SeFa可以更好地保留身份和肤色。我们还将这两种方法与FID[12]、重新评分分析和用户研究进行定量比较。在这里,用户会被问到哪种方法可以更充分地更改特定属性。结果显示在选项卡中。3.SeFa和GANSpace显示接近FID分数,因为这主要由生成器本身以及等式(2)中的操纵模型决定,这两种方法共享。但SeFa在属性重新评分和用户研究方面优于GANSpace。
在这里插入图片描述

表3. 与GANSpace的定量比较

与基于学习的基线进行比较。InfoGAN[5]提出通过引入正则化器来显式学习因子表示,以最大化输出图像和输入潜在代码之间的互信息。我们将我们的方法与Info-PGGAN模型[21]进行比较,后者使用信息正则化器[5]训练原生PGGAN[16]。图8显示了比较结果。我们可以看出,SeFa通过对预先训练的权重进行闭式分解来识别的语义比从Info PGGAN学习的语义更准确。以姿势操纵为例,使用Info PGGAN进行编辑时,头发颜色会发生变化。相比之下,SeFa实现了更精确的控制。3.
在这里插入图片描述

图8.(a)信息PGGAN[21,5]和(b)SeFa之间的定性比较。Info PGGAN模型的结果直接从[21]中提取,在CelebA HQ数据集[16]上训练的官方PGGAN模型用于SeFa。

3.4 真实图像编辑

在这一部分中,我们验证了SeFa揭示的潜在语义适用于真实图像编辑。由于生成器缺乏将真实图像作为输入的推理能力,因此我们将GAN反演[9,29]方法引入到我们的算法中。更具体地说,给定要编辑的目标图像,我们首先将其投影回潜在空间,然后使用SeFa找到的变化因子来调制反转代码。图9显示了一些示例,其中SeFa表现令人满意。例如,我们设法从输入图像中移除眼镜,并改变面部姿势。这表明SeFa能够发现潜在空间的方向,这对于真实图像编辑是通用的。
在这里插入图片描述

图9. 根据各种面部属性编辑真实图像。所有语义都可以通过建议的SeFa找到。GAN反演[29]用于将目标真实图像投影回StyleGAN的潜在空间[17]。

4. 总结

在这项工作中,我们提出了一个封闭形式的解决方案来分解由GANs学习的潜在语义。大量的实验证明了我们的算法在以无监督的方式从不同类型的GAN模型中识别通用语义方面的巨大威力。

改进:

  1. 就是这个工作是一个累活,我估计 100 个向量也找不到几个好用的
  2. 因为假设的原因,文章的性能是很受 FC 局限的,如果 FC 没训好,那这个工作就很受影响
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平什么阿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值