版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Greepex/article/details/85844252
迁移变换
以CycleGAN为例,迁移就是从一个域迁移到另一个域。比如:斑马到马;
与CycleGAN很有关系的两个兄弟DualGAN和DiscoGAN;
CycleGAN的历史渊源
- 阶段一:cGAN,条件是标注信息;
- 阶段二:pix2pix,条件是图片信息;
- 阶段三:CycleGAN,条件是图片信息;(难点在于没有ground truth)
解决方法(灵感来源): NLP中从英文翻译为法文,再将翻译后的法文重新翻译回英文,看翻译回的英文与原文的区别;
即X->Y->X’;
CycleGAN的优化目标
两个生成器:
- G: X->Y
- F: Y->X’
两个判别器:
- D1(y) 用来判别G生成器的结果;
- D2(x) 用来判别F生成器的结果;
一些新的内容
循环一致性损失
我们希望X‘能够尽量的接近X,但是并没有解决导致模式塌缩,也就是说我们还是不能保证Y是我们想要的Y,于是我们提出了循环一致性损失。
关于DiscoGAN和DualGAN
表达的思想是一致的,三者只有细微的不同。
核心思想都是:”迁移过去,还要迁移回来“
失败案例
代码与论文
[1] CycleGAN论文
[2] CycleGAN代码