【研究生工作周报第十四周】

学习目标:

例如:

  • CycleGAN论文以及源码

学习内容:

  1. CycleGAN网络模型
  2. CycleGAN损失函数
  3. 模型优化方法Instance Normalization

学习时间:

  • 8.7~8.13

学习产出:

  • CSDN 技术博客 1 篇

CycleGAN网络模型

  如下图所示CycleGAN其实是由两个判别器( D x D_x Dx D y D_y Dy)和两个生成器( G G G F F F)组成,但是为什么要连两个生成器和两个判别器呢?论文中说,是为了避免所有的X都被映射到同一个Y(模式缺失model collapse),比如所有手写数字的图像都映射到手写“1”的图像上,这显然不合理,所以为了避免这种情况,论文采用了两个生成器的方式,既能满足X->Y的映射,又能满足Y->X的映射,这一点其实就是变分自编码器VAE的思想,是为了适应不同输入图像产生不同输出图像。
【研究生工作周报第十四周】_第1张图片
C y c l e G A N 最大的创新在于引入了循环映射和 C y c l e C o n s i s t e n c y L o s s ( 循环一致性损失 ) 。 \color{blue} {CycleGAN 最大的创新在于引入了 循环映射 和 Cycle Consistency Loss(循环一致性损失)。} CycleGAN最大的创新在于引入了循环映射和CycleConsistencyLoss(循环一致性损失)

损失函数

(1)Adversarial Loss(对抗损失)
这里是判别器Y对X->Y的映射G的损失,判别器X对Y->X映射的损失也非常类似
在这里插入图片描述

(2)Cycle Consistency Loss(循环一致性损失)
理论上,对抗性训练可以训练映射G和F产生和目标域Y和X相同分布的输出。然而,网络可以将同一组输入图像映射到目标域中的任意随机的图像,比如映射F完全可以将所有x都映射为Y空间中的同一张图片(mode collapse),或者是与原图完全不相关的图片。

所以作者主张(直觉)学习的映射函数应该是循环一致的——图像如果一个域转换到另一个域,然后再转换回来,是可以回到原点的。
【研究生工作周报第十四周】_第2张图片

(3)Full Objective(总损失)
【研究生工作周报第十四周】_第3张图片

(4)是对总损失进行优化,先优化 D D D然后优化 G G G F F F,这一点和GAN类似。
在这里插入图片描述

训练策略

  为了让模型的训练过程更加稳定,作者 借鉴了LSGAN,对 adversarial loss (对抗损失)进行了改进。用最小二乘损失代替了负对数似然目标。这种损失在训练中表现得更稳定,并产生更高质量的结果

【研究生工作周报第十四周】_第4张图片

模型优化之Instance Normalization

  对于图像风格迁移这类的注重每个像素的任务来说,每个样本的每个像素点的信息都是非常重要的,于是像BN这种每个批量的所有样本都做归一化的算法就不太适用了,因为BN计算归一化统计量时考虑了一个批量中所有图片的内容,从而造成了每个样本独特细节的丢失。同理对于LN这类需要考虑一个样本所有通道的算法来说可能忽略了不同通道的差异,也不太适用于图像风格迁移这类应用。
  所以这篇文章提出了Instance Normalization(IN),一种更适合对单个像素有更高要求的场景的归一化算法(IST,GAN等)。IN的算法非常简单,计算归一化统计量时考虑单个样本,单个通道的所有元素。IN(右)和BN(中)以及LN(左)的不同从图1中可以非常明显的看出。
【研究生工作周报第十四周】_第5张图片

IN本身是一个非常简单的算法,尤其适用于批量较小且单独考虑每个像素点的场景中,因为其计算归一化统计量时没有混合批量和通道之间的数据,对于这种场景下的应用,我们可以考虑使用IN。

另外需要注意的一点是在图像这类应用中,每个通道上的值是比较大的,因此也能够取得比较合适的归一化统计量。但是有两个场景建议不要使用IN:

  • MLP或者RNN中:因为在MLP或者RNN中,每个通道上只有一个数据,这时会自然不能使用IN;
  • Feature Map比较小时:因为此时IN的采样数据非常少,得到的归一化统计量将不再具有代表性。

局限性讨论

  • CycleGAN是直接进行转换(direct transformation)的方法, 也就是图片不会进行encode之后再进行转换. 这样做会导致其实生成器生成前后的内容不会差太多.所以我们一般会使用CycleGAN来进行风格转换之类的, 而不会直接进行图像的生成, 如头像的生成之类的工作。
  • 论文还探索了需要几何变化的任务,但收效甚微,例如dog—>cat,模型退化为对输入进行最小更改的翻译。处理更多样化和极端的变换,尤其是几何变化,是将来工作的一个重要研究方向。
    【研究生工作周报第十四周】_第6张图片
    【研究生工作周报第十四周】_第7张图片

你可能感兴趣的:(计算机视觉,深度学习,人工智能)