Cycle GAN解决了模型需要成对数据进行训练的困难

image-20230415153323882

CycleGAN的原理可以概述为:
将一类图片转换成另一类图片。也就是说,现在有两个样
本空间,x和Y,我们希望把x空间中的样本转换成Y空间中
的样本。(获取一个数据集的特征,并转化成另一个数据
集的特征)

image-20230415153527000

单独对抗损失Loss不能保证学习函数可以将单个输入Xi映射到期望输出Yi

image-20230415153553783

在足够大的样本容量下,网络可以将相同的输入图像集合映射到目标域中图像的任何随机排列,其中任亻可学习的映射可以归纳出与目标分布匹配的输出分布(即:映射F完全可以将所有×都映射为Y空间中的同一张图片,使损失无效化)。

循环一致性损失(cycle consistency loss)

image-20230415154438230

将X的图片转换到Y空间后,应该还可以转换回来。
这样就杜绝模型把所有X的图片都转换为Y空间中的
同一张图片了

判别器Loss

image-20230415154926522

image-20230415154936652

生成器Loss

image-20230415155113956

image-20230415155123465

image-20230415155353069

一个单向GAN有两个loss,而CycleGAN加起来
总共有四个loss

image-20230415155442494

局限性

==对颜色、纹理等的转换效果比较好,对多样性高的、多变的转换效果不好(如几何转换)==