基于近似計(jì)算解決推斷問(wèn)題——變分推斷(一)

利用近似計(jì)算來(lái)解決難計(jì)算的概率密度估計(jì)赵哲,是現(xiàn)代統(tǒng)計(jì)學(xué)中的一個(gè)慣用手段。這一方法在貝葉斯推斷統(tǒng)計(jì)中尤為重要,以為貝葉斯統(tǒng)計(jì)將所有關(guān)于未知量的推斷都構(gòu)建為涉及后驗(yàn)概率的計(jì)算。而我們今天要分享的內(nèi)容敦迄,就是一個(gè)經(jīng)典的近似推斷方法,其名為變分推斷(variational inference凭迹,VI)罚屋。

本文主要參考的文獻(xiàn)為David M.Blei 2018發(fā)表的論文 Variational Inference: A Review for Statisticians 。該論文是關(guān)于變分推斷的綜述性論文嗅绸,主要回顧了變分推斷的主要思想:先假定一個(gè)分布族脾猛,并基于 KL 散度(Kullback-Leibler divergence)為指標(biāo),找到其中最接近目標(biāo)的分布鱼鸠;論文還回顧了基于平均場(chǎng)的變分推斷思想(mean-field variational)猛拴,基于指數(shù)族分布(exponential family models)的特殊情況羹铅,以及列舉了高斯貝葉斯混合(Bayesian mixture of Gaussians)的例子。

下面愉昆,讓我們對(duì)這篇論文的內(nèi)容逐一進(jìn)行解剖职员。

我們要解決什么問(wèn)題?

明確我們的目標(biāo)是什么跛溉,才能更好地解決問(wèn)題焊切。因此,為了更好地描述變分推斷芳室,我們首先需要先明確专肪,我們的問(wèn)題是什么?

思考這樣一個(gè)問(wèn)題堪侯,假設(shè)我們現(xiàn)在有隱變量 \boldsymbol z=z_{1:m} 和觀測(cè)變量 \boldsymbol x=x_{1:n} 嚎尤,思考它們的聯(lián)合分布
p(\boldsymbol z,\boldsymbol x)=p(\boldsymbol z)p(\boldsymbol x|\boldsymbol z)
在貝葉斯模型中,隱變量有助于控制數(shù)據(jù)分布抖格,貝葉斯模型首先從隱變量 \boldsymbol z 中獲得其先驗(yàn)分布 p(\boldsymbol z) 诺苹,并利用似然 p(\boldsymbol x|\boldsymbol z) 來(lái)獲得觀測(cè)數(shù)據(jù) \boldsymbol x 。而貝葉斯推斷的任務(wù)則是對(duì)觀測(cè)數(shù)據(jù)進(jìn)行控制雹拄,從而計(jì)算后驗(yàn) p(\boldsymbol z|\boldsymbol x) 收奔。

而這一的推斷有時(shí)是難以計(jì)算的,所以就需要用到近似推斷滓玖。接下來(lái)要講的近似推斷方法主要是馬爾科夫鏈馬爾可夫(Markov chain Monte Carlo坪哄,MCMC)和變分推斷

基于 MCMC 的近似推斷

馬爾科夫鏈馬爾可夫(MCMC)是近似推斷的經(jīng)典方法势篡,是現(xiàn)代貝葉斯統(tǒng)計(jì)不可或缺的工具翩肌。

MCMC 的主要步驟如下:

  1. 構(gòu)建一個(gè)關(guān)于 \boldsymbol z 的遍歷馬爾可夫鏈,其后驗(yàn)為 p(\boldsymbol z|\boldsymbol x)禁悠;
  2. 從馬爾科夫鏈中采樣念祭,以獲得穩(wěn)定分布的數(shù)據(jù)樣本;
  3. 基于收集到的樣本碍侦,構(gòu)建經(jīng)驗(yàn)估計(jì)(empirical estimate)來(lái)近似后驗(yàn)粱坤。

隨著采樣數(shù)據(jù)容量的增大, MCMC 模型的精度將會(huì)提高瓷产,所以在采樣數(shù)據(jù)合適的情況下站玄, MCMC 采樣能夠提供較高的精度。但其弊端也很明顯濒旦,由于需要進(jìn)行采樣株旷, MCMC 的計(jì)算速度成為其瓶頸。

主要文獻(xiàn):

MCMC sampling has evolved into an indispensable tool to the modern Bayesian statistician. Landmark developments include the Metropolis-Hastings algorithm (Metropolis et al., 1953; Hastings, 1970), the Gibbs sampler (Geman and Geman, 1984) and its application to Bayesian statistics (Gelfand and Smith, 1990). MCMC algorithms are under active investigation. They have been widely studied, extended, and applied; see Robert and Casella (2004) for a perspective.

