Professional Documents
Culture Documents
GAN生成对抗网络
GAN生成对抗网络
GAN生成对抗网络
GAN 的基本原理其实非常简单,这里以生成图片为例进行说明。假设我们有两
个网络,G(Generator)和 D(Discriminator)。正如它的名字所暗示的那
样,它们的功能分别是:
G 是一个生成图片的网络,它接收一个随机的噪声 z,通过这个噪声生成
图片,记做 G(z)。
D 是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是
最后博弈的结果是什么?在最理想的状态下,G 可以生成足以“以假乱真”的
D(G(z)) = 0.5。
这样我们的目的就达成了:我们得到了一个生成式的模型 G,它可以用来生成
图片。
简单分析一下这个公式:
G(z)表示 G 网络生成的图片。
图片的是否真实的概率。
概率,G 应该希望自己生成的图片“越接近真实越好”。也就是说,G 希
面的记号是 min_G。
D 的目的:D 的能力越强,D(x)应该越大,D(G(x))应该越小。这时
V(D,G)会变大。因此式子对于 D 来说是求最大(max_D)
这里红框圈出的部分是我们要额外注意的。第一步我们训练 D,D 是希望 V(G, D)越
大越好,所以是加上梯度(ascending)。第二步训练 G 时,V(G, D)越小越好,所以
是减去梯度(descending)。整个训练过程交替进行。
二、DCGAN 原理介绍
DCGAN 的原理和 GAN 是一样的,这里就不在赘述。它只是把上述的 G 和 D 换成
了两个卷积神经网络(CNN)。但不是直接换就可以了,DCGAN 对卷积神经网络
的结构做了一些改变,以提高样本的质量和收敛的速度,这些改变有:
pooling。
去掉 FC 层,使网络变为全卷积网络
中,有监督学习需要的数据标注(label)是相对少的。所以研究者们从未放弃
去探索更好的无监督学习策略,希望能从海量的无标注数据中学到对于这个真
实世界的表示(representation)甚至知识,从而去更好地理解我们的真实世
界。
评价无监督学习好坏的方式有很多,其中生成任务就是最直接的一个。只有当
我们能生成/创造我们的真实世界,才能说明我们是完完全全理解了它。然而,
生成任务所依赖的生成式模型(generative models)往往会遇到两大困难。
1. 首先是我们需要大量的先验知识去对真实世界进行建模,其中包括选择什
么样的先验、什么样的分布等等。而建模的好坏直接影响着我们的生成模
型的表现。
2. 另一个困难是,真实世界的数据往往很复杂,我们要用来拟合模型的计算
量往往非常庞大,甚至难以承受。
而在过去一两年中,有一个让人兴奋的新模型,则很好地避开了这两大困难。