赞
踩
论文题目: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个时期将学习率线性衰减为零。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。