本文是对"on the steerabilty of generative adversarial networks"[2]一文的学习。

Introduction

研究的问题阐述:对latent space的隐变量z{z}进行移动得到z{z^{\ast}},使得GAN生成的图片G(z){G(z^{\ast})}是原来生成的图片G(z){G(z)}通过某种变换之后得到的图片,本文提出了线性和非线性两种移动方法。
本文研究的变换包括:

  • 颜色变换。
  • 目标物体的放大和缩小。
  • 左右上下移动。
  • 旋转变化。

Methods

主要包含三个部分的内容:

  1. 构造 z{z^{\ast}} 的方法,分为线性和非线性两种。
  2. 对生成图像的变换效果量化。
  3. 提出两种降低该方法的限制的方法。

Methods of walking latent space

线性方法:对给定的目标图片的变换,希望学习到一个N维向量w{w}
(w{w}在这里是一个累加步的意思,其实在公式中使用ww{\frac{w}{\|w\|}}会不会更加 make sense,这样学习的就仅仅是变换的方向,不过确实除了方向还要学习大小,但是我确实感觉这里又有一个α{\alpha}比较多余,没有完全分开大小和方向。)

w=argminwEz,α[L(G(z+αw),edit(G(z);α))]{ w^{\ast} = \arg \min_{w} \mathbb{E}_{z, \alpha}\left[ \mathcal{L}(G(z + \alpha w), edit(G(z);\alpha)) \right] }

其中α{\alpha}表示变换的大小,又对应在隐空间中移动z{z}的程度;G(z){G(z)}表示原始隐变量{z}$生成的图片。

整个公式可以理解为:操作z{z}累加αw{\alpha w^{\ast}}得到z{z^{\ast}},生成图片G(z){G(z^{\ast})}。原始生成图片G(z){G(z)}经过对应程度α{\alpha}的变换得到图片edit(G(z);α){edit(G(z);\alpha)}
优化的目标就是G(z){G(z^{\ast})}edit(G(z);α){edit(G(z);\alpha)}距离的期望最小。在文章中L{\mathcal{L}}使用L2距离。

非线性的方法: 目标改变成学习一个非线性映射f:zz{f: z \to z^{\prime}},它将latent space 上的点映射成另一个点。对原始的z{z}进行多次映射要对应地对目标的图片进行多次的变换,最佳的非线性映射f{f^{\ast}}表达式:

f=argminfEz,n[G(f(n)(z))edit(G(z);nϵ)]{ f^{\ast} = \arg \min_{f} \mathbb{E}_{z, n} \left[ \| G(f^{(n)}(z)) - edit(G(z);n\epsilon) \| \right] }

在这里可以用一个前馈神经网络来近似f{f}。两种方法的直观解释如图1所示。

作者还提到使用z=z+αNN(z){ z = z + \alpha NN(z) } 的形式,容易导致将等式右边的z{z}项忽略。(有点不明白,可能需要进一步的实验验证。)

两种方法的直观解释
两种方法的直观解释

量化steerability的效果

这里作者主要谈及如何对 walk latent space 的方法进行评价,对不同的目标tranformation有不同的评价方法,评价方法主要和如何对训练集进行transformation有关。

  • 颜色变换:对训练集的颜色变换是调整RGB通道的系数,对每张生成图片和walk后生成的图片,随机采样一百个像素,取每个通道改变的均值。

  • 放大缩小、位移变换:作者使用了一个 MobileNet-SSD 用于检测主要物体的位置。如果成功检测到物体,提取对应的正确标签的 bounding box。bounding box 的面积和整体image的比例用于评价放大缩小的效果。bounding box 的中心(X,Y)位置之差除以图片的整体尺寸用于评价位移效果。

减少这种方法的限制

对这种方法确实存在一定的限制,作者猜想**这种限制来源于数据集(如果GAN在数据集中没有见过类似变换后的图像,GAN很难生成可以满足这种变换的图像)**为了提高 latent space 的操作性,进一步提出了两种在训练中使用的方法。

  1. 数据增强:可以使得 GAN 能学习到不同视角、变换后的图片。

  2. 修改训练的损失函数LGAN{\mathcal{L}_{GAN}},添加Ledit{\mathcal{L}_{edit}},同时对增加步w{w}和生成器G{G}进行优化。

G,w=argmin(LGAN+Ledit){ G^{\ast}, w^{\ast} = \arg \min(\mathcal{L}_{GAN} + \mathcal{L}_{edit}) }

Ledit=L2(G(z+αw)edit(G(z),α)){ \mathcal{L}_{edit} = L_{2}(G(z + \alpha w) - edit(G(z), \alpha)) }

