摘要:
我们提出了一个新的框架来通过对抗过程来估计生成模型,在该框架中,我们同时训练了两个模型:生成模型G捕获数据分布,以及判别模型D估计样本来自训练数据而不是G的概率。G的训练过程是使D犯错的概率最大化。 这框架对应于一个minimax两人游戏。 在任意空间功能G和D,存在唯一的解决方案,其中G恢复训练数据分布和D等于12到处。 在定义了G和D的情况下通过多层感知器,可以对整个系统进行反向传播训练。在训练或样本生成期间,不需要任何马尔可夫链或展开的近似推理网络。实验证明通过定性和定量评估框架的潜力生成的样本。
对抗网络
当两个模型都使用时,对抗模型框架最容易应用多层感知器。 要了解生成器在数据x上的分布pg,我们定义先验条件输入噪声变量pz(z),则表示到数据空间的映射为G(z;θg),其中G是参数为θg的多层感知器表示的微分函数。 我们还定义了一个输出单个标量的第二个多层感知器D(x;θd)。D(x)表示概率x来自数据而不是pg。 我们训练D以最大程度地分配D的概率为训练示例和G样本提供正确的标签。我们同时训练G以最大程度地减少log(1-D(G(z))):换句话说,D和G玩以下具有值函数V(G,D)的两人minimax游戏:
在下一部分中,我们将对对抗网进行理论分析,从本质上表明训练准则允许恢复给定G和D的数据生成分布足够的容量,即在非参数限制内。参见图1的较不正式的,更具教学性的方法的解释。在实践中,我们必须使用迭代的数字实现游戏方法。在训练的内循环中将D优化以达到完成效果在计算上是不允许的,在有限的数据集上会导致过度拟合。相反,我们在优化的k个步骤之间交替进行D和优化G的一步。这导致D维持在最佳解附近,因此只要G的变化足够缓慢。该策略类似于SML / PCD [31,29]培训会从一个学习步骤到下一个学习步骤,维护来自马尔可夫链的样本,以避免作为学习内在循环的一部分,在马尔可夫链中燃烧。该程序已正式提出在算法1。
在实践中,等式1可能无法为G提供足够的梯度来学习。 在学习初期,当G差时,D可以高置信度拒绝样品,因为它们明显不同于训练数据。 在这种情况下,log(1- D(G(z)))饱和。 而不是训练G以使其最小化og(1- D(G(z)))我们可以训练G以使log D(G(z))最大化。 该目标函数导致
G和D动力学的相同固定点,但在学习早期提供了更强的梯度。