基于 VI 的近似推斷

所以尔邓,既然 MCMC 有這樣的問(wèn)題晾剖,有沒(méi)有什么辦法可以解決這一問(wèn)題呢锉矢?

變分推斷(VI)為解決這一問(wèn)題,提供了思路齿尽。 VI 的主要思想是基于 KL 散度沈撞,利用一個(gè)分布 q(\boldsymbol z) 去近似后驗(yàn) q(\boldsymbol z|\boldsymbol x) ,將近似推斷問(wèn)題轉(zhuǎn)換為優(yōu)化問(wèn)題雕什,一定程度上能夠提高算法的性能。主要步驟是:

  1. 假定一個(gè)近似分布族 \scr Q 显晶,作為隱變量分布的候選集贷岸;

  2. 從分布族中選擇合適的分布,最小化 KL 散度磷雇;
    q^*(\boldsymbol z)=\arg\min_{q(\boldsymbol z)\in\scr Q}KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))\tag{1}

  3. 通過(guò)最優(yōu)的分布 q^*(\boldsymbol z) 來(lái)近似后驗(yàn)偿警。

變分推斷將推斷問(wèn)題轉(zhuǎn)換為優(yōu)化問(wèn)題,而優(yōu)化問(wèn)題的計(jì)算復(fù)雜性取決于我們選擇的分布族 \mathscr Q 唯笙。因此螟蒸,解決變分推斷問(wèn)題的一個(gè)重點(diǎn)是選擇一個(gè)既能靈活近似 p(\boldsymbol z|\boldsymbol x) 、又易于優(yōu)化的近似分布族崩掘。

VI 與 MCMC 的比較

VI 與 MCMC 基于不同的思想解決推斷問(wèn)題七嫌。 MCMC 基于馬爾科夫鏈采樣來(lái)近似后驗(yàn),而 VI 則是基于 KL 散度將問(wèn)題轉(zhuǎn)化為優(yōu)化問(wèn)題來(lái)近似后驗(yàn)苞慢。這兩種方法各有優(yōu)劣:

  • MCMC 相比于 VI 需要更多的計(jì)算诵原,但隨著采樣次數(shù)增加, MCMC 能為精度提供保證挽放。
  • VI 無(wú)法提供精度的保證绍赛,但速度快于 MCMC ,且 VI 解決的是優(yōu)化問(wèn)題辑畦,所以能夠發(fā)揮隨即優(yōu)化算法和分布式優(yōu)化的優(yōu)勢(shì)

所以吗蚌, VI 更使用于大規(guī)模數(shù)據(jù)、需要快速訓(xùn)練模型的場(chǎng)景纯出, MCMC 使用于小規(guī)模數(shù)據(jù)蚯妇、但我們需要用計(jì)算代價(jià)換取精度的情況。

除了數(shù)據(jù)集規(guī)模潦刃,另一個(gè)值得思考的因素是后驗(yàn)分布的幾何特性侮措。如,當(dāng)后驗(yàn)為多種模式的混合模型乖杠,每個(gè)對(duì)應(yīng)的標(biāo)簽排列的組件分扎。對(duì)于 Gibbs sampling 來(lái)說(shuō),它能專(zhuān)注于目標(biāo)的一個(gè)模型胧洒,但在應(yīng)對(duì)混合模型時(shí)畏吓,就顯得力不從心了墨状,而 VI 在混合模型的表現(xiàn)明顯比 MCMC 好得多。

變分推斷的相關(guān)研究:

The development of variational techniques for Bayesian inference followed two parallel, yet separate, tracks. Peterson and Anderson (1987) is arguably the first variational procedure for a particular model: a neural network. This paper, along with insights from statistical mechanics (Parisi, 1988), led to a flurry of variational inference procedures for a wide class of models (Saul et al., 1996; Jaakkola and Jordan, 1996, 1997; Ghahramani and Jordan, 1997; Jordan et al., 1999). In parallel, Hinton and Van Camp (1993) proposed a variational algorithm for a similar neural network model. Neal and Hinton (1999) (first published in 1993) made important connections to the expectation maximization (EM) algorithm (Dempster et al., 1977), which then led to a variety of variational inference algorithms for other types of models (Waterhouse et al., 1996; MacKay, 1997).

變分推斷(VI)具體怎么做菲饼?

變分推斷(VI)的主要目標(biāo)是近似給定觀測(cè)數(shù)據(jù)時(shí)肾砂,隱變量的條件分布 p(\boldsymbol z|\boldsymbol x) ,主要做法時(shí)基于 KL 散度找到一個(gè)近似的分布 q(\boldsymbol z) 宏悦。

近似推斷問(wèn)題

