您好,欢迎访问速发刊网,我们将竭诚为您服务!

什么是生成对抗网络(GAN)

时间:2024-01-18   访问量:1246

生成对抗网络(Generative Adversarial Network, GAN)是一种通过两个神经网络相互博弈的方式进行学习的生成模型。生成对抗网络能够在不使用标注数据的情况下来进行生成任务的学习。生成对抗网络由一个生成器和一个判别器组成。生成器从潜在空间随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别器的输入则为真实样本或生成器的输出,其目的是将生成器的输出从真实样本中尽可能分别出来。生成器和判别器相互对抗、不断学习,最终目的使得判别器无法判断生成器的输出结果是否真实。

例如,生成器可以看作货币造假者,目的是制造足够以假乱真的假币;判别器可以看作验钞机,负责判断钞票是否为假币,它能够随着假币质量的提高而不断升级,保持对假币的识别能力。

生成对抗网络的缺点:

一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。GAN由于定义的特性,在训练中可能会出现以下问题:

不稳定收敛

当生成器和判别器都可以访问其整个策略集时,生成对抗网络具有唯一的全局最优点。但在实际场景中,我们可以访问的数据并不一定是整个策略集。而当它们具有受限策略集时,未必能够稳定收敛到全局最优点。

模式崩溃

GAN经常遭受模式崩溃,从输入数据中丢失整个模式以至于无法正确泛化。 例如,在包含每个数字的许多样本的MNIST数据集上训练的GAN可能只会生成数字0的图片。

发生这种情况的一种原因是生成器与判别器相比学习速度太快。如果判别器保持不变,那么最优生成器将只输出的元素。例如,如果在生成MNIST数据集的GAN训练期间,对于几个epoch,判别器以某种方式更喜欢数字0比其他数字稍微多一点,则生成器可能会抓住机会只生成数字0。即使在判别器改进后,生成器也无法逃脱局部最小值。

梯度消失

如果判别器与生成器相比学习速度太快,那么判别器几乎可以完美地区分. 在这种情况下,生成器  可能会有非常高的损失,无论它向哪个方向改变  ,这意味着梯度都将会是接近于零,这会导致生成器无法学习。