DiscoGAN学习(Learning to Discover Cross-Domain Relations with Generative Adversarial Networks)

一、相关知识

Cross-domain(跨域):跨域这个词听起来比较陌生,但事实上很常见。举个栗子,我们能够辨认出一句英语以及他被翻译后的汉语;我们选择了一件夹克可能需要再搭配上相同风格的鞋子。其中英语、汉语两个语种,夹克、鞋子两种服饰都是域,而寻找他们之间的关系便是一种常见操作。
在用机器进行图像识别中,如果一个域中的图片缺失,那么另一个域中与之相关联的图片便丢了伴,或者这么说,一个域中的图片缺少了其在另一个域中的对映体。因此,发现两个域之间的关系就显得尤为重要。
本文主要贡献:提出了DiscoGAN,可以进行跨域操作,发现两个域之间的关系。

二、模型结构

  • 公式
    G(AB):域A到域B的映射
    G(BA):域B到域A的映射
    D(A): A中的判别器
    D(B): B中的判别器
    作者此处对二者关系进行了限定:域A与域B之间为双射,即两域元素之间一一对应关系。故有如下关系:
    但是这个条件太严格了,我们需要一个较为宽松一点的限制。于是我们把限制条件调整为:
    我们要做的即为最小化这个值,反之亦然:
    保证G(AB)映射到域B上其实也很难进行优化,于是再次放缓条件,将生成对抗损失调整为

  • 带有重构损失的标准GAN

    因为这个结构只学习域A到域B这一个映射,我们又添加了一个从域B回馈到域A的生成器,同时添加了重构损失项来比较输入和重构项的区别:
    生成器根据域A中的输入x(A)生成域B中的图像x(AB),然后根据x(AB),再次生成域A中的图像来和原输入图匹配。计算二者之间的损失,最后x(AB)在判别器中和域B中的样例x(B)比较并给出分数,以下是数学过程:
    但是这个模型缺少B到A的限制,此时的映射只是一个方向,换句话说,映射是单射而不是双射,一对一的联系没有被保证。如下图所示:

    (a) 理想的映射

    (b) 失败案例

    © 带有重构模型的失败案例

  • DiscoGAN登场
    每两个模型学习一个域到另一个的映射以及对于重构的相反映射。两个模型同时训练,两个生成器共享参数,并且生成的图片互相送到判别器中。
    和之前模型的一个关键不同点是两个域中的输入图片都被重构了并且有两个重构损失LCONSTA和LCONSTB。

三、实验设计

  • Toy Experiment
    为了证明标准GAN,带有重构损失的GAN以及DiscoGAN之间的差异,作者设计了如下实验:

    首先(a)图表示由于生成器的初始化,域A几乎全部映射到了一个个小点上。一个个黑色叉号表示了目标域。多彩的部分表示域A映射到了域B的样本点。每一种颜色表示了A中一个模式的样本。本实验中,任务是跨域发现域A和域B之间的联系,然后把五个来自域A的模式转换到域B中。可以看到图中有十种模式围成一个圆圈。
    多彩的背景展示了判别器D(B)的输出值,该判别器判别了真实的样本和根据域A生成的假的样本。轮廓线表示具有相同判别值的区域。
    在标准GAN中,许多不同颜色的翻译点分布于相同的B模式。比如,海军蓝和淡蓝色分到了一块,绿色和橘黄色分到了一块。这个结果解释了GAN模型的模型爆炸问题,因为多个颜色被分到了相同的B模式,如图(b)
    对于具有重构损失的GAN,模型爆炸并不是很要紧,但是多种颜色仍然稍微有些重叠。可以看出,带有重构损失后域B的多种模式被清晰地分开,如图(c)

    但是,以上两种方法都没有解决掉非双射问题,因为还有部分B的模式没有对应的来自A 的映射。BUT,DiscoGAN解决了这个问题。如图(d)
  • Real Domain Experiment
  • 汽车角度匹配问题


作者进行了车头对应的实验,域A和域B两个域之间车头方向关于0度对称,其中(a)为标准 GAN下的图像,(b)为带有重构损失的图像(c)为DiscoGAN下的图像,可以看出(a)和(b)中存在聚类现象,也就是说大量域A的图像匹配到了相同的域B的图像,显然这是不合适的。
之后作者进行的面部匹配实验与上述实验无太多区别,这里不再赘述,用图说话:

  • 面部特征转变
  • 椅子对车,车对脸
  • 边缘成像

我突然明白疫情期间大家头像上的口罩咋来的了哈哈哈,DiscoGAN不失为一种好的方法!

