Conjugate-Computation Variational Inference - Converting Variational Inference in Non-Conjugate Models to Inferences in Conjugate Models 1703.04265
摘要
在包含共轭项和非共轭项的模型中,变分推断在计算上具有挑战性。专门为共轭模型设计的方法,即使计算效率高,也难以处理非共轭项。另一方面,随机梯度方法可以处理非共轭项,但它们通常忽略模型的共轭结构,这可能导致收敛缓慢。在本文中,我们提出了一种称为共轭计算变分推理(CVI)的新算法,它结合了两个世界的优点——它对共轭项使用共轭计算,对其余部分使用随机梯度。我们通过在平均参数空间中使用随机镜像下降法,然后在共轭模型中将每个梯度步骤表示为一个变量推理,来导出这个算法。我们证明了我们的算法对一大类模型的适用性,并建立了它的收敛性。实验结果表明,我们的方法比忽略模型共轭结构的方法收敛得快得多。
1介绍
在本文中,我们致力于为既包含共轭项又包含非共轭项的模型设计有效的变量推理算法,例如高斯过程分类(Kuss和Rasmussen,2005)、相关主题模型(Blei和Lafferty,2007)、指数族概率PCA (Mohamed等人,2009)、大规模多类分类(Genkin等人,2007)、具有非高斯似然的卡尔曼滤波器(Rue和Held,2005)和深度指数族模型(Ranganath等人,2015)。这种模型被广泛应用于机器学习和统计学中,然而对它们进行变分推理在计算上仍然具有挑战性。
难点在于模型的非共轭部分。在传统的贝叶斯设置中,当先验分布与似然性共轭时,后验分布是封闭形式的,并且可以通过简单的计算获得。例如,在共轭指数族中,后验分布的计算可以通过简单地把充分的似然统计量加到先验的自然参数上来实现。在本文中,我们将这种计算称为共轭计算(下一节将给出一个例子)。
这些类型的共轭计算已广泛用于变分推理,主要是由于它们的计算效率。例如,由Winn和Bishop (2005)提出的变分消息传递(VMP)算法在消息传递框架内使用共轭计算。同样,随机变异推理(SVI)建立在VMP的基础上,并通过采用随机方法实现大规模推理(Hoffman等人,2013)。
不幸的是,当模型包含非共轭项时,这些方法的计算效率就丧失了。例如,随着算法的发展,VMP的消息失去了方便的指数族形式,变得更加复杂。可以使用非共轭项的其他近似值,例如Winn和Bishop (2005)以及Wang和Blei (2013)讨论的近似值,但是这种近似值通常会导致性能损失(Honkela和Valpola,2004;Khan,2012)。其他现有的替代方法,如Knowles和Minka (2011)的非共轭VMP方法和Minka (2001)的期望传播方法,也需要精心设计的求积方法来逼近非共轭项,并受到收敛问题和数值问题的困扰。
最近,许多随机梯度方法提出来处理这个问题(Ranganath等人,2014;萨利曼斯等人,2013年;Titsias和La zaro-Gredilla,2014年)。这些方法的一个优点是,它们可以作为一个黑盒,应用于各种各样的推理问题。然而,这些方法通常不直接利用共轭性,例如在随机梯度计算期间。这可能导致几个问题,例如,它们的更新可能依赖于变分分布的参数化,变分参数的数量可能太大,以及更新可能收敛缓慢。
在本文中,我们提出了一种算法,它将两个世界的优点结合在一起——它对非共轭项使用随机梯度,而对共轭项保留共轭计算的计算效率。我们称我们的方法为共轭计算变分推理(CVI)。我们的主要建议是在平均参数空间使用随机镜像下降法,这不同于许多现有的在自然参数空间使用随机梯度下降法的方法。与这些方法相比,我们的方法有一个天然的优势——我们方法中的梯度步骤可以通过使用共轭计算来实现。
我们在两类非共轭模型上演示了我们的方法。第一类包含可以分成共轭部分和非共轭部分的模型。对于这样的模型,我们的梯度步骤可以表示为共轭模型中的贝叶斯推断。第二类模型还允许条件共轭项。对于这个模型类,我们的梯度步骤可以写成一个信息传递算法,其中VMP或SVI用于共轭部分,而随机梯度用于其余部分。当模型是共轭的时,我们的算法方便地降低到VMP。
我们还证明了我们的算法的收敛性,并建立了它与许多现有方法的联系。我们将我们的算法应用于许多现有的模型,并证明我们的更新可以在共轭模型中使用变分推理来实现。在许多模型和数据集上的实验结果表明,我们的方法比忽略模型共轭结构的方法收敛得更快。复制本文结果的代码可从以下网址获得https://github.com/emtiyaz/cvi/。
。。。
4 Conjugate-Computation Variational Inference (CVI)
We now derive the CVI algorithm that uses stochastic gradients for the non-conjugate terms, while retaining the computational efficiency of conjugate computations for the conjugate terms. We will use a stochastic mirror-descent method in the mean-parameter space and show that its gradient steps can be implemented by using conjugate computations. This will fix the issues of stochastic-gradient methods but maintain the computational efficiency of conjugate computations.
。。。