关于Cycle GAN的一些理解
CycleGAN的主要功能是实现两种不同风格图像的转换,即保留了图像的具体内容而改变了图像的风格。不同于普通image2image数据集的一一对应关系,如下图。Cycle GAN的数据集只需要保证有两个不同风格的样本集X、Y即可。
因为训练集的图像不存在一一对应的关系,如果还是按照一个生成器一个判别器来训练样本X向样本Y的映射G的话,可能学习到的模型是X中的所有样本都映射在Y中的一个样本上。神经网络更容易将所有的输入转化为输出中的一张图片,只需要和这张图片一样就能获得较小的损失,而不是学习整个样本集Y中的风格。
这种循环的结构添加一条反向的映射F的目的也隐含了一一对应的思想,样本集X与通过正向生成器G生成的假的样本y1,再由假的样本y1通过反向生成器F生成的假的样本x1,Cycle GAN中的一一对应则是真样本x与假样本x1之间的对应关系,这样神经网络就可以学习到两个样本集X、Y之间的风格差异。