




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
BeliefNetsandDeepBeliefNets數(shù)媒學(xué)院-許鵬BeliefNetsandDeepBeliefNe1RBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的,最多兩個隱層,而且一旦神經(jīng)元個數(shù)太多,模型參數(shù)就是迅速增長,采用隨機梯度下降的話一般很難找到最優(yōu)解,甚至隨著層數(shù)的增加,如果訓(xùn)練網(wǎng)絡(luò)時權(quán)值初始化的很小,那么模型會很快的陷入局部最優(yōu)解,而且是一個poorlocalminima,這是神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題。另外一個主要的原因就是判別模型,因為FNN是判別模型,就是即使神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題可以通過一些手段解決,比如替換神經(jīng)元激活函數(shù),采用ReLU單元,那么還是有問題,就是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時候需要很大的標(biāo)簽數(shù)據(jù),因為深度神經(jīng)網(wǎng)絡(luò)的模型參數(shù)很多,所以在訓(xùn)練數(shù)據(jù)少的時候很難找到最優(yōu)解,也就是深度神經(jīng)網(wǎng)絡(luò)不具備解決小樣本問題的能力,所以受這些限制,深度的神經(jīng)網(wǎng)絡(luò)一度被認為是無法訓(xùn)練的,而90年代出現(xiàn)的支持向量機很好的解決了小樣本和優(yōu)化問題,所以受到人們的推崇。但是Hinton一直沒有放棄對于深層神經(jīng)網(wǎng)絡(luò)的研究,因為他覺得,支持向量機其實只是感知機引入了一些tricks,比如核方法很好的解決了非線性問題,但是核的選擇卻深深困擾著所有的機器學(xué)習(xí)的研究者,另外最大化間隔也就是支持向量提高了模型的泛化能力,但是這些并不是提取非線性特征最有效的方法,所以深層神經(jīng)網(wǎng)絡(luò)的研究是很有意義的。以上思想來自于Hinton在coursera的公開課NeuralNetworksforMachineLearningRBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的2RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實主要原因是,可以解決深層神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題了,也就是2006年Hinton發(fā)的文章里面采用的訓(xùn)練方法,逐層訓(xùn)練,而在逐層訓(xùn)練的時候起到最重要作用的受限玻爾茲曼機,這樣的逐層訓(xùn)練有什么優(yōu)點那,它的優(yōu)點就是很好的解決了前面提到的深層神經(jīng)網(wǎng)絡(luò)遇到的兩個問題,很容易陷入局部最優(yōu)和沒有大量標(biāo)簽樣本。其中的逐層訓(xùn)練解決了優(yōu)化的問題,因為在逐層用玻爾茲曼機預(yù)訓(xùn)練的時候就為整個網(wǎng)絡(luò)賦予了較好的初始權(quán)值,使得網(wǎng)絡(luò)只要經(jīng)過微調(diào)就可以達到最優(yōu)解,而不會陷入poorlocalminima,另外一個優(yōu)點是由于受限玻爾茲曼機是一個生成模型,它可以充分利用大量的非標(biāo)簽數(shù)據(jù),因為預(yù)訓(xùn)練的時候是對不含標(biāo)簽的數(shù)據(jù)本身進行建模,其中RBM的可見單元是非標(biāo)簽訓(xùn)練數(shù)據(jù),隱藏層訓(xùn)練完以后可以看做是數(shù)據(jù)的特征,這樣如果將多個RBM堆疊起來就會起到提取數(shù)據(jù)非線性特征的效果,所以由此開始了深度學(xué)習(xí)的熱潮。UnsupervisedLearningforGenerativeModelSupervisedLearningforDiscriminantModelPretrainingFine-tuneUnlabeledLabeled上面這個圖其實是2006年Hinton最開始進行深度學(xué)習(xí)時候的思想,其中堆疊RBM是核心的思想,當(dāng)然最重要的那篇論文中并沒有提到判別模型,但是用生成模型一樣可以做分類,以后會提到。這整個模型中還有一個重要的知識就是信念網(wǎng)絡(luò),它和受限玻爾茲曼機很像,但是它是有向圖,而玻爾茲曼機是無向圖,它們都是學(xué)習(xí)一個聯(lián)合概率分布,下面我們講解信念網(wǎng)絡(luò),這對理解DBN很重要。而DBN可以認為是深度學(xué)習(xí)復(fù)興的一個開始。RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實主要3BeliefNetworkRBM和BN都是屬于概率圖模型,而BN是有向圖,它又叫Bayesiannetworks,causalnetworks,在1992年,RadfordNeal提出如果BN使用和RBM相同的sigmoid激活單元,我們可以得到SigmoidBeliefNets。既然兩者都屬于生成模型,都可以對非標(biāo)簽數(shù)據(jù)進行建模,解決前面提到的兩個問題,那么我們該使用RBM還是BN那,亦或是兩者的合體,其實deepbeliefnets深度信念網(wǎng)絡(luò)就是兩者的合體,我們已經(jīng)學(xué)習(xí)了RBM,但是要理解DBN還必須理解BN,還有很長的路要走。BeliefNetworkRBM和BN都是屬于概率圖模型,4BNandProbabilityGraphicalModelRBM和BN都屬于PGM,PGM是圖論和概率論的結(jié)合,這是人工智能一個重要的領(lǐng)域,因為它解決了很多不確定性的問題,用它們建模得到的都是生成模型,我們回憶一下最開始學(xué)習(xí)BM的時候最重要的兩個問題,一個是學(xué)習(xí)問題,一個是推斷問題(就是從模型中采樣),對于BN來說也是一樣,如果是稀疏連接的有向無環(huán)BN,人們已經(jīng)發(fā)明了很多精確推斷的方法,但是對于密集連接的BN來說,推斷和學(xué)習(xí)都是問題。stochastichiddencausesvisibleeffects當(dāng)我們有可見變量的時候,一般指的是訓(xùn)練數(shù)據(jù),我們要解決的問題有兩個:Theinferenceproblem:給定可見變量時推斷藍色的不可見變量的狀態(tài)?,F(xiàn)在已經(jīng)有了很多技術(shù)處理這個問題,對于簡單的貝葉斯網(wǎng)絡(luò),可以用精確推斷,即根據(jù)貝葉斯公式計算得出隱藏節(jié)點的值;對于密集連接的網(wǎng)絡(luò),就是概率分布很復(fù)雜時,現(xiàn)在有MCMC采樣方法和變分推斷方法可以使用。Thelearningproblem:在給定可見單元的訓(xùn)練數(shù)據(jù)的時候,調(diào)整整個網(wǎng)絡(luò)的變量之間的連接權(quán),使得這個生成模型產(chǎn)生訓(xùn)練數(shù)據(jù)的概率最大化。其實學(xué)習(xí)問題中包含推斷問題,因為學(xué)習(xí)權(quán)值時,一般都需要知道隱藏節(jié)點的狀態(tài),所以推斷是必要的過程。BNandProbabilityGraphicalM5GraphicalModelsandversusNeuralNetworks最開始的圖模型都是借助專家來定義圖結(jié)構(gòu)和節(jié)點之間的條件概率:例如會找來一個醫(yī)學(xué)專家,詢問他這個
病癥怎么影響另一個病癥,每個病癥都
是圖模型中的一個節(jié)點,并且每個節(jié)點
都有一個條件概率來描述其他節(jié)點怎么
影響它,就這樣依靠專家來定義一個圖
模型。這樣的圖模型一般都是稀疏連接的,因
為都是人為定義的,所以不會太過復(fù)雜而且這樣的圖模型一般只關(guān)注怎么能正確地推斷,例如知道了病的癥狀,怎么
推測病因。因為模型是專家定義的,所以幾乎不涉及圖的學(xué)習(xí)問題。神經(jīng)網(wǎng)絡(luò)只是模型的結(jié)構(gòu)和基本屬性需要
人為定義:對于神經(jīng)網(wǎng)絡(luò)來說,學(xué)習(xí)才是核心的問題
像早期圖模型那樣人為定義模型是不可能
的,所以神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的模型都來自于
訓(xùn)練數(shù)據(jù),而不是專家。神經(jīng)網(wǎng)絡(luò)不像早期圖模型那樣希望有很好
的解釋性和稀疏連接的性質(zhì)來使得推斷更
加的容易,它更注重學(xué)習(xí)而非推斷。當(dāng)然也有神經(jīng)網(wǎng)絡(luò)版本的信念網(wǎng)絡(luò),也就
是這樣的信念網(wǎng)絡(luò)結(jié)構(gòu)比較有意義,但是
它是通過數(shù)據(jù)學(xué)得的模型,而不是人為定
義,神經(jīng)網(wǎng)絡(luò)的生成模型就有兩種。當(dāng)然其實某些情況下,神經(jīng)網(wǎng)絡(luò)和概率圖模型的界限并不清晰,只是說圖模型更關(guān)注推斷問題而神經(jīng)網(wǎng)絡(luò)更專注采用數(shù)據(jù)來學(xué)習(xí)模型的問題。GraphicalModelsandversusNe6TwoGenerativeNeuralNetworkEnergy-based:
使用對稱連接將二值隨機神經(jīng)元連接
起來就形成了玻爾茲曼機,它的每一
狀態(tài)都對應(yīng)一個能量,所以是給予能量的模型,而為了簡化模型,使得模
型更容易從數(shù)據(jù)中學(xué)得知識,限制了
玻爾茲曼機的連接,就形成了受限玻
爾茲曼機。Causal:
用有向無環(huán)圖的方式將二值隨機神經(jīng)元連
接起來就可以得到SigmoidBeliefNet。注
意RBM是無向圖而SBN是有向圖。雖然我們前面講過受限玻爾茲曼機用
對比散度的算法很容易學(xué)習(xí),但是它
也放棄了一些玻爾茲曼機的優(yōu)點就是
它沒有玻爾茲曼機的層間連接,也就
是學(xué)習(xí)到的RBM隱藏層沒有相互影響
其實這是不正確的,它限制了模型表
達數(shù)據(jù)的能力,而且它只能學(xué)習(xí)單隱
層,如果采用多隱層結(jié)構(gòu),也許就能
避免層間無連接導(dǎo)致的模型表達能力
減弱的問題。SBN是Neal在1992年提出的,他把SBN和BM
做了對比,發(fā)現(xiàn)SBN學(xué)習(xí)起來稍微容易一些
因為在生成數(shù)據(jù)時它只需要決定了最上面一
層神經(jīng)元的狀態(tài)就可以逐層往下計算,最終
得到一個生成的采樣值。stochastichiddencausesvisibleeffects其實當(dāng)時1992年訓(xùn)練BM還很困難,基本還是基于熱平衡采樣方法,直到2002年Hinton才發(fā)明了CD算法,所以他當(dāng)時暫時轉(zhuǎn)向了研究SBNTwoGenerativeNeuralNetworkE7LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因為不像訓(xùn)練BM時需要兩個階段positivephase和negativephase,訓(xùn)練SBN只需要positivephase,這是因為SBN是局部歸一化模型,也就是每個節(jié)點的條件概率其實都是歸一化的,而BM所服從的玻爾茲曼分布必須有一個配分函數(shù)使得每個狀態(tài)的概率是歸一化的而negative階段就是計算配分函數(shù)的,所以SBN不需要。所以SBN簡單,在給定在可見單元上面的訓(xùn)練數(shù)據(jù)時,只要能夠?qū)﹄[藏單元進行采樣,就能很容易的對模型進行訓(xùn)練,訓(xùn)練過程中使用的是對最大似然函數(shù)進行批量梯度下降。所以現(xiàn)在的難點是如何對隱藏節(jié)點的后驗概率分布進行采樣,之所以采樣比較難,是因為一個叫做解釋失效的現(xiàn)象(explainingaway)。stochastichiddencausesvisibleeffects一旦SBN的學(xué)習(xí)完成了,那么生成一個可見單元的樣本是很容易的,只需要從上到下逐層計算就可以因為它是一個因果模型。然而即使我們知道了模型參數(shù),在給定可見單元時,推斷隱藏節(jié)點的后驗分布也是很難的,而且隨著隱藏節(jié)點的增多,難度會越來越大,所以對于一個數(shù)百萬參數(shù)的模型來說,即使只是從后驗概率采樣也很難,導(dǎo)致了無法進行學(xué)習(xí)。LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因為8SBN—LearningRule在講解怎么從隱藏單元的后驗概率分布采樣之前,我們先來看看如果能夠采樣了,那么學(xué)習(xí)算法是怎么樣的。如果我們能夠采樣了,學(xué)習(xí)算法很簡單,就是最大似然估計的思想,也就是使得可見單元神經(jīng)元的值盡可能和訓(xùn)練數(shù)據(jù)對應(yīng)的值一致,即最大似然,因為這里是sigmoid神經(jīng)元,所以每個神經(jīng)元開啟的概率和它的所有父節(jié)點有關(guān)。
stochastichiddencausesvisibleeffects
下面我們重新回到前面提到的采樣問題上,為什么對隱藏單元的后驗分布采樣不容易。SBN—LearningRule在講解怎么從隱藏單元的后驗9ExplainingAway如果兩個節(jié)點在先驗分布中相互獨立,而且它們連接到同一個子節(jié)點,那么當(dāng)子節(jié)點的數(shù)據(jù)已知時,這兩個節(jié)點將不再獨立。這對應(yīng)于圖模型中的多因一果的模型。A
考慮右圖中三個變量的聯(lián)合概率分布,其中A和B獨立,即對于先驗概率分布,A和B獨立,可以看出只要A與B中任意一個為1則C就為1,這正是多因一果模型。我們所說的explainingaway現(xiàn)象是在推斷的時候產(chǎn)生的,即當(dāng)觀測到c的值是1時,我們不知道A和B的取值情況,需要進行推斷根據(jù)下面的聯(lián)合概率分布表格即可求出下列概率,這都很符合常理。
但是如果我們現(xiàn)在確定了A=1,則無論B是多少都有C=1,即有
我們可以看出當(dāng)觀測到C=1,而且知道A=1時,B=1的概率下降了,這就表示A和B的后驗概率并不獨立了,這就叫explainingawayExplainingAway如果兩個節(jié)點在先驗分布中相互獨10LearningSBN—ProblemsWhyit’shardtolearnsigmoidbeliefnetsonelayeratatime如右圖假設(shè)這里有一個多層隱變量的因果模型,是一個SBN,這個模型能生成最終的觀測數(shù)據(jù)。現(xiàn)在我們想學(xué)習(xí)這個模型在第一隱層和可見層之間的的權(quán)值W。在學(xué)習(xí)的過程中會遇到幾個問題。當(dāng)給定可見層數(shù)值時,第一隱層的各個隱層變量之間
并非相互獨立,這正是由于explainingaway因為我們模型有多層,更高層的隱藏變量之間甚至先驗分布都不相互獨立,正是這些先驗分布刻畫了第一
隱藏各隱藏變量之間的相關(guān)性。所以想要學(xué)習(xí)W,必須知道第一隱層變量的后驗分布,而想要知道第一隱
層的后驗分布,又得知道第二隱層的先驗概率分布。hiddenvariableshiddenvariableshiddenvariablesvisibledata
所以所有隱層的權(quán)值W都相關(guān),以此類推,如果我們
想要盡可能的逼近第一隱層的先驗概率,必須求出所
有更高隱層的分布,層數(shù)越多,越能逼近真實分布。LearningSBN—ProblemsWhyit’s11LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)SBN的規(guī)則并不難,但是知道可見單元數(shù)據(jù)時,對隱藏層進行采樣很難尤其想盡可能逼近第一隱層的先驗概率分布時,計算更高層的多個隱藏層是很復(fù)雜的。下面我們介紹兩種方法。第一種就是MCMC方法,我們回憶一下當(dāng)時玻爾茲曼機的學(xué)習(xí)問題,就是采用的蒙特卡洛馬爾科夫鏈的采樣方法,隨機初始化所以隱藏神經(jīng)元的狀態(tài),然后根據(jù)概率公式依次更新所有神經(jīng)元的狀態(tài),直到達到平穩(wěn)分布,如果用MCMC方法的話,信念網(wǎng)絡(luò)的采樣更加簡單,因為它不需要負階段,只需要將可見單元固定,然后更新隱藏單元即可。但是和玻爾茲曼機一樣,用MCMC很耗時,因為達到平穩(wěn)分布需要很長時間,而且往往無法判斷需要多長時間,無法判斷是否達到平穩(wěn)分布。不過優(yōu)點就是只要Gibbs采樣進行足夠長的時間,肯定能夠?qū)﹄[藏層進行精確的后驗分布采樣,然后有了采樣值,就可以訓(xùn)練了。另一種就是變分方法,這種方法的思想就是如果一個分布太過復(fù)雜,那么使用一個
相對簡單一些的分布來近似這個分布,然后從這個相對簡單的分布中采樣,優(yōu)點是
效率更高了,不過它只能是近似采樣,不像蒙特卡洛馬爾科夫鏈采樣一樣,只要運
行時間足夠長就能夠精確采樣。
最大似然學(xué)習(xí)要求的是后驗分布的精確采
樣,而變分方法是從另一個近似分布中采
樣的,學(xué)習(xí)規(guī)則依然有效嗎,有證明說明
變分方法對于最大似然估計仍然有效。現(xiàn)在變分方法已經(jīng)成為機器學(xué)習(xí)領(lǐng)域一個重要的分支,而且一般對于推斷問題,有
三種方法,就是精確計算,隨機采樣和變
分推斷方法。MCMC方法變分方法LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)S12LearningSBN—wake-sleep我們在提到BN的時候就會無可避免的提到玻爾茲曼機,其實有關(guān)信念網(wǎng)絡(luò)的學(xué)習(xí)問題,最開始它的研究目的就是想要找到一個可進行權(quán)值學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),但是想讓這個結(jié)構(gòu)不僅僅和玻爾茲曼機一樣可以對聯(lián)合概率建模得到一個生成模型,還要比玻爾茲曼機的訓(xùn)練算法更加高效,這里的目的主要是想找到一種模型,使其訓(xùn)練算法消除玻爾茲曼機訓(xùn)練時negativephase所進行的工作。于是Sigmoidbeliefnetworks就誕生了。(connectionistlearningofbeliefnetworks-Neal1992)而和玻爾茲曼機一樣最開始SBN采用的是隨機采樣的方法,雖然沒有了negativephase,但是算法效率還是不高,而wake-sleep算法是第一個能夠高效訓(xùn)練SBN的算法,它背后的思想就是變分思想。前面已經(jīng)提到過變分方法,變分法的思想就是如果后驗概率分布很復(fù)雜,很難進行推斷,那么我們希望進行錯誤的推斷,但是學(xué)習(xí)法則依然有效,最好研究表明這種思想對于SBN的訓(xùn)練是可行的。對于每一層,我們錯誤的假設(shè)所有隱藏變量可以進行因子分解,即分解成為一系列獨立變量的乘積即忽視explainingaway現(xiàn)象。換句話說就是當(dāng)給定可見單元數(shù)據(jù)時,隱藏單元相互獨立,就和RBM一樣,但是在RBM中隱變量獨立是正確的,而這里是錯誤的,只是一種假設(shè)或者說近似。一層中三個隱藏神經(jīng)元各自的概率0.30.60.8某個狀態(tài)下三個神經(jīng)元的聯(lián)合概率
LearningSBN—wake-sleep我們在提到BN13LearningSBN—wake-sleep下面我們介紹wake-sleep算法,它就是借用的錯誤的概率分布來進行學(xué)習(xí)。在這個算法中,我們的網(wǎng)絡(luò)有兩組不同的權(quán)值,如圖橘黃色的和綠色的分別是兩組權(quán)值,因為SBN其實是一個生成模型,所以綠色的權(quán)值才是模型的一部分,而橘黃色的權(quán)值是用來近似后驗概率分布的,也就是說我們用這些橘黃色的權(quán)值來表示每一層隱變量上面的因子分布,用這個因子分布來近似后驗分布。
wakephase:使用認知權(quán)重(recognitionweights)執(zhí)行從下到上的傳遞。即給定訓(xùn)練數(shù)據(jù),然后從下到上對各個隱藏層的單元計算其開啟概率,即sigmoid單元,每層神經(jīng)元相互獨立,這樣逐層計算最后得到所有隱藏神經(jīng)元的值,把這些值就可以當(dāng)成是從后驗概率分布采樣得到的值,然后我們就可以做最大似然估計了,即有了后驗分布采樣值,然后根據(jù)權(quán)值更新法則進行更新,這時更新的是綠色箭頭表示的生成權(quán)重(generativeweights),即wakephase是使用認知權(quán)重來驅(qū)動更新生成權(quán)重sleepphase:這個階段正好和wakephase相反,使用生成權(quán)值來驅(qū)動系統(tǒng),即最開始隨機初始化頂層的隱藏層的神經(jīng)元狀態(tài),然后由先驗分布按照規(guī)則計算各隱藏神經(jīng)元的值,這樣從上到下生成整個網(wǎng)絡(luò)的神經(jīng)元狀態(tài)值,這是正確使用這個生成模型的方式,最后能產(chǎn)生一個生成樣本,然后我們可以看看是否能由這個樣本重建隱藏神經(jīng)元,即使用生成樣本來訓(xùn)練認知權(quán)重,使得生成樣本最可能恢復(fù)隱藏神經(jīng)元。HintonandNeal-1995-Thewake-sleepalgorithmfor
unsupervisedneuralnetworksLearningSBN—wake-sleep下面我們介紹w14LearningSBN—wake-sleep結(jié)果表明,如果我們從隨機的生成權(quán)重和隨機的認知權(quán)重開始,并且讓wake和sleep階段交替執(zhí)行最后能學(xué)到一個很好的生成模型。就像訓(xùn)練監(jiān)督學(xué)習(xí)模型中backpropagation算法的重要性,在訓(xùn)練無監(jiān)督學(xué)習(xí)的生成模型的時候,wake-sleep算法也是很重要的,它背后的思想是變分法。Thisshowsathree-layerneuralnetwork.Activitiesinthebottomlayerrepresentthesensoryinputandactivitiesinhigherlayerslearntorepresentthecausesofthesensoryinput.Thebottom-up“recognition”connectionsconvertthesensoryinputintoaninternalrepresentation.TheycanbetrainedbyassumingthattheyaretryingToinvertagenerativeprocess(likecomputergraphics)thatconvertshiddencausesintosensorydata.Theassumedgenerativeprocessisrepresentedinthetop-down“generative”connectionsandittooislearnedjustbyobservingsensorydata.
Hinton-2006-ToRecognizeShapes,FirstLearntoGenerateImagesLearningSBN—wake-sleep結(jié)果表明,如果15LearningSBN—stackedRBMs接下來介紹一種不同的學(xué)習(xí)sigmoidbeliefnets的方法,Hinton后來停止了SBN的研究,重新研究玻爾茲曼機,發(fā)現(xiàn)了一種新的訓(xùn)練受限玻爾茲曼機的高效的算法,就是contrastivedivergence,一個RBM能夠有效的學(xué)習(xí)一層輸入數(shù)據(jù)的非線性特征,再嘗試著把這層學(xué)習(xí)到的非線性特征當(dāng)做輸入數(shù)據(jù),學(xué)習(xí)下一個RBM,則又學(xué)習(xí)到一層非線性特征來刻畫上一層特征的相關(guān)關(guān)系,就這樣將很多RBM堆疊起來學(xué)習(xí)到很多層非線性特征。Hinton-2006-AFastLearningAlgorithmforDeepBeliefNets那么這樣多個RBM堆疊起來構(gòu)成一個什么樣的模型那,是一個多層受限玻爾茲曼機嗎,Hinton的一個研究生發(fā)現(xiàn)實際上堆疊這樣多個RBM你學(xué)習(xí)到的是一個更加類似SBN的模型,這正好解決了高效訓(xùn)練深度信念網(wǎng)絡(luò)(deepbeliefnets)的問題,也就是我們可以采用訓(xùn)練無向圖RBM的方法來訓(xùn)練有向圖SBN。能夠證明,每次我們采用RBM增加一層特征,就能夠提高DBN生成訓(xùn)練的數(shù)據(jù)的對數(shù)概率的變分下界,證明相當(dāng)復(fù)雜并且在實際應(yīng)用中一般無需證明。這個證明基于一個RBM和一個無限深度信念網(wǎng)絡(luò)在數(shù)學(xué)上是等價的,具體證明參見下面論文LearningSBN—stackedRBMs接下來介紹16LearningDBN—stackedRBMs(Pretraining)Combine
twoRBMstomakeaDBNtrainthismodelthentrainthismodel
drop上面的模型即為DBN,深度信念網(wǎng)絡(luò),它既不是sigmoidbeliefnets也不是深度restrictedboltzmannmachine而是他們的混合模型,最上面一層是一個RBM,下面的所有層都是有向的SBN。LearningDBN—stackedRBMs(Pret17DBN—generatedata
右圖是一個三層的深度信念網(wǎng)絡(luò),最上面的兩層構(gòu)成一個受限玻爾茲曼機,生成數(shù)據(jù)的過程如下:
右圖所示的綠色箭頭表示的權(quán)值并不是模型的一部分
在逐個訓(xùn)練完每個RBM之后,RBM的對稱連接就變成
了單向連接,把綠色的箭頭就丟棄掉了,其實他們是
藍色箭頭對應(yīng)權(quán)值的轉(zhuǎn)置。DBN其實本質(zhì)上是一個生成模型,它是RBM和SBN的結(jié)合體,它的發(fā)明有兩個很關(guān)鍵的地方其中一個是頂層RBM一定程度緩解了explainingaway問題,另一個是它可以用堆疊RBM的方式進行快速的預(yù)訓(xùn)練,算法的效率也很高。DBN—generatedata
右圖是一個三18LearningDBN—contrastiveversionofwake-sleep(fine-tune)一旦我們用堆疊RBM的方式學(xué)習(xí)到了多層特征,就得到了一個DBN模型,然后我們可以微調(diào)這些特征來提高模型的泛化能力,用到的算法是wake-sleep算法的變體,即自下向上調(diào)整認知權(quán)重,并且自上到下調(diào)整生成權(quán)重,只不過其中頂層的RBM采用CD算法來訓(xùn)練。用認知權(quán)重自下向上隨機生成神經(jīng)元狀態(tài),然后用這些值調(diào)整生成權(quán)重,這相當(dāng)于標(biāo)準(zhǔn)wake-sleep算法wakephase。對于頂層的RBM,迭代的做幾次Gibbs采用,然后使用contrastivedivergence算法調(diào)
整RBM的權(quán)值。3.最后用生成權(quán)重自上向下隨機生成神經(jīng)元狀態(tài)值,然后用這些值調(diào)整認知權(quán)重,這
相當(dāng)于標(biāo)準(zhǔn)wake-sleep算法的sleepphase。FirstlearnsomeRBMsandthenstackingthemupDocontrastivewake-sleeptofine-tunetheDBNPretrainingFine-tuneLearningDBN—contrastiveversi19LearningDBN—discriminativefine-tuning前面我們提到的是把DBN用作生成模型,即訓(xùn)練好以后用于生成數(shù)據(jù),而DBN也可用作判別模型預(yù)訓(xùn)練方式是一樣的,采樣堆疊RBM的方式,而微調(diào)的時候,不再采用訓(xùn)練生成模型BN的wake-sleep算法,而是采用訓(xùn)練判別模型的算法進行微調(diào)。也就是其實不論用于生成模型還是判別模型,DBN的預(yù)訓(xùn)練過程是很重要的,這樣逐層堆疊RBM的方式叫做GreedyLayer-WiseTraining,它是最開始提出深度學(xué)習(xí)時候的核心,正因為這個算法,深度生成模型和深度判別模型的訓(xùn)練才成為可能,因為這個算法將模型的參數(shù)做了一個很好的初始化,已經(jīng)比較接近最優(yōu)解了,然后只需微調(diào)即可。下面講解怎么對深度判別模型做微調(diào)。用逐層學(xué)習(xí)的方法,將多個RBM堆疊起來,構(gòu)成一個初步的模型,并且認為這是對深度
神經(jīng)網(wǎng)絡(luò)做了一個很好的參數(shù)初始化。前面采用的是wake-sleep算法微調(diào),這里采用backpropagation算法進行fine-tuning。這
樣能克服很多標(biāo)準(zhǔn)backpropagation的缺陷,使得其訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)成為可能,而且能
夠使模型有更好的泛化能力。optimizationWedon’tstartbackpropagationuntilwealreadyhavesensiblefeaturedet-ectorsthatshouldbeveryhelpfulforthediscriminationtask.Sobackpropdoalocalsearchfromasensiblesta-rtingpointratherthanaglobalsearchgeneralizationMostoftheinformationinthefinalweightscomesfrommodelingthedistributionoftheinputvector.Thelabelsisonlyusedforthefine-tuningThistypeofbackpropworkswellev-enifmostofthetrainingdataisunla-beled(discovergoodfeatures).LearningDBN—discriminativefi20LearningDBN—discriminativefine-tuning至此DBN的思想就講完了,對于判別模型來說,下面的圖就是一個簡要的概括。舉一個例子。UnsupervisedLearningforGenerativeModelSupervisedLearningforDiscriminantModelPretrainingFine-tuneUnlabeledLabeled28*28image500units500units2000units右圖是一個三隱藏的DBN,先用堆疊RBM的方式進行無監(jiān)督學(xué)習(xí),最上層的2000個神經(jīng)元學(xué)習(xí)到數(shù)字的特征,這就是一個生成模型,我們可以用它來生成學(xué)習(xí)到的數(shù)字。然后我們學(xué)習(xí)到的2000個特征對于最終的多分類判別模型有效嗎,我們在DBN的頂層再添加一層Softmax分類的神經(jīng)網(wǎng)絡(luò),然后再采用backpropagation算法來微調(diào)。所以我們可以認識到,其實深度神經(jīng)網(wǎng)絡(luò)雖然聽起來很復(fù)雜,但是它做的事情很簡單,就是特征提取,也就是預(yù)訓(xùn)練過程,這才是重點。所以有人說:深度學(xué)習(xí)是手段,特征學(xué)習(xí)是目的LearningDBN—discriminativefi21BeliefNetsandDeepBeliefNets數(shù)媒學(xué)院-許鵬BeliefNetsandDeepBeliefNe22RBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的,最多兩個隱層,而且一旦神經(jīng)元個數(shù)太多,模型參數(shù)就是迅速增長,采用隨機梯度下降的話一般很難找到最優(yōu)解,甚至隨著層數(shù)的增加,如果訓(xùn)練網(wǎng)絡(luò)時權(quán)值初始化的很小,那么模型會很快的陷入局部最優(yōu)解,而且是一個poorlocalminima,這是神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題。另外一個主要的原因就是判別模型,因為FNN是判別模型,就是即使神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題可以通過一些手段解決,比如替換神經(jīng)元激活函數(shù),采用ReLU單元,那么還是有問題,就是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時候需要很大的標(biāo)簽數(shù)據(jù),因為深度神經(jīng)網(wǎng)絡(luò)的模型參數(shù)很多,所以在訓(xùn)練數(shù)據(jù)少的時候很難找到最優(yōu)解,也就是深度神經(jīng)網(wǎng)絡(luò)不具備解決小樣本問題的能力,所以受這些限制,深度的神經(jīng)網(wǎng)絡(luò)一度被認為是無法訓(xùn)練的,而90年代出現(xiàn)的支持向量機很好的解決了小樣本和優(yōu)化問題,所以受到人們的推崇。但是Hinton一直沒有放棄對于深層神經(jīng)網(wǎng)絡(luò)的研究,因為他覺得,支持向量機其實只是感知機引入了一些tricks,比如核方法很好的解決了非線性問題,但是核的選擇卻深深困擾著所有的機器學(xué)習(xí)的研究者,另外最大化間隔也就是支持向量提高了模型的泛化能力,但是這些并不是提取非線性特征最有效的方法,所以深層神經(jīng)網(wǎng)絡(luò)的研究是很有意義的。以上思想來自于Hinton在coursera的公開課NeuralNetworksforMachineLearningRBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的23RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實主要原因是,可以解決深層神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題了,也就是2006年Hinton發(fā)的文章里面采用的訓(xùn)練方法,逐層訓(xùn)練,而在逐層訓(xùn)練的時候起到最重要作用的受限玻爾茲曼機,這樣的逐層訓(xùn)練有什么優(yōu)點那,它的優(yōu)點就是很好的解決了前面提到的深層神經(jīng)網(wǎng)絡(luò)遇到的兩個問題,很容易陷入局部最優(yōu)和沒有大量標(biāo)簽樣本。其中的逐層訓(xùn)練解決了優(yōu)化的問題,因為在逐層用玻爾茲曼機預(yù)訓(xùn)練的時候就為整個網(wǎng)絡(luò)賦予了較好的初始權(quán)值,使得網(wǎng)絡(luò)只要經(jīng)過微調(diào)就可以達到最優(yōu)解,而不會陷入poorlocalminima,另外一個優(yōu)點是由于受限玻爾茲曼機是一個生成模型,它可以充分利用大量的非標(biāo)簽數(shù)據(jù),因為預(yù)訓(xùn)練的時候是對不含標(biāo)簽的數(shù)據(jù)本身進行建模,其中RBM的可見單元是非標(biāo)簽訓(xùn)練數(shù)據(jù),隱藏層訓(xùn)練完以后可以看做是數(shù)據(jù)的特征,這樣如果將多個RBM堆疊起來就會起到提取數(shù)據(jù)非線性特征的效果,所以由此開始了深度學(xué)習(xí)的熱潮。UnsupervisedLearningforGenerativeModelSupervisedLearningforDiscriminantModelPretrainingFine-tuneUnlabeledLabeled上面這個圖其實是2006年Hinton最開始進行深度學(xué)習(xí)時候的思想,其中堆疊RBM是核心的思想,當(dāng)然最重要的那篇論文中并沒有提到判別模型,但是用生成模型一樣可以做分類,以后會提到。這整個模型中還有一個重要的知識就是信念網(wǎng)絡(luò),它和受限玻爾茲曼機很像,但是它是有向圖,而玻爾茲曼機是無向圖,它們都是學(xué)習(xí)一個聯(lián)合概率分布,下面我們講解信念網(wǎng)絡(luò),這對理解DBN很重要。而DBN可以認為是深度學(xué)習(xí)復(fù)興的一個開始。RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實主要24BeliefNetworkRBM和BN都是屬于概率圖模型,而BN是有向圖,它又叫Bayesiannetworks,causalnetworks,在1992年,RadfordNeal提出如果BN使用和RBM相同的sigmoid激活單元,我們可以得到SigmoidBeliefNets。既然兩者都屬于生成模型,都可以對非標(biāo)簽數(shù)據(jù)進行建模,解決前面提到的兩個問題,那么我們該使用RBM還是BN那,亦或是兩者的合體,其實deepbeliefnets深度信念網(wǎng)絡(luò)就是兩者的合體,我們已經(jīng)學(xué)習(xí)了RBM,但是要理解DBN還必須理解BN,還有很長的路要走。BeliefNetworkRBM和BN都是屬于概率圖模型,25BNandProbabilityGraphicalModelRBM和BN都屬于PGM,PGM是圖論和概率論的結(jié)合,這是人工智能一個重要的領(lǐng)域,因為它解決了很多不確定性的問題,用它們建模得到的都是生成模型,我們回憶一下最開始學(xué)習(xí)BM的時候最重要的兩個問題,一個是學(xué)習(xí)問題,一個是推斷問題(就是從模型中采樣),對于BN來說也是一樣,如果是稀疏連接的有向無環(huán)BN,人們已經(jīng)發(fā)明了很多精確推斷的方法,但是對于密集連接的BN來說,推斷和學(xué)習(xí)都是問題。stochastichiddencausesvisibleeffects當(dāng)我們有可見變量的時候,一般指的是訓(xùn)練數(shù)據(jù),我們要解決的問題有兩個:Theinferenceproblem:給定可見變量時推斷藍色的不可見變量的狀態(tài)?,F(xiàn)在已經(jīng)有了很多技術(shù)處理這個問題,對于簡單的貝葉斯網(wǎng)絡(luò),可以用精確推斷,即根據(jù)貝葉斯公式計算得出隱藏節(jié)點的值;對于密集連接的網(wǎng)絡(luò),就是概率分布很復(fù)雜時,現(xiàn)在有MCMC采樣方法和變分推斷方法可以使用。Thelearningproblem:在給定可見單元的訓(xùn)練數(shù)據(jù)的時候,調(diào)整整個網(wǎng)絡(luò)的變量之間的連接權(quán),使得這個生成模型產(chǎn)生訓(xùn)練數(shù)據(jù)的概率最大化。其實學(xué)習(xí)問題中包含推斷問題,因為學(xué)習(xí)權(quán)值時,一般都需要知道隱藏節(jié)點的狀態(tài),所以推斷是必要的過程。BNandProbabilityGraphicalM26GraphicalModelsandversusNeuralNetworks最開始的圖模型都是借助專家來定義圖結(jié)構(gòu)和節(jié)點之間的條件概率:例如會找來一個醫(yī)學(xué)專家,詢問他這個
病癥怎么影響另一個病癥,每個病癥都
是圖模型中的一個節(jié)點,并且每個節(jié)點
都有一個條件概率來描述其他節(jié)點怎么
影響它,就這樣依靠專家來定義一個圖
模型。這樣的圖模型一般都是稀疏連接的,因
為都是人為定義的,所以不會太過復(fù)雜而且這樣的圖模型一般只關(guān)注怎么能正確地推斷,例如知道了病的癥狀,怎么
推測病因。因為模型是專家定義的,所以幾乎不涉及圖的學(xué)習(xí)問題。神經(jīng)網(wǎng)絡(luò)只是模型的結(jié)構(gòu)和基本屬性需要
人為定義:對于神經(jīng)網(wǎng)絡(luò)來說,學(xué)習(xí)才是核心的問題
像早期圖模型那樣人為定義模型是不可能
的,所以神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的模型都來自于
訓(xùn)練數(shù)據(jù),而不是專家。神經(jīng)網(wǎng)絡(luò)不像早期圖模型那樣希望有很好
的解釋性和稀疏連接的性質(zhì)來使得推斷更
加的容易,它更注重學(xué)習(xí)而非推斷。當(dāng)然也有神經(jīng)網(wǎng)絡(luò)版本的信念網(wǎng)絡(luò),也就
是這樣的信念網(wǎng)絡(luò)結(jié)構(gòu)比較有意義,但是
它是通過數(shù)據(jù)學(xué)得的模型,而不是人為定
義,神經(jīng)網(wǎng)絡(luò)的生成模型就有兩種。當(dāng)然其實某些情況下,神經(jīng)網(wǎng)絡(luò)和概率圖模型的界限并不清晰,只是說圖模型更關(guān)注推斷問題而神經(jīng)網(wǎng)絡(luò)更專注采用數(shù)據(jù)來學(xué)習(xí)模型的問題。GraphicalModelsandversusNe27TwoGenerativeNeuralNetworkEnergy-based:
使用對稱連接將二值隨機神經(jīng)元連接
起來就形成了玻爾茲曼機,它的每一
狀態(tài)都對應(yīng)一個能量,所以是給予能量的模型,而為了簡化模型,使得模
型更容易從數(shù)據(jù)中學(xué)得知識,限制了
玻爾茲曼機的連接,就形成了受限玻
爾茲曼機。Causal:
用有向無環(huán)圖的方式將二值隨機神經(jīng)元連
接起來就可以得到SigmoidBeliefNet。注
意RBM是無向圖而SBN是有向圖。雖然我們前面講過受限玻爾茲曼機用
對比散度的算法很容易學(xué)習(xí),但是它
也放棄了一些玻爾茲曼機的優(yōu)點就是
它沒有玻爾茲曼機的層間連接,也就
是學(xué)習(xí)到的RBM隱藏層沒有相互影響
其實這是不正確的,它限制了模型表
達數(shù)據(jù)的能力,而且它只能學(xué)習(xí)單隱
層,如果采用多隱層結(jié)構(gòu),也許就能
避免層間無連接導(dǎo)致的模型表達能力
減弱的問題。SBN是Neal在1992年提出的,他把SBN和BM
做了對比,發(fā)現(xiàn)SBN學(xué)習(xí)起來稍微容易一些
因為在生成數(shù)據(jù)時它只需要決定了最上面一
層神經(jīng)元的狀態(tài)就可以逐層往下計算,最終
得到一個生成的采樣值。stochastichiddencausesvisibleeffects其實當(dāng)時1992年訓(xùn)練BM還很困難,基本還是基于熱平衡采樣方法,直到2002年Hinton才發(fā)明了CD算法,所以他當(dāng)時暫時轉(zhuǎn)向了研究SBNTwoGenerativeNeuralNetworkE28LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因為不像訓(xùn)練BM時需要兩個階段positivephase和negativephase,訓(xùn)練SBN只需要positivephase,這是因為SBN是局部歸一化模型,也就是每個節(jié)點的條件概率其實都是歸一化的,而BM所服從的玻爾茲曼分布必須有一個配分函數(shù)使得每個狀態(tài)的概率是歸一化的而negative階段就是計算配分函數(shù)的,所以SBN不需要。所以SBN簡單,在給定在可見單元上面的訓(xùn)練數(shù)據(jù)時,只要能夠?qū)﹄[藏單元進行采樣,就能很容易的對模型進行訓(xùn)練,訓(xùn)練過程中使用的是對最大似然函數(shù)進行批量梯度下降。所以現(xiàn)在的難點是如何對隱藏節(jié)點的后驗概率分布進行采樣,之所以采樣比較難,是因為一個叫做解釋失效的現(xiàn)象(explainingaway)。stochastichiddencausesvisibleeffects一旦SBN的學(xué)習(xí)完成了,那么生成一個可見單元的樣本是很容易的,只需要從上到下逐層計算就可以因為它是一個因果模型。然而即使我們知道了模型參數(shù),在給定可見單元時,推斷隱藏節(jié)點的后驗分布也是很難的,而且隨著隱藏節(jié)點的增多,難度會越來越大,所以對于一個數(shù)百萬參數(shù)的模型來說,即使只是從后驗概率采樣也很難,導(dǎo)致了無法進行學(xué)習(xí)。LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因為29SBN—LearningRule在講解怎么從隱藏單元的后驗概率分布采樣之前,我們先來看看如果能夠采樣了,那么學(xué)習(xí)算法是怎么樣的。如果我們能夠采樣了,學(xué)習(xí)算法很簡單,就是最大似然估計的思想,也就是使得可見單元神經(jīng)元的值盡可能和訓(xùn)練數(shù)據(jù)對應(yīng)的值一致,即最大似然,因為這里是sigmoid神經(jīng)元,所以每個神經(jīng)元開啟的概率和它的所有父節(jié)點有關(guān)。
stochastichiddencausesvisibleeffects
下面我們重新回到前面提到的采樣問題上,為什么對隱藏單元的后驗分布采樣不容易。SBN—LearningRule在講解怎么從隱藏單元的后驗30ExplainingAway如果兩個節(jié)點在先驗分布中相互獨立,而且它們連接到同一個子節(jié)點,那么當(dāng)子節(jié)點的數(shù)據(jù)已知時,這兩個節(jié)點將不再獨立。這對應(yīng)于圖模型中的多因一果的模型。A
考慮右圖中三個變量的聯(lián)合概率分布,其中A和B獨立,即對于先驗概率分布,A和B獨立,可以看出只要A與B中任意一個為1則C就為1,這正是多因一果模型。我們所說的explainingaway現(xiàn)象是在推斷的時候產(chǎn)生的,即當(dāng)觀測到c的值是1時,我們不知道A和B的取值情況,需要進行推斷根據(jù)下面的聯(lián)合概率分布表格即可求出下列概率,這都很符合常理。
但是如果我們現(xiàn)在確定了A=1,則無論B是多少都有C=1,即有
我們可以看出當(dāng)觀測到C=1,而且知道A=1時,B=1的概率下降了,這就表示A和B的后驗概率并不獨立了,這就叫explainingawayExplainingAway如果兩個節(jié)點在先驗分布中相互獨31LearningSBN—ProblemsWhyit’shardtolearnsigmoidbeliefnetsonelayeratatime如右圖假設(shè)這里有一個多層隱變量的因果模型,是一個SBN,這個模型能生成最終的觀測數(shù)據(jù)。現(xiàn)在我們想學(xué)習(xí)這個模型在第一隱層和可見層之間的的權(quán)值W。在學(xué)習(xí)的過程中會遇到幾個問題。當(dāng)給定可見層數(shù)值時,第一隱層的各個隱層變量之間
并非相互獨立,這正是由于explainingaway因為我們模型有多層,更高層的隱藏變量之間甚至先驗分布都不相互獨立,正是這些先驗分布刻畫了第一
隱藏各隱藏變量之間的相關(guān)性。所以想要學(xué)習(xí)W,必須知道第一隱層變量的后驗分布,而想要知道第一隱
層的后驗分布,又得知道第二隱層的先驗概率分布。hiddenvariableshiddenvariableshiddenvariablesvisibledata
所以所有隱層的權(quán)值W都相關(guān),以此類推,如果我們
想要盡可能的逼近第一隱層的先驗概率,必須求出所
有更高隱層的分布,層數(shù)越多,越能逼近真實分布。LearningSBN—ProblemsWhyit’s32LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)SBN的規(guī)則并不難,但是知道可見單元數(shù)據(jù)時,對隱藏層進行采樣很難尤其想盡可能逼近第一隱層的先驗概率分布時,計算更高層的多個隱藏層是很復(fù)雜的。下面我們介紹兩種方法。第一種就是MCMC方法,我們回憶一下當(dāng)時玻爾茲曼機的學(xué)習(xí)問題,就是采用的蒙特卡洛馬爾科夫鏈的采樣方法,隨機初始化所以隱藏神經(jīng)元的狀態(tài),然后根據(jù)概率公式依次更新所有神經(jīng)元的狀態(tài),直到達到平穩(wěn)分布,如果用MCMC方法的話,信念網(wǎng)絡(luò)的采樣更加簡單,因為它不需要負階段,只需要將可見單元固定,然后更新隱藏單元即可。但是和玻爾茲曼機一樣,用MCMC很耗時,因為達到平穩(wěn)分布需要很長時間,而且往往無法判斷需要多長時間,無法判斷是否達到平穩(wěn)分布。不過優(yōu)點就是只要Gibbs采樣進行足夠長的時間,肯定能夠?qū)﹄[藏層進行精確的后驗分布采樣,然后有了采樣值,就可以訓(xùn)練了。另一種就是變分方法,這種方法的思想就是如果一個分布太過復(fù)雜,那么使用一個
相對簡單一些的分布來近似這個分布,然后從這個相對簡單的分布中采樣,優(yōu)點是
效率更高了,不過它只能是近似采樣,不像蒙特卡洛馬爾科夫鏈采樣一樣,只要運
行時間足夠長就能夠精確采樣。
最大似然學(xué)習(xí)要求的是后驗分布的精確采
樣,而變分方法是從另一個近似分布中采
樣的,學(xué)習(xí)規(guī)則依然有效嗎,有證明說明
變分方法對于最大似然估計仍然有效?,F(xiàn)在變分方法已經(jīng)成為機器學(xué)習(xí)領(lǐng)域一個重要的分支,而且一般對于推斷問題,有
三種方法,就是精確計算,隨機采樣和變
分推斷方法。MCMC方法變分方法LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)S33LearningSBN—wake-sleep我們在提到BN的時候就會無可避免的提到玻爾茲曼機,其實有關(guān)信念網(wǎng)絡(luò)的學(xué)習(xí)問題,最開始它的研究目的就是想要找到一個可進行權(quán)值學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),但是想讓這個結(jié)構(gòu)不僅僅和玻爾茲曼機一樣可以對聯(lián)合概率建模得到一個生成模型,還要比玻爾茲曼機的訓(xùn)練算法更加高效,這里的目的主要是想找到一種模型,使其訓(xùn)練算法消除玻爾茲曼機訓(xùn)練時negativephase所進行的工作。于是Sigmoidbeliefnetworks就誕生了。(connectionistlearningofbeliefnetworks-Neal1992)而和玻爾茲曼機一樣最開始SBN采用的是隨機采樣的方法,雖然沒有了negativephase,但是算法效率還是不高,而wake-sleep算法是第一個能夠高效訓(xùn)練SBN的算法,它背后的思想就是變分思想。前面已經(jīng)提到過變分方法,變分法的思想就是如果后驗概率分布很復(fù)雜,很難進行推斷,那么我們希望進行錯誤的推斷,但是學(xué)習(xí)法則依然有效,最好研究表明這種思想對于SBN的訓(xùn)練是可行的。對于每一層,我們錯誤的假設(shè)所有隱藏變量可以進行因子分解,即分解成為一系列獨立變量的乘積即忽視explainingaway現(xiàn)象。換句話說就是當(dāng)給定可見單元數(shù)據(jù)時,隱藏單元相互獨立,就和RBM一樣,但是在RBM中隱變量獨立是正確的,而這里是錯誤的,只是一種假設(shè)或者說近似。一層中三個隱藏神經(jīng)元各自的概率0.30.60.8某個狀態(tài)下三個神經(jīng)元的聯(lián)合概率
LearningSBN—wake-sleep我們在提到BN34LearningSBN—wake-sleep下面我們介紹wake-sleep算法,它就是借用的錯誤的概率分布來進行學(xué)習(xí)。在這個算法中,我們的網(wǎng)絡(luò)有兩組不同的權(quán)值,如圖橘黃色的和綠色的分別是兩組權(quán)值,因為SBN其實是一個生成模型,所以綠色的權(quán)值才是模型的一部分,而橘黃色的權(quán)值是用來近似后驗概率分布的,也就是說我們用這些橘黃色的權(quán)值來表示每一層隱變量上面的因子分布,用這個因子分布來近似后驗分布。
wakephase:使用認知權(quán)重(recognitionweights)執(zhí)行從下到上的傳遞。即給定訓(xùn)練數(shù)據(jù),然后從下到上對各個隱藏層的單元計算其開啟概率,即sigmoid單元,每層神經(jīng)元相互獨立,這樣逐層計算最后得到所有隱藏神經(jīng)元的值,把這些值就可以當(dāng)成是從后驗概率分布采樣得到的值,然后我們就可以做最大似然估計了,即有了后驗分布采樣值,然后根據(jù)權(quán)值更新法則進行更新,這時更新的是綠色箭頭表示的生成權(quán)重(generativeweights),即wakephase是使用認知權(quán)重來驅(qū)動更新生成權(quán)重sleepphase:這個階段正好和wakephase相反,使用生成權(quán)值來驅(qū)動系統(tǒng),即最開始隨機初始化頂層的隱藏層的神經(jīng)元狀態(tài),然后由先驗分布按照規(guī)則計算各隱藏神經(jīng)元的值,這樣從上到下生成整個網(wǎng)絡(luò)的神經(jīng)元狀態(tài)值,這是正確使用這個生成模型的方式,最后能產(chǎn)生一個生成樣本,然后我們可以看看是否能由這個樣本重建隱藏神經(jīng)元,即使用生成樣本來訓(xùn)練認知權(quán)重,使得生成樣本最可能恢復(fù)隱藏神經(jīng)元。HintonandNeal-1995-Thewake-sleepalgorithmfor
unsupervisedneuralnetworksLearningSBN—wake-sleep下面我們介紹w35LearningSBN—wake-sleep結(jié)果表明,如果我們從隨機的生成權(quán)重和隨機的認知權(quán)重開始,并且讓wake和sleep階段交替執(zhí)行最后能學(xué)到一個很好的生成模型。就像訓(xùn)練監(jiān)督學(xué)習(xí)模型中backpropagation算法的重要性,在訓(xùn)練無監(jiān)督學(xué)習(xí)的生成模型的時候,wake-sleep算法也是很重要的,它背后的思想是變分法。Thisshowsathree-layerneuralnetwork.Activitiesinthebottomlayerrepresentthesensoryinputandactivitiesinhigherlayerslearntorepresentthecausesofthesensoryinput.Thebottom-up“recognition”connectionsconvertthesensoryinputintoaninternalrepresentation.TheycanbetrainedbyassumingthattheyaretryingToinvertagenerativeprocess(likecomputergraphics)thatconvertshiddencausesintosensorydata.Theassumedgenerativeprocessisrepresentedinthetop-down“generative”connectionsandittooislearnedjustbyobservingsensorydata.
Hinton-2006-ToRecognizeShapes,FirstLearntoGenerateImagesLearningSBN—wake-sleep結(jié)果表明,如果36LearningSBN—stackedRBMs接下來介紹一種不同的學(xué)習(xí)sigmoidbeliefnets的方法,Hinton后來停止了SBN的研究,重新研究玻爾茲曼機,發(fā)現(xiàn)了一種新的訓(xùn)練受限玻爾茲曼機的高效的算法,就是contrastivedivergence,一個RBM能夠有效的學(xué)習(xí)一層輸入數(shù)據(jù)的非線性特征,再嘗試著把這層學(xué)習(xí)到的非線性特征當(dāng)做輸入數(shù)據(jù),學(xué)習(xí)下一個RBM,則又學(xué)習(xí)到一層非線性特征來刻畫上一層特征的相關(guān)關(guān)系,就這樣將很多RBM堆疊起來學(xué)習(xí)到很多層非線性特征。Hinton-2006-AFastLearningAlgorithmforDeepBeliefNets那么這樣多個RBM堆疊起來構(gòu)成一個什么樣的模型那,是一個多層受限玻爾茲曼機嗎,Hinton的一個研究生發(fā)現(xiàn)實際上堆疊這樣多個RBM你學(xué)習(xí)到的是一個更加類似SBN的模型,這正好解決了高效訓(xùn)練深度信念網(wǎng)絡(luò)(deepbeliefnets)的問題,也就是我們可以采用訓(xùn)練無向圖RBM的方法來訓(xùn)練有向圖SBN。能夠證明,每次我們采用RBM增加一層特征,就能夠提高DBN生成訓(xùn)練的數(shù)據(jù)的對數(shù)概率的變分下界,證明相當(dāng)復(fù)雜并且在實際應(yīng)用中一般無需證明。這個證明基于一個RBM和一個無限深度信念網(wǎng)絡(luò)在數(shù)學(xué)上是等價的,具體證明參見下面論文LearningSBN—stackedRBMs接下來介紹37LearningDBN—stackedRBMs(Pretraining)Combine
twoRBMstomakeaDBNtrainthismodelthentrainthismodel
drop上面的模型即為DBN,深度信念網(wǎng)絡(luò),它既不是sigmoidbeliefnets也不是深度restrictedboltzmannmachine而是他們的混合模型,最上面一層是一個RBM,下面的所有層都是有向的SBN。LearningDBN—stackedRBMs(Pret38DBN—generatedat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式產(chǎn)品的市場定位研究試題及答案
- 醫(yī)院助理護士管理制度
- 固定資產(chǎn)維修管理制度
- 加強公園設(shè)施管理制度
- 公路檢測設(shè)備管理制度
- 合伙創(chuàng)業(yè)薪資管理制度
- 前廳餐具衛(wèi)生管理制度
- 學(xué)生上網(wǎng)時間管理制度
- 幼兒園保管室管理制度
- 制衣車間紀律管理制度
- 生物質(zhì)材料及應(yīng)用淀粉
- 下線儀式串詞策劃
- GB/T 4223-2004廢鋼鐵
- 通用長期供銷合同范本
- 新版《藥品管理法》解讀課件
- 《社區(qū)治理研究國內(nèi)外文獻綜述(1900字)》
- 2023浙江省學(xué)生藝術(shù)特長測試A級理論復(fù)習(xí)資料
- 建筑業(yè)企業(yè)資質(zhì)職稱人員相近專業(yè)認定目錄
- 擬投入本項目的主要施工設(shè)備表
- 湖北省環(huán)境監(jiān)測專業(yè)服務(wù)暫時行收費重點標(biāo)準(zhǔn)
- GNSS實習(xí)報告
評論
0/150
提交評論