对抗神经网络CycleGAN论文解读

论文题目:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

论文地址:https://arxiv.org/pdf/1703.10593.pdf

 

本文提出了一种在没有成对图像的情况下,学习将图像从源域x转换为目标域y的方法。它使用两个镜像对称的GAN,构成了一个环形网络,两个GAN共享两个生成器,并各自带一个判别器,即共有两个判别器和两个生成器,一个单向GAN两个loss,两个即共四个loss,叫做CycleGAN。给定两个图像集合,这个算法可以进行两个图像集合之间的翻译,如从斑马到马之间的互换、从冬天到夏天之间的互换。如图:

 

一、论文解读

1、前提

假设有两个图像分布,我们的模型要训练2个映射:G : X → Y 和 F : Y → X。

引入了两个鉴别器用来判断图像来自于x还是来自于F(y),用来判断图像来自于y还是来自于F(x)。

 

2、Adversarial Loss

将对抗损失应用到两个映射上,对于映射 G : X → Y 和它的鉴别器来说,它的损失函数可以表示为:

其中,G试图将G(x)生成的图像看起来更像Y中的真实图像,的目标是G(x)生成的图像和真实图像Y区分出来,G尝试最小化这个损失,而尝试最大化这个损失,也就是。映射F同理。

 

3、Cycle Consistency Loss

循环一致性损失表示为:

循环一致性是指,如果我们把句子从英语翻译成法语,然后再把它从法语翻译成英语,我们就应该回到原来的句子。

同时训练映射G和F,循环一致性损失会引起f(g(x)) ≈ x和g(f(y)) ≈ y。

,如图b,被称为正向一致性;,如图c,被称为反向一致性。

 

4、总损失函数

目标函数包含2个部分:区分生成图像分布和源图像分布的对抗性损失、防止所学习的映射g和f相互矛盾的循环一致性损失。

其中,是调节两种损失重要性的参数,我们的目标是:

这个模型可以看作将两个anto-encoder:F ◦ G : X → X 和 G ◦ F : Y → Y 连接起来。区别在于,我们的方法通过一个中间表示,将图像最后映射到自身。

 

5、网络结构

(1)整个网络是一个对偶结构,共有两个生成器网络:G和F,两个鉴别器网络:Dx和Dy。

(2)生成器结构(auto-encoder):

这个网络包含2个strides为2的卷积层,几个残差块,2个strides为0.5的反卷积层

(3)鉴别器结构

使用70×70PatchGANs,目的是区分70×70重叠图像Patch是真是假。这种Patch level鉴别器架构比全图像鉴别器具有更少的参数,可以用全卷积处理任意大小的图像。

 

6、训练细节

使用了两个技术稳定模型训练的过程:

(1)用最小平方损失代替负对数似然目标。这种损失在训练期间更稳定,并产生更高质量的结果。对于GAN损失,G的训练目标是最小化,D的训练目标是最小化

(2)为了减少震荡,使用G生成的旧样本训练鉴别器,保留一个图像缓冲区来存储之前创建的50个图像。

λ=10,使用批大小为1的Adam,所有网络都从零开始训练,学习率为0.0002。在前100个时期保持相同的学习率,在接下来的100个时期将学习率线性衰减为零。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值