回顧近似推斷問(wèn)題

回顧一下前面近似對(duì)端的問(wèn)題镐确,假設(shè)又觀測(cè)變量集 \boldsymbol x=x_{1:n} 和隱變量集合 \boldsymbol z=z_{1:m} ,它們的聯(lián)合分布為 p(\boldsymbol z,\boldsymbol x) 饼煞。

推斷問(wèn)題的主要任務(wù)時(shí)計(jì)算給定觀測(cè)數(shù)據(jù)時(shí)源葫,隱變量的條件分布 p(\boldsymbol z|\boldsymbol x) ,這個(gè)條件分布可以用來(lái)產(chǎn)生潛在變量的點(diǎn)或區(qū)間估計(jì)砖瞧,形成新數(shù)據(jù)的預(yù)測(cè)密度息堂,等等。

我們可以將條件分布寫(xiě)作
p(\boldsymbol z|\boldsymbol x)=\frac{p(\boldsymbol z,\boldsymbol x)}{p(\boldsymbol x)}\tag{2}
這一公式的分母為觀測(cè)數(shù)據(jù) \boldsymbol x 的邊緣分布块促,通稱為證據(jù)(evidence)荣堰,可以由邊緣化隱變量 \boldsymbol z 來(lái)獲得
p(\boldsymbol x)=\int p(\boldsymbol z,\boldsymbol x)d\boldsymbol z\tag{3}
對(duì)于大多數(shù)模型,這個(gè)證據(jù)積分是不可用的封閉形式或需要指數(shù)時(shí)間來(lái)計(jì)算竭翠。

注意振坚,我們將所有未知的興趣量都表示為潛在隨機(jī)變量,其中包括可能控制所有數(shù)據(jù)的參數(shù)逃片,如在貝葉斯模型中發(fā)現(xiàn)的(global variable)屡拨,以及對(duì)單個(gè)數(shù)據(jù)點(diǎn)“局部”的潛在變量(lacal variable)。

高斯貝葉斯混合模型(Bayesian mixture of Gaussians)

思考關(guān)于單位方差單變量高斯的貝葉斯混合(Bayesian mixture of unit-variance univariate Gaussians)

現(xiàn)有 K 個(gè)混合組件褥实,對(duì)應(yīng) K 個(gè)均值為 \boldsymbol \mu=\{\mu_1,\dots,\mu_K\} 的高斯分布呀狼。均值參數(shù)由公共分布 p(\mu_k 獨(dú)立采樣得到,公共分布為高斯分布 \mathcal N(0,\sigma^2) 损离,其中 \sigma^2 為超參數(shù)哥艇。(全局參數(shù))

為了由模型生成觀測(cè)數(shù)據(jù) x_i ,我們首先選擇一個(gè)聚類(lèi)分配 c_i 僻澎,它表示 x_i 的隱聚類(lèi)來(lái)自 \{1,\dots,K\} 的哪個(gè)分類(lèi)分布貌踏。( c_i 是一個(gè) K 維向量,除了 x_i 所屬的聚類(lèi)為 1 窟勃,其他值均為 0)所以我們由高斯分布 \mathcal N(c_i^T\boldsymbol\mu,\boldsymbol 1) 獲得數(shù)據(jù) x_i祖乳。(局部參數(shù))

完整的層次模型可以表示為
\begin{aligned} \mu_k&\sim\mathcal N(0,\sigma^2),&k=1,\dots,K\\ c_i&\sim Categorical(\frac1K,\dots,\frac1K),&i=1,\dots,n\\ x_i|c_i,\boldsymbol\mu&\sim\mathcal N(c_i^T\boldsymbol\mu,\boldsymbol1),&i=1,\dots,n \end{aligned}
當(dāng)樣本量為 n ,隱變量和觀測(cè)變量的聯(lián)合分布為
p(\boldsymbol\mu,\boldsymbol c,\boldsymbol x)=p(\boldsymbol\mu)\prod^n_{i=1}p(c_i)p(x_i|c_i,\boldsymbol\mu)\tag{7}
隱變量為 \boldsymbol z=\{\boldsymbol\mu,\boldsymbol c\} 秉氧,包含 K 個(gè)類(lèi)均值和 n 個(gè)配分參數(shù)眷昆。

證據(jù)可以化為聯(lián)合分布的積分的形式
p(\boldsymbol x)=\int p(\boldsymbol\mu)\prod^n_{i=1}\sum_{c_i}p(c_i)p(x_i|c_i,\boldsymbol\mu)d\boldsymbol\mu\tag{8}
公式(8)中的積分函數(shù)并不包含每個(gè) \mu_k 的單獨(dú)因子。而事實(shí)上,每個(gè) \mu_k 出現(xiàn)在積分中的所有 n 個(gè)因子亚斋。因此作媚,公式(8)中的積分不化簡(jiǎn)為一維積分在 \mu_k's 上的連乘。數(shù)值計(jì)算 k 維積分的時(shí)間復(fù)雜度為 \mathscr O(K^n) 帅刊。

如果我們?cè)诠剑?)中纸泡,將連乘因子除以加和因子,可以將證據(jù)轉(zhuǎn)換為在所有聚類(lèi)配分 \boldsymbol c 的加和
p(\boldsymbol x)=\sum_{\boldsymbol c}p(\boldsymbol c)\int p(\boldsymbol\mu)\prod^n_{i=1}p(x_i|c_i,\boldsymbol \mu)d\boldsymbol\mu\tag{9}
以為高斯后驗(yàn)和高斯似然的共軛性赖瞒,這里的每個(gè)獨(dú)立積分都是可計(jì)算的女揭。但由于積分的數(shù)量為 K^n 個(gè),每個(gè)對(duì)應(yīng)于每個(gè)聚類(lèi)配分的一個(gè)配置栏饮。所以其計(jì)算量于 K 而言是指數(shù)級(jí)的

