请参阅关于CycleGAN的原始论文,我对此行感到困惑
最优G从而将域X转换为域Yˆ 与Y分布相同。但是,这样的翻译不 确保将单个输入x和输出y配对成一个 有意义的方式–无限多个映射G会引起 在yˆ上的分布相同。
我知道有两组图像,并且它们之间没有配对,因此,当生成器拍摄一张图像时,可以说X组中的x作为输入,并尝试将其转换为类似于Y组中的图像,然后我问题是集合Y中存在很多图像,那么我们的x将被转换成哪个y?在集合Y中有很多可用的选项。那是我上面写的这些行中指出的内容吗?这就是我们采取循环损耗来解决此问题并通过将x转换为y,然后将y转换回x来在任意两个随机图像之间创建某种配对的原因吗?
答案 0 :(得分:1)
好吧,图像x
不会转换为具体图像y
,而是转换为域Y的“样式”。输入会馈送到生成器,生成器会尝试生成从所需分布(另一个域)中获取样本,然后将生成的图像转到鉴别器,该鉴别器将尝试预测样本是来自实际分布还是由生成器生成。这只是普通的GAN工作流程。
如果我对理解正确,请在您引用的各行中,作者解释对抗性损失引起的问题。他们在这里再次说:
从理论上讲,高级训练可以学习映射G和F,它们分别产生与目标域Y和X相同分布的输出。但是,具有足够大的容量,网络可以将同一组输入图像映射到目标域中图像的任何随机排列,其中任何获悉的映射都可以诱发与目标分布匹配的输出分布。因此,仅凭对抗损失就不能保证学习的功能可以将单个输入x_i映射到所需的输出y_i。
这是引入循环一致性概念以生成有意义的映射,减少可能的映射函数空间的原因之一(可以视为正则化形式)。这个想法不是在数据集中已有的2张随机图像之间创建配对(数据集保持未配对状态),而是要确保,如果您将真实图像从域X
映射到域{{ 1}},然后再次返回,您将获得原始图像。
周期一致性鼓励生成器避免不必要的更改,从而生成与输入共享结构相似性的图像,还可以防止生成器产生过多的幻觉和模式崩溃。
我希望能回答您的问题。