陳亞瑞 楊巨成 史艷翠 王 嫄 趙婷婷
(天津科技大學人工智能學院 天津 300457)
概率生成模型(probabilistic generative model)是知識表示的重要方法,擬從數(shù)據(jù)集中學習數(shù)據(jù)概率分布的估計形式.該估計可以是顯式的概率密度函數(shù)形式,也可以是隱式表示,即不具有顯式的概率密度函數(shù),只有生成樣本數(shù)據(jù)的能力[1].具有隱式概率密度函數(shù)的生成模型的典型范例是生成對抗網(wǎng)絡,這類模型雖然可以生成高質(zhì)量圖像,但是無法獲得真實分布的多樣性,會導致模式崩塌,同時缺少度量生成模型質(zhì)量的有效指標[2].具有顯式概率密度函數(shù)的生成模型通過顯式分布建模,該類模型以對數(shù)似然函數(shù)作為優(yōu)化目標,可以覆蓋數(shù)據(jù)集上的所有模式,避免模式崩塌問題[1-2].但是在該類模型上求解似然函數(shù)一般是難解的,發(fā)展了各種近似推理方法,主要包括2類方法:變分推理方法(variational inference methods)[3-4]和蒙特卡洛方法(Monte Carlo methods)[5-6].蒙特卡洛方法通過采樣對概率分布進行估計,根據(jù)大數(shù)定律可知,在采樣數(shù)目足夠多時,蒙特卡洛方法可以很好地估計目標函數(shù),但是存在采樣效果嚴重依賴超參數(shù)設置、收斂緩慢等缺點[5-6].變分推理方法把變量求和的概率推理問題轉(zhuǎn)化成優(yōu)化問題,具有堅實的理論基礎、較快的收斂速度、緊致的變分下界,且較容易擴展到大規(guī)模數(shù)據(jù)集,受到研究者的關(guān)注[3-4].
對于概率生成模型,變分推理方法通過引入變分分布作為后驗概率分布的近似分布,把變量求和或求積分的概率推理問題轉(zhuǎn)化為優(yōu)化問題,再近似求解該變分優(yōu)化問題[3-4,7].概率生成模型變分推理方法的發(fā)展經(jīng)歷了不同的發(fā)展階段,從開始的指數(shù)族(exponential family)分布下具有解析優(yōu)化表示的變分推理框架[8-12],到一般概率分布下基于隨機梯度的黑盒變分推理框架[13-23],再到深度模型結(jié)構(gòu)下基于分攤變分推理(amortized variational inference)框架[24-32],以及基于豐富變分分布的各種結(jié)構(gòu)化變分推理方法[33-45].概率生成模型的變分推理已經(jīng)被廣泛應用于計算生物學、計算機視覺、計算神經(jīng)科學、自然語言處理和語音識別等領(lǐng)域[3-4,7].
變分推理起源于20世紀80年代,最具代表性的是統(tǒng)計物理學中的均值場方法[8],20世紀90年代變分推理被機器學習領(lǐng)域研究者廣泛關(guān)注,并被應用到概率圖模型中[9-11].之后,Wainwright教授團隊[4]指出,在指數(shù)族分布下,結(jié)合均值場變分假設,基于坐標上升(coordinate ascent)優(yōu)化方法可以給出變分優(yōu)化式的解析表示形式.Bishop教授團隊[3]進一步利用指數(shù)族分布的條件共軛(conditional conjugate)性質(zhì),給出變分貝葉斯優(yōu)化問題的解析表示形式.但是經(jīng)典的基于坐標上升的變分推理方法很難推廣到大規(guī)模數(shù)據(jù)集,Hoffman教授團隊[12]提出隨機化變分推理(stochastic variational inference)方法,利用條件共軛指數(shù)族分布的自然梯度性質(zhì),并結(jié)合隨機化方法,可以方便將變分推理應用到大規(guī)模數(shù)據(jù)集.條件共軛指數(shù)分布族下,結(jié)合均值場假設,不需要指定變分分布的形式,利用坐標上升優(yōu)化方法可以直接給出變分分布及參數(shù)后驗概率分布的解析表示形式.該類方法可靠性高、優(yōu)化更新過程收斂速度快,但是條件共軛指數(shù)族分布的條件限制了其應用范圍,較難應用于復雜模型.
一般的概率生成模型,尤其是深度復雜模型及復合模型,如貝葉斯深度網(wǎng)絡、復雜的層次化結(jié)構(gòu)等,都不滿足指數(shù)族分布條件.針對這類模型,研究者提出了基于隨機梯度(stochastic gradient)的黑盒變分推理(black box variational inference)[13-14],這類方法針對變分優(yōu)化目標,先計算優(yōu)化目標的隨機梯度,再采用隨機梯度方法進行目標優(yōu)化問題求解.這種基于隨機梯度的訓練方式可方便應用于復雜概率分布的大規(guī)模數(shù)據(jù)訓練中.計算變分優(yōu)化目標的無偏隨機梯度估計是黑盒變分推理的關(guān)鍵任務,同時降低隨機梯度的方差使算法有較快的收斂速度是黑盒變分推理算法設計的難點[46].目前最重要的2類梯度計算方法包括評分函數(shù)梯度(scoring function gradient)[13]和重參梯度(reparameteration gradient)[15-16].評分函數(shù)梯度利用梯度性質(zhì)及蒙特卡洛采樣直接計算變分優(yōu)化目標的帶噪無偏隨機梯度,但該方法的方差較大,影響算法性能,后續(xù)開展了各種降低隨機梯度方差的方法[17-19].重參隨機梯度首先對變分分布進行重參轉(zhuǎn)換,再對重參后的目標函數(shù)計算梯度[15-16].實踐中重參隨機梯度比評分梯度的方差小很多,但并沒有直接的理論保證[20].但是重參隨機梯度的應用范圍有限,只能用于連續(xù)隱變量,且變分分布形式可表示成位置尺度類分布、累計分布函數(shù)可逆類分布,或可以表示成上述2種類型的分布.研究者后續(xù)開展了離散型隱變量的重參方法[21-22],及對于其他類型連續(xù)隱變量的隱式重參方法[23]等.基于隨機梯度的黑盒變分推理,對概率生成模型分布及結(jié)構(gòu)形式?jīng)]有限制,但是需要提前建模變分分布結(jié)構(gòu),通過隨機梯度方法求解其變分參數(shù).隨機梯度的方差大小直接決定了算法的收斂速度及優(yōu)化效果,但對于復雜模型,較難直接有效地度量隨機梯度的方差,這也是黑盒變分推理算法設計的關(guān)鍵和難點[46].
隨著深度神經(jīng)網(wǎng)絡的發(fā)展,如何將變分推理應用到深度模型引起了研究者的興趣.分攤變分推理[24]利用參數(shù)化函數(shù),使所有樣本點共享變分分布參數(shù),為深度概率生成模型的發(fā)展提供了很好的思路[15-16].相比于傳統(tǒng)變分推理中每個樣本點都具有獨立的變分分布參數(shù),分攤變分推理的參數(shù)共享方式,可以有效處理深層神經(jīng)網(wǎng)絡,推進了深度概率生成模型的發(fā)展.變分自編碼(variational autoencoder)模型是深度概率生成模型的典型范例,其概率生成模型采用深度神經(jīng)網(wǎng)絡,其變分分布采用基于分攤變分推理的深度神經(jīng)網(wǎng)絡,并采樣基于重參梯度的方法進行模型訓練[15-16].之后研究者通過豐富變分分布及生成模型提出了各種改進的變分自編碼模型,包括基于隱式分布的變分自編碼模型[25-27]、重要加權(quán)自編碼(important weight autoencoder)模型[28-29]、對抗自編碼(adversarial autoencoder)模型[30]、對抗變分貝葉斯(adversarial variational Bayes)模型[31]、像素變分自編碼(pixel variational autoencoder)模型[32]等.
基于均值場假設的變分推理極大地簡化了優(yōu)化過程,并得到了廣泛應用,上述的指數(shù)族分布下具有解析優(yōu)化式的變分推理,基于隨機梯度的黑盒變分推理中的部分算法都利用了均值場假設.但是均值場變分推理存在訓練漸進不一致性問題,即當訓練樣本足夠多時,近似后驗概率分布仍無法收斂到精確值,使得推理精度受到影響.一直以來各種研究工作通過豐富變分分布來提升變分推理漸進性及推理精度.結(jié)構(gòu)化均值場方法[33-34]結(jié)合了傳統(tǒng)的均值場方法和精確推理方法,需從模型中識別出易處理子結(jié)構(gòu),子結(jié)構(gòu)之間采用均值場方法,而子結(jié)構(gòu)內(nèi)部采用精確推理,這類方法尤其適用于時間序列模型[35-36].標準化流(normalizing flows)方法[37]通過一系列可逆映射將簡單的概率密度轉(zhuǎn)換成復雜的概率密度函數(shù),可以提供更緊致的變分界.采用不同的映射函數(shù)及結(jié)合方法發(fā)展出了各種標準化流方法,如平面流(planar flow)、徑向流(radial flow)[37]、掩模自回歸流(masked autoregressive flow)[38]、可逆自回歸流(inverse autoregressive flow)[39]等.層次化變分推理(hierarchical variational inference)模型通過對均值場變分分布的參數(shù)引入先驗分布增加均值場變量之間的相關(guān)性[17].耦合變分推理(copula variational inference)[40-41]通過對均值場變分分布引入耦合分布增加分量之間的相關(guān)性.基于混合分布的變分推理利用混合分布的靈活性,提高變分分布結(jié)構(gòu)的靈活性,從而提高變分推理精度[42-43].這類通過豐富變分分布結(jié)構(gòu)提升變分推理精度的方法我們統(tǒng)稱為結(jié)構(gòu)化變分推理方法.該類方法通過增加變分分布中隱變量之間的結(jié)構(gòu)信息提升了變分分布的表示能力,尤其對于模型隱變量結(jié)構(gòu)有天然密切相關(guān)性模型,如隱Markov模型(hidden Markov models)[35]、動態(tài)主題模型等(dynamic topic models)[36],可以明顯提高推理精度,但是模型訓練過程中需要更多的計算開銷.
本文首先介紹概率生成模型、貝葉斯概率生成模型,及相應模型上的概率推理問題;并介紹了概率生成模型變分推理的一般框架、變分優(yōu)化問題求解方法,及基于變分推理的模型參數(shù)學習過程;然后對于條件共軛指數(shù)族模型,給出了基于坐標上升的均值場變分推理,及推廣至大數(shù)據(jù)集的隨機化變分推理方法;進一步,給出了結(jié)合隨機梯度的黑盒變分推理一般框架,并分析了該框架下多種變分推理算法的具體實現(xiàn);最后綜述了結(jié)構(gòu)化變分推理方法,通過不同策略豐富變分分布結(jié)構(gòu)提高變分推理精度;本文最后討論了概率生成模型變分推理的發(fā)展趨勢并進行了總結(jié).
本節(jié)介紹概率生成模型、貝葉斯概率生成模型,及相應的概率推理問題.
概率生成模型又稱隱變量生成模型,是一種重要的生成模型,它假設復雜的、可觀測向量由簡單的、不可觀測的隱向量(又稱為特征、表示)根據(jù)某種模式生成[1-4].概率生成模型的目標就是揭示數(shù)據(jù)集中蘊含的這種模式,并進一步利用該模型進行數(shù)據(jù)生成、預測等.
概率生成模型的全概率分布表示形式為
p(x,z)=p(z)p(x|z;θ),
(1)
其中:x∈D表示可觀測向量;z∈M表示連續(xù)隱向量;p(z)表示隱向量先驗概率分布,一般情況下選用高斯分布表示條件概率分布,θ表示條件概率分布參數(shù).
在概率生成模型下,某樣本x(i)的生成過程為:首先從隱變量先驗分布p(z)中隨機生成一個隱向量樣本z(i),然后根據(jù)條件概率分布p(x|z;θ)生成樣本x(i).概率生成模型中數(shù)據(jù)生成過程的概率表示形式為
對于概率生成模型,若參數(shù)θ是隨機向量,則稱為貝葉斯概率生成模型,此時模型的全概率分布表示形式為
p(x,z,θ)=p(z)p(θ)p(x|z,θ),
(2)
其中:p(θ)表示參數(shù)先驗概率分布;p(x|z,θ)表示基于參數(shù)θ和隱向量z的條件概率分布.此時θ又稱為全局隱向量,z又稱為局部隱向量.普通概率生成模型的學習任務之一是求解模型參數(shù)θ,而貝葉斯概率生成模型是求解參數(shù)的后驗概率分布p(θ|x).
Fig. 1 The graphical models of two models圖1 2種模型的圖模型結(jié)構(gòu)
概率生成模型的圖模型結(jié)構(gòu)如圖1所示,其中每個圓形節(jié)點表示隨機向量,白色節(jié)點表示隱向量,灰色節(jié)點表示可觀測向量,節(jié)點之間的有向線段表示變量之間的依賴關(guān)系;黑色實心小方塊表示模型參數(shù)值;方框表示過程可以重復出現(xiàn),如概率生成模型中,基于隱向量可以重復生成數(shù)據(jù)樣本,觀測到N條數(shù)據(jù),則該過程重復出現(xiàn)了N次.圖1(a)表示一般的概率生成模型,其中參數(shù)θ表示參數(shù)值,需要通過數(shù)據(jù)集求解該模型參數(shù);圖1(b)表示貝葉斯概率生成模型,其中參數(shù)θ表示隨機向量,需要根據(jù)數(shù)據(jù)集求解參數(shù)的后驗概率分布p(θ|x).
對于可觀測的數(shù)據(jù)集X={x(1),x(2),…,x(N)},令Z={z(1),z(2),…,z(N)}表示與觀測數(shù)據(jù)對應的隱變量集合.采用生成模型p(x,z)對該數(shù)據(jù)集進行建模,數(shù)據(jù)集的聯(lián)合概率分布形式為
(3)
此時概率推理問題是根據(jù)聯(lián)合概率分布計算觀測數(shù)據(jù)的邊緣概率分布p(X)及隱變量的后驗概率分布p(Z|X),即:
(4)
(5)
進一步,利用最大對數(shù)似然可以求解模型參數(shù)θ,即:
θ=arg max lnp(X).
對于貝葉斯概率生成模型p(x,z,θ),需要計算隨機變量參數(shù)θ的后驗概率分布p(θ|x).式(4)(5)中的變量積分是難解的,需要利用變分推理進行近似求解.
本節(jié)給出概率生成模型的變分推理框架,分析變分優(yōu)化問題求解方法,并給出基于變分推理的模型參數(shù)學習框架.
(6)
式(6)中對隱向量求和是難解的,變分推理通過引入變分分布q(z(i))作為后驗概率分布p(z(i)|x(i))的近似分布,對lnp(x(i))進行變分變換可得
(7)
各部分具體形式為
(8)
利用不同的概率分布距離度量方式可以得到不同的變分優(yōu)化問題.基于最小化KL散度DKL(q‖p)的優(yōu)化問題,又稱為基于KL散度距離的變分推理[47],是最經(jīng)典的變分轉(zhuǎn)換方式之一,也是本文分析的變分推理的核心.KL散度距離是非對稱的,通過最小化DKL(p‖q)也可以構(gòu)建相應的變分優(yōu)化問題,這類方法稱為期望傳播方法[48-49].α-散度距離Dα(p‖q)是KL散度距離的推廣,研究者進一步將α-散度距離應用到變分優(yōu)化問題構(gòu)建中[27,50-51].f-散度距離Df(p‖q)是更一般化的概率分布距離度量方式[52-53],其中f表示滿足條件的凸函數(shù),不同的f函數(shù)定義對應于不同的距離,α-散度距離是其特殊表示形式,研究者將f-散度距離應用于變分推理,給出更靈活的一般化變分優(yōu)化式.
求解概率生成模型變分優(yōu)化問題式(8)的方法,主要包括基于坐標上升的優(yōu)化方法[9,33]和基于隨機梯度的優(yōu)化方法[13].基于坐標上升的優(yōu)化方法用于變分分布滿足均值場假設的模型,對變分分布的各維分布迭代更新.基于隨機梯度的優(yōu)化方法主要用于變分分布模型結(jié)構(gòu)固定,采用梯度上升方法對變分分布模型參數(shù)進行迭代更新.
1) 基于坐標上升的優(yōu)化方法
均值場變分推理的基本思想是通過假設隱向量各分量之間是相互獨立的,從而限定了變分分布的取值空間,簡化了優(yōu)化訓練[9,33].具體地,將隱向量z分解成不相交的子向量,記為{zj|j=1,2,…,J},此時隱向量的變分分布關(guān)于子集是邊緣獨立的,變分分布可以表示成分解形式:
均值場變分優(yōu)化問題可表示為
(9)
對于均值場變分推理,可以采用坐標上升算法求解變分優(yōu)化問題.該算法的基本思想是,對于變分分布的J個分量,每次迭代優(yōu)化其中的一個分量而固定其他分量.對于分量zj,j=1,2,…,J,通過坐標上升算法可以計算出分量的迭代式為
(10)
均值場變分推理中只假設隱向量分量是邊緣獨立的,沒有設定其他假設,包括變分分布的表示形式等.基于坐標上升的均值場變分推理實現(xiàn)簡單,研究者進一步提出變分消息傳播算法[54],具體地,每個隨機隱向量的變分參數(shù)利用其Markov毯鄰域內(nèi)隱變量的變分參數(shù)進行迭代更新.變分消息傳播更新方式結(jié)合了變分推理與概率圖模型,通過因子圖給出了更一般表示形式[49],并擴展到了非共軛模型[55].
2) 基于隨機梯度的優(yōu)化方法
對于概率生成模型的變分優(yōu)化式(8),如果變分分布q(z(i)))的結(jié)構(gòu)形式已知,如高斯分布、基于神經(jīng)網(wǎng)絡結(jié)構(gòu)的高斯分布等,此時變分分布可表示為qφ(z(i))),其中φ表示變分分布的參數(shù).此時可以采用梯度上升方法求解變分參數(shù)φ,即:
對于概率生成模型p(x,z),通過最大化數(shù)據(jù)集的對數(shù)似然函數(shù)lnp(X),計算模型參數(shù)θ是概率生成模型的重要學習任務[56].期望最大化(expectation maximization, EM)算法是求解含有隱向量模型參數(shù)的基本方法,通過迭代執(zhí)行E步(expectation step)和M步(maximization step)計算模型參數(shù),其中E步是利用上一步的參數(shù)計算隱向量后驗概率分布,M步是利用隱向量知識求解模型參數(shù).變分推理與EM算法有著天然密切的聯(lián)系[1],當E步無法精確計算隱向量后驗概率分布時,需要借助變分推理進行近似求解.
對于該優(yōu)化問題,分別關(guān)于參數(shù)θ和變分分布q(z(i))迭代求解直到收斂,可以計算出模型參數(shù)θ及自由分布q(z(i)).該求解過程稱為變分EM算法,其中變分E步用于求解變分分布q(z(i)),變分M步用于求解模型參數(shù)θ,迭代執(zhí)行變分E步和M步直到收斂.變分EM算法的具體過程:
變分E步為
變分M步為
對于貝葉斯概率生成模型p(x,z,θ),需要計算參數(shù)的后驗概率分布,在均值場變分假設下,變分分布形式為q(z,θ)=q(z)q(θ),觀測數(shù)據(jù)的證據(jù)下界為
此時通過變分EM算法交替更新自由分布q(z),q(θ),具體過程:
變分E步為
i=1,2,…,N;
變分M步為
最終得到隱變量后驗概率分布的近似分布q(z),及隱變量后驗概率分布的近似分布q(θ).
指數(shù)族分布是一類重要的概率分布表示形式,包含高斯、伯努利分布、多項式分布等多種分布.條件共軛指數(shù)族是指對指數(shù)族分布參數(shù)引入與似然函數(shù)共軛的先驗分布,從而使得參數(shù)后驗分布具有與先驗相同的分布形式[4].對于條件共軛指數(shù)族分布,基于坐標上升算法可以給出變分優(yōu)化問題的解析表示形式,并且結(jié)合隨機優(yōu)化策略可以將變分推理推廣到大規(guī)模數(shù)據(jù)中.
指數(shù)族分布下概率生成模型的概率分布為
p(x,z|θ)=h(x,z)g(θ) exp {θTu(x,z)},
(11)
其中:θ稱為自然參數(shù);u(x,z)為充分統(tǒng)計量;g(θ)為歸一化項;h(x,z)為基測度.參數(shù)θ的共軛先驗為
p(θ;α1,α2)=f(α1,α2)g(θ)α2exp{α2θTα1},
(12)
其中,f(α1,α2)表示歸一化量.觀測數(shù)據(jù)集X的聯(lián)合概率分布為
(13)
對隱向量及模型參數(shù)引入均值場變分分布q(Z,θ),即:
(14)
條件共軛指數(shù)族分布下的變分優(yōu)化式為
(15)
對條件共軛指數(shù)族分布的變分優(yōu)化式(15),采用坐標上升算法進行優(yōu)化求解,隱向量的變分分布q(z(i))的迭代更新式為
q(z(i))=h(x(i),z(i))g(E[θ])exp{Eq(θ)[θT]×
u(x(i),z(i))},i=1,2,…,N.
(16)
參數(shù)的變分分布q(θ)的迭代更新式為
q(θ;λ1,λ2)=f(λ1,λ2)g(θ)λ2exp{θTλ1},
(17)
其中:
對于條件共軛指數(shù)族分布,在引入隱變量自由分布過程中,不需要給出自由分布的具體形式,利用坐標上升方法可以直接給出自由分布的分布形式及參數(shù)更新式.對比式(12)(17)可知,參數(shù)變分分布q(θ;λ1,λ2)與先驗分布p(θ;α1,α2)具有相同的分布表示形式.通過迭代執(zhí)行局部隱變量變分分布更新式(16)和全局參數(shù)變分分布更新式(17),直到算法收斂,計算出目標函數(shù).對于條件共軛指數(shù)族分布,基于坐標上升的變分推理的執(zhí)行過程如算法1所示:
算法1.基于坐標上升的變分推理.
輸入:數(shù)據(jù)集X、模型p(X,Z,θ)、變分分布q(Z,θ);
輸出:自由分布q(θ;λ),q(z(i)),i=1,2,…,N.
repeat:
for數(shù)據(jù)點x(i)∈X
根據(jù)式(16)更新變分分布q(z(i));
end for
根據(jù)式(17)更新自由分布q(θ);
until滿足收斂條件.
對于條件共軛指數(shù)族分布,采用基于坐標上升的變分推理進行模型訓練,每次需要遍歷整個數(shù)據(jù)集才能更新一次模型參數(shù),模型訓練效率不高,較難推廣至大規(guī)模數(shù)據(jù)集上.針對該問題,Hoffman教授團隊[12]提出了隨機化變分推理方法,將隨機優(yōu)化技術(shù)應用到變分優(yōu)化目標,并利用指數(shù)族自然梯度的性質(zhì),得到迭代更新式,使變分推理可以應用于大規(guī)模數(shù)據(jù)集[12,57].
(18)
根據(jù)條件共軛指數(shù)族的自然梯度的性質(zhì),詳細公式推導可參考文獻[12],可求解該變分優(yōu)化式關(guān)于超參λ的帶噪無偏自然梯度為
再根據(jù)隨機梯度上升方法得到自由分布超參數(shù)的迭代更新式,即:
(19)
隨機化變分推理中的批處理數(shù)據(jù)集XS,其中S表示批處理的規(guī)模,一般滿足1≤S?N.當S值較大時可以降低隨機自然梯度的方差,但是為了更容易擴展到大規(guī)模數(shù)據(jù)集,必須讓批量處理規(guī)模遠遠小于數(shù)據(jù)集規(guī)模,即S?N.隨機化變分推理算法更新過程如算法2所示:
算法2.隨機化變分推理.
輸入:數(shù)據(jù)集X、模型p(X,Z,θ)、變分分布q(Z,θ);
輸出:自由分布q(θ;λ).
repeat:
采樣j~Uniform(1,2,…,N);
根據(jù)式(16)更新變分分布q(z(j));
根據(jù)式(19)更新變分分布q(θ;λ);
until滿足收斂條件.
在線變分推理(online variational infernce)[57]與隨機化變分推理具有相同的參數(shù)更新方式,其中隨機化變分推理的批處理樣本集XS是從樣本集X中均勻隨機采樣,在線變分推理假設批量數(shù)據(jù)集XS是已知的,比如在流應用中,假設某數(shù)據(jù)源可以順序產(chǎn)生批處理數(shù)據(jù)集.隨機化變分推理的學習率及批處理大小會影響算法的收斂速度.根據(jù)大數(shù)定律可知,增加批處理規(guī)模,可以降低隨機梯度噪音,允許較大的學習率.提高隨機化變分推理收斂速度,可以通過固定學習率自適應選擇批處理數(shù)據(jù)規(guī)模[58],或者通過固定批處理規(guī)模自適應選擇學習率[59-60].同時,隨機化變分推理的梯度方差決定了算法的收斂速度,較小的梯度方差使算法具有較快的收斂速度.可以通過降低隨機梯度方差來提高隨機化變分推理的收斂速度,包括通過引入控制變量降低隨機梯度方差[61-62],通過非均勻采樣,如重要采樣(important sampling)[63]、分層采樣(stratified sampling)[64]、基于聚類的采樣(clustering-based sampling)[65]、多元批采樣(diversified mini-batch sampling)[66]等,選擇具有較小方差的批處理數(shù)據(jù)來降低梯度方差.
本節(jié)針對一般概率生成模型,綜述基于隨機梯度的黑盒變分推理方法,該方法首先通過計算變分優(yōu)化式的隨機梯度估計,再結(jié)合隨機梯度更新變分分布參數(shù),具有廣泛的應用范圍,并可以方便應用到深度復雜模型及大規(guī)模數(shù)據(jù)[13-14].
對于一般的概率生成模型,假設變分分布q(z)的分布形式是固定的,訓練過程只需求解變分分布參數(shù)φ.此時變分推理模型可表示為q(z;φ),樣本點x(i)的變分下界為
其中,期望Eφ(i)[·]表示關(guān)于自由分布q(z(i);φ(i))的期望.數(shù)據(jù)集X的對數(shù)似然函數(shù)lnp(X)的變分優(yōu)化問題為
算法3.黑盒變分推理框架.
輸入:X,p(x,z);
輸出:自由分布q(z(i);φ(i)),i∈{1,2,…,N}.
初始化參數(shù)φ(i),i∈{1,2,…,N};
repeat:
學習率ρt;
forx(i)∈X
end for
until滿足收斂條件.
隨機梯度估計方法主要是基于蒙特卡洛的估計方法,典型方法包括基于評分函數(shù)的隨機梯度[13]和基于重參的隨機梯度[15-16].隨機梯度的噪音或方差控制是這類方法的難點,會直接影響算法的收斂及收斂速度.基于隨機梯度下降的方法對步長很敏感,步長太大會使算法不收斂,步長太小會使算法收斂速度特別慢.針對這些問題研究者提出各種隨機優(yōu)化框架,如Adagrad[67],Adam[68],RMDProg[69]等,可以根據(jù)當前或過去的梯度值自適應地確定更新步長.
基于重參的隨機梯度首先對變分分布進行變量變換,此時變分分布由噪音分布經(jīng)過帶參數(shù)的確定性函數(shù)轉(zhuǎn)換得到,然后對重參后的目標函數(shù)求梯度[15-16].對于變分分布q(z;φ),通過引入噪音分布ε~p(ε),并基于參數(shù)φ設計從ε到z的確定性映射函數(shù)S,對變分分布實現(xiàn)重參,即:
ε~p(ε),
z=S(ε;φ),
利用重參映射函數(shù)對變分優(yōu)化式進行變量替換,并通過蒙特卡洛采樣,可計算出變分下界的帶噪無偏估計:
其中:L表示采樣的個數(shù);z(i,l)表示通過映射函數(shù)S獲得的樣本,即:
z(i,l)=S(ε(l);φ(i)),ε(l)~p(ε),
該梯度稱為基于重參的隨機梯度.
相比基于評分函數(shù)的隨機梯度,基于重參的隨機梯度在實踐中具有較小的梯度方差,但是并沒有嚴格的理論證明[20],研究者開展了特定結(jié)構(gòu)下重參梯度的方差分析研究[46,71].基于重參的方法需要找到一個從噪音向量ε到隱向量z之間的映射S,重參方法適用于3類概率分布:1)位置尺度類概率分布;2)具有可逆累計分布函數(shù)的概率分布;3)通過變換可以表示成上述2類的概率分布分布[15].對于不滿足上述條件的連續(xù)隱向量,研究者提出隱式重參梯度(implicit reparameterization gradients)方法,利用從z到ε累計分布函數(shù)的梯度,結(jié)合鏈式規(guī)則求變分下界的隨機梯度[23].對于離散隱向量,研究者采用gumbel-max技巧,并利用softmax操作代替argmax操作,實現(xiàn)離散變量重參[21-22].
其中,fφ(x)表示基于樣本的參數(shù)化函數(shù);φ表示變分分布模型的共享參數(shù).分攤變分推理的共享變分參數(shù)訓練是基于所有樣本累計訓練的結(jié)果,相比傳統(tǒng)每個樣本獨立的變分參數(shù)方式,該訓練方式又稱為有記憶的訓練模式.傳統(tǒng)變分推理中獨立變分參數(shù)如圖2(a)所示,分攤變分推理中分攤變分推理參數(shù)如圖2(b)所示,其中,實線箭頭表示生成過程,虛線箭頭表示推理過程.對于分攤變分推理對應的優(yōu)化問題,可以采用基于評分函數(shù)的隨機梯度或基于重參的隨機梯度進行迭代求解.
Fig. 2 The graphical models of two inferences圖2 2種推理的圖模型結(jié)構(gòu)
變分自編碼模型由Kingma[15]和Rezende[16]這2個研究團隊于2014年分別獨立提出的,是當前最經(jīng)典的深度生成模型之一,它有效結(jié)合了概率生成模型和深層神經(jīng)網(wǎng)絡.具體地,變分自編碼的生成模型p(x|z;θ)結(jié)合了深層神經(jīng)網(wǎng)絡,變分推理模型采用分攤方式q(z|x;fφ(x)),其中函數(shù)fφ(x)也采用深層神經(jīng)網(wǎng)絡.在模型訓練中,采用基于重參的隨機梯度對生成模型參數(shù)θ及變分推理模型參數(shù)φ同時進行訓練學習.
對于單樣本x(i),變分自編碼的變分下界為
其中:z(i,l)表示根據(jù)蒙特卡洛采樣及映射函數(shù)得到的樣本,即z(i,l)=S(ε(l);φ),ε(l)~p(ε).對于數(shù)據(jù)集X,基于批處理的數(shù)據(jù)集XR的變分下界為
此時可以方便計算出變分下界關(guān)于變分參數(shù)φ
變分自編碼模型以其簡單的訓練方式和較好的實踐效果很快成為深度生成模型的研究焦點[44].相關(guān)研究工作主要集中在豐富變分推理結(jié)構(gòu)、提高變分界的緊致性、提高生成圖像質(zhì)量、研究變分隱空間的解耦特性等方面.研究者提出將隱式分布應用到變分分布中增強變分分布表示能力[25-27].進一步針對隱式變分分布中KL散度項難以求解的問題,提出結(jié)合對抗網(wǎng)絡的判別函數(shù)進行優(yōu)化求解的方法[27,31].為了提高變分下界的緊致度,研究者提出重要加權(quán)變分自編碼[28-29],通過從變分分布中進行多次采樣構(gòu)建變分下界,采樣次數(shù)越多,變分界越緊致.同時,研究指出通過豐富生成模型,如引入豐富的隱變量先驗分布,提高深度生成模型變分下界的緊致性[72],對先驗分布引入高斯混合豐富模型結(jié)構(gòu)[73].針對似然函數(shù)在各維度上的分解形式引起的模型性能的降低,提出像素變分自編碼[32],通過條件分布保留像素之間的相關(guān)性,提高變分界精度.針對變分自編碼模型生成圖像模糊的問題,很多研究團隊開展了研究.其中,英偉達研究團隊提出矢量量化的變分自編碼(vector quantized variational auto-encoder)[74],將PixelCNN引入隱變量先驗分布,并利用多尺度層次化建模方法生成高質(zhì)量圖像;進一步對于變分自編碼模型,通過使用殘差塊和批正則化精心設計神經(jīng)網(wǎng)絡結(jié)構(gòu)生成高質(zhì)量圖像,同時保留了變分下界[75].針對變分自編碼模型的解耦統(tǒng)計性分析,研究者開展了相關(guān)分析,通過加入不同的正則化方法對變分隱空間進行解耦,提升可解釋性[76-79].
均值場變分推理假設變分分布各分量是邊緣獨立的,這種假設可以簡化推理,但是損失了推理精度.結(jié)構(gòu)化的變分推理是指通過各種方法增加變分分布分量之間的相關(guān)性,提高推理精度.本節(jié)綜述通過各種不同方式增加變分分布分量之間相關(guān)度的結(jié)構(gòu)化變分推理方法.
結(jié)構(gòu)化均值場方法(structured mean field approach)首先由Saul和Jordan等人提出[11],該方法結(jié)合了傳統(tǒng)的均值場方法和精確推理方法,首先從概率生成模型中識別出易處理的子結(jié)構(gòu),如鏈式結(jié)構(gòu)、樹型結(jié)構(gòu)等,然后在各子結(jié)構(gòu)之間執(zhí)行均值場變分推理方法,而在每個子結(jié)構(gòu)內(nèi)部執(zhí)行精確推理,如junction tree方法[34].該方法需要根據(jù)模型的具體情況人工選取易處理的子結(jié)構(gòu).如對于概率生成模型,選擇的J個易處理子結(jié)構(gòu)可記作{zj|j=1,2,…,J},此時變分分布表示為
其中,變分子分布{q1(z1),q2(z2),…,qJ(zJ)}之間是條件獨立的,對于每個子結(jié)構(gòu)qj(zj)內(nèi)可以精確計算單變量邊緣概率分布.
之后,結(jié)構(gòu)化均值場方法得到了進一步發(fā)展[34,80-81],并結(jié)合黑盒變分推理方法應用于大規(guī)模數(shù)據(jù)的更新[82].該方法尤其適合于時間序列模型,如隱Markov模型[35]、動態(tài)主題模型[36]等,此時采用的變分分布顯式保留了時間點之間的結(jié)構(gòu)信息,而其他變量之間仍舊是邊緣獨立的.
標準化流方法[37]是構(gòu)建豐富變分分布的一類重要方法,可以給出更緊致的變分界.該類方法通過一系列可逆函數(shù)將一個簡單的變分分布,如均值場變分分布結(jié)構(gòu),轉(zhuǎn)換成結(jié)構(gòu)更豐富的變分分布.
令z表示連續(xù)隨機向量,其概率分布為q(z),f:d→d表示映射函數(shù),通過f對隱向量z進行變量變換z′=f(z),變換后的隨機向量z′的概率分布為
zK=fK°…°f2°f1(z0),
利用變換后的分布作為變分分布,即q(z(i)))=qK(zK),此時的變分下界為
L(φ)=Eq0(z0)[lnp(x,zK)-lnqK(zK)].
選用不同的映射函數(shù)可以得到不同的標準化流方法,平面流和徑向流是2種最經(jīng)典的標準化流,其中每次映射可以看作一個隱層單元,其雅可比行列式可以很方便計算,一般應用于低維隱空間[37].Sylvester標準化流是平面流的一般化表示,克服了單一隱層的缺點,豐富了變分分布的表示能力[83].自回歸流是一種結(jié)構(gòu)豐富同時雅可比行列式容易計算的映射函數(shù),成為標準化流的研究特點之一,不同的結(jié)合方式形成不同的算法,包括real non-volume preserving flows[84]、掩模自回歸流[38]、可逆自回歸流[39]等.
除了結(jié)構(gòu)化均值場方法、標準化流方法之外,研究者還提出了各種其他策略,通過豐富變分分布結(jié)構(gòu)提升變分推理精度.
1) 層次化變分模型.均值場方法假設變分推理模型各維度之間是相互獨立的,層次化變分模型[17](hierachical variational models)通過引入貝葉斯方法豐富模型結(jié)構(gòu),對變分參數(shù)引入先驗分布,增加變量之間的相關(guān)性.該方法在保持隱變量之間條件獨立性的同時,豐富了變分推理模型結(jié)構(gòu)關(guān)系.對于觀測向量x,基于完全均值場變分推理中變分分布為
層次化變分推理通過對變分參數(shù)φ引入先驗分布q(φ;λ),此時層次化變分推理模型為
2) 耦合變分推理.耦合變分推理[40-41]通過對均值場變分分布引入耦合分布增加分量之間的相關(guān)性,此時變分分布形式為
Q(z2),…,Q(zd)),
其中,c表示耦合函數(shù),即基于各分量邊緣累計分布函數(shù)Q(z1),Q(z2),…,Q(zd)的聯(lián)合概率分布.
3) 基于輔助變量的變分推理模型.在隱變量生成模型中引入附加向量a,此時生成模型概率分布形式為
p(x,z,a)=p(z)p(x|z)p(a|x,z).
變分推理模型的形式為
q(a,z|x)=q(z|a,x)q(a|x).
此時,觀測樣本x對應的變分下界為
4) 基于混合分布的變分推理.混合模型具有靈活的表示形式,從20世紀末開始已經(jīng)被應用到變分推理模型中[42-43].混合模型靈活的結(jié)構(gòu)形式也意味著復雜的變分推理,研究者提出了各種訓練方式,包括基于輔助界的方法[17]、固定點更新方法[85]等.受到boosting方法的啟發(fā),最近發(fā)展了boosting變分推理方法[86]及變分boosting方法[87],通過每次只更新其中一個分量,而固定其他分量的方式進行訓練.
概率生成模型變分推理已經(jīng)成為人工智能領(lǐng)域的研究熱點,該方向進一步研究工作主要包括4個方面:
變分推理的理論研究工作還非常有限,已開展的部分理論研究工作主要集中在變分推理統(tǒng)計性質(zhì)分析方面,包括對變分貝葉斯推理中模型參數(shù)的訓練一致性分析[88],如貝葉斯線性模型參數(shù)訓練一致性的分析[89-90]、泊松混合效應模型參數(shù)漸進正態(tài)性的分析[91]、隨機區(qū)塊模型參數(shù)漸進正態(tài)性的分析[92]等.相比蒙特卡洛近似推理理論研究,變分近似推理的理論研究還有很多工作有待深入,包括變分推理近似誤差的量化、基于變分推理的預測分布的統(tǒng)計性質(zhì)等.
變分推理通過概率分布距離度量來構(gòu)建變分優(yōu)化式,根據(jù)不同的距離度量方式可以得到不同的變分優(yōu)化式,當前變分推理主流是基于DKL(q‖p)散度的變分優(yōu)化問題開展研究.研究者也開展了基于其他概率分布度量的變分推理研究,包括DKL(p‖q)散度距離[48,93]、α-散度距離Dα(p‖q)[94]、f-散度距離Df(p‖q)[53,95]等.但是這方面研究的深度不夠,包括如何基于這些概率分布距離度量設計收斂速度更快的優(yōu)化算法、如何豐富變分分布結(jié)構(gòu)、如何有效地同深度神經(jīng)網(wǎng)絡相結(jié)合處理大規(guī)模數(shù)據(jù)等,這些研究問題都是有待深入探討分析的.
基于采樣和基于變分的推理方法是兩大類重要的近似推理方法,基于采樣的近似推理方法,精度較高且有理論保證,但是收斂速度慢,且受先驗參數(shù)影響;基于變分的近似推理方法收斂速度快,但是推理精確不易量化.研究如何將2類近似方法進行有效地結(jié)合,實現(xiàn)近似推理精度與計算速度的權(quán)衡折中是一個重要的研究方向.已開展的相關(guān)研究包括:將Metropolis-Hastings采樣引入已訓練的變分分布[96]、利用MCMC進行近似求解變分推理的坐標上升優(yōu)化成果[97-98]、引入變分近似方法到MCMC鏈中[99]等.進一步深入研究采樣方法和變分方法的結(jié)合方式及結(jié)合場景對機器學習領(lǐng)域都有重要的理論價值和實踐意義.
深度概率生成模型結(jié)合了概率生成模型和深度神經(jīng)網(wǎng)絡,是深度模型的重要構(gòu)成部分.得益于黑盒變分推理方法的發(fā)展,可以方便地開展深度概率生成模型在大規(guī)模數(shù)據(jù)集上的訓練.基于變分推理的深度概率生成模型也是深度學習方面的研究熱點.隨著大規(guī)模數(shù)據(jù)集規(guī)模及算力的進步,深度學習在實際應用中取得了很多矚目成果,但是理論研究方面發(fā)展緩慢.可以以深度概率生成模型為切入點,基于變分推理開展相關(guān)理論研究,如深度特征表示、隱變量可解釋性等.深度概率生成模型的2類典型范例是變分自編碼和生成對抗網(wǎng)絡.變分自編碼是針對顯式深度概率生成模型進行訓練,模型具有生成數(shù)據(jù)及特征表示能力;而生成對抗網(wǎng)絡是針對隱式深度生成模型進行訓練,模型僅具有生成高質(zhì)量數(shù)據(jù)的能力.針對不同的應用場景或模型結(jié)構(gòu),如何揚長避短將2類方法有效結(jié)合起來是一個重要的研究方向.已有的相關(guān)研究工作包括對抗自編碼模型[30]、對抗變分貝葉斯[31]等,是將對抗策略引入到變分優(yōu)化式的求解中.但是這方面仍舊有很大的研究空間.
本文給出了概率生成模型變分推理的一般框架及基于變分推理的概率生成模型參數(shù)學習過程.并從條件共軛指數(shù)族的變分推理、基于隨機梯度的黑盒變分推理及結(jié)構(gòu)化變分推理3方面綜述了變分推理的最新進展及相應框架下算法的優(yōu)缺點.最終對概率生成模型變分推理的進一步工作進行了討論分析.
作者貢獻聲明:陳亞瑞負責論文整體思路框架設計、撰寫及修改;楊巨成對論文框架提出指導意見;史艷翠與王嫄負責相關(guān)研究現(xiàn)狀的補充、研究展望的完善;趙婷婷對論文框架提出指導意見并修改論文.