證據(jù)下界(ELBO)

在變分推斷中田绑,我們選取了一個(gè)分布組 \scr {Q} 作為隱變量分布的候選集,我們的目標(biāo)是找到最優(yōu)的候選集抡爹,使得和目標(biāo)分布的 KL 散度最小,從而將問(wèn)題轉(zhuǎn)換為最優(yōu)化問(wèn)題
q^*(\boldsymbol z)=\arg\min_{q(\boldsymbol z)\in\mathscr {Q}}KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))\tag{10}
看起來(lái)好像把問(wèn)題變簡(jiǎn)單了芒划,但仔細(xì)一看冬竟,你會(huì)發(fā)現(xiàn),問(wèn)題好像還是沒(méi)有得到解決——這個(gè)目標(biāo)函數(shù)是難以計(jì)算的民逼,因?yàn)檫@個(gè)目標(biāo)函數(shù)的計(jì)算要求計(jì)算公式(3)中證據(jù)的對(duì)數(shù) \log p(\boldsymbol x) 泵殴。

讓我們回顧一下 KL 散度
KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))=\mathbb E[\log q(\boldsymbol z)]-\mathbb E[\log p(\boldsymbol z|\boldsymbol x)]\tag{11}
將公式展開(kāi),我們會(huì)得到
KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))=\mathbb E[\log q(\boldsymbol z)]-\mathbb E[\log p(\boldsymbol z,\boldsymbol x)]+\log p(\boldsymbol x)\tag{12}
可見(jiàn)拼苍,KL 散度的計(jì)算依賴于 \log p(\boldsymbol x) 笑诅,這樣 KL 散度就變得難以計(jì)算。

所以疮鲫,為了使得計(jì)算可行吆你,我們?cè)诠剑?2)對(duì) KL 散度進(jìn)行變化,得到證據(jù)下界(the Evidence Lower BOund俊犯,ELBO)
ELBO(q)=\mathbb E[\log q(\boldsymbol z,\boldsymbol x)]-\mathbb E[\log q(\boldsymbol z)]\tag{13}
ELBO 是由 KL 散度的負(fù)數(shù)與 \log p(\boldsymbol x) 相加得到妇多,由于 \log p(\boldsymbol x) 對(duì)于 q(\boldsymbol z) 來(lái)說(shuō)是常數(shù),所以最大化 ELBO 等價(jià)于最小化 KL 散度燕侠。

我們可以將 ELBO 重寫(xiě)為數(shù)據(jù)的平均對(duì)數(shù)似然和后驗(yàn) p(\boldsymbol z)q(\boldsymbol z) 的 KL 散度的加和
\begin{aligned} ELBO(q)&=\mathbb E[\log p(\boldsymbol z)]+\mathbb E[\log p(\boldsymbol x|\boldsymbol z)]-\mathbb E[\log q(\boldsymbol z)]\\ &=\mathbb E[\log p(\boldsymbol x|\boldsymbol z)]-KL(q(\boldsymbol z)\|p(\boldsymbol z)) \end{aligned}
這個(gè)目標(biāo)函數(shù)會(huì)讓 q(\boldsymbol z) 把重心放在 \boldsymbol z 的哪個(gè)值上呢者祖?讓我們這個(gè)目標(biāo)函數(shù)作何解釋?zhuān)?/p>

  • 第一項(xiàng)是似然的期望,它激勵(lì)分布把重心放在可解釋觀測(cè)數(shù)據(jù)的隱變量上绢彤;
  • 第二項(xiàng)是變分密度和后驗(yàn)概率的 KL 散度的負(fù)數(shù)七问,它激勵(lì)分布盡量靠近后驗(yàn)分布。

