CycleGAN 论文以及源码阅读笔记

封面

本文首发于个人博客:https://xerrors.fun/cycle-gan-reading-note/

欢迎访问更多文章:https://xerrors.fun


解决的痛点问题是配对的图像不好找,所以尝试找到一个映射函数 G,可以将 X 域上的图像映射到 Y 域上,由于映射关系没有约束,很容易出现训练上的问题,所以训练了两个映射函数,另外一个映射函数将 F 域上的图像映射到 X 上,最终实现的效果就是 F(G(X)) 近似于 X。

原论文首先是提出了一个假设:

We assume there is some underlying relationship between the domains – for example, that they are two different renderings of the same underlying scene – and seek to learn that relationship.

我们假设在不同域之间存在某种潜在的关系(例如:它们是同一基本场景的两种不同的呈现形式),并试图了解这种关系。

所以作者想要训练一个映射关系 G,G 可以将 X 域映射到等同于 Y 分布的域 G(X),但是问题出现了,没法保证这样的转换会将输入 x 和输出 y 匹配,同时也没有办法进行优化;这里的问题应该就是使用非配对数据都会面临的问题;同时在训练的过程中经常会出现「mode collapse」:会将所有的图像映射到一个输出上面。

为了保证每次的输出都能够跟输入有关系,这里可以理解为保留原本的「潜在关系」,所以作者引入了「循环一致性」原理,也就是要保证 x 经过映射关系 G 之后所得到的 G(x) 可以通过另外一个映射关系 F 映射回来,也就是要满足F(G(x)) = x,G(F(y))=y

1. 相关工作

这一部分主要是介绍前人的工作和自己的理解,这里稍微记录一下;

作者认为 GANs 成功的关键在于「对抗性损失」的理念,同时作者也基于此提出了自己的「循环一致性损失」。

The key to GANs’ success is the idea of an adversarial loss that forces the generated images to be, in principle, indistinguishable from real photos.

GANs成功的关键在于“对抗性损失”的理念,这种理念迫使生成的图像原则上与真实的照片无法区分。

image-20201208115526873

在总结前人在 image-to-image 上的工作的时候,说明自己的网络跟前人相比,不需要特定的与训练或者特定的匹配关系,同时也没有假定输入和输出的低维映射空间是一样的。(我觉得这跟他之前的假设不是相悖的吗?)

Unlike the above approaches, our formulation does not rely on any task-specific, predefined similarity function between the input and output, nor do we assume that the input and output have to lie in the same low-dimensional embedding space.

与上述方法不同,我们的方法不依赖于输入和输出之间任何针对特定任务定制的、预定义的相似性函数,也不假设输入和输出必须处于相同的低维嵌入空间。

在涉及到「循环一致性」的时候,作者说明,使用传递性作为优化方法的概念由来已久,也已经在很多领域比如翻译、3D模型匹配有所应用,同时使用也已经有人将循环一致性损失运用在模型训练中,知识跟我们所不同的是,他们知识利用传递性来监督 CNN 的训练。

Of these, Zhou et al. and Godard et al. are most similar to our work, as they use a cycle consistency loss as a way of using transitivity to supervise CNN training.

其中Zhou和Godard等人与我们的工作最为相似,他们将循环一致性损失作为一种利用传递性来监督CNN训练的方式。

同时也出现了一个巧合 DualGAN:

Concurrent with our work, in these same proceedings, Yi et al. independently use a similar objective for unpaired image-to-image translation, inspired by dual learning in machine translation.

与我们的工作同时,在同一篇论文中,受机器翻译中的双重学习启发,Yi等人独立地使用了一个类似的目标用于图像到图像的非配对翻译。

同时作者还对比了 Neural Style Transfer,尽管呈现结果相似,但是 Cycle GAN 所注重的是两个图像集之间的映射,所提取的是外观之外了更高级的特征。所以该模型也更容易应用到其他的任务上。

2. 数学理论

想要理解这里的数学概念,主要还是先了解这个图中的每个部分的功能;

image-20201208115526873

网络中包含两个映射函数以及两个判别器,在训练映射关系 G 和判别器 DY 的时候,目标函数如下所示(F 和 DX 同理):

L G A N ( G , D Y , X , Y ) = E y ∼ p data  ( y ) [ log ⁡ D Y ( y ) ] + E x ∼ p data  ( x ) [ log ⁡ ( 1 − D Y ( G ( x ) ) ] \begin{aligned} \mathcal{L}_{\mathrm{GAN}}\left(G, D_{Y}, X, Y\right) &=\mathbb{E}_{y \sim p_{\text {data }}(y)}\left[\log D_{Y}(y)\right] \\ &+\mathbb{E}_{x \sim p_{\text {data }}(x)}\left[\log \left(1-D_{Y}(G(x))\right]\right. \end{aligned} LGAN(G,DY,X,Y)=Eypdata (y)[logDY(y)]+Expdata (x)[log(1DY(G(x))]

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值