energy based GAN(EBGAN) :将D设计为一个AutoEncoder,希望G 的输出经过压缩后能恢复如初
info GAN :G的输入为z和c的concatenate,增加一个与D共享部分权重的Q,Q的输入为G的输出,Q的输出为对c的估计,也就是希望G把c的信息编码到图片中,由Q来解码,那么这个信息可能被编码为图片的某些语义信息,也可能没有,c还是随机生成的,所以真实图片并没有对应的c,也就不能训练Q。注意和cGAN区分。
conditional gan : G的输入为z和c的concatenate,D的输入为G的输出和c的concatenate,这个c不再是随便给的,而是人为给的具有意义的label,也就是说即使是真实图片也有对应的c
couple GAN : 两个G两个D,两个G共享前几层,两个D共享后几层,给两个D的真实图片来自两个不同的数据集,cGAN能同时生成两张相关的图片,比如一个人戴眼镜和不带眼睛的两张照片,或者笑和不笑,金色头发和黑色头发,躺着的9和立着的9之类的,重点是,能够一次生成同一个人的两张图片,嗯仅此而已,不要与风格迁移混在一起。
image to image translation :是cGAN的具体应用,但是D不再需要条件输入,而把这种相似性约束用L1Loss来完成。需要成对的图片作为数据集,G的输入是风格1的图片,G的loss是G的输出通过D得到的loss加上与该输入对应的风格2的图片同G的输出的L1差;G采用U-net结构;D只对采样的patch进行判别 ,认为D来判别纹理等局部高频信息而L1loss来判别低频主要信息。由于cGAN的随机向量z输入在此处总是被忽略,所以不用z而对G的中间进行drop out达到了微弱的增加随机性的效果
text to image Synthesis :也是cGAN的具体应用,这里的c是text经过embedding后的向量输入。
GAN-INT的思想,就是G和D的c输入不一定是一段有意义的text经过embedding后得到的c,也可能是两段text embedding后得到的向量插值得到的c,这样能够增加c的多样性,学得渐变的c,但是注意这个造出来的c并没有任何对应的真实图片,也不一定代表一个写得出来的句子,所以只能是用来作为G生成的图片的c来作为D的输入,论文提到插值的z+βt1+(1−β)t2 以β=0.5 works well
cycleGAN :image to image translation的升级。不需要成对的图片,只需要两个数据集,就能学得风格迁移;两个G和两个D,G1以数据集1为输入,生成的图片和数据集2混合给D2进行辨别,G2以数据集2作为输入,生成的图片和数据集1给D1进行辨别;同时要求G1生成的图片作为G2的输入能产生和G1的输入一样的图片,G2同理