可以看到,猫变狗,单车变摩托了。效果看上去有点尴尬,但毕竟是初步效果是有了。
但这篇论文的主要贡献是提出了一个“Contrast distance”。
主要思想
我要从小猫变小狗,变的小狗与真实像狗要像,但是到底像到什么程度呢?输入是猫,那么起码生成的小狗,与真实的小狗的相像程度,要大于与其输入的猫的相像程度吧。其实就是一个triple loss的思想。我们要想生成的是狗,希望生成的狗输入真实狗的那一类,那么这两只狗的距离,肯定要小于生成的狗与输入的猫的距离。因为狗与猫是不同类,他们的距离属于类间距离。所以这种”Contrast distance”就相当于类间距离大于类内距离。
损失
对于G来说就有三个损失,除了最简单的 重建损失,还有GAN损失(用LSGAN来让稳定性高点),最后就是这里的重点 对比损失了。比较简单的就是下面这样写:
∥fx∼fy′∥>∥fy′∼fy¯∥
因为我们要比较的距离不是直接在raw image上进行比较,起码是semantic上的距离吧。所以就用一个 Dc