Fader Networks: Manipulating Images by Sliding Attributes(2017 NIPS)
文章简介:
本文介绍了一种新的encoder-decoder结构,该结构通过训练,将图像的显著信息与隐藏空间中的属性值直接分离,从而重构图像。
- Dataset: CelebA 、 Oxford-102
- Challenge: transformations是ill-defined并且训练是无监督的,即在训练集中包含着感兴趣的属性注释的图像,但没有属性转换后的图像,简单地说就是如果感兴趣的属性为性别,显然不可能会有男性<->女性的配对数据集
- 符号说明
训练集就是一对对pair:(x, y), 最终的目标是可以通过y来生成相应的x
x: img
y: attributes
z: latent representaton, 通过encoder原始图片获得
- 效果初览:
本文提出的方法可以对人像进行细微的改变,在不改变图像的自然属性和人物身份的同时可以最终改变属性的视觉效果
Encoder-decoder architecture:
结构图:
The auto-encoding loss:
在理想情况下,修改
D
(
E
(
x
)
,
y
)
D(E(x), y)
D(E(x),y)中的
y
y
y就会产生不同感知属性的图像,然后,仅仅只有下面的约束,而不加入其他约束的话,这个decoder会逐渐忽略attribute,最终在测试阶段,改变
y
y
y不会产生任何效果。
Learning attribute-invariant latent representations:
因此作者要避免出现上面的情况,于是采用的方法是去学习相对于attribute而言不变的潜在表示。即
E
(
戴
眼
镜
的
路
人
甲
)
=
E
(
不
戴
眼
镜
的
路
人
甲
)
E(戴眼镜的路人甲)=E(不戴眼镜的路人甲)
E(戴眼镜的路人甲)=E(不戴眼镜的路人甲)
- 难点:
训练集中并没有包含不同穿着的相同人物,所以不能直接添加这个约束(loss) - 解决方法:
采用一个Discriminator来进行对抗训练,这个Discriminator将被训练去达到一个目标:
P ( 1 − y ∣ E ( x ) ) → 1 P(1-y|E(x))\rightarrow1 P(1−y∣E(x))→1
即想要达到Encoder的编码无法被Discriminator识别成正确的attribute(即y),其实感觉这是一种近似,但是总感觉有一丝丝的不太合理呢
Adversarial objective:
所以对抗训练的目标为:decoder应该能够通过
E
(
X
)
E(X)
E(X)和
y
y
y重建
x
x
x, 并且于此同时,Discriminator需要让
E
(
x
)
E(x)
E(x)与
y
y
y尽可能地不同
如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(点个赞我可是会很开心的哦)~