【摘 要】 本文为变分推断方法的索引贴,按照变分推断方法发展的几个里程碑结点列出了相关经典文献。

1 综述类

Zhang 2018 年的 Advances in Variational Inference: 变分推断是概率模型中实现近似推断的主要方法之一,基于随机采样的 MCMC 方法在时间复杂度、空间复杂度和收敛可信度方面均不太适用于大型模型(如神经网络)和大规模数据集,而变分推断方法由于将 “估计分布的问题” 转换成了 “寻求具有最优参数的近似分布问题”,进而使推断速度得到了极大提升,而且能够和随机梯度等大样本量结合,是神经网络中寻求不确定性解常用的一种方法。本文介绍了变分推断的核心思想,并概述了迄今为止最主要的变分推断方法。

2 历久弥新的变分推断 – 平均场变分推断

平均场(MeanField )变分推断:可参考 Blei 2017 年的 《Variational Inference: A Review for Statisticians》一文,更深入的论文参考 Wainwright 2008 年的 《Graphical models, exponential families, and variational inference》一文。

3 适应对大数据的变分推断 – 随机变分推断

Hoffman 2013 年的 随机变分推断: 传统变分推断方法在遇到大规模数据集时缺乏可扩展的算法支撑。本文提出了一种支持小批量随机变分推断的框架。对几个大型文档数据集的应用结果表明,随机变分推断可以轻松处理海量数据集的变分推断问题,并且优于只能处理较小数据集的传统变分推断。

Johnson 2013 年的 使用预测方差削减加速随机梯度下降: 针对小批量随机梯度下降方法中方差过大造成的迭代周期过长问题,提出了一种使用预测方差削减策略加速梯度下降的方法。

4 提升变分推断的通用性 – 黑盒变分推断

Ranganath 2014 年的 黑盒变分推断: 变分推断已经成为一种广泛使用的方法,用于近似隐变量的复杂后验分布。 然而,传统方法推导出一个变分推断算法需要进行大量的特定模型分析。这可能会阻碍我们快速开发和探索解决问题的模型。本文中提出了一种黑盒变分推断算法,该算法可以快速应用于许多模型,几乎不需要额外的推导。我们采用的方法是基于变分目标做随机优化,其中噪声梯度由变分分布的蒙特卡洛样本计算得出,进而避免了对梯度解析形式的推导。考虑到随机优化存在方差变大的问题, 我们同时开发了一些减少梯度方差的方法,并始终保持了避免推导的简易性。我们将本方法与相应的黑盒采样方法进行对比评估,发现本方法相比于采样方法,能更快达到较好的预测似然。最后,通过快速构建和评估医疗数据中的几个模型,我们证明了黑盒变分推断法可以轻松探索更为广阔的模型空间。

5 实现变分推断的自动化 – 自动微分变分推断

Kucukelbir 2016 年的 自动微分变分推断: 概率建模是迭代进行的。科学家假设一个简单模型,将其拟合到数据中,根据分析对其进行改进,然后迭代。然而,将复杂模型拟合到大数据是其中的一个瓶颈。为新模型推导算法在数学和计算上都具有挑战性,这造成很难有效地循环地执行这些步骤。为此,本文开发了自动微分变分推断 (ADVI)。使用我们的方法,科学家只提供一个概率模型和一个数据集,没有别的要求。ADVI 会自动推导出一个有效的变分推断算法,让科学家有时间提炼和探索更多模型。ADVI 不需要共轭先验假设,能够支持更广泛的模型。ADVI 已经被集成到 Stan 概率编程系统中,可以很容易地使用。

6 提高变分推断精度 – 更紧致的变分界

Domke 2018 年的 重要性加权变分推断方法: 借鉴已有研究工作通过重要性采样来确定紧致变分似然界的思路,本文阐明了该想法对纯概率推断的适用性,展示了重要性加权变分推断技术作为一种增强的变分推断方法,能够识别以往工作成果中变分界的松散性。实验证实了重要性加权变分推断在概率推断方面的实用性。

7 摊销式变分推断与深度学习

(1)摊销变分推断用于高斯隐变量模型

Damianou 等 2013 年的 《深度高斯过程》:首次提出通过堆叠多个高斯过程学习一个复杂过程,由于每一层的输出都可以被视为下一层的隐变量,因此是典型的隐变量模型。作者为了实现推断,在其中使用了摊销变分推断策略。

Dai 等 2016 年的 《变分自编码深度高斯过程》:利用变分自编码器实现对高斯过程的变分推断。

(2)用神经网络实现摊销变分推断

Kingma 等 2013 年的《自编码器变分贝叶斯》: 首次提出变分自编码器的概念,神经网络生成模型的扛鼎之作。

Kingma 等 2019 年的 《An Introduction to Variational Autoencoders》: 最权威的一篇变分自编码器综述。

(3)其他扩展

主要集中在深度神经网络领域,如归一化流、重要性加权变分自编码器等。应该说,摊销变分推断已经称为神经网络中实现变分推断的主要技术手段。Kingma 等 2019 年的 《An Introduction to Variational Autoencoders》 一文中有比较全面的叙述。