GAN可解释性:Closed-Form Factorization of latent Semantics in GANs2021-03-14

论文名:Closed-Form Factorization of Latent Semantics in GANs

从作者提出的方法中发现的语义信息
摘要

 GAN的latent\,sapce中存在很多丰富的语义信息,这在之前的很多研究中就已经做了介绍,而以往的很多研究往往是训练很多个属性分类器,并且使用一些机器学习算法,比如SVM找到不同的属性在latent\,space中的超平面分界面,从而发现语义信息,但是这需要很多对目标属性的提前假设和定义,并且需要花费大量的时间来训练分类器。
 本文中提出了一种通过直接分解预训练的weight的闭试解答算法来做潜在语义的发现。通过这种速度很快的实现,方法不仅仅能堪比监督学习算法可以找到了很多和语义有关联的latent\,space中的向量并且可以可以找到更多丰富的概念是一些属性分类器所不能够具有的。

原理介绍

 对于当前的先进的主流的GAN生成模型来说,对于用于生成图像的随机向量input,都会进行一次放射变换(affine\,transform),将用于输入的lanent\,sapce变换到一个中间空间(一般是使用MLP进行变换,让其具有自由学习的能力),然后使用变换过向量输入到生成模型,其原理大概是能够让这个新空间的流形更好的符合图像的分布规律,并且拥有更好的disentangle(即更容易分解出输入的变量和最后生成图像的语义信息的关系),性质。
如在Nvidia提出的StyleGAN中,有八层用于把输入随即向量
对于一个输入z定义仿射变换如下:
G_1(z)=y=Az+b \tag{1}\\ \text{这里}\,y\in R^m,A\in R^{m*d},b\in R^m
 如果我们直接对输入随即向量z进行操作比方说加上一个单位向量n即加上\alpha n(其中n是一个单位向量,那么):
edit(G(z))=G(z')=G(z+\alpha n)\tag2
那么就很容易得到如下的公式:
y'=G(z')=G_1(z+\alpha n)=Az+b+\alpha n=y+\alpha An \tag3
 从公式3可以看出来对latent\, space进行操作就是对变换后的空间进行一个加操作\alpha An,那么作者假想,如果一个方向有着十分丰富的语义信息,那么其对图像的变化的影响一定是比较大的,又因为整个变换过程中的latent\,vector是可以interploation(插值)从而能够保证图像过渡相对平滑,对图像变化最大的n一定是能够让||An||最大的n,那么作者提出了一个最优化的问题,通过解决这个问题就能够在latent\,space找到对图像影响最大的一个方向单位向量n。这个优化问题可以用如下的公式来进行表示:
n^*=argmax||An||_2^2\\ 其中n\in R^d,n^Tn=1\tag4
为了获取到更为丰富的语义,作者又将这个问题变成如下的优化问题:
N^*=argmax\sum_{i=1}^k||An||_2^2\\ 其中N\in R^{d*k},n_i^Tn=1\tag5
为了方便解决(5)这个最优化的式样,对其进行进一步的变形(过程中使用了Lagrange方法)如下:
\begin{array}{} N^*&=&argmax\sum_{i=1}^k||An_i||_2^2-\sum_{i=1}^k\lambda_i(n_i^Tn_i-1)\\ &=&argmax\sum_{i=1}^k(n_i^TA^TAn_i-\lambda_in_i^Tn_i+\lambda_i) \end{array} \tag6
对每一个n_i求偏导数可以得到如下:
2A^TAn_i-2\lambda_in_i=0\tag7
有上述公式7可以看出,所有可能的n_i就是A^TA这个矩阵的特征向量。我们要找到的所有可能的使得其变化最大的n_i存在与这个矩阵的所有偏导数中,问题得以解决。

实验

 作者在当前比较主流的大型GAN模型上做了实验,如PGGAN,StyleGAN还有BigGAN。

在StyleGAN和PGGAN上的一些表现

在BigGAN上的一些表现

 在对StyleGAN中的实验,在不同层的仿射变换的weight中找到前50个求得的n中,其变化明显和语义丰富的数量如下(其中分子是内容变化丰富的数量,分子是语义丰富的数量):

Dateset Bottom(0-1) Middle(2-5) Top(6-)
Anime Face 12/12 26/26 38/50
LSUN Cat 14/15 21/28 47/50
LSUN Car 10/10 16/22 22/34
LSUN Church 15/15 18/26 48/50
Streetscape 9/9 12/18 15/36

 作者之前的InterfaceGAN文章中方法找到的语义向量,和现在的方法找到的语义信息向量的entangle程度如下:

两种方式的entangle程度如上图

可以看出其效果可以和有监督的方式相当。

在对这种方式进行的复现中,我选用了animeface这个数据集。

这是一张随机采样的图:


图1,这是一张随机采样的图

当我让其沿着找到的某一个单位向量的方向移动的时候,增大或者减小我发现了图像的这样变化:

图2,沿着单位向量的正方向得到的图片
图3,沿着单位向量负方向移动得到的图片

怎么样,快去生成你自己的美少女把

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容