比CycleGAN更强的非监督GAN----DistanceGAN

总说

对于非监督domain mapping, 要学习的是数据集A到数据集B的一种映射。即 GAB 可以将A的一个样例映射到B中的一个相似物。人来采用dual learning,提出了训练两个模型, GAB GBA 。使得 x x 是A的一个样例)经过 GAB ,再经过 GBA 仍旧与 x 尽量相似,当然对于 y 是一个B的样例,也有类似。
这种思想有2017年出了N篇论文。主要有:DiscoGAN[1], DualGAN[1], CycleGAN[3]等等吧。。
这篇论文的主要贡献:提出一种distance的约束,使得非监督domain mapping可以one sided。我可以只训练一个G_{AB}就够了,不用训练G_{BA}

相关工作

这个总结不错。。。

Adversarial constraints

这个就是最普通的GAN损失。

LGAN(GAB,DB,p^A,p^B)=ExBp^B[logDB(xB)]+ExAp^A[log(1DB(GAB(xA)))]

其中, p^A p^B 分别是A,B数据集的采样出来的离散分布。
当然,因为是非监督的,所以还有类似的 LGAN(GBA,DA,p^B,p^A) ,反正总共四个网络,联合起来优化就行。

Circularity constraints

这个就是现在特别火的对偶学习了。A的一件东西你通过 GAB 转换到了B中去,那么这件东西通过 GBA 转换回来,肯定差不多一样的吧~~

所以有:

Lcycle(GAB,GBA,p^A)=Exp^AGBA(GAB(x))x1

, 当然一般是两个:
Lcycle(GAB,GBA,p^A)+Lcycle(GBA,GAB,p^B)

Target Domain Identity

LTID(GAB,p^B)=Exp^BxGAB(x)2

这个主要在 DTN[4]网络用到。(暂时对为什么这有这个约束一脸懵逼,待我看完之后再补充。)

Distance Constraints

先说Adversarial constraints的弱点,这种约束太弱,因为这种mapping会有很多种。这是因为假设 GAB 将A中的n张图map到B中的n张图,那么对B的这n张图随意加一些扰动,扰动后的图也是一种可以接受的mapping。因此这种mapping空间极大,这种约束是一个很弱的约束。circularity constraint约束的引入是一个加强。毕竟 GBA 要让加了扰动的B的图映射回去,所以会减少the amount of admissible permutations.
为了进一步加强约束,Distance Constraints使得映射具有distance perserving的能力。A的两幅图通过 GAB 映射到B中,那么映射后的两幅图在之间的距离应该保持。

Ldistance(GAB,p^A)=Exi,xjp^A|1σA(xixj1μA)1σB(GAB(xi)GAB(xj)1μB)|

在实际编程中,这些均值和方差取minibatch的均值方差就行。
当然类似的有 Ldistance(GBA,p^B) 作者论文中只单独用 Ldistance(GAB,p^A) 或者 Ldistance(GAB,p^A) , 因此才称是one-sided的~
这种distance constraints相比cricularity约束,更不容易陷入model collapse.

Self-distance constraints

作者提出这个其实只是为了和cyclegan进行比较,因为cyclegan默认的代码的batchsize=1。啊,那distance gan可是基于2幅图片的啊,所以做作者就将一幅图片分成两半(比如左一半,右一半)从而得到distance约束。

Lselfdistance(GAB,p^A)=Exp^A|1σA(L(x)R(x)1μA)1σB(L(GAB(x))R(GAB(x))1μB)|

其中 μA σA 是domain A中的图片的左右两半的均值和方差,但是 μB σB 类似。

这种self-distance约束其实并不是一个好的约束,至少从实验结果可以看出。

比CycleGAN更强的非监督GAN----DistanceGAN_第1张图片
比如在car2car,这是对于一个3D数据集分成A,B。显然 GAB 是学习这种 角度不变性。这种模型mapping不会涉及到形状的巨大变化,主要是逐点的映射, 貌似Distance+cycle会有较好的效果。而对于car2head,这种具有外观巨大变化,以前的cyclegan是无法处理的(论文中给出cat2dog失败例子),cyclegan只能处理外观几乎一样(horse2zero之类的)。但是可以看到distance约束有更好点的效果。self dist效果不好也是比较容易解释的因为毕竟是单幅图像内部的距离约束。比如是图片的左右部分的距离约束,那么车和人脸不都具有很强的对称性吗?这种单幅图中的距离约束就会不那么work。

参考论文:One-Sided Unsupervised Domain Mapping[5]

参考文献

  1. Learning to Discover Cross-Domain Relations with Generative Adversarial Networks
  2. DualGAN: Unsupervised Dual Learning for Image-to-Image Translation
  3. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
  4. Unsupervised Cross-Domain Image Generation
  5. One-Sided Unsupervised Domain Mapping

你可能感兴趣的:(Paper,Reading,New,Blogs(2016,or,later),Deep,Learning,深度学习论文阅读)