Abstract
背景:
成对训练数据缺乏。
方法:
学习一个映射
G
:
X
→
Y
G:X→Y
G:X→Y,使得来自G(X)的图像分布与使用对抗性损失的分布Y是不可区分的。
由于该映射是高度欠约束的,将其与逆映射
F
:
Y
→
X
F:Y→X
F:Y→X 耦合,并引入循环一致性损失提出
F
(
G
(
X
)
)
≈
X
F(G(X))≈X
F(G(X))≈X。
1. Introduction
提出系统:在没有任何成对的训练例子,捕捉一个图像采集的特殊特征,找出如何将这些特征转化为其他图像采集。
尽管缺乏成对示例形式的监督,但可以利用集合级别的监督:给定领域 X 中的一组图像和领域 Y 中的另一组图像。
训练一个映射
G
:
X
→
Y
G:X→Y
G:X→Y,使得
x
∈
X
x∈X
x∈X 的输出
y
^
=
G
(
x
)
\hat{y} = G(x)
y^=G(x) ,对于对抗器来说
y
^
\hat{y}
y^ 与领域 Y 中的图像
y
y
y 无法区分。
理论上,这一目标可以在
y
^
\hat{y}
y^ 上引导出一个输出分布,使其与经验分布
p
Y
(
y
)
p_Y(y)
pY(y) 相匹配(通常需要 G 是随机的)。
因此,最优的 G 将领域 X 转换为分布与领域 Y 完全一致的领域
Y
^
\hat{Y}
Y^。
然而,这种转换并不能保证输入和输出 x 与 y 在个体层面上有有意义的配对——存在无限多个映射 G,它们可以诱导出相同的
y
^
\hat{y}
y^ 分布。
此外,在实际操作中,单独优化对抗性目标是困难的:标准程序经常导致模式崩溃问题,即所有输入图像都映射到相同的输出图像,优化无法取得进展。
这些问题促使本文在目标函数中增加更多的结构:
一个转换器
G
:
X
→
Y
G:X→Y
G:X→Y 和另一个转换器
F
:
Y
→
X
F:Y→X
F:Y→X,那么 G 和 F 应该互为逆函数,且两个映射应该是双映射的。
同时训练映射 G 和 F 来应用这一结构假设,并增加一个循环一致性损失,鼓励
F
(
G
(
x
)
)
≈
x
F(G(x))≈x
F(G(x))≈x 和
G
(
F
(
y
)
)
≈
y
G(F(y))≈y
G(F(y))≈y 。
将这一损失与域 XX 和 YY 上的对抗损失相结合,形成了本文用于无配对图像到图像转换的完整目标函数。
2. Related work
Generative Adversarial Networks(GANs)——生成对抗网络:
应用:
- image generation
- image editing
- representation learnin
- text2image
- image inpainting
- future prediction
GANs 关键在于对抗性损失,这迫使生成的图像在原则上与真实图像无法区分。
本文采用对抗性损失学习映射,使得翻译后的图像无法与目标域中的图像区分开来。
Image-to-Image Translation——图像到图像的转换:
追溯:
- Image Analogies
- 非参数化的纹理模型
- 通过卷积神经网络 (CNN) 学习一个参数化的转换函数
本文方法基于“pix2pix”框架。
该框架使用条件生成对抗网络 (cGAN) 来学习从输入到输出图像的映射。
本文在没有成对训练示例的情况下学习映射。
Unpaired Image-to-Image Translation——未成对图像到图像的转换:
近期:
- 贝叶斯框架
- CoupledGANs
- 跨模态场景网络
- 变分自动编码器
- 鼓励输入和输出共享某些“内容”特征
- 类标签空间
- 图像像素空间
- 图像特征空间
本文的公式不依赖于任何特定于任务的、预定义的输入和输出之间的相似性函数,也不假设输入和输出必须位于同一低维嵌入空间中。
Cycle Consistency——循环一致性:
近期:
- 运动结构恢复
- 3D 形状匹配
- 共分割
- 密集语义对齐
- 深度估计
使用传递性作为正则化结构化数据的一种方式由来已久。
本文类似使用循环一致性损失作为利用传递性来监督 CNN 训练的一种方式。
Neural Style Transfer——神经风格转换:
通过匹配预先训练的深度特征的Gram矩阵统计信息,将一个图像的内容与另一个图像(通常是绘画)的样式相结合,从而合成新图像。
通过尝试捕捉高层外观结构之间的对应关系,学习两个领域之间的映射,而不是两个特定的图像之间的映射。
3. Formulation
目标:在给定训练样本 { x i } i = 1 N ∈ X \{x_i\}_{i=1}^N \in X {xi}i=1N∈X 和 { y j } j = 1 M ∈ Y \{y_j\}_{j=1}^M \in Y {yj}j=1M∈Y 的情况下,学习两个领域 X 和 Y 之间的映射函数。
模型:包括两个映射
G
:
X
→
Y
G:X→Y
G:X→Y 和
F
:
Y
→
X
F:Y→X
F:Y→X 。两个对抗判别器 DX 和 DY。
DX 旨在区分图像 {x} 和转换后的图像 {F(y)};DY 旨在区分 {y} 和转换后的图像 {G(x)}。
目标包含两类项:
用于将生成图像的分布与目标领域中的数据分布相匹配的对抗性损失;
防止学习到的映射 G 和 F 彼此矛盾的循环一致性损失。
3.1 Adversarial Loss——对抗性损失
对两个映射函数应用对抗性损失。
对于映射函数
G
:
X
→
Y
G:X→Y
G:X→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
)
)
)
]
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)=Ey∼pdata(y)[logDY(y)]+Ex∼pdata(x)[log(1−DY(G(x)))]
F
:
Y
→
X
F:Y→X
F:Y→X 和 DX 同理:
L
GAN
(
F
,
D
X
,
Y
,
X
)
L_{\text{GAN}}(F, D_X, Y, X)
LGAN(F,DX,Y,X)
3.2 Cycle Consistency Loss——循环一致性损失
前向循环一致性:对于来自领域 X 的每一张图像 x,图像转换循环应当能够将 x 带回原始图像。
x
→
G
(
x
)
→
F
(
G
(
x
)
)
≈
x
x→G(x)→F(G(x))≈x
x→G(x)→F(G(x))≈x
后向循环一致性:
y
→
F
(
y
)
→
G
(
F
(
y
)
)
≈
y
y→F(y)→G(F(y))≈y
y→F(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
]
L_{\text{cyc}}(G, F) = \mathbb{E}_{x \sim p_{\text{data}}(x)}[\|F(G(x)) - x\|_1] + \mathbb{E}_{y \sim p_{\text{data}}(y)}[\|G(F(y)) - y\|_1]
Lcyc(G,F)=Ex∼pdata(x)[∥F(G(x))−x∥1]+Ey∼pdata(y)[∥G(F(y))−y∥1]
3.3 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
)
L(G, F, D_X, D_Y) = L_{\text{GAN}}(G, D_Y, X, Y) + L_{\text{GAN}}(F, D_X, Y, X) + \lambda L_{\text{cyc}}(G, F)
L(G,F,DX,DY)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLcyc(G,F)λ 控制这两个目标的重要性比重。
希望解决以下优化问题:
G
∗
,
F
∗
=
arg
min
G
,
F
max
D
X
,
D
Y
L
(
G
,
F
,
D
X
,
D
Y
)
.
G^*, F^* = \arg \min_{G,F} \max_{D_X, D_Y} L(G, F, D_X, D_Y).
G∗,F∗=argG,FminDX,DYmaxL(G,F,DX,DY).
本模型可以视为在训练两个“自编码器”:
自编码器
F
∘
G
:
X
→
X
F \circ G : X \to X
F∘G:X→X 和自编码器
G
∘
F
:
Y
→
Y
G \circ F : Y \to Y
G∘F:Y→Y 。
通过将图像转换到另一个领域的中间表示再映射回原始图像。
“对抗性自编码器”(adversarial autoencoder)
4. Implementation
Network Architecture(网络架构):
网络包含两个stride-2卷积、几个残差块和两个stride1/2卷积,使用instance normalization。
判别器使用70×70 PatchGANs。
Training details(训练细节):
对于
L
GAN
L_{\text{GAN}}
LGAN ,将负对数似然目标替换为最小二乘损失(least square loss)。
方程1变为:
L
LSGAN
(
G
,
D
Y
,
X
,
Y
)
=
E
y
∼
p
data
(
y
)
[
(
D
Y
(
y
)
−
1
)
2
]
+
E
x
∼
p
data
(
x
)
[
D
Y
(
G
(
x
)
)
2
]
.
L_{\text{LSGAN}}(G, D_Y, X, Y) = \mathbb{E}_{y \sim p_{\text{data}}(y)}\left[(D_Y(y) - 1)^2\right] + \mathbb{E}_{x \sim p_{\text{data}}(x)}\left[D_Y(G(x))^2\right].
LLSGAN(G,DY,X,Y)=Ey∼pdata(y)[(DY(y)−1)2]+Ex∼pdata(x)[DY(G(x))2].
设置一个图像缓冲区,存储之前生成的 50 张图像。
使用历史生成图像而非最新生成网络产生的图像来更新判别器 DX 和 DY。
5. Results
5.1 Evaluation——评估
5.1.1 Baselines——基准模型
CoGAN
为领域 X 和领域 Y 各学习一个 GAN 生成器,并在前几层共享权重。
从 X 到 Y 的转换可以通过找到一个生成图像 X 的潜在表示,再将该潜在表示转换为 Y 风格来实现。
Pixel loss + GAN
使用对抗性损失来训练从 X 到 Y 的转换。正则项
∥
X
−
Y
∥
1
\|X-Y\|1
∥X−Y∥1 用于惩罚像素级别的大变化。
Feature loss + GAN
L1 损失是在预训练网络的深度图像特征上计算的,而不是在 RGB 像素值上计算的。
BiGAN/ALI
无条件 GANs 学习一个生成器
G
:
Z
→
X
G:Z→X
G:Z→X,将随机噪声 Z 映射为图像 X同时学习反向映射函数
F
:
X
→
Z
F:X→Z
F:X→Z 。
pix2pix
5.1.2 Comparison against baselines——与基准模型的比较
不同模型生成图片对比:
本论文方法能够产生与完全监督的pix2pix具有相似质量的转换。
排除了图中的像素损失+GAN和特征损失+GAN,因为这两种方法都无法产生接近目标域的结果。
三个实验:
AMT 上进行“真实 vs 假”实验,评估感知逼真度。
Cityscapes 数据集上训练照片→标签任务,使用 Cityscapes 基准比较。
Cityscapes 数据集上训练标签→照片任务,分割网络对输出的照片进行评估。
AMT:
labels→photos:
photos→labels:
5.1.3 Ablation Study——消融实验
定性示例:
移除GAN损失会严重降低结果,移除循环一致性损失也是如此。
GAN+正向循环损耗
E
x
∼
p
data
(
x
)
[
∥
F
(
G
(
x
)
)
−
x
∥
1
]
\mathbb{E}_{x \sim p_{\text{data}}(x)}[\|F(G(x)) - x\|_1]
Ex∼pdata(x)[∥F(G(x))−x∥1] 和 GAN+反向循环损耗
E
y
∼
p
data
(
y
)
[
∥
G
(
F
(
y
)
)
−
y
∥
1
]
\mathbb{E}_{y \sim p_{\text{data}}(y)}[\|G(F(y)) - y\|_1]
Ey∼pdata(y)[∥G(F(y))−y∥1] 实验,
发现经常导致训练不稳定并导致模式崩溃,特别是对于移除的映射方向。
5.2 Applications——应用
训练数据上的转换结果通常比测试数据上的更加吸引人。
Object transfiguration(对象变换):
本文方法侧重于两个视觉相似类别之间的对象变形。
Season transfer(季节转换):
根据Flickr上优胜美地的冬夏照片训练。
Collection style transfer (收藏样式转换):
本文方法学习模仿一整套艺术品(如梵高)的风格,而不是转移单个选定艺术品(如《星夜》)的风格。
Photo generation from paintings(绘画生成照片):
当将目标域的真实样本作为生成器的输入时,将生成器正则化为接近恒等映射:即
L
identity
(
G
,
F
)
=
E
y
∼
p
data
(
y
)
[
∥
G
(
y
)
−
y
∥
1
]
+
E
x
∼
p
data
(
x
)
[
∥
F
(
x
)
−
x
∥
1
]
L_{\text{identity}}(G, F) = \mathbb{E}_{y \sim p_{\text{data}}(y)}[\|G(y) - y\|_1] + \mathbb{E}_{x \sim p_{\text{data}}(x)}[\|F(x) - x\|_1]
Lidentity(G,F)=Ey∼pdata(y)[∥G(y)−y∥1]+Ex∼pdata(x)[∥F(x)−x∥1]
如果没有
L
i
d
e
n
t
i
t
y
L_{identity}
Lidentity ,生成器 G 和 F 就可以在没有必要的情况下自由地改变输入图像的色调。因为在对抗性损失和循环一致性损失下,这样的映射可能同样有效。
Photo enhancement(照片增强):
成功生成由智能手机拍摄的景深较浅的照片。
6. Limitations and Discussion
失败案例:
几何变化的任务,学习到的转换退化为对输入进行最小的修改。
处理更加多样化和极端的转换,特别是几何变化,是未来工作中的一个重要问题。
一些失败案例是由训练数据集的分布特征引起的。
使用成对训练数据与无配对方法之间的结果仍有差距。
结合弱监督或半监督数据可能会导致更强大的转换器,同时仍然只需付出全监督系统一小部分的标注成本。
这篇论文推动了在这种“无监督”环境下的可能性界限。