伽马分布的重新参数化技巧

机器算法验证 自动编码器 变分贝叶斯
2022-04-02 15:48:14

我正在阅读Welling 关于变分自动编码器 (VAE)的工作,想知道是否有任何方法可以通过类似的重新参数化来生成 Gamma 分布的样本?

重新参数化的想法非常简单。从特定分布中生成样本,即zN(μ,σ),我们从另一个分布中生成样本,即ϵN(0,1),然后将其转换为来自所需分布的真实样本,即通过z=μ+σ×ϵ. 这在 VAE 框架中有一些很好的结果,即减少了梯度的方差(这里不是很重要)。

我基本上想知道伽玛分布是否存在这种转换。

2个回答

答案在某种意义上是“是”,在另一种意义上是“否”。

认为XGamma(α,β). Fα,β表示 Gamma 分布的 cdf。然后定义ϵ=Φ1[Fα,β(X)]. 那么如果你模拟ϵN(0,1)您可以通过设置获得相关的伽马分布X=Fα,β1[Φ(ϵ)]. 这是概率积分变换的结果。此外,变换T(ϵ;α,β)=Fα,β1[Φ(ϵ)]是可微的。因此,至少在原则上,您可以将此想法与重新参数化技巧一起使用,以改进您的随机变分推理。这意味着,从广义上讲,答案是“是的,有一个重新参数化技巧”,事实上,基本上任何连续分布族都有一个。如果这看起来有点特别,请注意,如果您将这个技巧与高斯族代替 gamma 一起应用,您将完全恢复通常的重新参数化技巧。

在更严格的意义上,我会说答案是“不”。功能F1以上不适用于封闭形式,因此事情不太方便,以至于我们可能会取消这种方法的资格。或者,没有理由将自己限制在ϵN(0,1),我们可能只是要求ϵQ对于一些标准分布Q很容易从中采样,这样T(ϵ;α,β)Gamma(α,β)在哪里T也很容易计算。

如果你发现这样的转变T和标准分布Q,让我知道,因为我会对它感兴趣。主要问题是形状参数α. 如果我知道α,那么我可以采取T(ϵ;α,β)=ϵβ并设置ϵGamma(α,1), 因为 gamma 家族知道α是一个规模家庭。据我所知,形状参数没有任何好的代数性质,除了X1+X2Gamma(α1+α2,1)前提是XiGamma(αi,1)他们是独立的。目前尚不清楚如何利用这一点。对我们来说,一个负面的结果是,如果这样方便T存在,那么 R 可能会使用它从通用 gamma 分布中采样,但它使用拒绝采样。

就 VAE 论文中的策略而言,没有使用伽马分布的简单方法(正如家伙解释的那样)。但是,有很多研究涉及重新参数化 gamma 以在 VAE 类型框架中使用的其他策略:

您也可以使用 BBVI(这是 Blei 实验室的原始论文http://www.cs.columbia.edu/~blei/papers/RanganathGerrishBlei2014.pdf),如本教程所示http://ajbc.io/resources/bbvi_for_gammas .pdf