1 概述
英伟达大名鼎鼎的FUNIT,是对GAN的造假能力的进一步突破,传统的迁移生成模型(Star GAN,Cycle GAN等),通常在源域和目标域都需要有足够的数据进行训练,学习较为充分的特征才能取得较好的表现,并且这些模型对于未见过的新模式,通常泛化能力都比较差,FUNIT的目的就是架构一个无监督迁移生成对抗网络,引入Few Shot的思想,来解决泛化性差的问题。
其思想如可以简单理解为,FUNIT希望生成器尽可能多地看不同的图像,归纳出图像的内容特征,当有一张新的图像进入时,生成器通过想象,就能够脑补出这张图做出生成器学习到的内容特征的相关表情或者动作的模样。甚至,可以输入模型没有见过的图像,来进行迁移。这个想法来自于人类认知的归纳能力,我们的知识是逐渐累积的,并且可以拓展,比如,当我们看过狗奔跑的样子,下次见到猫时,即使我们从没见过猫怎么跑,也可以想象出它跑起来的样子,这就是FUNIT想做的事情。
2 模型架构与训练
2.1 生成器
在训练时,生成器的结构与图像到图像的迁移GAN网络框架比较相似,但一般的无监督图像迁移框架都是进行一对一的图像迁移,即从一个目标域迁移到另一个,而FUNIT的生成器是一对多的过程。具体来说,生成器的输入由两部分组成,分别是内容图像(Content Image)与类别图像,记内容图像为 x x x(对应下图红框),其只属于一个类别 c x c_x cx,而类别图像由 K K K张类别互不相同的图像 y 1 , y 2 , . . . , y K y_1, y_2,...,y_K y1,y2,...,y