如何用Pytorch在MNIST数据集上详细实现并分析基础GAN与DCGAN?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2193个文字,预计阅读时间需要9分钟。
GAN(生成对抗网络)由生成器(Generator)和判别器(Discriminator)组成,旨在生成与真实数据相似的数据。数据包括真实数据(ground truth)和由网络生成的fake数据。目标是生成的fake数据能够以假乱真。
原始生成对抗网络Generative Adversarial Networks GAN包含生成器Generator和判别器Discriminator,数据有真实数据groundtruth,还有需要网络生成的“fake”数据,目的是网络生成的fake数据可以“骗过”判别器,让判别器认不出来,就是让判别器分不清进入的数据是真实数据还是fake数据。总的来说是:判别器区分真实数据和fake数据的能力越强越好;生成器生成的数据骗过判别器的能力越强越好,这个是矛盾的,所以只能交替训练网络。
需要搭建生成器网络和判别器网络,训练的时候交替训练。
首先训练判别器的参数,固定生成器的参数,让判别器判断生成器生成的数据,让其和0接近,让判别器判断真实数据,让其和1接近;
接着训练生成器的参数,固定判别器的参数,让生成器生成的数据进入判别器,让判断结果和1接近。
本文共计2193个文字,预计阅读时间需要9分钟。
GAN(生成对抗网络)由生成器(Generator)和判别器(Discriminator)组成,旨在生成与真实数据相似的数据。数据包括真实数据(ground truth)和由网络生成的fake数据。目标是生成的fake数据能够以假乱真。
原始生成对抗网络Generative Adversarial Networks GAN包含生成器Generator和判别器Discriminator,数据有真实数据groundtruth,还有需要网络生成的“fake”数据,目的是网络生成的fake数据可以“骗过”判别器,让判别器认不出来,就是让判别器分不清进入的数据是真实数据还是fake数据。总的来说是:判别器区分真实数据和fake数据的能力越强越好;生成器生成的数据骗过判别器的能力越强越好,这个是矛盾的,所以只能交替训练网络。
需要搭建生成器网络和判别器网络,训练的时候交替训练。
首先训练判别器的参数,固定生成器的参数,让判别器判断生成器生成的数据,让其和0接近,让判别器判断真实数据,让其和1接近;
接着训练生成器的参数,固定判别器的参数,让生成器生成的数据进入判别器,让判断结果和1接近。

