本文首发于个人博客:xerrors.fun/cycle-gan-r…
欢迎访问更多文章:xerrors.fun
解决的痛点问题是配对的图像不好找,所以尝试找到一个映射函数 G,可以将 X 域上的图像映射到 Y 域上,由于映射关系没有约束,很容易出现训练上的问题,所以训练了两个映射函数,另外一个映射函数将 F 域上的图像映射到 X 上,最终实现的效果就是 F(G(X)) 近似于 X。
原论文首先是提出了一个假设:
We assume there is some underlying relationship between the domains – for example, that they are two different renderings of the same underlying scene – and seek to learn that relationship.
我们假设在不同域之间存在某种潜在的关系(例如:它们是同一基本场景的两种不同的呈现形式),并试图了解这种关系。
所以作者想要训练一个映射关系 G,G 可以将 X 域映射到等同于 Y 分布的域 G(X),但是问题出现了,没法保证这样的转换会将输入 x 和输出 y 匹配,同时也没有办法进行优化;这里的问题应该就是使用非配对数据都会面临的问题;同时在训练的过程中经常会出现「mode collapse」:会将所有的图像映射到一个输出上面。
为了保证每次的输出都能够跟输入有关系,这里可以理解为保留原本的「潜在关系」,所以作者引入了「循环一致性」原理,也就是要保证 x 经过映射关系 G 之后所得到的 G(x) 可以通过另外一个映射关系 F 映射回来,也就是要满足F(G(x)) = x,G(F(y))=y
。
1. 相关工作
这一部分主要是介绍前人的工作和自己的理解,这里稍微记录一下;
作者认为 GANs 成功的关键在于「对抗性损失」的理念,同时作者也基于此提出了自己的「循环一致性损失」。
The key to GANs’ success is the idea of an adversarial loss that forces the generated images to be, in principle, indistinguishable from real photos.
GANs成功的关键在于“对抗性损失”的理念,这种理念迫使生成的图像原则上与真实的照片无法区分。
在总结前人在 image-to-image 上的工作的时候,说明自己的网络跟前人相比,不需要特定的与训练或者特定的匹配关系,同时也没有假定输入和输出的低维映射空间是一样的。(我觉得这跟他之前的假设不是相悖的吗?)
Unlike the above approaches, our formulation does not rely on any task-specific, predefined similarity function between the input and output, nor do we assume that the input and output have to lie in the same low-dimensional embedding space.
与上述方法不同,我们的方法不依赖于输入和输出之间任何针对特定任务定制的、预定义的相似性函数,也不假设输入和输出必须处于相同的低维嵌入空间。
在涉及到「循环一致性」的时候,作者说明,使用传递性作为优化方法的概念由来已久,也已经在很多领域比如翻译、3D模型匹配有所应用,同时使用也已经有人将循环一致性损失运用在模型训练中,知识跟我们所不同的是,他们知识利用传递性来监督 CNN 的训练。
Of these, Zhou et al. and Godard et al. are most similar to our work, as they use a cycle consistency loss as a way of using transitivity to supervise CNN training.
其中Zhou和Godard等人与我们的工作最为相似,他们将循环一致性损失作为一种利用传递性来监督CNN训练的方式。
同时也出现了一个巧合 DualGAN:
Concurrent with our work, in these same proceedings, Yi et al. independently use a similar objective for unpaired image-to-image translation, inspired by dual learning in machine translation.
与我们的工作同时,在同一篇论文中,受机器翻译中的双重学习启发,Yi等人独立地使用了一个类似的目标用于图像到图像的非配对翻译。
同时作者还对比了 Neural Style Transfer,尽管呈现结果相似,但是 Cycle GAN 所注重的是两个图像集之间的映射,所提取的是外观之外了更高级的特征。所以该模型也更容易应用到其他的任务上。
2. 数学理论
想要理解这里的数学概念,主要还是先了解这个图中的每个部分的功能;
网络中包含两个映射函数以及两个判别器,在训练映射关系 G 和判别器 DY 的时候,目标函数如下所示(F 和 DX 同理):