LowRankGAN

代码 :https://github.com/zhujiapeng/LowRankGAN/.

论文翻译:Low-Rank Subspaces in GANs_ysh的博客-CSDN博客

摘要

生成对抗网络(GAN)的潜在空间被证明在一些子空间中编码丰富的语义 。为了识别这些子空间,研究人员通常会从一组合成数据中分析统计信息,识别出的子空间往往会全局控制图像属性(即操纵一个属性会导致整个图像的变化)。相比之下,这项工作引入了低秩子空间可以更精确地控制GAN的生成。具体来说,给定任意图像和感兴趣的区域(例如人脸图像的眼睛),我们设法用雅可比矩阵将潜在空间与图像区域联系起来,然后使用低秩因子分解来发现可操纵的潜在子空间。我们的方法有三个可区分的优点,可以恰当地称为LowRankGAN。首先,与以往工作中的解析算法相比,我们的雅可比矩阵低秩分解能够找到属性流形的低维表示,使图像编辑更加精确和可控。其次,低秩因式分解自然会产生一个空的属性空间,以至于在其中移动潜在代码只会影响感兴趣的外部区域。因此,可以简单地通过将属性向量投影到空空间来实现局部图像编辑,而不像现有方法那样依赖空间掩码。第三,我们的方法可以稳健地从一幅图像中处理一个局部区域进行分析,但也可以很好地推广到其他图像,使得它在实际中非常容易使用。在各种数据集上训练的最先进的GAN模型(包括StyleGAN2和BigGAN)上的广泛实验证明了我们LowRankGAN的有效性。

1 介绍

生成对抗网络(GANs)可以生成与真实图像在视觉上无法区分的高保真图像[19,21,4],在许多现实应用[17,43,35,11,42,30,8,38]中取得了巨大的进步。最近的一些研究[13,29,18]表明,预先训练的GAN模型自发地在潜空间中学习丰富的知识,以至于将潜在代码朝某些方向移动会导致图像中相应的属性变化。通过这种方式,我们能够通过识别语义上有意义的潜在子空间来控制生成过程。

对于潜在语义发现,最直接的方法之一是首先生成图像合成集合,然后将这些图像标记为一个目标属性,最后通过监督训练找到潜在的分离边界[13,29,18]。先前的工作[33,28,15]已经指出,上述管道可能会受到标记步骤的限制(例如,无法识别定义明确的注释以外的语义),并提出以无监督的方式寻找潜在空间的可操纵方向,比如使用主成分分析[15]。然而,存在方法更喜欢发现全局语义,它将整个图像作为一个整体来改变,而不能将潜在的子空间与某些特定的图像区域联系起来。因此,他们高度依赖空间掩码[32,9,2]来局部控制GAN的生成,这更有实际用途。

在这项工作中,我们通过引入GAN潜在空间的低秩子空间来弥合这一差距。我们的方法被称为LowRankGAN,它从任意合成一个感兴趣的区域开始,比如人脸图像的眼睛和鼻子或者场景图像的地面。然后,我们通过预先训练的生成器计算雅可比矩阵来关联潜在空间和图像区域。之后是我们算法的核心部分,即根据得到的雅可比矩阵进行低秩分解。与其他分析方法不同,雅可比矩阵的低秩分解能够揭示属性流形的内在低维表示,从而帮助解决对目标属性更精确的编辑方向。此外,低秩因子分解自然产生一个空的属性空间,以至于在这个子空间内移动潜在的代码主要影响剩余的图像区域。有了这种吸引人的特性,我们可以通过将一个属性向量投影到空空间中,利用投影结果来调制潜在代码来实现局部图像控制 。这一观察远非微不足道,因为通常认为潜在代码作用于GAN生成器[14,4,19]的整个特征映射。我们还发现,从一幅图像的局部区域导出的低秩子空间广泛适用于其他图像。换句话说,我们的方法只需要一个样本,而不需要丰富的数据进行分析。更令人惊讶的是,假设我们在一张汽车图像上识别出一个颜色不断变化的边界,我们可以用这个边界从其他图像中改变汽车的颜色,甚至是位于不同空间区域或形状不同的汽车。这表明 GAN潜在空间是局部语义感知的。此外,LowRankGAN对雅可比矩阵计算的起始图像区域具有较强的鲁棒性。例如,为了在合成图像中控制天空,我们的算法不一定依赖于刚性的rigid天空分割掩模,但也可以令人满意地使用标记天空区域(部分或全部)的随意边框,使其在实践中非常容易使用。

我们的主要贡献总结如下。首先,我们研究GAN潜在空间的低秩子空间,并通过简单地调制潜在代码来实现GAN图像生成的局部控制。其次,我们的方法可以发现关于一幅图像局部区域的潜在方向,但可以推广到所有图像,从而揭示GAN潜在空间的内在语义感知结构。第三,我们进行了全面的实验来证明我们的算法在广泛的模型和数据集上的有效性和鲁棒性。

2 相关工作

解释训练有素的GAN模型[1,18,29]最近受到了广泛的关注,因为它可以帮助我们理解GANs [38]学到的内部表示,并进一步控制生成过程[39,42]。研究表明GAN潜空间中的一些子空间与输出图像中出现的属性高度相关。为了识别这些语义上有意义的子空间,现有的方法分为两种,即有监督的[13,30,18,24]和无监督的[33,15,28,31]。一方面,监督方法从现成的属性分类器[13,30]或简单的图像转换[18,24]中寻求帮助,对一组合成数据进行注释,然后从标记数据中学习潜在的子空间。另一方面,非监督方法试图通过统计分析潜空间[15],最大限度地利用潜空间和图像空间[33]之间的相互信息,或探索模型参数[28,31]来发现可操纵的潜维度。但是,这些方法检测到的所有子空间都倾向于控制全局图像属性,这样如果我们编辑一个特定的属性,整个图像都会被修改。为了实现局部图像控制,一种常见的做法是引入空间掩码[32,9,2,38,41],它与GAN生成器的中间特征图一起工作。