GAN之野狼DiscoGAN相关推荐

  1. discoGAN 论文解读

    一. Abstract task: discovering cross-domain relations(跨域关系) given unpaired data 使用发现的关系,作者成功提出从一个域到另一 ...

  2. Tensorflow项目实现汇总(不断更新...)

    TensorFlow 是非常强大的分布式跨平台深度学习框架,但对于初学者来说,构建复杂的项目代码是一个不小的挑战.因此本文整理了一些深度学习项目的Tensorflow实现资源,以方便初学者参考学习.对 ...

  3. GAN眼中的图像翻译(附神奇歌单)

    这是一篇总结文,总结我看过的几篇用GAN做图像翻译的文章的"套路". 首先,什么是图像翻译? 为了说清楚这个问题,下面我给出一个不严谨的形式化定义.我们先来看两个概念.第一个概念是 ...

  4. GAN Zoo:千奇百怪的生成对抗网络,都在这里了

    自从Goodfellow2014年提出这个想法之后,生成对抗网络(GAN)就成了深度学习领域内最火的一个概念,包括LeCun在内的许多学者都认为,GAN的出现将会大大推进AI向无监督学习发展的进程. ...

  5. 一些非常酷的GAN的应用

    2019-08-27 20:48:57 作者:Jonathan Hui 编译:ronghuaiyang 导读 GANs被称为是深度学习"过去20年内在深习上最酷的想法",既然是最酷 ...

  6. GAN——UNIT简单梳理

    自从2014年Goodfellow提出GAN(Generative adversarial networks)模型之后,在机器学习领域就砸下了一个大大的陨石坑,此后至今,已经有成百上千篇的GAN相关论 ...

  7. 孪生三兄弟 CycleGAN, DiscoGAN, DualGAN

    孪生三兄弟 CycleGAN, DiscoGAN, DualGAN 2017-05-11 11:43 GAN 提出两年多来,很多想法都被研究者们提出.探索并实践.直到最近近乎同一时期发布的三篇论文,C ...

  8. 深度学习(四十五)——Stack GAN, GAN Ensemble, Pix2Pix, CycleGAN

    Stack GAN 论文: <StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversar ...

  9. GAN的一些很酷的应用

    在GAN发展的最初几年里,我们取得了令人瞩目的进展.当然,现在不会是像恐怖电影里那样有邮票大小的面部照片了.2017年,Gan制作了1024×1024张能愚弄人才童子军的照片.在未来几年,我们可能会看 ...

最新文章

  1. cocos2d 0.99.5版本屏幕默认是横屏,怎么修改为竖屏呢?
  2. 凯明MAE被超越了?字节跳动iBOT刷新十几项SOTA
  3. oracle rowid mysql_相当于Oracle的RowID在MySQL中
  4. 关于ZIP大文件压缩
  5. C#调用USER32.DLL的API函数
  6. python出现的次数最多的元素_Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算...
  7. 通过Url网络编程实现下载
  8. IoC容器Autofac(2) - 一个简单示例(附demo源码)
  9. 异构SOA系统架构之Asp.net实现(兼容dubbo)
  10. 沙盘模拟软件_如何神还原数据中心?阿里联合NTU打造了工业级精度的仿真沙盘!...
  11. 用户体验设计5大目标
  12. python用smtp发邮件怎么抄送_Python发送邮件并抄送
  13. 如何利用MATLAB建立Lotka-Volterra模型及其改进模型
  14. 51单片机LCD1602液晶屏调试工具
  15. fabric1.4 baas平台以及运维管理sdk
  16. java graphics2d旋转_JAVA用Graphics2D实现图片旋转,缩放,合成
  17. ansys apdl变量基本操作
  18. 004/160 CrackMe ajj CKme
  19. 有画快说番外篇-张聪-专题视频课程
  20. MySql 如何将一维表变成二维表

热门文章

  1. IBM发展过程中给我们带来什么启示?
  2. Windows8.1安装tools提示:安装程序无法验证是否已安装所需的Microsoft更新KB2919355的问题详解
  3. 基于透视灭点的三维物体点坐标的求取
  4. 《活出生命的意义》生命之意义
  5. 通信中带宽与数据传输速率的联系与区别
  6. 【Unity2D】Sprite 或图片格式常用设置
  7. Latex beamer 主题和颜色大全
  8. 【下载源码】在线生成网页缩略图.超越Snap.com:WebSnap Beta 1.1 发布。感谢博客园的“萧寒”重写的底层。开源。
  9. Python 文本解析器
  10. 你会用PPT中的图片占位符吗?超级好用,不错的技能