conditional GANs
- 可以看到和普通的
GANs
的损失函数只有一点不同就是这次在生成器和判别器中加上了标签信息。 - 损失函数的第二项
Z
是random noise
然后y
也是随机的一个label
,目的就是让D
判断有y生成的图像更像y label
。
- 训练过程:
G
中加入label
信息就是将label
的加入random noise
的z
中,D
中加入label
信息就是将label
信息平摊到第二层feature map
中。
Cycle GANs
-
不需要对齐语料,但是需要两个
domain
的数据。 -
有两个生成器,从一个
domain
到另一个domain
的搜索 。
-
有两个判别器。
-
loss
函数有两项,一项是adversarial loss
,一个是一致性损失。 -
adversarial loss
要求生成的图像更加的逼真,consistence loss
要求翻译回来的句子和原始的句子一样。
-
cycle gan
中的生成器,接受的输入是一个图像。
-
cycle gan
中的判别器,判别器是一个pathc gans,就是只关注一个很小的补丁区域,来判断这个补丁区域是真的还是假的,这种方式更加有效,因为他用对假的部分进行训练即可。
it was most effective to have the PatchGAN evaluate 70x70 sized patches of the input.
- 为了训练的时候更加稳定,使用了一个
trick
就是将生成器最近的50
张图片加入训练集中,而不是仅仅用生成器生成的最新的图片。
To prevent the model from changing drastically from iteration to iteration, the discriminators were fed a history of generated images, rather than just the ones produced by the latest versions of the generators. To do this, we keep a pool to store the 50 most recently generated images. This technique of reducing model oscillation was pioneered by Shrivastava et al. in Learning from Simulated and Unsupervised Images through Adversarial Training.
- 其他的训练的
tricks
是使用batch size
为1
,因此使用的是instance normalization
而不是batch normalization
- 长处和短处:
cycleGAN
擅长涉及颜色和条纹变化的任务中,比如白天转黑夜或者照片转画作,但是对于需要进行大量的几何变换的任务,比如猫到狗的转换,就很容易失败,这个的原因可能是使用patch-gan
只关注局部的纹理和色彩信息。 - 并且一般对训练中见过的图像转换的效果要比测试集中没有见过的图像要好的多。
网友评论