Few-shot Image Generation with Elastic Weight Consolidation
Author Unit: Adobe Research
Authors: Yijun Li Richard Zhang Jingwan Lu Eli Shechtman
Code: https://yijunmaverick.github.io/publications/ewc/
Conference: NIPS 2020
Email: {yijli, rizhang, jlu, elishe}@adobe.com
Paper address: https://arxiv.org/abs/2012.02780
Abstract
仅仅通过一些 observations 来推断其分布是不合理的,我们试图利用大量相关的源域作为预训练。因此,我们希望保持源域的 diversity,同时适应目标的 appearance。我们在不引入任何附加参数的情况下,对目标域的几个例子采用预训练模型。最重要的是,我们在这个适应过程中对权重的变化进行了规范化,以便在拟合目标的同时,最好地保留源数据集的“信息”。我们通过对不同目标域的高质量生成结果来证明我们算法的有效性,包括那些样本极少(例如≤10)的结果。我们还分析了一些重要的因素,如样本的数量和源和目标域之间的差异。
1 Introduction
在不引入额外参数的情况下,对预训练模型的权值进行调整。固定架构意味着没有必要对新参数(例如,参数的数量、它们的位置等)进行冗长的手工设计。相反,挑战在于如何调整权重以适应有限的目标域数据的外观,同时保持尽可能多的转移知识以及来自源的多样性。
需要注意的一个关键属性是,权重有不同的重要性级别; 因此,在适应或调优过程中, 每个参数都不应该被平等对待。我们建议量化每个参数的“重要性”,强调在调优过程中重要参数的保存。在 discriminative modeling setting 中,Kirkpatrick等人提出 Elastic Weight Consolidation (EWC),它通过估计其 Fisher 信息相对于客观可能性来评估每个参数的重要性。一个关键的区别是 the generative setting,训练的目标不是固定的。尽管如此,我们证明 Fisher Information 可以从一个代理目标 (一个冻结的 discriminator) 中估计出来,并且能够产生不同目标域的高质量结果,即使只有极少的样本(≤10)。
2 Related Work
Few-shot learning. 有一些针对于 GAN 进行迁移微调的方法添加了额外的参数,我们接下来将证明这是多此一举的。
Style transfer.
Continuous learning. 由于我们的目标是将在源域上预训练的 GAN 模型适应到目标域,这自然是一个 sequentially learning 两个任务的过程,因此与持续学习有关。持续学习主要处理的是“灾难性遗忘”现象,即学习连续的任务而不忘记如何执行之前训练过的任务。还需要注意的是,在适应之后,我们不再能够在源域中生成数据。我们尝试不要忘记源域中的多样性,从而可以结合目标域中的 style 来生成更具有多样性的结果。
3 Proposed Method
没有任何正则化直接去适应新领域的数据会导致过拟合。因此,剩下的问题是 (i)哪些权重是可以保留的重要权重,哪些是可以有更高的自由度去变化,以及(ii)如何量化这样一个重要因素,以便我们可以通过损失函数来正则化它们。下面我们将详细介绍我们对不同权重重要性的理解和建议的适应方法。
3.1 Rate of changes on weights
我们分析了在源和 target-adapted 模型之间生成器权值的变化率。我们使用 CelebA 数据集 [24](∼200k 图像)的真实人脸作为源域。 对于目标域,我们使用描绘风格化类人头部的表情符号面孔。 我们使用 Bitmoji API [11] 来收集 ∼80k 表情符号图像。 我们在图 2(左)中设计了一个五层 DCGAN [30] 网络(表示为生成器 G,与判别器 D 相关联)。我们首先对面部的生成模型进行预训练,然后在表情符号领域对其进行微调,两者都使用以下对抗损失[8]:
L a d v = min G max D E x ∼ p d a t a ( x ) [ log D ( x ) ] + E z ∼ p z ( z ) [ log ( 1 − D ( G ( z ) ) ) ] ( 1 ) L_{a d v}=\min _{G} \max _{D} \mathcal{E}_{x \sim p_{d a t a}(x)}[\log D(x)]+\mathcal{E}_{z \sim p_{z}(z)}[\log (1-D(G(z)))] \ \ (1) Ladv=GminDmaxEx∼pdata(x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))] (1)
pretrained G 和 adapted G‘,我们计算了每个 conv 层的权重平均变化率(我们省略了 bias 和其他在 normalization layers 中的参数): Δ = 1 N ∑ i ∣ θ i ′ − θ i ∣ ∣ θ i ∣ \Delta=\frac{1}{N} \sum_{i} \frac{\left|\theta_{i}^{\prime}-\theta_{i}\right|}{\left|\theta_{i}\right|} Δ=N1∑i∣θi∣∣θi′−θi∣,其中N是参数的数量, θ i a n d θ i ′ \theta_{i}\ and\ \theta_{i}^{\prime} θi and θi′ 是 G 和 G’ 中的 i-th 参数。从图2 (中间) 所示的结果中,我们观察到网络最后一层的权值平均变化比其他早期层最小。在使用其他源-目标域对的其他GAN架构 (例如,LapGAN [4], StyleGAN[16]) 中也发现了类似的观察结果。这意味着如果我们用 few examples 进行适应,最后一层的一些权重比其他层的权重更重要,应该更好地保存。
3.2 Importance measure
已经确定了不同层的权重在适应时应该具有不同的正则化,所以下一个问题就是如何衡量这个权重的重要性。回想一下,在数学统计中, Fisher Information F 可以告诉我们如何根据观测值估计模型参数有多好[26]。给定源域上的预训练生成模型,通过给定网络参数 θ S θ_S θS 的学习值生成一定数量的数据 X,Fisher 信息 F 可以计算为:
F = E [ − ∂ 2 ∂ θ S 2 L ( X ∣ θ S ) ] ( 2 ) F=\mathbb{E}\left[-\frac{\partial^{2}}{\partial \theta_{S}^{2}} \mathcal{L}\left(X \mid \theta_{S}\right)\right] \ (2) F=E[−∂θS2∂2L(X∣θS)] (2)
其中 L(X|θ) 是对数似然函数,相当于使用判别器的输出计算二元交叉熵损失。我们还尝试将生成图像与其自身之间的重构损失或感知损失 [14] 作为对数似然,结果获得了相似的 F 值。 为简单起见,我们使用判别器的输出并显示在真实人脸上训练的 G 模型中不同层权重的平均 F,展示在图 2(右)中。我们注意到最后一层的权重比其他层的权重 F 高得多。 考虑到我们之前对图 2(中)中权重变化率的观察,我们 可以直接使用 F 作为权重的重要性度量, 并添加正则化损失来惩罚在适应目标域期间的权重变化,如下所示:
L a d a p t = L a d v + λ ∑ i F i ( θ i − θ S , i ) 2 ( 3 ) L_{a d a p t}=L_{a d v}+\lambda \sum_{i} F_{i}\left(\theta_{i}-\theta_{S, i}\right)^{2} \ (3) Ladapt=Ladv+λi∑Fi(θi−θS,i)2 (3)
θ
S
θ_S
θS 为从源域中学到的权值,
i
i
i 为模型各参数的索引,
λ
λ
λ 为平衡不同损失的正则化权值。方程(3)中的第二项是在[17]中首次提出的,用于分类任务,称为 Elastic Weight Consolidation (EWC) 损失。虽然[17]的工作使用了 EWC 损失来避免在学习新类后忘记如何分类旧类,并且有足够的数据用于所有类,但这里我们想在few-shot 生成设置中展示它的有效性。如果没有这种正则化来保持源的多样性,那么目标域内实例数较少的模型自适应将很快导致过拟合,表现为只生成给定目标样本的近似副本。
为了证明在目标适应过程中正则化的有效性,我们专门消融了方程(3)中的第二项(即 EWC 损失)。图 3(左)中的蓝色曲线显示了在没有任何正则化的情况下权重的变化速度。在这里,我们通过设置 λ= 0 来计算用于可视化的 EWC 损失,但不使用它。它清楚地说明了仅在几百次迭代中权重就迅速偏离了原始权重。我们在图 3(右)的第二列中显示了没有 EWC 的调整结果,很明显发生了过拟合。相比之下,图 3(左)中的橙色曲线表明,随着正则化,权重在开始时变化缓慢,这也导致 EWC 损失增加,但逐渐饱和。从图 3(左)中的损失值的比较中, 我们了解到只用一些新样本来适应新领域不应过多地改变原始权重,以便可以保留来自源域的信息(例如,多样性)。在图 3(右)的第三列中使用 EWC 改编的结果也验证了这一点,因为我们的方法生成了目标域的新示例。
4 Experimental Results
Datasets. 我们选择了两个感兴趣的对象,即 face 和 landscape。使用 FFHQ 为源域,然后使用其他几个 face datasets 作为目标:emoji faces from the Bitmoji API [11]; animal faces from the AFHQ dataset [3] and portrait paintings from the Artistic-Faces dataset [44]. 我们使用了10张来自更大的AFHQ数据集的猫和狗图像。artist - faces 数据集包含16位不同艺术家的艺术肖像,每个艺术家只有10张图片可用。对于 landscape,我们使用 CLP 数据集[29],该数据集包含数千张照片作为源,10幅铅笔画作为目标。
Evaluated methods.
4.1 Qualitative results
NST 主要传输目标示例的全局颜色和纹理。 传输的结果相对杂乱,无法捕捉目标样式的更高级别特征(例如,几何形状)。 由于其重建方案,BSA 的结果乍一看很模糊。 此外,它还通过生成视觉上相似的结果来显示模式崩溃的问题。 MineGAN 在生成更多样化的示例方面效率较低。 在采样结果中很容易发现给定示例的重新生成,这意味着 MineGAN 在 few-shot 设置下倾向于过度拟合。 相比之下,我们的方法生成的结果更忠实于 few given examples 的风格,同时表现出良好的多样性。
4.2 Quantitative comparisons
如果目标域本来有大量的真实数据,我们选择常用的Fréchet Inception Distance (FID)[10],它度量了通过适应模型获得的生成图像的质量。对于只有几个可用示例的目标域,FID 并不是一个很好的度量生成质量的指标。因此,我们进行了用户研究,以评估我们生成的结果与真实示例的真实性。我们使用Amazon Mechanical Turk (AMT)平台在每次研究中从用户中收集300张选票。为了度量多样性,我们使用LPIPS度量[48]来度量结果之间的相似性,即随机生成的多对图像之间的距离。 Table 1.
4.3 Discussion
Number of shots. Table 2, Figure 5.
Regularization weight λ. Table 3. 我们在所有实验中凭经验设置
λ
=
5
×
1
0
8
λ= 5×10^8
λ=5×108。 此外,我们发现(i)如果源和目标更相似(例如,从男性脸到女性脸),选择更大的 λ 来约束权重变化,因为微小的变化可能足以适应,并且 (ii) 如果给出更多的目标数据,选择一个更小的 λ。 一个极端的情况是,如果目标域中有大量可用数据,则无需进行任何正则化(即 λ= 0)。
Dissimilarity between source and target. 使用 FFHQ 来做源域,使用 Female face、emoji face、cat face 和 color pencil landscape 作为目标域来实验。这意味着为了使适应工作更成功,最好考虑选择相似的源域进行预训练。 Table 4. Figure 6.
Correspondence. Figure 7 表明适应后的模型的确保留了预训练模型的多样性。
5 Conclusion
在这项工作中,我们专注于具有挑战性的 low-data 的无条件样本生成。我们只给出了目标领域的几个样本,采用从数据丰富的源域学习到的预训练生成模型来生成目标领域的更多数据。受持续学习的启发,我们分析了权重的重要性,并量化了权重在适应过程中的变化,从而有选择地规范了权重的变化。这样既实现了源域多样性的继承,又实现了目标域新现象的自适应,避免了数据有限时容易出现的过拟合问题。所提出的方法简单有效,可为今后对所学参数的进一步理解提供参考。我们证明了该方法在各个领域的有效性,并表明它优于现有的方法。新生成的数据可以扩展原本缺乏数据的领域的多样性,从而方便许多下游图像合成任务。
个人总结: 作者提出当进行 transfer 时不应该将所有的权重参数一视同仁,然后讨论了迁移前后网络中各层的权重变化率,证明有一些重要的参数是不需要大幅度改变的,最后在损失函数中添加了 EWC 损失,做到了不同参数不同对待,而且 EWC 损失不需要学习,效果很好。