生成对抗网络(GANs)在计算机领域取得了令人瞩目的成就逼真图像生成而且图像修复.由GAN制作的美术甚至被拍卖了超过40万美元!
在Uber, GANs有无数潜在的应用,包括加强我们的机器学习(ML)模型,抵御对抗性攻击,学习模拟器对于交通、乘车请求或随时间变化的需求模式,以及为Uber Eats生成个性化的订单建议.
GANs由两个被训练成对手的模型组成:生成器学习真实数据的分布,鉴别器学习从真实数据中区分生成的(换句话说,“假”)样本。大多数关于GANs的研究雷竞技是骗人的都集中在通过改变它们的结构或训练来改进它们,例如通过使用更大的网络或不同的损失功能.
在我们的纸,将于贝叶斯深度学习研讨会在NeurIPS 2018下一个本周,我们提出了另一种想法:在训练完成后,利用鉴别器从生成器中挑选更好的样本。我们的工作为谷歌和加州大学伯克利分校的研究人员最近的非常类似的工作提供了一种补充的采样方法雷竞技是骗人的鉴别抑制抽样(DRS).
我们的方法和鉴别器拒绝抽样的主要思想是使用来自训练过的鉴别器的信息,以便从生成器中选择更接近真实数据分布的样本。通常,鉴别器在训练后被丢弃,因为训练过程应该将所有必需的知识从鉴别器编码到生成器中。然而,生成器通常是不完美的,而鉴别器包含有用的信息,因此值得探索我们如何更有效地采样来改进已经训练好的gan。我们从这个分布中抽样使用pmmh并将所得模型命名为Metropolis-Hastings GAN (MH-GAN)。
重新取样甘斯
GAN训练通常被认为是两个对手之间的游戏,其中生成器试图最大化鉴别器出错的概率,而鉴别器优化其分离生成和真实样本的能力。下面的图1显示了这个过程,其中生成器移动到值函数的最小值(橙色),而鉴别器移动到最大值(紫色)。经过训练后,通过向发生器输入不同的噪声向量,可以很容易地从发生器中提取样本。如果训练产生了一个完美的生成器,则生成的生成器的概率密度函数pG应该与真实数据的密度相同。不幸的是,许多公司目前都在使用GANs不收敛于真实的数据分布,因此直接从这些不完美的生成器中获取样本将产生与原始训练数据不一样的示例。
的不完美
让我们考虑一个不同的分布:由鉴别器暗示的相对于生成器的密度。我们称之为分布
,往往更接近真实的数据分布
.这是因为训练鉴别器比训练生成器更容易,所以鉴别器可能有帮助纠正生成器的信息。如果我们有一个完美鉴别器D对于一个不完美的发电机G,使
我们的数据生成密度函数而不是
就等于换了个新发电机
完美地模拟真实数据,如下图1所示:
尽管pD分布可以更好地匹配数据,从分布中抽取样本不像从生成器中抽取样本那样简单。幸运的是,我们可以使用抽样方法从这个分布中抽取样本,其中两种方法是拒绝抽样和马尔科夫链蒙特卡罗(MCMC)。既可用作后处理步骤,又可用作提高发电机输出;前面提到的鉴别抑制抽样而我们的MH-GAN使用大都会-黑斯廷斯MCMC方法。
拒绝抽样
拒绝抽样用接受或拒绝步骤包装一个建议分布,将建议分布扭曲成一个新的分布,该分布由在输入空间中改变的接受概率着色。从提案中抽取的每个样本被独立接受,其概率等于样本分布除以提案分布乘以常数乘子的比率。在抽样的情况下
由GAN定义,该比值为
,在那里米乘数是比率的上限
对所有可能的样本。米提出了一个挑战,有两个原因:第一,我们无法知道的真正价值米,所以它必须像在DRS中那样经验地估计,如果我们的估计是错误的,我们将不会从正确的分布中采样。第二,即使给出了很好的估计米我们可能会发现它非常大,这实际上意味着拒收抽样由于抽样空间的高维,在第一次接受之前就存在大量的样本拒收。To get around the sample waste problem, DRS has an additional heuristic to shift the discriminator scores, making the model sample from a distribution different from the real data even whenD是完美的。
一个更好的方法是:Metropolis-Hastings
我们使用大都会-黑斯廷斯(MH)代替,它是MCMC方法家族的一部分。这一系列方法的发明正是为了替代高维的拒绝抽样,通过从一个建议分布中获取多个样本,从一个可能复杂的概率分布中进行抽样。MH包括K从建议的分布(即生成器)中选择一个样本K根据接受规则,依次决定是接受当前样本还是保留之前选择的样本,如下图2所示:
![]() |
![]() |
| 图2:MHK在链中采样,并根据接受规则接受或拒绝每个样本。此链的输出是最后接受的样品。对于MH-GAN,K样本生成于G,独立链的输出为MH-GAN发生器的样本G’. |
MH-GAN的主要特点是可以用概率密度之比来计算接收概率
这是很容易从GAN的鉴别器的输出!从
作为当前样品,一个新的样品
是否接受当前的样品
的概率:

