DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记

1456-张同学

发表文章数:22

首页 » Python » 正文

这是一篇研究如何使用GAN寻找域与域之间对应关系的论文。

话不多说,直接分析模型:

(1)

DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记

       如果使用标准GAN网络将金发转换成黑发,只能保证生成的是黑发人物图像,因为判别器所做的仅仅是判断:生成的图像在多大程度上符合黑发人物的特征,无法保证转换后的人物和金发人物相貌相同(mode对应错误)。

(2)

DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记

       如果在标准GAN网络上使用重建损失,可以一定程度上改善mode对应错误的情况,但是并不能完全解决这个问题。

       这是为什么呢?下面说一下我个人的理解:我们现在把上图中的DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记仅当做DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记经过DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记经过编码后得到的一个同维特征,这个特征经过解码器GBA之后重建原始输入xAB,这样想,是否这个特征只需要能使判别器的损失尽可能的小,而并没有一个足够强的约束使这个特征(xAB)在B域(金发)中所对应的mode是确定的?那么为什么相对于标准GAN,使用重建损失又能在一定程度上改善mode对应关系错误的问题呢?

        试想,假如生成得到的xAB在B域(黑发)中所对应的mode不正确(样貌、角度等不符合xA),此时xAB(假设数据维度是H*W*3)和xA在H*W*3维空间上的欧氏距离相对mode正确情况下的xAB就远的多,并且是非线性的,这样GAB和GBA的网络参数应该更难训练(需要拟合一个更复杂的函数),网络应该更倾向于拟合一个较简单的函数(正则化?),所以会使mode对应关系正确。但是!为什么不能完全解决?考虑在存在多个mode的情况下,由于训练过程的进行,在A域中的modeA1正确对应到B域中的modeB1(判别器在很大程度上认为这一mode是符合黑发人物的特征),此时当需要寻找A域中的modeA2在B域中的对应mode时,由于判别器已经过modeB1的训练,此时它会促进GAB生成的mode往modeB1靠拢(这种情况下判别器loss小,与重建损失形成拮抗?),这就造成了A域到B域的多对一问题也就是GAN网络训练中经常出现的mode missing问题。

       那么当从B域到A域时,modeB1会对应到哪个mode呢?是modeA1还是modeA2?原文说是会在modeA1与modeA2之间振荡,我的理解是此时的modeB1不能当做一个mode了,这时B域的数据点在H*W*3维空间中modeB1中心点周围即使微小的移动也会导致对应到A域的mode发生变化,实际上在计算机来说modeB1应当是有两个mode组成的,只是这两个mode在H*W*3维空间中的欧氏距离非常小。

       经过上面的分析我们可以得到的信息是:使用重建损失的GAN在寻找A域(金发)到B域(黑发)的mode之间的对应关系时会存在多对一的问题。也就是说我们可以得到一个从A域到B域的映射(定义:对A域中的每个mode,在B域中都有唯一一个mode与之对应)

(3)下面是DiscoGAN论文中所提的使用成对的重建损失模型:

DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记

       原文中说这个模型可以很好的解决之间所提到的A域中多个mode对应到B域中一个mode的问题,怎么理解呢?

首先,做一个直观地理解,因为上面半个模型保证:A——>B是理想情况下的“一对一”或出现问题的“多对一”

                                                   下面半个模型保证:B——>A也是理想情况下的“一对一”或出现问题的“多对一”

那么A域与B域之间的mode应该是一一对应的。       

      原文中提到这一对模型需要同时训练,我认为这是关键点,因为假如先在A域数据集上训练出上半部分模型,那么此时GAB的多对一和GBA的一对多已经固定下来,即使再在B域数据集上进行训练,这一关系已无法再纠正(这里可以像上文(2)中那样理解,B域中的某些我们人眼所认为的一个mode,在模型看来已属于两个mode,实际上GBA和GAB所构成的仍是一对一的关系,并且B域中的部分mode一直没有被学习到,如下图)

DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记

而同时训练这一对模型,则能使上半部分和下半部分同时增强,从而确立A域与B域之间一一对应的关系。

以上是我个人对DiscoGAN的理解,不正确的地方恳请各路大佬多多指点。

参考文献:[1] Taeksoo Kim, Moonsu Cha, Hyunsoo Kim, Jung Kwon Lee, Jiwon Kim. “Learning to Discover Cross-Domain Relations with Generative Adversarial Networks”. ICML 2017.

未经允许不得转载:作者:1456-张同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《DiscoGAN论文"Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"学习笔记》 发布于2018-12-25

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录