原題:A Beginner's Guide to Variational Methods: Mean-Field Approximation
給初學(xué)者的變分法指導(dǎo):平均場(chǎng)近似
作者:Eric Jang
譯者:尹肖貽
變分貝葉斯(Variational Bayeisan,后文簡(jiǎn)稱VB)方法是統(tǒng)計(jì)機(jī)器學(xué)習(xí)領(lǐng)域中,一類很常見技術(shù)。通過應(yīng)用VB方法,我們能夠重新形式化統(tǒng)計(jì)推斷問題(即,將給定一隨機(jī)變量的值,推斷另一些隨機(jī)變量的值),而將其作為優(yōu)化問題(即,找到參數(shù)值,使目標(biāo)函數(shù)最小化)。
這種推斷-優(yōu)化的二元性,賦予我們強(qiáng)大的能力。我們既可以使用最新、最好的優(yōu)化算法來解決統(tǒng)計(jì)機(jī)器學(xué)習(xí)問題,也可以反過來,使用統(tǒng)計(jì)技術(shù)來最小化函數(shù)。
這篇文章是關(guān)于變分方法的入門教程。 我將推導(dǎo)出最簡(jiǎn)單的VB方法的優(yōu)化目標(biāo),稱為平均場(chǎng)近似。 這個(gè)目標(biāo),也稱為變分下界,與變分自動(dòng)編碼器(VAE)中使用的技術(shù)完全相同(我將在后續(xù)文章中相信介紹它,堪稱入木三分)。
目錄
1.問題的前提和符號(hào)約定
2.問題的表述
3.平均場(chǎng)近似的變分下界
4.前傳KL與反傳KL
5.與深度學(xué)習(xí)的聯(lián)系
1.前提和符號(hào)約定
本文假設(shè)讀者熟悉隨機(jī)變量、概率分布和數(shù)學(xué)期望等概念。如果你忘了這些概念,可以在這里進(jìn)行復(fù)習(xí)。機(jī)器學(xué)習(xí)和統(tǒng)計(jì)領(lǐng)域的符號(hào)約定沒有被嚴(yán)格地標(biāo)準(zhǔn)化,因此在這篇文章中,我們約定如下符號(hào),確定的符號(hào)將對(duì)理解文意很有幫助:
- 大寫字母
表示隨機(jī)變量;
- 大寫字母
表示該變量的概率分布;
- 小寫字母
表示通過一些生成過程,
為采樣(
)概率分布
中的值;
- 小寫字母
是
分布的(概率)密度函數(shù),它是
的度量空間上的標(biāo)量函數(shù);
-
(簡(jiǎn)寫
)表示在特定值
處的密度函數(shù)值。
許多學(xué)術(shù)論文將術(shù)語“變量”、“分布”、“密度”,甚至“模型”互換使用。這種做法本身不一定導(dǎo)致錯(cuò)誤,因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=X" alt="X" mathimg="1">、和
都可以通過一對(duì)一的對(duì)應(yīng)關(guān)系相互指代。但是,將這些術(shù)語混合在一起,容易讓人感到困惑。因?yàn)樗鼈兊闹复懂牳鞑幌嗤ū热鐚?duì)函數(shù)進(jìn)行抽樣沒有意義,對(duì)分布積分同樣沒有意義)。
我們將系統(tǒng)建模為隨機(jī)變量的集合,其中一些變量()是“可觀察的”,而其他變量(
)是“隱藏的”。 【譯者按:后文稱二者為“觀察變量”和“隱變量”】我們可以通過下圖繪制這種關(guān)系:

從到
,通過條件分布
這條邊,將兩個(gè)變量聯(lián)系在一起。
說一個(gè)更形象的例子:可能代表“圖像的原始像素值”,而
是二值變量。如果
是貓的圖像,
。



