论文地址:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
CycleGANs用来解决unpaired的问题,如果是paried问题也就是(x,y)输入的x都有对应的y,我们就可以使用之前的GANs进行生成,但是如果输入的x没有对应的y,就比如风格转换,把一个相机拍的照片转换为梵高、油画等风格,这样就不会存在对应的y可以用来paried学习,所以本文提出了CycleGANs来解决unpaired问题
简单来说就是使用一个生成器G,x为输入图像,得到G(x),我们无法找到一个y来和G(x)界定他们之间分布的loss,因为y我们并没有,所以我们又使用了一个逆映射F,就可以得到一个cycle来用loss逼近F(G(x))=x,这样就可以在没有paried的y情况下,来做到G的生成
Adversarial Loss
对于X到Y的映射定义loss:
对于Y到X的映射定义loss:,与上式类似
Cycle Consistency Loss
但是,具有足够大容量的网络可以将输入和输出可以映射到任意随机排列上,因此对于单纯的adversarial loss不能保证可以将单个X映射到Y上,文本因此提出了cycle-consistent loss
比如,称为forward cycle consistency
,称为backward cycle consistency
因此Cycle Consistency Loss为
Full Objective
可以看到本文的model可以训练两个auto-encoders,一个为,另一个为
Network Architecture
使用Perceptual losses for real-time style transfer and super-resolution中的网络结构,两个stride-2的conv,一些residual blocks,两个stride=1/2的fractionally strided conv。在128*128输入的时候使用6个blocks,在256*256或者更高分辨率时使用9个blocks,使用了instance normalization(Instance normalization: The missing ingredient for fast stylization),discriminator networks使用70*70的PatchGANs
Training details
对于adversarial loss使用最小二乘loss代替最大似然估计loss,
像Learning from simulated and unsupervised images through adversarial training中一样使用多张历史生成图片来更新discriminators,本文中使用50张,设置,使用Adam slover batch size=1,learning rate=0.0002,对于前100个epoch learning rate保持不变,对于下100个epoch使用线性减弱rate
应用领域
Collection style transfer
Object transfiguration、Season transfer
Photo generation from paintings
Photo enhancement