无监督的跨领域图片生成
摘要:
我们研究了将一个领域中的样本转换成另一个领域中类似的样本的问题。给定两个相关的领域S和T,我们想要学习一个生成函数G将来自S领域的输入样本映射到领域T,以至于接受两个领域的输入的给定函数f的输出会保持不变。除了用于训练函数f的数据,其他训练数据是无监督的,并由来自两个领域的样本集组成。
我们提出的领域转换网络使用了混合的损失函数,其中包含多类别的对抗生成网络损失,f一致性部分和一个鼓励G映射T中的样本到它们自己的正则化部分。我们将我们的方法应用到了包括数字和人脸图片的视觉领域,并说明了其能够生成令人信服的之前未见的实体的新的图片,并保留其身份信息。
文章提出的领域转换网络(Domain Transfer Networks,DTN)的结构如下图所示,其中f和g函数构成了对抗生成网络中的生成器,而分辨器G是一个三分类的分辨器,与此同时,f函数本身也是独立的一部分,是负责提取feature的提取函数,在DTN的训练中,保持不变。
对于分辨器Discriminator而言,其训练的Loss设计如下:
这表明分辨器D分别的三个类别分别是:1类为s域转换后的图片;2类为t域转换后的图片;3类为t域的图片。
因而对应的生成器Generator的训练loss,对应上述D的Loss为:
loss中两个项的含义分别是:s域的图片转换后的图片要被分类器分为t域的图片;t域的图片转换后的图片也要被分类器认为是t域的图片。(这里有个问题就是,对于G而言,在训练的时候,没有要求其对于D的其他类别有要求,其实应该对于s域图片转换,在1类别上需要降低等等限制),除此之外,对于G的约束的loss还有如下三个(其中d都表示距离,文中都是用欧氏距离实现的):
这个CONST的loss指定的是,对于s域的图片而言,转换前后的feature提取结果要保持一致。
类似于上面那个,这个TID的loss是要求t域的图片转换后,与转换前的图片保持一致(为什么不feature保持一致?)
最后这个loss是由另外一篇论文中提出的loss,这个loss的作用是平滑G生成的图片,这个loss的计算量比较大,实际效果,从论文中给出的其实不是很明显,因而在节省计算资源的情况下,可以考虑剔除这个loss。
因而,对于生成器G而言,三个loss并不是一视同仁的,组合方式如下:
这三个组合参数可以根据实际的需要进行设定。
文中提出的这个架构,因为一般生成器G中的f函数是由其中一个领域的数据进行训练的,这就导致了这个模型是存在不对称的问题,比如在S域上训练的f,然后进行从S到T域上的转换是没有问题的,但是再从T域到S域转换,就会存在问题,论文发现了这个不对称的问题,并在附录中尝试了上述的转换,发现效果并不是很好。因而这里的预训练的f函数其实属于这个架构的瓶颈。
与此同时,这篇论文中对于领域转换前后feature不变的强约束,并不一定适用于domain adaption问题的设定。因为domain adaption问题中,本身就是由于特征空间存在偏移导致的,因此强约束feature在转换前后一致,也就是转换前后转换的图片的特征空间不变,可能并不适合对应的问题。