貝葉斯定理給出了任意一對(duì)隨機(jī)變量之間的一般關(guān)系:
其中的各項(xiàng)與如下常見名稱相關(guān)聯(lián):
是后驗(yàn)概率:“給定圖像,這是貓的概率是多少?” 如果我們可以從
進(jìn)行采樣,我們可以用它作一個(gè)貓分類器,告訴我們給定的圖像是否是貓。
是似然概率:“給定
的值,計(jì)算出該圖像
在該類別下的‘可能’程度({是貓/不是貓})” 如果我們可以從
進(jìn)行采樣,那么我們就可以生成貓的圖像和非貓的圖像,就像生成隨機(jī)數(shù)一樣容易。如果你想了解更多相關(guān)信息,請(qǐng)參閱我的關(guān)于生成模型的其他文章: [1], [2]。
是先驗(yàn)概率。它指代我們所知道的關(guān)于
的任何先前信息——例如,如果我們認(rèn)為所有圖像中,有1/3是貓,那么
并且
。
隱變量作為先驗(yàn)概率
這部分是為了感興趣的讀者準(zhǔn)備的。請(qǐng)直接跳到下一部分,繼續(xù)學(xué)習(xí)本教程。
前面貓的示例提供了觀察變量、隱變量和先驗(yàn)的理解角度,是傳統(tǒng)的一個(gè)示例。 但是請(qǐng)注意,我們定義隱變量/觀察變量之間的區(qū)別有些隨意,你可以自由地將圖形模型按需求進(jìn)行分解。
我們可以通過交換等式的項(xiàng)來重寫貝葉斯定理:
現(xiàn)在的“后驗(yàn)概率”是。
從貝葉斯統(tǒng)計(jì)框架,隱變量可以解釋為附加到觀察變量的先驗(yàn)信念。 例如,如果我們認(rèn)為是多元高斯,則隱變量
可以表示高斯分布的均值和方差。 另外,參數(shù)
上的分布是
的先驗(yàn)分布。
你也可以自由選擇和
代表的值。 例如,
可以代之以“均值、方差的立方根、以及
,其中
”。 雖然有點(diǎn)突兀、奇怪,但只要相應(yīng)地修改
,結(jié)構(gòu)仍然有效。
你甚至可以往系統(tǒng)中“添加”變量。先驗(yàn)本身可能通過依賴于其他隨機(jī)變量,
具有它們自己的
的先驗(yàn)分布,并且那些先驗(yàn)仍然是有先驗(yàn)的,依此類推。任何超參數(shù)都可以被認(rèn)為是先驗(yàn)的。 在貝葉斯統(tǒng)計(jì)中,先驗(yàn)是無窮遞歸的?!咀g者按:1.英文中俗語“turtles all the way down”表示問題無限循環(huán)、遞歸,作者用了"priors all the way down"來詼諧地表達(dá)先驗(yàn)系統(tǒng)的遞歸性。2.先驗(yàn)的層次越深,對(duì)結(jié)果的影響越小】

2.問題的表述(形式化)
我們感興趣的關(guān)鍵問題是隱變量的后驗(yàn)推斷或密度函數(shù)。后驗(yàn)推斷的一些典型例子:
- 給定監(jiān)控錄像
,嫌疑人是否出現(xiàn)?
- 給定推特
,作者的心情是否憂郁?
- 給定歷史股票價(jià)格
,
會(huì)是什么?
我們通常假設(shè),我們已知如何計(jì)算似然分布和先驗(yàn)分布
【譯者按:原文為“function”函數(shù),應(yīng)為訛誤,后文類似情況以符號(hào)為準(zhǔn)】。
然而,對(duì)于像上面的復(fù)雜任務(wù),我們常常不知道如何從采樣或計(jì)算
。或者,我們可能知道
的形式,但相應(yīng)的計(jì)算十分復(fù)雜,以至于我們無法在合理的時(shí)間內(nèi)對(duì)其評(píng)估【譯者按:“評(píng)估”的意思是給定似然函數(shù),求出該函數(shù)在某一點(diǎn)上的值】。 我們可以嘗試使用像MCMC這樣的基于采樣的方法求解,但這類方法很難收斂。
3.平均場(chǎng)近似的變分下界
變分推斷背后的想法是這樣的:對(duì)簡(jiǎn)單的參數(shù)分布(就像高斯分布)進(jìn)行推斷。對(duì)這個(gè)函數(shù),我們已經(jīng)知道如何做后驗(yàn)推斷,于是任務(wù)變成了調(diào)整參數(shù)
使得
盡可能接近
?!咀g者按:“推斷”在這里指的是從觀察變量
的概率分布導(dǎo)出隱變量
的概率分布】
這在視覺上如下圖所示:藍(lán)色曲線是真實(shí)的后驗(yàn)分布,綠色分布是通過優(yōu)化得到的擬合藍(lán)色密度的變分近似(高斯分布)。