ELBO 的另一個(gè)特性是它規(guī)定了證據(jù)(的對(duì)數(shù))的下界茫舶。根據(jù) ELBO 的定義械巡,我們有
\log p(\boldsymbol x)=KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))+ELBO(q)\tag{14}
由于 KL(\cdot)\geq 0 ,所以對(duì)于任何 q(\boldsymbol z) ,都有 \log p(\boldsymbol x)\geq ELBO(q) 坟比。這也是“證據(jù)下界”這一名字的由來(lái)芦鳍。

ELBO 和 \log p(\boldsymbol x) 的關(guān)系使得我們能夠利用變分下界作為模型的度量 。

相關(guān)研究

The relationship between the ELBO and \log p(\boldsymbol x) has led to using the variational bound as a model selection criterion. This has been explored for mixture models (Ueda and Ghahramani, 2002; McGrory and Titterington, 2007) and more generally (Beal and Ghahramani, 2003). The premise is that the bound is a good approximation of the marginal likelihood, which provides a basis for selecting a model. Though this sometimes works in practice, selecting based on a bound is not justified in theory. Other research has used variational approximations in the log predictive density to use VI in cross-validation based model selection (Nott et al., 2012).

最后葛账, 公式(13)的第一項(xiàng)是完全對(duì)數(shù)似然期望柠衅,可利用 EM 算法進(jìn)行優(yōu)化。

平均場(chǎng)變分族

最后籍琳,讓我們?cè)侔涯抗夥诺阶兎肿?\mathscr{Q}\ 上菲宴。分布族的復(fù)雜性決定了優(yōu)化問(wèn)題的復(fù)雜性,所以變分推斷問(wèn)題的一個(gè)重點(diǎn)是選擇適合的分布族趋急。

下面我們重點(diǎn)描述平均場(chǎng)變分族(mean-field variational family)喝峦。

什么是平均場(chǎng)變分族

在平均場(chǎng)變分族中,各隱變量之間是相互獨(dú)立的呜达,每個(gè)隱變量都受變分密度分解公式中的一個(gè)因子控制谣蠢。

通用的平均場(chǎng)變分族公式為
q(\boldsymbol z)=\prod^m_{j=1}q_j(z_j)\tag{15}
公式中的每個(gè)隱變量 z_j 都由對(duì)應(yīng)的變分因子 q_j(z_j) 控制。

我們認(rèn)為查近,分布族不是關(guān)于觀測(cè)數(shù)據(jù)的模型眉踱,事實(shí)上,再公式(15)中 并未出現(xiàn)任何關(guān)于 \boldsymbol x 的值霜威。相反谈喳,是 ELBO 和相應(yīng)的 KL 最小化問(wèn)題,將相應(yīng)的變分密度與模型和數(shù)據(jù)連接起來(lái)戈泼。

當(dāng)個(gè)變分因子可以是任何參數(shù)形式婿禽,如,一個(gè)連續(xù)變量可能是高斯因子大猛;一個(gè)分類(lèi)變量可以是分類(lèi)因子扭倾。

平均場(chǎng)推斷的相關(guān)文獻(xiàn):

Finally, though we focus on mean-field inference in this review, researchers have also studied more complex families. One way to expand the family is to add dependencies between the variables (Saul and Jordan, 1996; Barber and Wiegerinck, 1999); this is called structured variational inference. Another way to expand the family is to consider mixtures of variational densities, i.e., additional latent variables within the variational family (Bishop et al., 1998). Both of these methods potentially improve the fidelity of the approximation, but there is a trade off. Structured and mixture-based variational families come with a more difficult-to-solve variational optimization problem.

連續(xù)的高斯貝葉斯混合

回顧一下前面提到的高斯貝葉斯混合,假設(shè)現(xiàn)在我們有包含這種分布的平均場(chǎng)變分族挽绩,其形式為
q(\boldsymbol\mu,\boldsymbol c)=\prod^K_{k=1}q(\mu_k;m_k,s^2_k)\prod^n_{i=1}q(c_i;\psi_i)\tag{16}
根據(jù)平均場(chǎng)的性質(zhì)吆录,每個(gè)隱變量都是由相應(yīng)的變分因子控制,在上面的公式中:

  • 因子 q(\mu_k;m_k,s^2_k) 為基于第 k 個(gè)混合組件的均值參數(shù)的高斯分布琼牧,高斯分布的均值為 m_k 恢筝,方差為 s^2_k
  • 因子 q(c_i;\psi_i) 為第 i 個(gè)觀測(cè)值的混合分配巨坊,它的分配概率為 K 維向量 \psi_i 撬槽。

