生成对抗网络

生成式对抗网络(generative adversarial network,GAN)是基于可微生成器网络的另一种生成式建模方法。生成式对抗网络基于博弈论场景,其中生成器网络必须与对手竞争。生成网络直接产生样本生成对抗网络。其对手,判别器网络(dircriminator network)试图区分从训练数据抽取的样本和从生成器抽取的样本。判别器出发由生成对抗网络给出的概率值,指示x是真实训练样本而不是从模型抽取的伪样本的概率。

形式化表示生成对抗网络中学习的最简单方法是零和游戏,其中函数生成对抗网络确定判别器的受益。生成器接受生成对抗网络作为它自己的受益。在学习期间,每个玩家尝试最大化自己的受益,因此收敛在

                                                     生成对抗网络

v的默认选择是

                                          生成对抗网络

这驱使判别器试图学习将样品正确地分类为真或伪造的。同时,生成器试图欺骗分类器以让其相信样本是真实的。在收敛时,生成器的样本与真实数据不可区分,并且判别器处处都输出1/2。然后可以丢弃判别器。设计GNA的主要动机是学习过程既不需要近似推断,也不需要配分函数梯度的近似。当生成对抗网络生成对抗网络中是凸的(例如,在概率密度函数的空间中直接执行优化的情况)时,该过程保证收敛并且是渐近一致的。不幸的是,在实践中由神经网络表示的g和d以及生成对抗网络不凸时,GAN中的学习可能是困难的。Goodfellow认为不收敛可能会引起GAN的欠拟合问题。一般来说,同时对两个玩家的成本梯度下降不能保证达到平衡。例如,考虑价值函数v(a,b)=ab,其中一个玩家的成本梯度下降不能保证达到平衡。例如,考虑价值函数v(a,b)=ab,其中一个玩家控制a并产生成本ab,而另一个玩家控制b并接收成本-ab。如果我们将每个玩家建模为无穷小的梯度步骤,每个玩家以及另一个玩家为代价降低自己的成本,则a和b进入稳定模式的原型轨迹,而不是到达原点处的平衡点。注意,极小极大化游戏的平衡不是v的局部最小值。相反,它们是同时最小化的两个玩家成本的点。这意味着它们是v的鞍点,相对于第一个玩家的参数是局部最小值,而相对于第二个玩家的参数是局部最大值。两个玩家可以永远轮流增加然后减少v,而不是正好停在玩家没有能力降低其成本的鞍点。目前不知道这种不收敛的问题会在多大程度上影响GAN。

Goodfellow确定了另一种替代的形式化收益公式,其中博弈不再是零和,每当判别器最优时,具有与最大似然学习相同的预期梯度。因为最大似然训练收敛,这种GAN博弈的重述在给定足够的样本时也应该收敛。不幸的是,这种替代的形式化似乎并没有提高实践中的收敛,可能是由于判别器的次优性或围绕期望梯度的高方差。

在真实实验中,GAN博弈的最佳表现形式既不是零和,也不等于最大似然,而是Goodfellow引入的带有启发式动机的不同形式。这种最佳性能的形式中,生成器旨在增加判别器发生错误的对数概率,而不是旨在降低判别器进行正确预测的对数概率。这种重述仅仅是观察的结果,即使在判别器确信拒绝所有生成器样本的情况下,它也能导致生成器代价函数的导数相对于判别器的对数保持很大。

稳定GAN学习仍然是一个开放的问题。幸运的是,当仔细选择模型架构和超参数时,GAN学习效果很好,Radford设计了一个深度卷积GAN(DCGAN),在图像合成的任务上表现非常好,并表明其潜在的表示空间能捕获到变化的重要因素。GAN学习问题也可以通过将生成过程分成许多级别的细节来简化。我们可以训练由条件的GAN,并学习从分布p(x|y)中采样,而不是简单地从边缘分布p(x)中采样。Denton表明一系列的条件GAN可以被训练为首先生成非常低分辨率的图像,然后增量地向图像添加细节。由于使用拉普拉斯金字塔来生成包含不同细节水平的图像,这种技术被称为LAPGAN模型。LAPGAN生成器不仅能够欺骗判别器网络,而且你能够欺骗人类的观察者,实验主体将高达40%的网络输出识别为真实数据。

GAN训练过程是一个不寻常的能力它可以拟合向训练点分配零概率的概率分布。生成器网络学习跟踪特定点在某种程度上类似于训练点的流行,而不是最大化该点的对数概率。有点矛盾的是,这意味着模型可以将负无穷大的对数似然分配给测试集,同时仍然表示人类观察者判断为能捕获生成任务本质的流行。这不是明显的优点或缺点,并且只要向生成网络最后一层所有的值添加高斯噪声,就可以保证生成器网络向所有点分配非零概率。以这种方式添加高斯噪声的生成网络从相同分布中采样,即,从使用生成器网络参数化条件高斯分布的均值所获得的分布采样。

Dropout似乎在判别器中很重要,在计算生成网络的梯度时,单元应当被随机地丢弃。使用权重除以二的确定性版本的判别器其梯度似乎不是那么有效。同样,从不使用Dropout似乎会产生不良的结果。虽然GAN框架设计用于可微生成器网络,但是类似的原理可以用于训练其他类型的模型。例如,自监督提升(self-supervised boosting)可以用于训练 RBM生成器以欺骗逻辑回归判别器。

 

上一篇:「GAN优化」如何学会以正确的姿势定量评价你的GAN


下一篇:增大图片(在图像分割、GAN、超分辨中经常用到)