Abstract
CycleGAN 是Berkeley AI Research (BAIR) laboratory, UC Berkeley发表在ICCV2017上的工作, 传统的GAN都是单向的, 论文首先提出了GAN inverse 构建功能, 即将生成的假图, 重建回原图的风格.
Contents
之前的工作考虑的都是在训练集中, 训练样本和label中的物体都是匹配好的, 但是在真实生活中, 这样标记好的数据是很少的, 所以作者考虑的是unpaired数据, 让GAN可以实现图像从源域到目标域的转换.
文章中的网络流程图如上所示, 首先是输入inputs, 通过G(Generate) 生成Y(Fake images), 通过来判别生成图像的真假; 所以这有一个Discrimitor loss, 用来评估生成图像的好坏.
紧接着, 将生成图像采用F(Generate) 还原成X; 这里使用一个cycle-consistency loss来评估重建的效果;
可以用一张网络上的图, 将这样一个流程表示的更佳清楚;
正向过程:
反向过程:
CycleGAn其实就是A-> B一个生成器一个判别器 再加一个生成loss,一个判别loss;
B-> A 也是一个生成器一个判别器, 再加上一个生成loss, 一个判别loss;
那么理解了这个原理以后,剩下的问题是怎么设计loss函数;
- 判别器的Loss
判别器判别生成的图片跟目标域的图片是否真实?
所以作者简单才用了而二分类的交叉熵损失函数:
- 生成的Loss
生成器是用来重建图片的, loss的目的是希望生成的图像与原图尽可能的相似; 所以作者首先采用了L2 Loss:
论文里面提到判别器如果是对数损失训练不是很稳定,所以改成的均方误差损失,如下
Conclusion
CycleGAN的问世可谓在image-to-image应用上有了很大的提升, cyclegan的主要应用领域也是图像转换.
- Cycle project [url]