变分推断及其应用:人工智能领域的理论基础

释放双眼,带上耳机,听听看~!
本文介绍了变分推断的基本概念、证据下界(ELBO)和其在人工智能领域的应用,是人工智能教程领域的重要知识。

本文正在参加 人工智能创作者扶持计划

变分推断是变分自编码器(Variational Auto Encoder, VAE)的理论基础。后者在人工智能领域有着广泛应用,如图像生成、协同过滤.

本文介绍变分推断的基本概念、证据下界(ELBO)、理论推导.

背景

  • 变分推断(Variational Inference, VI)主要用于解决大数据场景下的隐变量后验分布估计问题(在数据量较小时,可以使用MCMC方法)。给定一个数据集中的观测值XX和隐变量ZZ,隐变量ZZ会影响观测值XX的取值,即Z→XZto X。将ZZXX当作随机变量,我们希望求得对ZZ的后验分布p(Z∣X)p(Z|X)的估计,记作q(Z)q(Z)
  • 变分推断的本质是选取一个恰当的分布族Lmathcal{L},从该分布族中选取一个最好的q(Z)q(Z),使得q(Z)q(Z)p(Z∣X)p(Z|X)尽可能接近。

两个分布函数的距离度量

  • VI中使用KL散度(Kullback & Leibler divergence)度量q(Z)q(Z)p(Z∣X)p(Z|X)的相似性,即

KL(q(Z)∣∣p(Z∣X))=EZ[log⁡q(Z)p(Z∣X)]KL(q(Z)||p(Z|X)) = E_Zleft[logfrac{q(Z)}{p(Z|X)}right]

  • 那么最优的后验分布估计为:

q∗(Z)=arg⁡min⁡q(Z)∈LKL(q(Z)∣∣p(Z∣X))q^*(Z) = {argmin}_{q(Z)inmathcal{L}}KL(q(Z)||p(Z|X))

证据下界(ELBO)的引入

  • 然而上式中的p(Z∣X)p(Z|X)是难以计算的:

p(Z∣X)=p(Z,X)p(X)=p(Z,X)∫−∞+∞p(X∣Z)p(Z)dZp(Z|X) = frac{p(Z,X)}{p(X)}=frac{p(Z,X)}{int_{-infty}^{+infty}p(X|Z)p(Z)dZ}

  • 计算难点主要在于观测变量的边缘分布p(X)p(X)(也被称作证据(evidence))。如果隐变量维度很高,那么计算开销将非常大。为此,需要在KL(q(Z)∣∣p(Z∣X))KL(q(Z)||p(Z|X))动一些手脚:

KL(q(Z)∣∣p(Z∣X))=EZ[log⁡q(Z)p(Z∣X)]=EZ[log⁡q(Z)]−EZ[log⁡p(Z∣X)]=EZ[log⁡q(Z)]−EZ[log⁡p(Z,X)]+EZ[log⁡p(X)]=−ELBO(q)+EZ[log⁡p(X)]KL(q(Z)||p(Z|X)) = E_Zleft[logfrac{q(Z)}{p(Z|X)}right]\
= E_Z[log q(Z)] – E_Z[log p(Z|X)]\
= E_Z[log q(Z)] – E_Z[log p(Z,X)] + E_Z[log p(X)] \
= – ELBO(q) + E_Z[log p(X)]

  • 由上面的变换可知,由于KL(q(Z)∣∣p(Z∣X))KL(q(Z)||p(Z|X))取期望的对象是ZZ,这对于证据p(X)p(X)是没有关系的!因此我们只需要计算式中ELBO(q)ELBO(q),将其最大化,即能最小化KL(q(Z)∣∣p(Z∣X))KL(q(Z)||p(Z|X))

ELBO(q)=EZ[log⁡p(Z,X)]−EZ[log⁡q(Z)]ELBO(q) = E_Z[log p(Z,X)] – E_Z[log q(Z)]
q∗(Z)=arg⁡max⁡q(Z)∈LELBO(q)q^*(Z) = {argmax}_{q(Z)inmathcal{L}}ELBO(q)

ELBO的性质

  • 我们对ELBO做一些变换:

ELBO(q)=EZ[log⁡p(Z,X)]−EZ[log⁡q(Z)]=EZ[log⁡p(X∣Z)]+EZ[log⁡p(Z)]−EZ[log⁡q(Z)]=EZ[log⁡p(X∣Z)]−KL(q(Z)∣∣p(Z))ELBO(q) = E_Z[log p(Z,X)] – E_Z[log q(Z)] \
= E_Z[log p(X|Z)] + E_Z[log p(Z)] – E_Z[log q(Z)] \
= E_Z[log p(X|Z)] – KL(q(Z)||p(Z))

  • 可见ELBO由观测变量的后验分布隐变量估计分布与其先验分布的KL散度两部分组成(注意KL散度是非对称的)。因此最大化ELBO(q)ELBO(q)相当于同时做以下两件事:
    1. 最大化观测变量的后验分布对数期望
    2. 使隐变量估计分布与其先验分布尽量接近
    • 是不是有点贝叶斯推断的感觉了?
  • ELBO 的另一个性质来源于它的名字,即证据(的)下界:

log⁡p(X)=EZ[log⁡p(X)]=KL(q(Z)∣∣p(Z∣X))+ELBO(q)≥ELBO(q) log p(X) = E_Z[log p(X)] \
= KL(q(Z)||p(Z|X)) + ELBO(q) \
geq ELBO(q)

  • 关键点在于KL(⋅)≥0KL(cdot)geq 0。VI的目标是最大化ELBO,而ELBO最大不会超过log⁡p(X)log p(X)。个人认为这一结论说明,观测数据本身质量好坏决定了模型的拟合效果。因此数据在VI(乃至机器学习)中扮演极端重要的角色。

补充:KL(⋅)≥0KL(cdot)geq 0 的证明

  • 对于任意的两个概率密度函数p(x)p(x)q(x)q(x)

KL(q(x)∣∣p(x))=Eq(x)[log⁡q(x)p(x)]KL(q(x)||p(x)) = E_{q(x)}left[log frac{q(x)}{p(x)}right]

  • 证明的核心在于对log函数(凹函数)使用Jensen不等式。证明如下:

Eq(x)[log⁡q(x)p(x)]=−Eq(x)[log⁡p(x)q(x)] E_{q(x)}left[log frac{q(x)}{p(x)}right] = – E_{q(x)}left[log frac{p(x)}{q(x)}right]
≥−log⁡Eq(x)[p(x)q(x)](Jensen 不等式)geq -log E_{q(x)}left[frac{p(x)}{q(x)}right]quadtext{(Jensen 不等式)}
=−log⁡∫−∞+∞p(x)q(x)⋅q(x)dx= -logint_{-infty}^{+infty}frac{p(x)}{q(x)}cdot q(x) dx
=−log⁡∫−∞+∞p(x)q(x)⋅q(x)dx= -logint_{-infty}^{+infty}frac{p(x)}{q(x)}cdot q(x) dx
=−log⁡∫−∞+∞p(x)dx= -logint_{-infty}^{+infty}p(x)dx
=0(概率密度函数的归一化性质)= 0 quadtext{(概率密度函数的归一化性质)}

参考文献

[1] David M. Blei, Alp Kucukelbir, & Jon D. McAuliffe (2016). Variational Inference: A Review for Statisticians. CoRR, abs/1601.00670.

本文正在参加 人工智能创作者扶持计划

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

如何使用ChatGPT预设功能提升聊天体验

2023-12-8 22:01:14

AI教程

卷积神经网络:深度学习中的重要技术

2023-12-9 0:11:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索