所以,對(duì)于這一模型趾撵,我們有以下參數(shù):

  • 對(duì)于第 k 個(gè)聚類(lèi)侄柔,其混合組件為高斯分布共啃,相應(yīng)的變分參數(shù)為均值和方差(mean and variance);
  • 對(duì)于第 i 個(gè)數(shù)據(jù)點(diǎn)暂题,其聚類(lèi)分配為分類(lèi)分布移剪,相應(yīng)的變分參數(shù)為分類(lèi)概率(cluster probabilities)。

解釋了上面是變分族薪者,我們已經(jīng)完全確定了混合高斯的變分推理問(wèn)題纵苛。 于是,高斯貝葉斯混合的 ELBO 可以由公式(7)的模型定義和公式(16)中的平均場(chǎng)分布族定義言津。

平均場(chǎng)近似的問(wèn)題

由于平均場(chǎng)近似可以捕捉任何隱變量的邊緣密度攻人,基于平均場(chǎng)近似的變分推斷表現(xiàn)是杠杠的。但由于其假設(shè)各隱變量之間是相互獨(dú)立的悬槽,它無(wú)法識(shí)別出隱變量之間的關(guān)系怀吻。如 Figure 1 所示

image-20210930211718578.png

當(dāng)隱變量之間存在相關(guān)性時(shí),平均場(chǎng)近似估計(jì)往往會(huì)低估隱變量的方差初婆。

坐標(biāo)上升變分推斷(CAVI)

雄赳赳蓬坡,氣昂昂,跨過(guò)鴨綠江磅叛。

基于上述的描述渣窜,我們可以對(duì)變分推斷有了一個(gè)大概的概念。正所謂“往事俱備宪躯,只欠東風(fēng)”,針對(duì)這一優(yōu)化問(wèn)題位迂,我們現(xiàn)在所缺的就是一個(gè)優(yōu)化方法访雪。所以這一小節(jié),重點(diǎn)放在描述優(yōu)化算法——坐標(biāo)上升變分推斷(coordinate ascent variantional掂林,CAVI)臣缀。

坐標(biāo)上升變分推斷,簡(jiǎn)稱 CAVI 泻帮,是解決變分推斷問(wèn)題的一個(gè)通用算法精置,其主要思想為:迭代地對(duì)平均場(chǎng)變分密度的每個(gè)因子進(jìn)行優(yōu)化,優(yōu)化某個(gè)參數(shù)時(shí)锣杂,都固定其他參數(shù)脂倦。它將 ELBO 的優(yōu)化變?yōu)橐粋€(gè)局部?jī)?yōu)化問(wèn)題。

算法原理

對(duì)于第 j 個(gè)隱變量 z_j 元莫,其 complete conditional 為給定其他隱變量和觀測(cè)數(shù)據(jù)時(shí)赖阻,它的條件密度,即 p(z_j|\boldsymbol z_{-j},\boldsymbol x) 踱蠢。固定其他變分因子 q_{\scr l}(z_{\scr l})\ 火欧。 q_j(z_j) 的優(yōu)化值是與 complete conditional 的期望成正比
q^*_j(z_j)\propto \exp\{\mathbb E_{-j}[\log p(z_j|\boldsymbol z_{-j},\boldsymbol x)]\}\tag{17}
公式(17)的期望是相對(duì)于(當(dāng)前固定的)\boldsymbol z_{-j} 的變分密度,即 \prod_{\scr l\neq j}q_{\scr l}(z_{\scr l})\ 。公式(17)正比于聯(lián)合分布的指數(shù)對(duì)數(shù)苇侵,所以
q^*_j(z_j)\propto \exp\{\mathbb E_{-j}[\log p(z_j,\boldsymbol z_{-j},\boldsymbol x)]\}\tag{18}
由于平均場(chǎng)的猜想赶盔,即所有隱變量是相互獨(dú)立的,所以公式(18)右邊不涉及第 j 個(gè)變分因子榆浓。

算法步驟

CAVI 算法的偽代碼如 Algorithm 1 所示

image-20210930214554195.png

CAVI 沿著公式(13)的 ELBO 上移于未,找到一個(gè)局部最優(yōu)解。

CAVI 可以被看作是一個(gè)信息傳播算法哀军,它基于變量地馬爾可夫毯沉眶,迭代地更新每個(gè)隨機(jī)變量地變分參數(shù)。

CAVI can also be seen as a “message passing” algorithm (Winn and Bishop, 2005), iteratively updating each random variable’s variational parameters based on the variational parameters of the variables in its Markov blanket. This perspective enabled the design of automated software for a large class of models (Wand et al., 2011; Minka et al., 2014). Variational message passing connects variational inference to the classical theories of graphical models and probabilistic inference (Pearl, 1988; Lauritzen and Spiegelhalter, 1988). It has been extended to nonconjugate models (Knowles and Minka, 2011) and generalized via factor graphs (Minka, 2005).

