[论文解读] Stein Variational Gradient Descent: A General Purpose Bayesian Inference Algorithm
SVGD 通过在 RKHS 的泛函梯度下降,将一组粒子传输到目标分布,提供一种通用的变分推断方法,在只有一个粒子时可收敛到 MAP。
We propose a general purpose variational inference algorithm that forms a natural counterpart of gradient descent for optimization. Our method iteratively transports a set of particles to match the target distribution, by applying a form of functional gradient descent that minimizes the KL divergence. Empirical studies are performed on various real world models and datasets, on which our method is competitive with existing state-of-the-art methods. The derivation of our method is based on a new theoretical result that connects the derivative of KL divergence under smooth transforms with Stein's identity and a recently proposed kernelized Stein discrepancy, which is of independent interest.
研究动机与目标
- 需要一个通用、易于使用的变分推断工具,能够处理多样的模型和大型数据集。
- 开发一个基于粒子的变分框架,在不需要显式归一化常数的情况下优化 KL 散度。
- 使用核化的 Stein 不一致性和 RKHS 推导一个闭式的最优扰动方向。
- 提供一个可实现的算法,镜像梯度下降并且超越特定模型的 VI 方法的可扩展性。
提出的方法
- 将变分族表示为来自参考分布的变换样本 z=T(x)。
- 使用小扰动 T(x)=x+εφ(x) 并应用 Stein 的恒等式将 KL 导数与 Stein 运算符联系起来。
- 定义核化的 Stein 不一致性 (KSD) 以在 RKHS 中获得闭式的最优扰动 φ*。
- 推导出最陡下降方向 φ* 是 φ*_{q,p}(·)=E_{x~q}[k(x,·)∇_x log p(x)+∇_x k(x,·)]。
- 提供实际的 SVGD 更新 x_i^{ℓ+1} = x_i^ℓ + ε_ℓ φ̂^*(x_i^ℓ) 其中 φ̂^*(x) 由粒子估计。
- 讨论计算方面的考虑,包括对 ∇_x log p 的小批量处理和核矩阵的处理。
实验结果
研究问题
- RQ1如何在不计算归一化常数 Z 的情况下通过平滑变换最小化 KL 散度?
- RQ2在 RKHS 中对给定当前分布实现最陡下降的最优扰动方向是什么?
- RQ3一个简单、通用的基于粒子的变分方法是否能够在多种贝叶斯模型上实现有竞争力的性能?
- RQ4使用单粒子时 SVGD 与 MAP 的关系是怎样的;当粒子增多时又如何扩展?
- RQ5在大数据集上实现 SVGD 的实际考量(带宽、批处理、效率)有哪些?
主要发现
- 所提出的算法在 toy 和实际模型上与现有最先进方法相比表现具有竞争力。
- 单粒子时,SVGD 退化为对 MAP 的梯度上升,说明其具有超越传统 VI 的一般性。
- 粒子更新将向高概率区域的光滑梯度与保持多样性的排斥项相结合。
- 核化的 Stein 不一致性在 RKHS 单位球内提供了一个有原理支撑的闭式方向,用于最陡 KL 下降。
- 通过小批量梯度估计和并行粒子更新实现高效,使 SVGD 能扩展到大数据集。
- SVGD 的代码在作者的代码仓库公开可用。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。