LGAN{\mathcal{L}_{GAN}}是一种修改过后的WGAN Loss。

LGAN=maxDEz,α[D(G(z+αw))]Ex,α[D(edit(x,α))]{ \mathcal{L}_{GAN} = \max_{D} \mathbb{E}_{z, \alpha}[D(G(z + \alpha w))] - \mathbb{E}_{x, \alpha}[D(edit(x, \alpha))] }

实验和结论

作者设计了一系列的实验:

  • 实验1: Image Transform Limitation

作者发现问题:

  1. 对涉及的几种变形都观察到:当继续增大变形比例时,模型不能生成比较真实的图像了,或者增大比例时生成图像的变形比例不变(存在允许的变形范围)。
  2. 同一种变换对不同class的物体的作用影响不一样(有的可以成功将物体颜色改变,有的只有稍微改变)。

针对这一现象,作者提出假设:该现象的引起源于数据集中不同类的多样性。比如数据集中基本上不会出现蓝色的消防车,所以对消防车的变色效果很差。

  • 实验2:How does the data affect the transformations

作者设计了实验说明上一个实验的假设,提出:如果不同的类有不同的变形限度是因为不同类的多样性问题,那么类的变形限度和该类图片的标准差存在关系。

model(α){model(\alpha)}表示对原latent space移动α{\alpha}大小再经过生成器得到的图片分布,类变形限度用最大和最小变形的图片均值表示,对第k{k}个类,这一公式表示为:

Δμk=μk,model(+α)μk,model(α){ \Delta \mu_{k} = \mu_{k,model(+\alpha^{\ast})} - \mu_{k, model(-\alpha^{\ast})} }

α{\alpha^{\ast}}是训练中使用的最大系数(同时保持比较低的FID)。

实验观察到它和类图片的标准差σk{\sigma_{k}}存在相关性,说明了实验一中的假设。

  • 实验3:Comparison between linear way and non-linear way

实验现象:Linear方法虽然transform的比例不大,但是图片比较真实;相反,non-linear方法transform的比例更加好,但是不够真实。

作者观点:

  1. 生成图像的真实性和transform的比例是trade-off。
  2. linear方法和latent space内部结构比较贴合
  • 实验4:Limitation Reduced Methods

实验观察得到的结论:

  1. “不加数据增强” 劣于 “数据增强” 劣于 “数据增强 + 联合训练”。
  2. 在 DCGAN trained on CIFAR10上,三种方法都失效了。

复现尝试

基于以上的方法做了一个小小的复现:

(1) 数据集: MNIST(经过数据增强,包含Zoom和Center Shift)。

(2) GAN:使用 DCGAN 的架构,对判别器使用spectral normalization[1],使用 Vanilla GAN Loss 和类似ACGAN的分类Loss[3]训练。

(3) 使用文中的线性方法。

结果(只针对Zoom变换,并等差地取64个变换等级):

线性方法引导的生成图像的Zoom变换
线性方法引导的生成图像的Zoom变换
真实图像Zoom变换
真实图像Zoom变换

训练的时间不长,也没有细调参数,但是还是一定程度上达到了引导Zoom变换的效果,如图2所示。

评价

首先,本篇文章在GAN的latent space的探索上迈进了一步。作者成功在latent space上引导GAN生成的经过某些指定修改的图片。

主要的贡献的在于:

  • 提出了线性和非线性的方法引导
  • 分析这种方法的limitation源于数据集各类图片的多样性
  • 提出了两种降低limitation的方法:(1) 数据增强,手动
    提高图片多样性;(2) 修改损失函数,同步训练。

Future Work

  • 更好的reduce limitation的方法:

作者提到,对在CIFAR10上训练的DCGAN,两种降低limitation的方法都失效了。而且作者认为transform limitation和图片的质量是trade-off。

  • 更加generalized的引导方法:

作者提出的方法是 transform specified,能否设计一个对更多的变换都有效的方法,或者更加统一的方法。

  • latent space 分析:

基于以上的方法,可以对latent space的性质展开更多的分析,比如latent space的线性结构等。

Reference


  1. Takeru Miyato, Toshiki Kataoka, Masanori Koyama and Yuichi Yoshida. Spectral normalization for generative adversarial networks. 2018

  2. Ali Jahanian, Lucy Chai and Phillip Isola. On the “steerability” of generative adversarial networks. 2019

  3. Augustus Odena, Christopher Olah and Jonathon Shlens. Conditional image synthesis with auxiliary classifier gans. 2017