ACGAN与CGAN的区别

原创文章,转载请注明: 转载自慢慢的回味

本文链接地址: ACGAN与CGAN的区别

ACGAN与CGAN的区别如下


1 与CGAN一样的是,在生成网络的输入都混入label;
2 不一样的是在鉴别网络输入时,ACGAN不再混入label,而是在鉴别网络的输出时,把label作为target进行反馈来提交给鉴别网络的学习能力。
3 另一个不一样的是,生成网络和鉴别网络的网络层不再是CGAN的全连接,而是ACGAN的深层卷积网络(这是在DCGAN开始引入的改变),卷积能够更好的提取图片的特征值,所有ACGAN生成的图片边缘更具有连续性,感觉更真实。

继续阅读“ACGAN与CGAN的区别”本作品采用知识共享署名 4.0 国际许可协议进行许可。

CGAN与GAN的区别

原创文章,转载请注明: 转载自慢慢的回味

本文链接地址: CGAN与GAN的区别

CGAN与GAN的区别如下


GAN视频讲解参考
CGAN视频讲解参考
在生成网络的输入和鉴别网络的输入都混入label,这样生成网络就会学会根据label生成含有label特征的图片;鉴别网络就能学会根据label快速学会分类图片。
如下生成网络model不直接传入noise,而是传入noise和label对于元素相乘的结果。
label[1,]->Embedding[10,100]->label_embedding[1,100]->Flatten[100,] X Noise[100,] = model_input[100,]

        noise = Input(shape=(self.latent_dim,))
        label = Input(shape=(1,), dtype='int32')
        label_embedding = Flatten()(Embedding(self.num_classes, self.latent_dim)(label))
 
        model_input = multiply([noise, label_embedding])
        img = model(model_input)

继续阅读“CGAN与GAN的区别”本作品采用知识共享署名 4.0 国际许可协议进行许可。