兩個(gè)分布“接近”意味著什么? 平均場(chǎng)變分貝葉斯(最常見的類型)使用反向KL散度作為兩個(gè)分布之間的距離度量。
反向KL散度測(cè)量出將“扭曲(distort)”成
所需的信息量(以nat為單位或以2為底的對(duì)數(shù)bits為單位)。我們希望最小化這個(gè)量?!咀g者按:1.“扭曲”的意思是,把
和
貼合在一起,即通過某種映射引發(fā)函數(shù)圖像的形變,使二者圖像一致;2.許多研究產(chǎn)生式模型的論文會(huì)比較不同方法下的散度值?!?/p>
根據(jù)條件分布的定義,。 讓我們將這個(gè)表達(dá)式代入原來的KL表達(dá)式,然后使用分配律:
為了使相對(duì)于變分參數(shù)
最小化,我們只需要最小化
,因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Clog%7Bp(x)%7D" alt="\log{p(x)}" mathimg="1">對(duì)于
來說是常數(shù)。 讓我們重新寫這個(gè)數(shù)量作為對(duì)分布
的期望。
最小化上面的式子等價(jià)于最大化負(fù)的式子:
在文獻(xiàn)中,被稱為變分下界。如果我們能夠估計(jì)
、
、
,我們就可以計(jì)算它。我們可以繼續(xù)調(diào)整式子里各項(xiàng)的順序,使之更符合直覺:
如果說采樣是將觀察變量
“編碼”為隱變量
的過程,則采樣
是從
重建觀察變量
的“解碼”過程。
由此得出是預(yù)期的“解碼”似然(即變分分布
能在多大程度上將樣本
解碼回樣本
),再減去變分近似的分布與先驗(yàn)
之間的KL散度【譯者按:原文是“加上”,應(yīng)該是減去】。如果我們假設(shè)
是條件高斯的,那么先驗(yàn)
通常被指定為平均值0、標(biāo)準(zhǔn)偏差1的對(duì)角高斯分布。
為什么稱為變分下界? 將
代入
,我們有:
的含義,用大白話說就是,真實(shí)分布下的數(shù)據(jù)點(diǎn)
的對(duì)數(shù)似然
,等于
,加上
用來捕獲在該特定值
處
和
之間距離的差。
由于,
必大于(或等于)
。因此
是
的下界。
也被稱為證據(jù)下界(ELBO),通過調(diào)整公式:
注意,本身包含近似后驗(yàn)和先驗(yàn)之間的KL散度,因此
中總共有兩個(gè)KL項(xiàng)。
4.前向KL與反向KL
KL散度函數(shù)不是對(duì)稱距離函數(shù),即(當(dāng)
時(shí)除外)第一個(gè)被稱為“前向KL”,而后者是“反向KL””。 我們?yōu)槭裁匆褂梅聪騅L呢?因?yàn)橥茖?dǎo)的目標(biāo)要求我們近似
,所以【在
和
不能同時(shí)得到最優(yōu)形式的情況下】我們要優(yōu)先確保
的形式準(zhǔn)確。
我很喜歡Kevin Murphy在PML教科書中的解釋,我在這里嘗試重新說明一下:
讓我們首先考慮正向KL。正如上述推導(dǎo),我們可以將KL寫為,權(quán)重函數(shù)加權(quán)下,“懲罰”函數(shù)
的期望。
只要,懲罰函數(shù)在任何地方都會(huì)給總KL帶來損失。對(duì)于
,
。 這意味著前向KL將在
未能“掩蓋”
時(shí),將會(huì)很大。
因此,當(dāng)我們確保前向KL最小化時(shí)時(shí),
。 優(yōu)化的變分分布
被稱為“避免零(zero-avoiding)”(密度
為零時(shí)
避免為零)。

