乐读窝

深度学习

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

17.2 重要采样

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



如方程(17.2)所示,在蒙特卡罗方法中,对积分(或者和)分解,确定积分中哪一部分作为概率分布p(x)以及哪一部分作为被积的函数f(x)(我们感兴趣的是估计f(x)在概率分布p(x)下的期望)是很关键的一步。p(x)f(x)不存在唯一的分解,因为它总是可以被写成

在这里,我们从q分布中采样,然后估计在此分布下的均值。许多情况中,我们希望在给定p和f的情况下计算某个期望,这个问题既然是求期望,那么很自然地p和f是一种分解选择。然而,如果考虑达到某给定精度所需要的样本数量,这个问题最初的分解选择不是最优的选择。幸运的是,最优的选择q∗可以被简单地推导出来。这种最优的采样函数q∗对应所谓的最优重要采样。

从式(17.8)所示的关系中可以发现,任意蒙特卡罗估计

可以被转化为一个重要采样的估计

我们可以容易地发现估计的期望与q分布无关:

然而,重要采样的方差可能对q的选择非常敏感。这个方差可以表示为

方差想要取到最小值,q需要满足

在这里Z表示归一化常数,选择适当的Z使得q∗(x)之和或者积分为1。一个更好的重要采样分布会把更多的权重放在被积函数较大的地方。事实上,当f(x)的正负符号不变时,,这意味着当使用最优的q分布时,只需要一个样本就足够了。当然,这仅仅是因为计算q∗时已经解决了原问题。所以在实践中这种只需要采样一个样本的方法往往是无法实现的。

对于重要采样来说,任意q分布都是可行的(从得到一个期望上正确的值的角度来说),q∗指的是最优的q分布(从得到最小方差的角度上考虑)。从q∗中采样往往是不可行的,但是其他仍然能降低方差的q的选择还是可行的。

另一种方法是采用有偏重要采样(biased  importance  sampling),这种方法有一个优势,即不需要归一化的p或q分布。在处理离散变量时,有偏重要采样估计可以表示为

其中和分别是分布p和q的未经归一化的形式,x(i)是从分布q中抽取的样本。这种估计是有偏的,因为,只有当n→∞且方程式(17.14)的分母收敛到1时,等式才渐近地成立。所以这一估计也被称为渐近无偏的。

一个好的q分布的选择可以显著地提高蒙特卡罗估计的效率,而一个糟糕的q分布选择则会使效率更糟糕。我们回过头来看看方程式(17.12)会发现,如果存在一个q使得很大,那么这个估计的方差也会很大。当q(x)很小,而f(x)和p(x)都较大并且无法抵消q时,这种情况会非常明显。q分布经常会取一些简单常用的分布使得我们能够从q分布中容易地采样。当x是高维数据时,q分布的简单性使得它很难与p或者p|f|相匹配。当时,重要采样采到了很多无用的样本(很小的数或零相加)。另一种相对少见的情况是,相应的比值会非常大。正因为后一个事件是很少发生的,这种样本很难被采到,通常使得对s的估计出现了典型的欠估计,很难被整体的过估计抵消。这样的不均匀情况在高维数据屡见不鲜,因为在高维度分布中联合分布的动态域可能非常大。

尽管存在上述的风险,但是重要采样及其变种在机器学习的应用中仍然扮演着重要的角色,包括深度学习算法。例如,重要采样被应用于加速训练具有大规模词表的神经网络语言模型的过程中(见第12.4.3.3节)或者其他有着大量输出结点的神经网络中。此外,还可以看到重要采样应用于估计配分函数(一个概率分布的归一化常数),详见第18.7节,以及在深度有向图模型比如变分自编码器中估计对数似然(详见第20.10.3节)。采用随机梯度下降训练模型参数时重要采样可以用来改进对代价函数梯度的估计,尤其是分类器这样的模型,其中代价函数的大部分代价来自少量错误分类的样本。在这种情况下,更加频繁地抽取这些困难的样本可以减小梯度估计的方差(Hinton  et  al.,2006a)。