乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

18.6 噪声对比估计

书籍名:《深度学习》    作者:伊恩.古德费洛



具有难求解的配分函数的大多数模型估计都没有估计配分函数。SML和CD只估计对数配分函数的梯度,而不是估计配分函数本身。得分匹配和伪似然避免了和配分函数相关的计算。

噪声对比估计(noise-contrastive  estimation,NCE)(Gutmann  and  Hyvarinen,2010)采取了一种不同的策略。在这种方法中,模型估计的概率分布被明确表示为

其中c是−log  Z(θ)的近似。噪声对比估计过程将c视为另一参数,使用相同的算法同时估计θ和c,而不是仅仅估计θ。因此,所得到的log  pmodel(x)可能并不完全对应有效的概率分布,但随着c估计的改进,它将变得越来越接近有效值(1)。

这种方法不可能使用最大似然作为估计的标准。最大似然标准可以设置c为任意大的值,而不是设置c以创建一个有效的概率分布。

NCE将估计p(x)的无监督学习问题转化为学习一个概率二元分类器,其中一个类别对应模型生成的数据。该监督学习问题中的最大似然估计定义了原始问题的渐近一致估计。

具体地说,我们引入第二个分布,噪声分布(noise  distribution)pnoise(x)。噪声分布应该易于估计和从中采样。我们现在可以构造一个联合x和新二值变量y的模型。在新的联合模型中,我们指定



换言之,y是一个决定我们从模型还是从噪声分布中生成x的开关变量。

我们可以在训练数据上构造一个类似的联合模型。在这种情况下,开关变量决定是从数据还是从噪声分布中抽取x。正式地,,ptrain(x|y=1)=pdata(x),和ptrain(x|y=0)=pnoise(x)。

现在我们可以应用标准的最大似然学习拟合pjoint到ptrain的监督学习问题:

分布pjoint本质上是将逻辑回归模型应用于模型和噪声分布之间的对数概率之差:

因此,只要易于反向传播,并且如上所述,pnoise应易于估计(以便评估pjoint)和采样(以生成训练数据),那么NCE就易于使用。

NCE能够非常成功地应用于随机变量较少的问题,但即使随机变量有很多可以取的值时,它也很有效。例如,它已经成功地应用于给定单词上下文建模单词的条件分布(Mnih  and  Kavukcuoglu,2013)。虽然单词可以采样自一个很大的词汇表,但是只能采样一个单词。

当NCE应用于具有许多随机变量的问题时,其效率会变得较低。当逻辑回归分类器发现某个变量的取值不大可能时,它会拒绝这个噪声样本。这意味着在pmodel学习了基本的边缘统计之后,学习进程会大大减慢。想象一个使用非结构化高斯噪声作为pnoise来学习面部图像的模型。如果pmodel学会了眼睛,就算没有学习任何其他面部特征,比如嘴,它也会拒绝几乎所有的非结构化噪声样本。

噪声分布pnoise必须是易于估计和采样的约束可能是过于严格的限制。当pnoise比较简单时,大多数采样可能与数据有着明显不同,而不会迫使pmodel进行显著改进。

类似于得分匹配和伪似然,如果只有下界,那么NCE不会有效。这样的下界能够用于构建pjoint(y=1|x)的下界,但是它只能用于构建pjoint(y=0|x)(出现在一半的NCE对象中)的上界。同样地,pnoise的下界也没有用,因为它只提供了pjoint(y=1|x)的上界。

在每个梯度步骤之前,模型分布被复制来定义新的噪声分布时,NCE定义了一个被称为自对比估计(self-contrastive  estimation)的过程,其梯度期望等价于最大似然的梯度期望(Goodfellow,2014)。特殊情况的NCE(噪声采样由模型生成)表明,最大似然可以被解释为使模型不断学习以将现实与自身发展的信念区分的过程,而噪声对比估计通过让模型区分现实和固定的基准(噪声模型),我们降低了计算成本。

在训练样本和生成样本(使用模型能量函数定义分类器)之间进行分类以得到模型的梯度的方法,已经在更早的时候以各种形式提出来(Welling  et  al.,2003b;Bengio,2009)。

噪声对比估计是基于良好生成模型应该能够区分数据和噪声的想法。一个密切相关的想法是,良好的生成模型能够生成分类器无法将其与数据区分的样本。这个想法诞生了生成式对抗网络(第20.10.4节)。