在哪里D鉴别器是评分吗
.
K是一个超参数,可以基于速度/保真度权衡进行选择。可以证明,对于一个完美鉴别器和asK→∞,这恢复了真实的数据分布。
MH-GAN的详细信息
我们想强调MH-GAN的三个重要细节:
- 独立样本:噪声样本是独立绘制的K遍历生成器生成MH选择器所应用的链。使用独立的链从MH-GAN的发生器中获得多个样本G’.
- 初始化:MH患有长时间的疾病是很常见的老化时间,即由于出发点不好,在接受一个样品之前,必须拒绝大量的样品。为了避免这种情况,我们特别注意如何初始化样本链。我们可以利用手头的真实数据示例,用随机选择的真实数据样本初始化每个链。如果链的下一段没有样本被接受,我们仍然可以通过重新从生成的样本中采样来确保没有来自真实数据的样本输出。注意,我们不需要一个实际的样本来初始化,只需要它的鉴别器分数。
- 校准:现实地说,我们不可能达到完美D,但由于我们的校准步骤,我们可能会放松这个假设。此外,完美鉴别器的假设并不像它看起来那么强。因为鉴别器只评估来自生成器的样本和初始真实样本,它只需要对来自生成器的样本和真实数据分布准确。这完全没有必要对于D在正常的GAN训练中,决策边界是正确的,但MH要求根据概率密度比对值进行良好校准,以获得正确的接受比。为了进行校准,我们使用一个持有集(训练数据的10%)与等张回归来调整鉴别器得分D.
一维和二维高斯结果
我们将MH-GAN和DRS与一个玩具示例进行比较,其中真实数据是四个高斯数据的单变量混合,以及生成器的密度
显示了缺失其中一种模式的常见GAN病理(下图3)。Whereas DRS without shift and MH-GAN are able to recover the missing mode, DRS with shift (the default setting used in that paper) cannot. However, DRS without shift increases the number of samples needed before a single accept by an order of magnitude.
二维高斯分布的5×5网格是一个流行的玩具示例现有文献.在下面的图4中,我们将来自真实数据的样本与来自基础GAN、DRS和MH-GAN在不同训练阶段的样本进行比较;所有方法都使用具有四个全连接层的神经网络,具有整流线性单元(ReLU)激活,隐藏层大小为100,噪声向量大小为2。从视觉上看,DRS是对基础GAN的改进,但它更接近基础GAN,而不是真实数据。MH-GAN能找到所有25种模式,在视觉上更接近真实样本。定量上,我们也表明MH-GAN具有较低的Jensen-Shannon散度比基础GAN和DRS都要高。
CIFAR-10和CelebA结果
为了在真实数据上进行测试,我们使用CIFAR-10和CelebADCGAN而且WGAN与梯度的惩罚.下面的图5中的表显示了《盗梦空间》成绩已校准的MH-GAN。
初始分数完全忽略真实数据,通过将生成的图像通过预训练(在ImageNet数据集上)传递来计算。《盗梦空间》分类器;它既测量网络对输入属于特定类的置信度,也测量预测的类的多样性。盗梦空间的得分是a有缺陷的度规但它的广泛应用有助于与其他工作进行比较。
校准的MH-GAN通常比其他的更好,但这并不适用于所有时代。一种可能的解释是,对于某些时期,鉴别器得分与理想鉴别器得分非常不同,使得接受概率不那么准确。
图5:CIFAR-10和CelebA的初始评分结果,比较有和没有校准的基础GAN、DRS和MH-GAN(越高越好)。该表结果是在epoch 60时取得的。
未来的工作
Metropolis-Hastings通用对抗网络(MH-GANs)是一种简单的改进GANs生成器的方法,它使用Metropolis-Hastings算法作为常规GAN训练的后处理步骤。在玩具和真实数据集上的结果表明,我们的MH-GAN比基础GANs和最近的鉴别拒验抽样方法具有更好的结果。我们的工作是在较小的数据集和网络上的概念证明,所以很明显,下一步将是将MH-GAN应用于用于最先进结果的较大数据集和网络。将我们的方法扩展到更大的数据集和GANs应该很简单——它只需要判别器分数和来自G!
此外,使用MCMC算法来改进GANs的想法可以扩展到MH之外的更有效的算法,如哈密顿蒙特卡洛算法。要了解更多细节和情节,请务必阅读我们的论文,并复制或扩展作品,请参阅我们的开源PyTorch实现.
如果你对这类研究感兴趣,雷竞技是骗人的申请Uber AI实验室的职位.








