MineGAN: Effective Knowledge Transfer From GANs to Target Domains With Few Images
Author Unit: CVL Linköping University Sweden, Computer Vision Center Universitat Aut` onoma de Barcelona Spain, Inception Institute of Artificial Intelligence UAE
Authors: Yaxing Wang 1 ^1 1, Abel Gonzalez-Garcia 1 ^1 1, David Berga 1 ^1 1, Luis Herranz 1 ^1 1, Fahad Shahbaz Khan 2 , 3 ^{2,3} 2,3, Joost van de Weijer 1 ^1 1
Code: https://github.com/yaxingwang/MineGAN
Conference: CVPR 2020
Email: {yaxing,agonzalez,dberga,lherranz,joost}@cvc.uab.es, mailto:fahad.khan@liu.se
Paper address: https://openaccess.thecvf.com/content_CVPR_2020/html/Wang_MineGAN_Effective_Knowledge_Transfer_From_GANs_to_Target_Domains_With_CVPR_2020_paper.html
Abstract
我们提出了一种新的生成模型知识 transfer 方法,该方法基于从单个或多个预训练的 gan 中挖掘对特定目标领域最有利的知识。这是使用一个矿工网络 miner network 来完成的,该网络识别每个预训练 GAN 生成分布的哪一部分输出最接近目标域。Mining 有效地引导 GAN 采样向潜空间的合适区域移动,便于后验微调,避免了其他方法的模式崩塌、缺乏灵活性等弊病。我们使用各种 GAN 架构 (BigGAN, Progressive GAN) 在多个复杂数据集上进行实验,结果表明,所提出的方法,即 MineGAN,可以有效地将知识迁移到目标图像较少的领域,优于现有方法。此外,MineGAN 可以成功地从多个预训练的gan中转移知识。
1. Introduction
就在最近,Wang 等人研究了单个预训练生成模型的微调,并表明它对数据稀缺的领域是有益的。然而,Noguchi和Harada[25]观察到这种技术会导致模式崩溃。相反,他们建议减少可训练参数的数量,只微调可学习参数,用于生成器的批量归一化 (规模和位移)。尽管不太容易过度拟合,但他们的方法严重限制了知识转移的灵活性。
We introduce the process ofminingof GANs. 这是由矿工网络执行的,该网络将 多元正态分布 转换为预训练 GAN 输入空间(也就是目标空间)上的分布,使得生成的图像类似于目标域的图像。 矿工网络的参数比预训练的 GAN 少得多,因此不太容易过拟合。 挖掘 mining 步骤使预训练的 GAN 倾向于从更接近目标域的潜在分布的较窄区域进行采样,这反过来又通过提供更清晰的训练信号和更低的方差来简化后续的微调步骤(与 [33] 中的从整个源潜在空间采样相反)。 因此,我们的方法在防止过拟合的同时保留了微调的适应能力。
重要的是,我们的 mining 方法可以从多个预训练的 gan 中 transfer,这允许我们同时从多个来源聚合信息,生成类似于目标域的样本。我们证明了这些网络可以通过选择性反向传播过程进行训练。我们的主要贡献是:
- 我们引入了一种新的矿工网络来引导预训练 GAN 的采样分布迁移到由少量图像确定的目标分布。
- 我们第一个提出了将知识从多个 gan 转移到单个生成模型的方法。
- 我们在许多方面优于现有的竞争对手,包括从无条件的、有条件的和多个 gan 转移知识。
2. Related work
Generative adversarial networks.
Transfer learning for GANs.
Iterative image generation.
3. Mining operations on GANs
为了清晰起见,我们首先在第3.2节介绍从单个GAN进行挖掘,但我们的方法对于任意数量的预训练GAN是通用的,如第3.3节所述。然后,我们展示了如何使用矿工来训练新的GANs(章节3.4)。
3.1. GAN formulation
3.2. Mining from a single GAN
我们想要近似目标数据的分布 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 。Mining 操作通过寻找 p g ( x ) p_g(x) pg(x) 中最能够近似 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 的一个,来学习到一个新的生成分布 p g T ( x ) p^T_g(x) pgT(x),其中 G 是固定的。为了找到这样的区域, mining 实际上找到了一个新的先验分布 p z T ( z ) p^T_z(z) pzT(z),使得具有 z ∼ p z T ( z ) z∼p^T_z(z) z∼pzT(z) 的样本 G(z) 与来自 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 的样本相似(见图 1a)。
我们的完整方法分为两个阶段。 第一阶段将固定生成器 G 的潜空间引导到适合目标分布的区域。 我们将第一阶段称为 MineGAN (w/o FT),并在图 1b 中展示了所提出的挖掘架构。 第二阶段通过微调更新生成器的权重(G 不再固定)。 MineGAN 指的是我们的完整方法,包括微调。
Miner M 充当输入噪声变量和生成器之间的接口,生成器在训练期间保持固定。 为了生成图像,我们首先对 u ∼ p z ( u ) u∼p_z(u) u∼pz(u) 进行采样,用 M 对其进行变换,然后将变换后的变量输入到生成器,即 G(M(u))。 我们以对抗方式训练模型:判别器 D 旨在区分生成器 G(M(u)) 输出的假图像和来自目标数据分布 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 的真实图像 x。 我们通过对 WGAN-GP 损失进行以下修改来实现这一点:
L D M = E u ∼ p z ( u ) [ D ( G ( M ( u ) ) ) ] − E x ∼ p data τ ( x ) [ D ( x ) ] ( 3 ) L G M = − E u ∼ p z ( u ) [ D ( G ( M ( u ) ) ) ] ( 4 ) \begin{gathered} \mathcal{L}_{D}^{M}=\mathbb{E}_{u \sim p_{z}(u)}[D(G(M(u)))]-\mathbb{E}_{x \sim p_{\text {data }}^{\tau}(x)}[D(x)]\ (3)\\ \qquad{\mathcal{L}}_{G}^{M}=-\mathbb{E}_{u \sim p_{z}(u)}[D(G(M(u)))] \ (4) \end{gathered} LDM=Eu∼pz(u)[D(G(M(u)))]−Ex∼pdata τ(x)[D(x)] (3)LGM=−Eu∼pz(u)[D(G(M(u)))] (4)
G 的参数保持不变,但梯度一直反向传播到 M 以学习其参数。 这种训练策略将使矿工转向输入空间中最有希望的区域,即那些生成接近 D T D_T DT 的图像的区域。 因此,M 有效地挖掘了先验 p z ( u ) p_z(u) pz(u) 的相关输入区域,并产生了目标先验 p z T ( z ) p^T_z(z) pzT(z),它将专注于这些区域,而忽略其他导致样本远离目标分布 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 的区域 。
我们区分两种类型的目标生成:on-manifold 和 off-manifold。 在 on-manifold 情况下,原始分布 p d a t a ( x ) p_{data}(x) pdata(x) 和目标分布 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 之间存在明显的重叠。 例如,pdata(x) 可以是人脸(男性和女性)的分布,而 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 仅包括女性人脸。 另一方面,在 off-manifold 生成中,两个分布之间的重叠可以忽略不计,例如 p d a t a T ( x ) p^T_{data}(x) pdataT(x) 包含猫脸。 off-manifold 任务显然更具挑战性,因为矿工需要从原始分布中找到目标样本(见图 4)。 具体来说,我们可以考虑 D 中的图像位于包含真实数据分布 p d a t a ( x ) p_{data}(x) pdata(x)[2] 支持的高维图像流形上。 对于远离 p d a t a ( x ) p_{data}(x) pdata(x) 的目标分布,它的支持将与原始分布的支持更不相交,因此它的样本可能不在包含 D 的流形上。
3.3. Mining from multiple GANs
图 1c 展示了我们模型的架构,它通过包含多个矿工和一个称为 selector 的附加组件扩展了单个预训练 GAN 的挖掘架构。
Supersample. 在传统的 GAN 训练中,fake minibatch 由不同样本 z ∼ p z ( z ) z∼p_z(z) z∼pz(z) 生成的假图像 G(z) 组成。 为了构建用于训练一组矿工的fake minibatch,我们引入了 supersample 的概念。 超样本 S 是一组样本,由该族的每个生成器恰好一个样本组成,即 S = { G i ( z ) ∣ z ∼ p i z ( z ) ; i = 1 , . . . , N } S=\{G_i(z)|z∼p_iz(z);i= 1, ..., N\} S={Gi(z)∣z∼piz(z);i=1,...,N}。 每个小批量包含 K 个超级样本,这相当于每个小批量总共有 K×N 个 fake 图像。
Selector. 选择器的任务是选择在推理过程中使用哪个预训练模型来生成样本。 例如,假设 D1 是一组‘kitchen’图像,D2 是‘bedroom’图像, DT 是‘white kitchens’。 选择器应该优先从 G1 采样,因为学习的生成分布 p g 1 ( x ) p^1_g(x) pg1(x) 将包含厨房图像,因此自然会更接近 p d a t a T p^T_{data} pdataT(x),即 white kitchens 的目标分布。 如果 DT 包括 white kitchens 和 dark bedrooms,则抽样应与数据中的分布成正比。
我们将选择器建模为一个随机变量 s,它遵循由 p1, …, pN 参数化的分类分布,其中
p
i
>
0
,
∑
p
i
=
1
p_i>0,\sum p_i=1
pi>0,∑pi=1。我们估计该分布的参数如下。 每个样本
G
i
(
z
)
G_i(z)
Gi(z) 的质量由单个 critic D 根据其 critic 值进行评估
D
(
G
i
(
z
)
)
D(G_i(z))
D(Gi(z))。 较高的评论值表明从
G
i
G_i
Gi 生成的样本更接近真实分布。 对于 minibatch 中的每个超级样本 S,我们记录哪个生成器获得了最大的评论值,即
a
r
g
m
a
x
i
D
(
G
i
(
z
)
)
argmax_iD(G_i(z))
argmaxiD(Gi(z))。 通过累积所有 K 个超样本并进行归一化,我们获得了一个经验概率值
p
^
i
\hat{p}_i
p^i,它反映了 Gi 在当前小批量的所有生成器中获得最大评论值的频率。 我们将每个参数
p
i
p_i
pi 估计为过去 1000 个小批量中的经验平均值
p
^
i
\hat{p}_i
p^i。 请注意,
p
i
p_i
pi 在训练期间学习并在推理期间固定,我们应用多项式采样函数对索引进行采样。
Critic and miner training. 现在,当 minibatches 由超样本组成时,我们定义了剩余的可学习组件的训练行为,即 critic D 和矿工{Mi}。The critic 旨在区分真实图像和虚假图像。 这是通过在假图像中寻找 artifacts 来将它们与真实图像区分开来完成的。 The critic 的另一个很少讨论但同样重要的任务是观察图像的出现频率:如果某些(可能是高质量的)图像在假图像中出现的频率高于真实图像,The critic 将降低其分数,从而激励生成器以降低此图像的出现频率。 通过从超样本中的所有图像进行反向传播来训练 The critic 可以防止它评估生成的图像的出现频率并根据经验导致不令人满意的结果(prevents it from assessing the frequency of occurrence of the generated images and leading to unsatisfactory results empirically.)。 因此,multiple GAN mining 损失为:
L D M = E { u i ∼ p z i ( u ) } [ max i { D ( G i ( M i ( u i ) ) ) } ] − E x ∼ p data τ ( x ) [ D ( x ) ] ( 5 ) \begin{array}{r}\mathcal{L}_{D}^{M}=\mathbb{E}_{\left\{u^{i} \sim p_{z}^{i}(u)\right\}}\left[\max _{i}\left\{D\left(G_{i}\left(M_{i}\left(u^{i}\right)\right)\right)\right\}\right] \\-\mathbb{E}_{x \sim p_{\text {data }}^{\tau}(x)}[D(x)] \ (5)\end{array} LDM=E{ui∼pzi(u)}[maxi{D(Gi(Mi(ui)))}]−Ex∼pdata τ(x)[D(x)] (5)
L G M = − E { u i ∼ p z i ( u ) } [ max i { D ( G i ( M i ( u i ) ) ) } ] ( 6 ) \mathcal{L}_{G}^{M}=-\mathbb{E}_{\left\{u^{i} \sim p_{z}^{i}(u)\right\}}\left[\max _{i}\left\{D\left(G_{i}\left(M_{i}\left(u^{i}\right)\right)\right)\right\}\right] \ (6) LGM=−E{ui∼pzi(u)}[imax{D(Gi(Mi(ui)))}] (6)
作为最大算子的结果,我们只从获得最高评价分数的生成图像进行反向传播。 这允许 the critic 正确评估发生的频率。 使用这种策略, the critic 可以执行它的两个任务:提高图像质量以及驱动矿工密切关注目标集的分布。 请注意,我们使用来自预训练 the critic 之一的预训练权重初始化单个 the critic D。
Conditional GANs. 首先,通过 class embedding E 将标签 l 映射到嵌入向量,然后将该向量映射到特定层的批量归一化参数。 通过标签投影[22]进一步调节鉴别器。 图 2(右)展示了如何挖掘 BigGAN。 除了标准矿工 M z M^z Mz,我们还引入了第二个矿工网络 M c M^c Mc,它从 u 映射到嵌入空间,产生一个生成器 G ( M c ( u ) , M z ( u ) ) G(M^c(u), M^z(u)) G(Mc(u),Mz(u))。 训练等于单个 GAN 的训练,并遵循方程 3 和 4。
3.4. Knowledge transfer with MineGAN
挖掘的基本思想是通过减少源分布和目标分布之间的差异,将预训练模型预先设置为目标分布。 矿工网络包含相对较少的参数,因此不太容易过拟合,这在直接微调生成器 G[25] 时会发生。 我们通过微调矿工 M 和生成器 G(通过释放其权重)来完成向新领域的知识转移。 随着生成分布更接近目标,过度拟合的风险降低,因此需要较低程度的参数适应。 此外,训练比直接微调预训练的 GAN [33] 更有效,直接微调的模型合成图像不一定与目标样本相似。 挖掘的预训练模型使采样更有效,从而减少噪声梯度和更清晰的训练信号。
4. Experiments
Evaluation measures. 使用了 FID(Fréchet Inception Distance,分数越低两个数据集越相近),KMMD(Kernel Maximum Mean Discrepancy,图像质量),MV(Mean Variance,分数越高多样性越好)。
Baselines. TransferGAN [33]、VAE [17]、BSA[25](只更新 batch normalization 参数)、DGN-AM[24]、PPGN[23](通过 denoising autoencoder 来增加一个先验从而增加多样性)。
Architectures. Progressive GAN [14], SNGAN[21]和BigGAN [4]
4.1. Knowledge transfer from unconditional GANs MNIST dataset.
我们使用 1000 张 28×28 大小的图像作为目标数据。
Single pretrained model.
Multiple pretrained models.
4.2. Knowledge transfer from conditional GANs
我们使用BigGAN[4],它是使用ImageNet[29]进行训练,并在两个目标数据集上进行评估: on-manifold (ImageNet: cock, tape player, broccoli, fire engine, harvester) 和 off-manifold (Places365[37]: alley, arch, art gallery, auditorium, ballroom)。我们每个类别使用500张图片。
5. Conclusions
个人总结: 该论文在生成器的输入前增加了一个 miner 网络,它的作用是将原始分布 transfer 到目标空间分布,并将 transfer 分成了两阶段,第一阶段固定生成器,训练 miner 和判别器;第二阶段将所有的参数(包含生成器)一起进行微调。