最小化反向KL則具有相反的性質(zhì):
如果,我們必須確保分母
的地方,加權(quán)功能的
,否則KL會(huì)爆炸。這被稱為“必設(shè)零(zero-forcing)”:

總而言之,最小化前向KL會(huì)“拉伸”變分分布
在機(jī)器學(xué)習(xí)問題中,使用平均場(chǎng)近似時(shí),留意反向KL的后果很重要。 如果我們將單峰分布擬合到多模態(tài)分布,我們最終會(huì)得到更多的假陰性的樣例(也就是說,實(shí)際上存在概率,但我們依據(jù)
認(rèn)為沒有可能性)。
5.與深度學(xué)習(xí)的聯(lián)系
變分法對(duì)于深度學(xué)習(xí)非常重要。 我將在后面再寫文章詳細(xì)說明。這是“太長(zhǎng)不看版”:
- 深度學(xué)習(xí)非常擅長(zhǎng)使用大量數(shù)據(jù),在非常大的參數(shù)空間上進(jìn)行優(yōu)化(特別是使用了梯度下降算法)。
- 變分貝葉斯為我們提供了一個(gè)框架,可以用來重寫統(tǒng)計(jì)推斷問題,變成優(yōu)化問題。
結(jié)合深度學(xué)習(xí)和變分貝葉斯方法,我們可以對(duì)極其復(fù)雜的后驗(yàn)分布進(jìn)行推斷。 事實(shí)證明,像變分自動(dòng)編碼器這樣的現(xiàn)代技術(shù),可以優(yōu)化得到上文中形式完全相同的平均場(chǎng)變分下界!
感謝閱讀,敬請(qǐng)期待!
補(bǔ)充說明:為啥叫“平均場(chǎng)近似”
鑒于標(biāo)題,我們值得給出“平均場(chǎng)近似”這個(gè)名字背后的一些動(dòng)機(jī)。
從統(tǒng)計(jì)物理學(xué)的觀點(diǎn)來看,“平均場(chǎng)”是指忽略二階效應(yīng),將困難的優(yōu)化問題放松到更簡(jiǎn)單的問題。例如,在圖模型的情境中,我們可以把估計(jì)馬爾可夫隨機(jī)場(chǎng)的配分函數(shù)(partition function)問題,轉(zhuǎn)為最大化吉布斯自由能(對(duì)數(shù)配分函數(shù)減去相對(duì)熵)的問題。這顯著地簡(jiǎn)化了全概率測(cè)量空間的全局優(yōu)化的形式(參見M. Mezard和A. Montanari,Sect 4.4.2)。
整體分解:
平均場(chǎng)近似的分解:
從算法的觀點(diǎn)來看,“平均場(chǎng)”是指用于計(jì)算馬爾可夫隨機(jī)場(chǎng)邊緣概率的樸素平均場(chǎng)算法(naive mean field algorithm)。回想一下,樸素平均場(chǎng)算法的固定點(diǎn)【即最終解】是吉布斯變分問題的平均場(chǎng)近似的最優(yōu)點(diǎn)。這種方法是“均值”,因?yàn)樗羌妓共蓸悠鞯钠骄?期望/ LLN版本,因此忽略了二階(隨機(jī))效應(yīng)(參見,M.Wainwright和M. Jordan,(2.14)和(2.15))。
【譯者按:
1.上述說明主要針對(duì)配分函數(shù)而言的。
2.VAE的隱空間為標(biāo)準(zhǔn)高斯分布,協(xié)方差矩陣為對(duì)角單位陣,而不考慮非對(duì)角元素的影響。這體現(xiàn)了“平均場(chǎng)”的思想。
3.VAE的實(shí)驗(yàn)效果顯示,產(chǎn)生圖像較為模糊或“平均”,不夠銳利,也許正是平均場(chǎng)近似的結(jié)果】