论文地址:https://drive.google.com/file/d/1Gq-167f2ue30463K4XMkHOJThg9Yugk0/view
参考:1. 简单解读
本文研究的是图像生成领域中的单样本生成 ( O n e - S h o t G e n e r a t i o n , O S G ) (One\text{-}Shot\ Generation,OSG) (One-Shot Generation,OSG)任务,要求能够将从基础类别数据集(有限,已知的)学习到的知识,泛化到新的、只有一张参考图片的类别上,生成多样化的并且合理的同类图像。就像人类能够通过联想和幻想来达到“见微知著”一样,我们希望模型能够识别,学习和记住一些类别无关的通用信息(特征)。
现有的单样本生成方案通常会隐式地学习一些可重用特征,从而很容易在预训练数据上过拟合。本文提出了一个新的模型,能够将图像特征显式分解为类别相关(Category-Related,CR)和类别无关(Category-Independent, CI)的特征。从而生成网络可以进一步利用与类别无关的 C I CI CI 特征生成目标类别的新图像。
两个关键的挑战:
(1)There is insufficient training data as only one input image per class is available.
(2)Pre-training (base) categories and target (novel) categories are dis-jointed, and the features learned on base are not necessarily generalizable for image synthesis of target categories.
因此本文的关键就在于学习 f e a t u r e s o f h a l l u c i n a t i o n features\ of\ hallucination features of hallucination,这些特征需要满足可重复使用并且从源类别可迁移到目标类别。
例如,先给定一张熊猫图像,那么在基础数据集(先验知识)上预先学习的与该类别无关 ( C a t e g o r y I n d e p e n d e n t , C I ) (Category\ Independent,\ CI) (Category Independent, CI) 的特征将被重复使用来幻想 h a l l u c i n a t e hallucinate hallucinate 新的图片,合成的熊猫图像与基础数据集中的一些图像具有相似的草背景或类似的张嘴姿势。
网络结构如下图所示, L 2 M L2M L2M 模块学习可在类别间重用的 C I CI CI 特征,这些特征进一步存储在内存结构 M M M 中。 F e a H a FeaHa FeaHa 组件从 M M M 中采样,并与输入样本中提取的 C R CR CR 特征连接,生成新图像。
模型的关键,
包含生成器和判别器,
总的优化目标如下所示,
minmax L G A N + λ R L R + λ d s L d s + λ c b L c b \operatorname{minmax} \mathcal{L}_{G A N}+\lambda_{R} \mathcal{L}_{R}+\lambda_{d s} \mathcal{L}_{d s}+\lambda_{c b} \mathcal{L}_{c b} minmaxLGAN+λRLR+λdsLds+λcbLcb
其中,$\mathcal{L}{G A N}, \mathcal{L}{R}, \mathcal{L}{d s},\mathcal{L}{c l s} $ 分别代表 G A N GAN GAN 对抗损失、重建损失、多样性损失和类别平衡损失。
对抗损失,由于采用了 C G A N CGAN CGAN,其中包含了类别的监督,由下式计算,
L G A N ( G , D ) = E x , y [ − log D ( x , y ) ] + E x , y [ log ( 1 − D ( x g e n , y ) ) ] \mathcal{L}_{G A N}(G, D)=\mathbf{E}_{\mathbf{x}, \mathbf{y}}[-\log D(\mathbf{x}, \mathbf{y})] +\mathbf{E}_{\mathbf{x}, \mathbf{y}}\left[\log \left(1-D\left(\mathbf{x}^{g e n}, \mathbf{y}\right)\right)\right] LGAN(G,D)=Ex,y[−logD(x,y)]+Ex,y[log(1−D(xgen,y))]
重建损失,是为了让网络更好的学习生成图像。根据输入的图像 x x x,可以获得 f x c i f_{\mathbf{x}}^{c i} fxci 和 f x c r f_{\mathbf{x}}^{c r} fxcr,那么生成器就可以根据这两个特征向量来生成图片,应该和源图保持一致,
L R = E x [ ∥ x − G ( f x c r , f x c i ) ∥ 1 ] \mathcal{L}_{R}=\mathbf{E}_{\mathbf{x}}\left[\left\|\mathbf{x}-G\left(f_{\mathbf{x}}^{c r}, f_{\mathbf{x}}^{c i}\right)\right\|_{1}\right] LR=Ex[∥∥x−G(fxcr,fxci)∥∥1]
多样性损失,是监督 M F H MFH MFH 提取可重用 C I CI CI 特征的关键。从 M M M 中选取 f a c i f_{\mathbf{a}}^{c i} faci 和 f b c i f_{\mathbf{b}}^{c i} fbci ,然后根据输入图像得到的 f x c r f_{\mathbf{x}}^{c r} fxcr 生成两张图片 x a g e n \mathbf{x}_{a}^{g e n} xagen 和 x b g e n \mathbf{x}_{b}^{g e n} xbgen,那么多样性损失就是促使两个图像有多大的不同,
L d s = α − E x [ ∥ G ( f x c r , f a c i ) − G ( f x c r , f b c i ) ∥ 1 ] \mathcal{L}_{d s}=\alpha-\mathbf{E}_{\mathbf{x}}\left[\left\|G\left(f_{\mathbf{x}}^{c r}, f_{a}^{c i}\right)-G\left(f_{\mathbf{x}}^{c r}, f_{b}^{c i}\right)\right\|_{1}\right] Lds=α−Ex[∥∥G(fxcr,faci)−G(fxcr,fbci)∥∥1]
其中, α \alpha α 就是控制多样性程度的超参数。整个计算过程如下图所示,
类别平衡损失,是为了使 C I CI CI 的分布足够均衡,不集中在某个特征,
L c b = K L ( π i ∥ q ( π ) ) L_{c b}=\mathrm{KL}\left(\pi_{i} \| q(\pi)\right) Lcb=KL(πi∥q(π))
其中, q ( π ) q(\pi) q(π) 为均匀分布。