论文解释:SeFa ,在潜在空间中为 GAN 寻找语义向量

动机

GAN 中的生成器通常以随机采样的潜在向量 z 作为输入,生成高保真图像。通过改变潜在向量 z,我们可以改变输出图像。

然而,为了改变输出图像中的特定属性(例如头发颜色、面部表情、姿势、性别等),我们需要知道移动潜在向量 z 的特定方向。

以前的一些文章试图以监督的方式解释潜在的语义。他们通常标记数据集并训练属性分类器来预测图像的标签,然后计算每个标签的潜在代码 z 的方向向量。虽然这项任务有一些无监督的方法,但它们中的大多数都需要模型训练和数据采样。

论文提出了一种名为 SeFa 的封闭形式和无监督方法,可以无需数据采样和模型训练并找出这些方向向量来改变输出图像中的不同属性。

  • 封闭形式的解决方案是具有有限数量的标准操作的数学表达式。
  • “无监督”一词意味着我们不需要标记数据集。

移动潜在代码

为了有意义地改变潜在代码,需要首先识别一个语义上有意义的方向向量 n。新的潜在代码计算为 z'=z+αn,其中 α 是朝向 n 方向的步数。

问题是我们如何找出语义上有意义的方向向量 n?

相关研究——PCA 方法

在之前发表的论文 GANSpace: Discovering Interpretable GAN Controls 中,Härkönen 等人对采样数据进行主成分分析(PCA)以找出潜在空间中的主要方向向量。

提醒一下,PCA 是一种找出大变化轴的工具

我们以 StyleGAN 中的生成器为例。在进入每个中间层之前,潜在代码 z 将被发送到全连接层 (FC)。

提出的方法如下:首先采样 N 个随机向量 {z₁, z₂, …, zₙ},然后将它们输入 FC 层以获得投影输出 {w₁, w₂, …, wₙ}。因此,我们将 PCA 应用于这些 {w₁, w₂, ..., wₙ} 值以获得 k 维基础 V。

给定一个由 w 定义的新图像,可以通过改变 PCA 坐标 x 对其进行编辑,然后将其输入合成网络,如下所示。

虽然这种 PCA 方法是无监督的,但它需要数据采样,并且效率低下。但是提到这种方法,因为它与今天的主题——SeFa 有相似之处。

SeFa - 语义分解

最先进的 GAN 模型通常由多个层组成。每一层都学习从一个空间到另一个空间的转换。论文的重点研究第一个变换,它可以表述为仿射变换,如下所示。

如果我们将 z'=z+αn 应用于输入潜在代码,则第一个转换公式可以简化如下。

由于G₁(z+αn)=G₁(z)+αAn,我们知道如果给定一个潜在码z和方向向量n,则可以通过在变换后的投影码上加上αAn来实现编辑过程。

从这个角度来看,权重参数A应该包含图像变化的基本知识。因此,可以通过分解 A 来发现重要的潜在方向。

SeFa 算法类似于之前的 PCA 方法。但是它不是将 PCA 应用于投影的潜在代码 G₁(z)=y,而是直接将非常相似的过程应用于投影层的权重(G₁ 的权重)。

就像 PCA 一样,这个过程也是为了找出在 A 的投影后可能导致较大变化的方向向量。它被表述为以下优化问题。

完整文章:

https://www.overfit.cn/post/e9e614d774f743509fc9ede06e8c16f9

posted @ 2022-03-06 12:20  deephub  阅读(121)  评论(0编辑  收藏  举报