GANSpace
导言
自2014年出现以来,生成对抗网络( GAN)一直处于生成模型研究的前沿。 GAN具有数百万个参数,已广泛用于各种复杂数据格式的概率密度建模和生成超逼真的样本。其中包括照片级逼真的图像、近乎人类的语音合成、音乐生成、照片级逼真的视频合成等。这些应用,连同其无似然密度估计框架一起,使得GAN已在各种难题中大展手脚。其中一个相关的应用领域则涉及利用可解释的条件对密度进行建模,以生成具有某些特定特征的样本。例如,控制人脸图像某些特征的强度,例如微笑、颜色、方向、性别、面部结构等。
在训练GAN的各种固有问题中,有一个问题带来了额外挑战——即缺乏适当的度量标准来自动标记样本特征强度,这导致无法简单地解决GAN在有条件的监督下的训练。用简单的话来说,实际上不可能有一个可以测量头部特写的笑容量的数据集,因此不可能在有监督的环境中进行训练。
这项工作研究了一种在无监督的情况下在高斯先验中发现GAN控件的新颖方法。更重要的是,这种方法不需要对GAN进行任何重新训练。这使得从BigGAN、StyleGAN、StyleGAN2等经过预训练的最新GAN架构中生成受控样本变得很方便。
资源
相关背景简介
生成对抗网络
现实世界的数据来自极其复杂的概率分布,这不足为奇。这种复杂的性质使得任何基于似然度的密度估计器都毫无用处。更正式地说,用于后验估计的贝叶斯框架的似然积分∫P(X∣z)P(z)dz\int P(X | z) P(z) dz∫P(X∣z)P(z)dz 变得难以评估。
解决此问题的一个简单方法是避免对积分进行精确评估,并使用更简单的分布Q(z)Q(z)Q(z)(称为变分下限)对其进行近似估算。例如,Kingma等人的VAE使用N(μ,Σ2)\mathcal{N}(\mu, \Sigma^2)N(μ,Σ2))作为变分下限。但是,这种近似无法正确捕获似然分布的复杂性,从而导致样本质量较差。
GAN具有新颖的博弈论框架,通过在先验和后验之间引入神经网络来避免似然评估步骤,从而解决了这一问题。由Goodfellow等人首先提出,在其开创性论文生“Generative Adversarial Networks(生成对抗网络)”中,GANs将密度估计过程建模为两个竞争参与者之间的零和博弈。参与者之一,生成器G,被建模为先验P(z)(通常为各向同性高斯N(0,I))和后验空间P(X∣z)之间的参数函数Gθ。由ϕ参数化的鉴别器D尝试在真实和合成样本之间进行分类。对于每个优化步骤,参与者轮流改善其结果,直到达到纳什均衡。正式目标函数定义如下。
minG maxD V(G,D;θ,ϕ)\underset{G}{min} \, \underset{D}{max} \, V(G, D; \theta, \phi)
特征分解
在矩阵表示的各种规范形式中,特征向量-特征值形式在机器学习文献中用得最多。这在推荐系统文献中尤其是在降维方面非常普遍。特征值也在可逆神经网络中得到了广泛的应用,在该网络中,权重矩阵的奇异值在保持层的等距性方面起着至关重要的作用。
正式定义
给定一个方阵M,该方阵M可看做从某个向量空间V到其自身的线性映���,即M:V→V,向量空间的特征向量v被定义为使用M进行线性变换的向量,仅导致某个常数λ的尺度变换,即Mv =λv,其中λ是已知的特征值。对于所有r个特征向量和特征值的集合,MQ =QΛ,其中r是矩阵M的秩,Q是特征向量的矩阵,其第i列表示V上的第i个特征向量,Λ是对角矩阵,其中每个项λi是相应的第i个特征向量的特征值。
因此,将 M=QΛQ−1\mathbf{M} = \mathbf{Q}\Lambda\mathbf{Q}^{-1}定义为矩阵M\mathbf{M}的特征分解。
尽管特征分解具有直观的性质并广受欢迎,但实际上,特征分解的广义形式被称为奇异值分解(SVD)。 SVD通过考虑两个向量空间,行空间(R)和列空间(C),从而消除了特征分解的方阵限制。最终分解提供行空间和列空间的正交基向量(类似于特征向量),以及相应的奇异值(类似于特征值)。这种正交性允许矩阵逆的精确计算,从而使分解计算效率更高。
正式定义
T 令M表示从向量空间R到向量空间C的线性映射,即,M:R→C。令U为R中的奇异向量的矩阵,而V为C中的奇异向量的矩阵。在前述定义不变的情况下,MV =UΣ,其中Σ是奇异值的对角矩阵。因此,将奇异值分解定义为M =UΣV-1,由于V是正交矩阵,因此最终分解定义为:M =UΣVT
要点
上面讨论的方法将线性独立向量中的矩阵分解。因此,对于满秩矩阵分解,特征向量/奇异向量构成了向量空间的基向量。一个重要的观察结果是,由于向量已归一化并形成基向量,因此可以通过执行向量的任意线性组合,将其用于表示空间中的任何向量。
注意: 前k个列空间奇异矢量(即与k个最大奇异值相关的k个列空间奇异矢量)称为k主成分。通过选择主要奇异向量来表示矩阵分解的过程也称为主成分分析(PCA)。*.
GAN中的先验空间探索
可解释的GAN 控件发现,也就是GAN中隐空间解纠缠,一直是一个备受关注的问题。Chen等人著名的InfoGAN,使用后验Y∼P(X∣z,C)Y \sim P(X|z, C)与先验传递的条件向量CCC之间的互信息。然而,这需要对GAN进行再训练,并伴随着额外的熵损失以及对抗损失。
在这项工作中,作者探索了一种新颖的方法来寻找GAN先验空间中每个主要特征的“方向”,而不是进行有条件的训练。这意味着,在该方向上增大或减小先验z的大小,将导致生成的样本中相应特征强度的增大或减小。更正式地说,
给定第vi\mathbb{v}_i个特征的方向矢量ithi^{th} 强度为xix_i,将新的先验zz重新定义为:
z′=z+∑ixi⋅viz^\prime = z + \sum\limits_{i} x_i \cdot \mathbb{v}_i
可以重新定义为:
z′=z+Vxz^\prime = z + \mathbf{V}\mathbf{x}
其中V\mathbf{V}是方向向量viv_i的矩阵,x是与每个基向量相对应的强度xix_i的向量。
寻找主方向
这项工作中提出的主要观察之一,是各个特征强度与GAN早期层中特征张量的主成分的相关性。换句话说,作者观察到分解特征张量,沿每个列空间奇异向量解开某些特征,其中主要奇异向量编码主要特征。
这就提出了一个明显的问题:“特征空间中的主成分如何帮助找到先验空间zzz中的主方向?”为此,作者研究了两种架构,一种具有各向同性先验(例如BigGAN),另一种具有学习的特征向量作为先验。 (例如StyleGAN、StyleGAN2)。
基于StyleGAN的架构(基于特征的先验)
在基于StyleGAN的架构中,此过程很简单,其中已编码的特征张量(w=M(z,c)∣z∼P(z)w = M(z, c) |_{z\sim P(z)}) 用作GAN的先验,其中MMM是特征编码器,而ccc是要生成的样本的类别 ID。
接下来,将从ww分解得到的主成分V\mathbf{V}用于特征强度x\mathbf{x}的插值。正式表示如下,
w′=w+Vxw^\prime = w + \mathbf{V}\mathbf{x}
y′=G(w′;θ)y^\prime = G(w^\prime; \theta)
通过对V中所需方向矢量的x的量值进行插值,可以创建以下可视化效果。
基于BigGAN的架构(各向同性先验)
对于各向同性先验,主方向发现比学习的基于特征的先验要复杂一些。这是显而易见的,因为各向同性先验zzz不是学习的隐空间,并且不对有关数据样本特征的信息进行编码。
为了解决这一挑战,作者使用了一种投影方法,将第i层的主要成分投影回先前的空间。更正式地说,从先验的P(z)中采样N个样本,z1:N。第i层的N个特征向量yi,1:N的计算公式是[$y_{i, j} = \hat{G}_i(z_j],其中[G^i(yi)=Gi(yi−1)\hat{G}_i(y_i) = G_i(y_{i - 1})]和Gi表示G的第i层。计算张量yi,1:N的主成分会创建一个低秩基矩阵V,然后将其用于逼近yj的基向量,如下所示:xj=VT(yj−μ)∀j∈[1:N]x_j = \mathbf{V}^T(y_j - \mu) \forall j \in [1:N],其中,μ是V的平均值。
然后,使用线性回归将获得的基向量x1:Nx_{1:N}投影到先验空间。换句话说,可以通过求解来找到矩阵UUU,其中每列uk表示zzz中的基向量。
U=argminU∑jN∥Uxj−yj∥\mathbf{U} = \underset{\mathbf{U}}{argmin} \sum\limits_j^N \| \mathbf{U}x_j - y_j\|
现在,可以将z上的插值定义为:z′=z+Uxz^\prime = z + \mathbf{Ux} where xkx^k 其中xkx^k 表示第k个主要特征的强度。
解释主要特征方向
通过对与V中的方向矢量vj(对于StyleGAN2)和U 中的uj(对于BigGAN)相关联的方向幅度标量xj进行插值,可以选择表示特征j的矢量(例如旋转、缩放、背景等)。编辑限制也以相同的反复试验方法进行选择。令E(vj,R)表示沿方向vj或uj的编辑操作xj,其因子为xj,使xj落在R范围内。通过反复试验发现,BigGAN和StyleGAN的每个属性的编辑为如下图左下方所示。
爱尔兰塞特犬的插值– BigGAN]
人脸的插值-