作者:知乎用戶
鏈接:https://www.zhihu.com/question/41765860/answer/331070683
來源:知乎
著作權(quán)歸作者所有颠悬。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
最干的干貨:
首先,我們的原始目標(biāo)是,需要根據(jù)已有數(shù)據(jù)推斷需要的分布p;當(dāng)p不容易表達(dá),不能直接求解時(shí)扁达,可以嘗試用變分推斷的方法, 即蠢熄,尋找容易表達(dá)和求解的分布q跪解,當(dāng)q和p的差距很小的時(shí)候,q就可以作為p的近似分布签孔,成為輸出結(jié)果了叉讥。
在這個(gè)過程中,我們的關(guān)鍵點(diǎn)轉(zhuǎn)變了饥追,從“求分布”的推斷問題图仓,變成了“縮小距離”的優(yōu)化問題。
舉生活中的例子太難了但绕,還是看圖說話容易些救崔。
黃色的分布是我們的原始目標(biāo)p,不好求捏顺。它看上去有點(diǎn)像高斯六孵,那我們嘗試從高斯分布中找一個(gè)紅q和一個(gè)綠q,分別計(jì)算一下p和他們重疊部分面積幅骄,選更像p的q作為p的近似分布劫窒。
-----------------線性邏輯求解思路版----------------------
理解變分推斷的精華步驟:
我們擁有兩部分輸入:數(shù)據(jù)x,模型p(z, x)拆座。
我們需要推斷的是后驗(yàn)概率p(z | x)主巍,但不能直接求。
構(gòu)造后驗(yàn)概率p(z | x)的近似分布q(z; v)懂拾。
不斷縮小q和p之間的距離直至收斂煤禽。
變分推斷要解決的問題類铐达,叫做概率機(jī)器學(xué)習(xí)問題岖赋。簡(jiǎn)單來說,專家利用他們的知識(shí)瓮孙,給出合理的模型假設(shè)p(z, x)唐断,其中包括隱含變量z和觀察值變量x选脊。(需要說明的是,隱含變量z在通常情況下不止一個(gè)脸甘,并且相互之間存在依賴關(guān)系恳啥,這也是問題難求解的原因之一。)為了理解隱含變量和觀察值的關(guān)系丹诀,需要說明一個(gè)很重要的概念叫做“生成過程模型”钝的。我們認(rèn)為,觀察值是從已知的隱含變量組成的層次結(jié)構(gòu)中生成出來的铆遭。以高斯混合模型問題舉例硝桩。我們有5個(gè)相互獨(dú)立的高斯分布,分別從中生成很多數(shù)據(jù)點(diǎn)枚荣,這些數(shù)據(jù)點(diǎn)混合在一起碗脊,組成了一個(gè)數(shù)據(jù)集。當(dāng)我們轉(zhuǎn)換角度橄妆,單從每一個(gè)數(shù)據(jù)點(diǎn)出發(fā)衙伶,考慮它是如何被生成的呢?生成過程分兩步害碾,第一步矢劲,從5個(gè)顏色類中選一個(gè)(比如粉紅色),然后慌随,再根據(jù)這個(gè)類對(duì)應(yīng)的高斯分布卧须,生成了這個(gè)點(diǎn)在空間中的位置。隱含變量有兩個(gè)儒陨,第一個(gè)是5個(gè)高斯分布的參數(shù)u花嘶,第二個(gè)是每個(gè)點(diǎn)屬于哪個(gè)高斯分布c,u和c共同組成隱含變量z蹦漠。u和c之間也存在依賴關(guān)系椭员。
2.? 后驗(yàn)概率p(z | x)是說,基于我們現(xiàn)有的數(shù)據(jù)集合x笛园,推斷隱含變量的分布情況隘击。利用高斯混合模型的例子來說,就是求得每個(gè)高斯分布的參數(shù)u的概率和每個(gè)數(shù)據(jù)點(diǎn)的顏色的概率c研铆。根據(jù)貝葉斯公式埋同,p(z | x) = p(z, x) / p(x)。 我們根據(jù)專家提供的生成模型棵红,可知p(z, x) 部分(可以寫出表達(dá)式并且方便優(yōu)化)凶赁,但是邊緣概率p(x),是不能求得的,當(dāng)z連續(xù)時(shí)虱肄,邊緣概率需要對(duì)所有可能的z求積分致板,不好求。當(dāng)z離散時(shí)咏窿,計(jì)算復(fù)雜性隨著x的增加而指數(shù)增長(zhǎng)斟或。
3.? 我們需要構(gòu)造q(z; v),并且不斷更新v集嵌,使得q(z;v)更接近p(z|x)萝挤。首先注意,q(z;v)的表達(dá)根欧,意思是z是變量平斩,v是z的概率分布q的參數(shù)。所以在構(gòu)造q的時(shí)候也分兩步咽块,第一绘面,概率分布的選擇。第二侈沪,參數(shù)的選擇揭璃。第一步,我們?cè)谶x擇q的概率分布時(shí)亭罪,通常會(huì)直觀選擇p可能的概率分布瘦馍,這樣能夠更好地保證q和p的相似程度。例如高斯混合模型中应役,原始假設(shè)p服從高斯分布情组,則構(gòu)造的q依然服從高斯分布。之后箩祥,我們通過改變v院崇,使得q不斷逼近p。
4. 優(yōu)化問題的求解思路袍祖。優(yōu)化目標(biāo)很明確底瓣,減小KL散度的值即可。然而不幸的是蕉陋,KL的表達(dá)式中依然有一部分不可求的后驗(yàn)概率捐凭。這就是為什么會(huì)有ELBO的存在原因。利用下面的等式凳鬓,ELBO中只包括聯(lián)合概率p(z, x)和q(z; v)茁肠,從而擺脫后驗(yàn)概率。給定數(shù)據(jù)集后缩举,最小化KL等價(jià)于最大化ELBO垦梆,因此ELBO的最大化過程結(jié)束時(shí)匹颤,對(duì)應(yīng)獲得的q(z;v*),就成為了我們的最后輸出奶赔。
我知道,你就算背過這四步杠氢,照樣不會(huì)做題站刑,因?yàn)槟闵胁荒苓_(dá)到”理解“的程度,只算”略知一二“鼻百。
----------------------追求嚴(yán)謹(jǐn)邏輯的分割線------------------------
寫在前面:這部分的理解需要一些基本的概率論知識(shí)和最優(yōu)化知識(shí)绞旅,適合本科生拓展閱讀。你需要的是温艇,沉下心來細(xì)細(xì)琢磨我接下來羅里吧嗦的邏輯因悲,并且前后回顧我提到的數(shù)學(xué)符號(hào)和公式。放心勺爱,真正惡心的證明內(nèi)容晃琳,在后面的后面的后面呢。
現(xiàn)在請(qǐng)你忘掉上面看到的東西琐鲁,聽我重頭開始講一個(gè)故事卫旱。
Probabilistic Pipeline:
上圖是概率機(jī)器學(xué)習(xí)問題的一般求解思路流程圖。領(lǐng)域?qū)<覔碛兄R(shí)可以用來建模围段,并且擁有問題需要被回答顾翼。他們依據(jù)擁有的知識(shí),給出合理的假設(shè)奈泪,并且構(gòu)建出數(shù)據(jù)的生成過程模型(Generative Processing Model)适贸。模型中主要包括兩部分,隱含變量涝桅,變量之間的依賴關(guān)系拜姿。利用該模型,我們希望處理獲得的數(shù)據(jù)冯遂,挖掘有價(jià)值的模式砾隅,然后實(shí)現(xiàn)各式各樣的Applications。
那么债蜜,推斷的目的晴埂,就是根據(jù)我們給定的數(shù)據(jù),可以更加細(xì)致的刻畫生成過程模型中的變量嗎寻定?我個(gè)人的理解是儒洛,專家給出的假設(shè)模型相對(duì)來說泛化一些,針對(duì)不同的數(shù)據(jù)集狼速,其中的變量的分布(參數(shù)值)會(huì)有不同琅锻,發(fā)掘的模式也自然不同。
General和Scalable是兩大終極目標(biāo),我將要介紹的經(jīng)典變分推斷算法在一定程度上有了非常好的表現(xiàn)恼蓬。
2. Example: Mixture of Gaussian.
高斯混合模型惊完,作為一種生成過程模型,我們可以數(shù)學(xué)化定義如下:
模型混合了K個(gè)相互獨(dú)立的高斯分布(K是超參數(shù))处硬,他們的方差被專家定為1(我猜這不是必須的小槐,只是為了簡(jiǎn)化問題),他們的均值未知荷辕,但都是從一個(gè)已知的高斯分布中產(chǎn)生的凿跳,如第一行所示。
對(duì)任一數(shù)據(jù)點(diǎn)Xi疮方,從模型中生成它的過程分兩步控嗜。第一步,依據(jù)類別分布骡显,選擇Xi對(duì)應(yīng)的類標(biāo)簽Ci疆栏,如第二行所示;第二步惫谤,從類標(biāo)簽Ci對(duì)應(yīng)的高斯分布中產(chǎn)生點(diǎn)Xi承边,如第三行所示。
更細(xì)致的舉例說明石挂,如第二篇那個(gè)彩色的圖博助,五個(gè)分布用不同顏色表示出來,代表五個(gè)類痹愚。每次從中(均勻的)選擇一個(gè)類富岳,如第三類粉紅色,Ci={0拯腮,0窖式,1,0动壤,0} 萝喘,然后Xi的抽取依據(jù)第三個(gè)高斯分布,其均值為Ci*U=U3琼懊。自然阁簸,該點(diǎn)大概率出現(xiàn)在粉紅色類覆蓋的區(qū)域。
接下來的描述很關(guān)鍵哼丈,請(qǐng)別走神启妹。
依據(jù)上述假設(shè),專家給出的生成過程模型醉旦,包括了三個(gè)變量饶米,其中U和C是隱含變量桨啃,Xi是觀察值變量。更細(xì)致的說檬输,U是全局變量照瘾,作用發(fā)揮在所有數(shù)據(jù)上,Ci是局部變量丧慈,只跟對(duì)應(yīng)數(shù)據(jù)點(diǎn)Xi相關(guān)析命,與其他點(diǎn)的生成過程無關(guān)。他們之間存在的依賴關(guān)系伊滋,如盤子圖所示:
讀懂盤子圖很簡(jiǎn)單碳却,一看變量队秩,白圈是隱含變量笑旺,盤里的是局部變量,盤外的是全局變量馍资,灰圈是觀測(cè)值筒主;二看盤子,盤子表示里面的變量zi和xi獨(dú)立重復(fù)n次鸟蟹;三看依賴乌妙,箭頭表示生成誰需要誰。
基于上述盤子圖建钥,我們可以寫出表示生成模型的聯(lián)合概率分布藤韵。這個(gè)聯(lián)合概率就看著惡心,其實(shí)很好理解熊经,因?yàn)樵笏遥@個(gè)等式就是利用盤子圖寫出來的。仔細(xì)瞅镐依,等式右邊的三部分分別對(duì)應(yīng)圖中三個(gè)變量匹涮,獨(dú)立重復(fù)的寫成連乘形式,有依賴關(guān)系的寫成條件概率槐壳,齊活然低。必須說明的是,他們?nèi)齻€(gè)的分布的形式务唐,其實(shí)也是專家在一開始就已經(jīng)假設(shè)好的雳攘,通常為基本分布,后續(xù)計(jì)算使用基本分布的各種特性會(huì)容易很多枫笛。
在高斯混合模型問題中来农,專家需要我們推斷什么?事實(shí)上崇堰,我們的觀測(cè)數(shù)據(jù)X沃于,是由沒有標(biāo)簽類的點(diǎn)構(gòu)成的涩咖,我們需要根據(jù)這些數(shù)據(jù)集,推斷C繁莹,每個(gè)點(diǎn)是數(shù)據(jù)哪個(gè)顏色類的檩互,并且推斷U,每個(gè)類對(duì)應(yīng)的高斯分布的均值具體等于什么
3. 從形式化角度咨演,我們到底在推測(cè)什么闸昨?推測(cè)后驗(yàn)概率:給定觀測(cè)數(shù)據(jù)x,隱含變量的條件概率薄风。
類似上述GMM的例子饵较,我們把問題用更一般的形式表示一下,這個(gè)一般形式可以用來描述各種各樣的概率機(jī)器學(xué)習(xí)模型遭赂。(如果你剛好有一個(gè)新問題想用變分推斷來解決循诉,嘗試套進(jìn)來)
為什么后驗(yàn)不好求?有了聯(lián)合概率分布撇他,求后驗(yàn)自然而然的想用貝葉斯公式茄猫。悲催的是,分母邊緣概率intractable困肩,如下公式所示划纽。即使當(dāng)隱含變量離散(K個(gè)值),計(jì)算的復(fù)雜度(K^n)是會(huì)隨著數(shù)據(jù)量n增長(zhǎng)呈指數(shù)增長(zhǎng)趨勢(shì)的锌畸,依然不可計(jì)算勇劣。
4. 首先解釋這個(gè)VI主旨圖。圖中的大圈表示了一個(gè)distribution family潭枣,參數(shù)v是其索引比默,我們也可以理解為,圈是q的參數(shù)v的取值空間卸耘,每個(gè)點(diǎn)表示每個(gè)參數(shù)值v對(duì)應(yīng)的q退敦。用高斯混合模型的例子,我們構(gòu)造q是高斯分布蚣抗,但是均值參數(shù)和方差參數(shù)的值不同侈百,代表的分布情況不同,所有的值對(duì)應(yīng)的分布都是這個(gè)圈中的一個(gè)點(diǎn)翰铡。從V-init到V*钝域,這條路徑表示我們?cè)诘^程中,不斷縮小的是q與p之間的距離锭魔,用KL散度衡量例证。
圖中的隱含變量z,其實(shí)包括了局部變量和全局變量迷捧。v也是织咧,對(duì)應(yīng)了所有我們添加的所有的參數(shù)胀葱。
這里我覺得可以討論一下KL。什么是KL笙蒙?KL常被用來衡量?jī)蓚€(gè)分布的重疊程度抵屿,始終非負(fù)。當(dāng)兩個(gè)分布完全相同時(shí)捅位,KL=0轧葛。為什么選KL?Blei的意思是艇搀,我們可以選其他的尿扯,不過KL可以Make life easy。我個(gè)人認(rèn)為焰雕,針對(duì)不同的模型衷笋,可以選擇其他距離函數(shù),如果能夠使得后續(xù)優(yōu)化問題更方便求解淀散。(從DNN過來的同學(xué)們請(qǐng)注意右莱,我們這里是在找相似的分布蚜锨,不能直接單純用歐氏距離档插,去判斷分布的參數(shù)值的增減導(dǎo)致的分布的變化)
5. 關(guān)于如何構(gòu)造q(z;v)。最好的情況亚再,我們知道p的分布是高斯郭膛,那么假設(shè)q同樣是高斯分布,更可能的逼近p氛悬。其實(shí)不一定要求p是高斯分布则剃,只要它屬于exponential family,那么我們把q也放寬如捅,q也屬于這個(gè)家族即可棍现。因?yàn)椋琫xponential family有一個(gè)很好的性質(zhì)( the Hessian of the log normalizer functiona with respect to the natural parameter λ is the covariance matrix of the sufficient statistic vectort(β))這個(gè)性質(zhì)允許我們很巧妙的簡(jiǎn)化了自然梯度的推導(dǎo)镜遣。事實(shí)上這個(gè)要求是很寬泛的己肮,家族基本包括了我們常用的大量分布,然而不可否認(rèn)的是悲关,當(dāng)p本身不屬于這個(gè)家族時(shí)谎僻,q可能永遠(yuǎn)無法近似p,徘徊遙相望寓辱。這是變分推斷的固有缺陷艘绍,計(jì)算結(jié)果是一個(gè)難以提前估計(jì)的近似。
瞅瞅圖秫筏,原來的分布中诱鞠,非常重要的變量之間依賴關(guān)系挎挖,在構(gòu)造q的時(shí)候統(tǒng)統(tǒng)打散,相互獨(dú)立航夺。它叫做mean-field肋乍,是變分推斷中最基礎(chǔ)最簡(jiǎn)單的一種構(gòu)造方式(很多后續(xù)研究在用各種方法彌補(bǔ)丟掉的依賴信息)。
如果你有個(gè)疑問說敷存,為什么q中沒有x了墓造。我的回答是,我們本來想求的條件概率p锚烦,是beta和z的聯(lián)合分布(在給定x的情況下)觅闽。那我們的q,也是beta和z的聯(lián)合分布涮俄,并且只由構(gòu)造的參數(shù)決定蛉拙,與x無關(guān)。
我們還是用GMM的例子形象的描述構(gòu)造過程彻亲。
對(duì)于5個(gè)高斯分布中的某一個(gè)Uk孕锄,我們構(gòu)造的q(uk;mk,sk),也屬于高斯分布苞尝,因此添加了兩個(gè)變分參數(shù)畸肆,m是均值,s是標(biāo)準(zhǔn)差宙址。局部變量c_i(表示某個(gè)點(diǎn)屬于哪一個(gè)高斯類)轴脐,本屬于多項(xiàng)式分布,因此在q中它依然是多項(xiàng)式分布抡砂,引入變分參數(shù)phi_i大咱,phi_i是一個(gè)k維向量。