用GAN做 feature extraction
infoGAN
原来的GAN:
infoGAN:
把输入z分成两部分,假设z是20维,把前十维叫做c,后十维叫做z‘。
训练一个classifier:看generator输出的x,反推出输入的c。可以将generator看做encoder,classifier看做decoder,二者合起来看做一个auto-encoder。这个auto-encoder和一般的auto-encoder正好相反:输入一张图片,预测产生图片的code c
VAE-GAN
对encoder:
最小化重建误差;让z接近normal
对generator:
最小化重建误差;骗过discriminator
对discriminator:
辨别真实图、生成图和重建图
BiGAN
encoder:输入图片x,输出编码z
decoder:输入编码z,输出图片
二者的输入输出不是接在一起的;不会把encoder的输出传给decoder,也不会把decoder的输出传给encoder
添加一个discriminator:
输入x和z,判别一组(x,z)来自encoder还是decoder
算法:
BiGAN和AutoEncoder在最优条件下训练结果相同。
Triple GAN
一个generator,一个discriminator,一个classifier。
其中generator和discriminator组成conditional GAN
少量的label data,大量的unlabel data
Domain-adversarial training
绿色是生成器,输入照片x,输出特征 f
粉色是判别器,判别当前特征 f 输入哪个domain
蓝色分类器,判断当前特征 f 输入哪个class
上述三个是同时进行的。
来源:CSDN
作者:shanhaibukeping
链接:https://blog.csdn.net/shanhaibukeping/article/details/103844082