GAN网络

生成对抗网络

GAN (生成式对抗网络)主要包括了两个部分,即生成器generator 与判别器 discriminator。生成器用来生成图片,鉴别器来鉴别图片。它们做的事情就很像是在做演化一样。首先有一个第一代的G,生成一些很不像样的图片,第一代的D(是二分类器)鉴别它是假的;根据第一代的D,得到一个第二代的G,第二代的G生成的图片可以骗过第一代的D,得到第二代的D,然后一直如此,直到D已经无法鉴别G生成的图片和真实的图片,输出是1/2。这件事情实际是怎么做的呢?

生成器主要用来学习真实图像分布从而让自身生成的图像更加真实,以骗过判别器。判别器则需要对接收的图片进行真假判别。在整个过程中,生成器努力地让生成的图像更加真实,而判别器则努力地去识别出图像的真假,这个过程相当于一个二人博弈,随着时间的推移,生成器和判别器在不断地进行对抗,最终两个网络达到了一个动态均衡:生成器生成的图像接近于真实图像分布,而判别器识别不出真假图像,对于给定图像的预测为真的概率基本接近0.5(相当于随机猜测类别)

我们随机输入一组向量,第一代的G会生成图片,我们将生成的图片标记为0,真实的图片标记为1,作为D的输入,训练一个一代D。

固定住一代D,调整G的参数,使D得输出为1,这时我们就得到一个第二代的D。然后再重复训练一个第二代的D。

猜你喜欢

转载自www.cnblogs.com/dongnengneng/p/10420526.html