ICCV2017论文“Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks” 阅读笔记

ICCV2017论文“Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks” 阅读笔记

题目:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
作者:Jun-Yan Zhu, Taesung Park等,Berkeley AI Research (BAIR) laboratory
项目地址:https://junyanz.github.io/CycleGAN/

简介

  • 此文章的提出主要是为了解决一个问题—— image-to-image translation中一对一的训练数据较难获得。一般的训练,生成图像总是要与某个gound truth完全相等(pair),而这种goundtruth在某些场合中很难获取(例如风格迁移)。因此,作者希望在不借助paired example情况下,实现图像转换。
  • 基于unpaired example的图像转换可以如此描述:一种服从分布X的图像,通过深度网络,使其服从Y分布。常用的方法是GAN网络,即训练一个网络G,使得生成的图像 y=G(x) 与原有的 y 分布相同,难以区别出来。然而,这种训练可能会导致网络出错,使很多输入对应到同一个输出,即输入输出没有一一对应。
    此处输入图片的描述
  • 作者认为这种图像转换应该遵循循环一致性(cycle consistent):如果有一种转换G能使X -> Y,和F: Y -> X,那么X和Y应该是互相转置的关系。作者训练了两个网络G和F,设置一个循环一致性损失,使得 F(G(x))x G(F(y))y ,将这个损失和对抗损失联合起来,就实现了完整的unpaired image-to-image translation。
  • 本文提出的模型叫做CycleGAN

模型设置

  • 上面说到了,CycleGAN需要训练两个网络 G:XY F:YX 。相对地,有两个对抗损失 DX DY ,其中 DX 旨在区别出图像 {x} 和生成的 {F(y)} DY 同理。训练的目标分为两项:对抗损失是为了生成符合分布的图像,循环一致性损失是为了防止学习的G和F相互矛盾。

1. 对抗损失

  • 一般的对抗损失都是使用14年那篇文章提出的:
    此处输入图片的描述
  • 但有人指出,将负对数改成最小均方能稳定训练:
    此处输入图片的描述
  • 最后的学习目标是: G=argminGmaxDYLGAN(G,DY,X,Y) F=argminFmaxDXLGAN(F,DX,Y,X)

2. 循环一致损失

  • 上面的对抗损失,确实可以使G和Y生成符合分布的图像。“However, with large enough capacity, a network can map the same set of input images to any random permutation of images in the target domain, where any of the learned mappings can induce an output distribution that matches the target distribution。”
  • 循环一致损失的意义是,对于X中的图像x,G和F应该能够在转换图像之后再把x变回来,即: xG(x)F(G(x))x ,这个称之为前向循环一致性。同理还有反向循环一致性 yF(y)G(F(y))y
  • 最后的循环一致性损失为:
    此处输入图片的描述

3. 完整目标

此处输入图片的描述

封装

此处输入图片的描述

你可能感兴趣的:(深度学习)