算法推導(dǎo)

參考原論文和相關(guān)文獻(xiàn)杉适,由于不是本文重點(diǎn)谎倔,這里不多贅述。

例子:高斯貝葉斯混合

回顧前面關(guān)于高斯貝葉斯混合的內(nèi)容猿推,隱變量和觀測(cè)數(shù)據(jù)的聯(lián)合密度如公式(7)片习,分布族如公式(16)。

結(jié)合聯(lián)合分布和平均場(chǎng)分布族,我們可以得到高斯混合的 ELBO 公式
\begin{aligned} ELBO(\boldsymbol m,\boldsymbol s^2,\boldsymbol\psi)=&\sum^K_{k=1}\mathbb E[\log p(\mu_k);m_k,s^2_k]\\ &+\sum^n_{i=1}(\mathbb E[\log p(c_i);\psi_i]+\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m,\boldsymbol s^2])\\ &-\sum^n_{i=1}\mathbb E[\log q(c_i;\psi_i)]-\sum^K_{i=1}\mathbb E[\log q(\mu_k;m_k,s^2_k)] \end{aligned}\tag{21}
在每一項(xiàng)中,我們都明確了對(duì)變分參數(shù)的依賴性庆尘,每個(gè)期望都是可以以封閉形式計(jì)算的萝映。

接下來(lái),讓我們把 CAVI 應(yīng)用到高斯貝葉斯混合中终息。我們需要對(duì)變分聚類(lèi)分配因子的更新和變分混合組件因子的更新進(jìn)行推導(dǎo)。

混合分配的變分密度

讓我們對(duì)聚類(lèi)分配 c_i 的變分更新進(jìn)行推導(dǎo),利用公式(18)盲再,我們可以得到局部參數(shù)的更新公式
q^*(c_i;\psi_i)\propto\exp\{\log p(c_i)+\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\boldsymbol m,\boldsymbol s^2]\}\tag{22}
其中,指數(shù)的組件為依賴于 c_i 的聯(lián)合密度瓣铣,第二項(xiàng)的期望是基于混合組件 \boldsymbol\mu 答朋。

公式(22)的第一項(xiàng)為 c_i 的對(duì)數(shù)似然,它對(duì)于所有 c_i 的可能值相同棠笑,即 \log p(c_i)=-\log K梦碗;第二項(xiàng)為 c_i 的高斯密度的對(duì)數(shù)期望,將 c_i 所以一個(gè)指示向量蓖救,我們可以寫(xiě)出
p(x_i|c_i,\boldsymbol\mu)=\prod^K_{k=1}p(x_i|\mu_k)^{c_{ik}}
于是我們可以計(jì)算對(duì)數(shù)期望概率
\begin{aligned} \mathbb E[\log p(x_i|c_i,\boldsymbol\mu)]&=\sum_kc_{ik}\mathbb E[\log p(x_i|\mu_k);m_k,s^2_k]\\ &=\sum_kc_{ik}\mathbb E[-\frac{(x_i-\mu)^2}{2};m_k,s^2_k]+const\\ &=\sum_kc_{ik}(\mathbb E[\mu_k;m_k,s^2_k]x_i-\frac{\mathbb E[\mu^2_k;m_k,s^2_k]}{2})+const\\ \end{aligned}\tag{23-25}
在這一公式中洪规,我們刪去了和 c_i 無(wú)關(guān)的項(xiàng),放到 const 中循捺。而每個(gè)混合組件的參數(shù) \mathbb E[\mu_k]\mathbb E[\mu^2_k] 則是可計(jì)算的淹冰。因此,我們可以將第 i 個(gè)聚類(lèi)分配的變分更新公式寫(xiě)為
\psi_{ik}\propto\exp\{\mathbb E[\mu_k;m_k,s^2_k]x_i-\frac{\mathbb E[\mu^2_k;m_k,s^2_k]}{2}\}\tag{26}

混合組件均值的變分密度

