[论文翻译] Unpaired Image-To-Image Translation Using Cycle-Consistent Adversarial Networks

[论文地址] [代码] [ICCV 17]

只翻译方法部分

III. Formulation

我们的目标是在给定的训练样本 { x i } i = 1 N ∈ X \left\{x_{i}\right\}_{i=1}^{N} \in X {xi}i=1NX和{ { x j } j = 1 M ∈ X \left\{x_{j}\right\}_{j=1}^{M} \in X {xj}j=1MX之间学习两个域 X X X Y Y Y的映射函数。如图3(a)所示,我们的模型包括两个映射 G : X → Y G: X→Y G:XY F : Y → X F: Y→X F:YX。此外,我们引入了两个对抗性判别器 D X D_X DX D Y D_Y DY,其中 D X D_X DX旨在区分图像 { x } \{x\} {x}和翻译的图像 { F ( y ) } \{F(y)\} {F(y)};同样, D Y D_Y DY旨在区分 { y } \{y\} {y} { G ( x ) } \{G(x)\} {G(x)}。我们的目标包含两种:对抗性损失(Adversarial Loss),用于将生成的图像分布与目标域的数据分布相匹配;以及循环一致性损失(Cycle Consistency Loss
),以防止学到的映射 G G G F F F相互矛盾。

Adversarial Loss

我们将对抗性损失应用于两个映射函数。对于映射函数 G : X → Y G:X→Y G:XY及其判别器 D Y D_Y DY,我们将目标表达为: L GAN ( 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 ) ) ] \mathcal{L}_{\text{GAN}}(G,\ D_{Y},\ X,\ Y) = \mathbb{E}_{y\sim p_{\text{data}}(y)}[\log D_{Y}(y)]\\ +\mathbb{E}_{x\sim p_{\text{data}}(x)}[\log(1- D_{Y}(G(x))] LGAN(G, DY, X, Y)=Eypdata(y)[logDY(y)]+Expdata(x)[log(1DY(G(x))] 其中 G G G试图生成与领域 Y Y Y的图像相似的图像 G ( x ) G(x) G(x),而 D Y D_Y DY旨在区分翻译后的样本 G ( x ) G(x) G(x)和真实的样本 Y Y Y。我们为映射函数 F : Y → X F:Y→X F:YX及其判别器 D X D_X DX也引入了类似的对抗性损失:即 L G A N ( F , D X , Y , X ) L_{GAN}(F, D_X, Y, X) LGAN(F,DX,Y,X)

Cycle Consistency Loss

理论上,对抗性训练可以学习映射 G G G F F F,产生与目标域 Y Y Y X X X分布相同的输出(严格来说,这需要G和F是随机的函数)。然而,在容量足够大的情况下,网络可以将同一组输入图像映射到目标域的任何随机排列的图像上,其中任何一个学习到的映射都可以引起与目标分布匹配的输出分布。为了进一步减少可能的映射函数的空间,我们认为学到的映射函数应该是循环一致的:如图3b所示,对于来自域 X X X的每个图像 x x x,图像翻译循环应该能够将 x x x带回原始图像,即 x → G ( x ) → F ( G ( x ) ) ≈ x x→G(x)→F(G(x))≈x xG(x)F(G(x))x。我们把这称为前向循环一致性。同样,如图3c所示,对于来自域 Y Y Y的每个图像 y y y G G G F F F也应该满足后向循环一致性: y → F ( y ) → G ( F ( y ) ) ≈ y y→F(y)→G(F(y))≈y yF(y)G(F(y))y。我们可以用循环一致性损失来激励这种行为。 L cyc ( G ,   F ) = E x ∼ p data ( x ) [ ∥ F ( G ( x ) ) − x ∥ 1 ] + E y ∼ p data ( ( y ) [ ∥ G ( F ( y ) ) − y ∥ 1 ] . \mathcal{L}_{\text{cyc}}(G,\ F)=\mathbb{E}_{x\sim p_{\text{data}}(x)}[\Vert F(G(x))-x \Vert_{1}]\\ +\mathbb{E}_{y\sim p_{\text{data}}((y)}[\Vert G(F(y))-y \Vert_{1}]. Lcyc(G, F)=Expdata(x)[F(G(x))x1]+Eypdata((y)[G(F(y))y1]. 在初步实验中,我们还尝试用 F ( G ( x ) ) F(G(x)) F(G(x)) x x x之间以及 G ( F ( y ) ) G(F(y)) G(F(y)) y y y之间的对抗性损失来代替这个损失中的L1准则,但没有观察到性能的改善。由循环一致性损失引起的行为可以在arXiv版本中观察到。

Full Objective

我们的整体目标函数为: L ( G ,   F ,   D X ,   D Y ) = L GAN ( G ,   D Y ,   X ,   Y ) + L GAN ( F ,   D X ,   Y ,   X ) + λ L cyc ( G ,   F ) \mathcal{L}(G,\ F,\ D_{X},\ D_{Y})=\mathcal{L}_{\text{GAN}}(G,\ D_{Y},\ X,\ Y)\\ +\mathcal{L}_{\text{GAN}}(F,\ D_{X},\ Y,\ X)\\ +\lambda \mathcal{L}_{\text{cyc}}(G,\ F) L(G, F, DX, DY)=LGAN(G, DY, X, Y)+LGAN(F, DX, Y, X)+λLcyc(G, F) 其中 λ \lambda λ控制两个目标的相对重要性。我们的目标是解决: G ∗ ,   F ∗ = arg ⁡ min ⁡ G ,   F   max ⁡ D x ,   D Y L ( G ,   F ,   D X ,   D Y ) G^{\ast},\ F^{\ast}= \arg\min_{G,\ F}\ \max_{D_{x},\ D_{Y}}\mathcal{L}(G,\ F,\ D_{X},\ D_{Y}) G, F=argG, Fmin Dx, DYmaxL(G, F, DX, DY) 请注意,我们的模型可以被看作是训练两个"自动编码器":我们将一个自动编码器 F ∘ G : X → X F∘G:X→X FG:XX与另一个 G ∘ F : Y → Y G∘F:Y→Y GF:YY共同学习。然而,这些自动编码器都有特殊的内部结构:它们通过一个中间表示将图像映射到自身,这个中间表示是图像在另一个领域的翻译。这样的设置也可以看作是"对抗性自动编码器"的一个特例,它使用对抗性损失来训练自动编码器的瓶颈层以匹配一个任意的目标分布。在我们的例子中, X → X X→X XX自动编码器的目标分布是领域 Y Y Y的分布。在第5.1.3节中,我们将我们的方法与完整目标的消减进行比较,并根据经验表明,这两个目标在获得高质量的结果中发挥着关键作用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值