与以前的工作相比,我们的LowRankGAN有以下不同之处:不需要对象的空间掩码来进行精确的局部编辑,只需一次图像合成和任意感兴趣的局部区域就可以获得通用属性向量,而无需对大量数据进行任何训练或统计分析。据我们所知,我们是第一个证明低阶因式分解在解释深层生成模型中的有效性的人。虽然也有一些工作使用雅可比矩阵来分析GAN潜在空间[26,7,34],但低秩子空间通过提供不可缺少的零空间来实现精确的生成控制。

3 Low-Rank GAN

设z ∈ Rdz和G(·)分别表示GAN的输入潜码和一个生成器。前人的工作[13,29,18]观察了一些潜在子空间与图像属性的关系,从而我们可以通过线性变换潜在代码来实现对合成样本G(z)的语义操作

其中n表示潜在空间内的属性向量,α是编辑强度。然而,现有方法识别的潜在子空间往往会将整个图像作为一个整体来操作,而无法控制一个局部图像区域。不同的是,我们提出的LowRankGAN证实了Eq(1)还可以用于局部控制图像生成。以下部分描述了如何从一个预先训练好的GAN模型中发现低秩子空间及其实际应用。

3.1 Degenerate Jacobian 退化雅可比


很容易知道,上述优化允许一个封闭形式的解,它是与最大特征值相关联的特征向量。因此,编辑方向所跨越的子空间是JzTJz的主子空间

对于GAN体系结构,前人的工作[12]已经证明并论证了Jacobian矩阵JzTJz是退化的,这是由以下定理描述的。非满秩的话矩阵特征分解就会有0特征值

若|A|=0,则称A为“退化矩阵”,也称“奇异矩阵”、“降秩矩阵”。n阶方阵A是非退化的充要条件为A是可逆矩阵
定理1说Jacobian JzTJz的秩可以逐步减小,生成元特征的流形允许在温和的条件下具有低维结构。因此,属性子空间必须允许类似的结构,这可以通过Jacobian JzTJz的低秩分解找到。

3.2 Low-Rank Jacobian Subspace

在实际应用中,数值计算表明雅可比矩阵实际上是满秩的,这意味着它在高度非线性的生成过程中受到噪声的干扰。如果我们假设这样的扰动是稀疏的,那么通过对腐败的corruption JzTJz进行低秩分解可以很好地揭示属性流形的低维结构。

给定一个被稀疏噪声破坏的低秩矩阵M,低秩因子分解可以表述为M = L + S,其中L是低秩矩阵,S是被破坏的corrupted稀疏矩阵。由于优化的非凸性,直接解决这个问题实际上是非常困难的。希望它可以归结为一个可处理的凸问题[36]:

λ是正权重参数来平衡稀疏性和低秩。Eq4 中的凸优化也称为主成分追踪(PCP) [5],可以用乘子交替方向法求解(ADMM) [23,3]。低秩因子分解和ADMM的详细介绍见附录。假设Eq4 中JzJz的解是

3.3 Precise Control via Null Space Projection

在这里,精确的控制意味着在编辑特定区域时,剩余区域中的像素变化尽可能小。例如,如果我们想在人脸图像中闭上眼睛,最理想的情况是其他区域,比如嘴巴、鼻子、头发和背景保持不变。以前的作品[15,28,24,33]可以编辑特定区域中的一些属性,但对剩余区域没有任何控制,这实际上会导致编辑感兴趣区域时图像发生全局更改。我们通过代数原理解决了这个问题,提出了一种利用雅可比零空间实现精确控制的通用方法。

如图1所示,如果我们想编辑区域A(图像中的车体)的一些属性(例如更改颜色),最理想的操作是图像中剩余的区域B将保留未编辑的。一个自然的想法是,我们可以将区域A的特定属性向量vi投影到一个空间中,在这个空间中属性方向的扰动对区域B没有影响,但对区域A有影响。具体来说,我们在V中获得了可以改变区域A属性的ra属性向量,而V中的其余dz-ra向量对区域A没有影响。同样,我们也可以获得属性矩阵B =[b1,…,bdz ]对于区域B通过Eq(6),rb属性向量改变区域B,其余dz-rb向量对区域B没有影响,但对区域A有一定影响。我们让 B =[B1,B2],其中B1=[b1,…,brb]和B2=[brb+1,…,bdz]。因此,可以通过将区域A的属性向量vi投影到B1的正交互补空间来缓解区域B的变化,我们将其表述为:

其中I是单位矩阵。对于我们的低秩情况,很容易知道B2是区域B的Jacobian的零空间,即与零奇异值相关联的子空间。如果A是一个矮胖矩阵,那么Ax=0必然有无数个非零解,这些解组成的空间即称为“零空间”(nullspace)。

但是,在某些特殊情况下,完全精确的控制可能会限制编辑的程度。例如,如果在编辑过程中眉毛保持不动,眼睛的大小就会受到限制。或者不改变下巴就张嘴的版本几乎是不可能的。考虑到这个因素,我们提出精确松弛来缓解这个问题。回想一下,执行的是完全精确的控制通过将vi投影到B的空空间中,在那里所有的奇异值都是零。因此,我们可以涉及几个具有小奇异值的属性向量,以增加多样性。我们将rrelax定义为用于松弛的向量数。所以投影子空间变成B1=[b1,…,b~r relax~] and B2 =[brrelax,…,brb+1,…,bdz]。显然,越大的放松就是我们获得的越大的多样性。否则,一个小的rrelax将导致很少的多样性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值