接下來(lái)巨柒,讓我們?cè)俜治鲆恍┑?k 個(gè)混合組件的變分密度 q(\mu_k;m_k,s^2_k) 樱拴。同樣是利用公式(18)柠衍,我們可以得到全局參數(shù)的更新公式
q^*(\mu_k)\propto\exp\{\log p(\mu_k)+\sum^n_{i=1}\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m_{-k},\boldsymbol s^2_{-k}]\}\tag{27}
現(xiàn)在我們計(jì)算這個(gè)坐標(biāo)最優(yōu) q(\mu_k) 的非歸一化對(duì)數(shù),設(shè) \psi_{ik} 為的第 i 個(gè)觀測(cè)來(lái)自第 k 個(gè)聚類(lèi)的可能性晶乔,由于 c_i 是一個(gè)指示向量珍坊,我們認(rèn)為 \psi_{ik}=\mathbb E[c_{ik};\psi_i] ,于是
\begin{aligned} \log q(\mu_k)&=\log p(\mu_k)+\sum_i\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m_{-k},\boldsymbol s^2_{-k}]+const\\ &=\log p(\mu_k)+\sum_i\mathbb E[c_{ik}\log p(x_i|\mu_k);\psi_i]+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\mathbb E[c_{ik};\psi_i]\log(x_i|\mu_k)+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\psi_{ik}(-\frac{(x_i-\mu_k)^2}{2})+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\psi_{ik}x_i\mu_k-\frac{\psi_{ik}\mu_k^2}2+const\\ &=(\sum_i\psi_{ik}x_i)\mu_k-(\frac12\sigma^2+\frac{\sum_i\psi_{ik}}2)\mu^2_k+const \end{aligned}\tag{28-33}
經(jīng)過(guò)這一通猛如虎的操作正罢,我們可以發(fā)現(xiàn) \mu_k 的坐標(biāo)最優(yōu)密度是指數(shù)族分布的阵漏,其充分統(tǒng)計(jì)量為 \{\mu_k,\mu^2_k\} ,自然參數(shù)為 \{\sum^n_{I=1}\psi_{ik}x_i,-\frac{1}{2}\sigma^2-\sum^n_{i=1}\frac{\psi_{ik}}{2}\}\翻具,根據(jù)指數(shù)族分布的性質(zhì)(下一篇博客將會(huì)介紹到指數(shù)族分布的性質(zhì))履怯,我們可以得到高斯分布中均值和方差的更新公式為
\begin{aligned} m_k&=\frac{\sum_i\psi_{ik}x_i}{\frac1{\sigma^2}+\sum_i\psi_{ik}}\\ s^2_{k}&=\frac1{\frac1{\sigma^2}+\sum_i\psi_{ik}} \end{aligned}\tag{34}

基于 CAVI 的混合高斯

我們利用 ELBO 作為衡量 CAVI 收斂的條件,完整步驟如 Algorithm 2

image-20210930231909328.png

當(dāng)我們學(xué)習(xí)到合適的變分密度時(shí)裆泳,我們可以用它來(lái)幫助我們使用后驗(yàn)叹洲,如我們可以獲得數(shù)據(jù)的后驗(yàn)分解。我們給他們最可能的混合分配點(diǎn) \hat c_i=\arg\max_k\psi_{ik} 并估計(jì)基于它們變分均值 m_k 的聚類(lèi)均值工禾。

我們也可以利用它來(lái)近似新數(shù)據(jù)的預(yù)測(cè)密度运提。這樣的近似預(yù)測(cè)是高斯混合的
p(x_{new}|\boldsymbol x_{1:n})\approx\frac1K\sum^K_{k=1}p(x_{new}|m_k)
其中,p(x_{new}|m_k) 是基于均值 m_k 和單位方差的高斯分布闻葵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末民泵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子槽畔,更是在濱河造成了極大的恐慌栈妆,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厢钧,死亡現(xiàn)場(chǎng)離奇詭異鳞尔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)坏快,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)憎夷,“玉大人莽鸿,你說(shuō)我怎么就攤上這事∈案” “怎么了祥得?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蒋得。 經(jīng)常有香客問(wèn)我级及,道長(zhǎng),這世上最難降的妖魔是什么额衙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任饮焦,我火速辦了婚禮怕吴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘县踢。我一直安慰自己转绷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布硼啤。 她就那樣靜靜地躺著议经,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谴返。 梳的紋絲不亂的頭發(fā)上煞肾,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音嗓袱,去河邊找鬼籍救。 笑死,一個(gè)胖子當(dāng)著我的面吹牛索抓,可吹牛的內(nèi)容都是我干的钧忽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼逼肯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼耸黑!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起篮幢,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤大刊,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后三椿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體缺菌,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年搜锰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伴郁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蛋叼,死狀恐怖焊傅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情狈涮,我是刑警寧澤狐胎,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站歌馍,受9級(jí)特大地震影響握巢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜松却,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一暴浦、第九天 我趴在偏房一處隱蔽的房頂上張望溅话。 院中可真熱鬧,春花似錦肉渴、人聲如沸公荧。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)循狰。三九已至,卻和暖如春券勺,著一層夾襖步出監(jiān)牢的瞬間绪钥,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工关炼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留程腹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓儒拂,卻偏偏與公主長(zhǎng)得像寸潦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子社痛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容