版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
BeliefNetsandDeepBeliefNets數(shù)媒學(xué)院-許鵬BeliefNetsandDeepBeliefNe1RBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的,最多兩個(gè)隱層,而且一旦神經(jīng)元個(gè)數(shù)太多,模型參數(shù)就是迅速增長,采用隨機(jī)梯度下降的話一般很難找到最優(yōu)解,甚至隨著層數(shù)的增加,如果訓(xùn)練網(wǎng)絡(luò)時(shí)權(quán)值初始化的很小,那么模型會(huì)很快的陷入局部最優(yōu)解,而且是一個(gè)poorlocalminima,這是神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題。另外一個(gè)主要的原因就是判別模型,因?yàn)镕NN是判別模型,就是即使神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題可以通過一些手段解決,比如替換神經(jīng)元激活函數(shù),采用ReLU單元,那么還是有問題,就是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候需要很大的標(biāo)簽數(shù)據(jù),因?yàn)樯疃壬窠?jīng)網(wǎng)絡(luò)的模型參數(shù)很多,所以在訓(xùn)練數(shù)據(jù)少的時(shí)候很難找到最優(yōu)解,也就是深度神經(jīng)網(wǎng)絡(luò)不具備解決小樣本問題的能力,所以受這些限制,深度的神經(jīng)網(wǎng)絡(luò)一度被認(rèn)為是無法訓(xùn)練的,而90年代出現(xiàn)的支持向量機(jī)很好的解決了小樣本和優(yōu)化問題,所以受到人們的推崇。但是Hinton一直沒有放棄對于深層神經(jīng)網(wǎng)絡(luò)的研究,因?yàn)樗X得,支持向量機(jī)其實(shí)只是感知機(jī)引入了一些tricks,比如核方法很好的解決了非線性問題,但是核的選擇卻深深困擾著所有的機(jī)器學(xué)習(xí)的研究者,另外最大化間隔也就是支持向量提高了模型的泛化能力,但是這些并不是提取非線性特征最有效的方法,所以深層神經(jīng)網(wǎng)絡(luò)的研究是很有意義的。以上思想來自于Hinton在coursera的公開課NeuralNetworksforMachineLearningRBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的2RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實(shí)主要原因是,可以解決深層神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題了,也就是2006年Hinton發(fā)的文章里面采用的訓(xùn)練方法,逐層訓(xùn)練,而在逐層訓(xùn)練的時(shí)候起到最重要作用的受限玻爾茲曼機(jī),這樣的逐層訓(xùn)練有什么優(yōu)點(diǎn)那,它的優(yōu)點(diǎn)就是很好的解決了前面提到的深層神經(jīng)網(wǎng)絡(luò)遇到的兩個(gè)問題,很容易陷入局部最優(yōu)和沒有大量標(biāo)簽樣本。其中的逐層訓(xùn)練解決了優(yōu)化的問題,因?yàn)樵谥饘佑貌柶澛鼨C(jī)預(yù)訓(xùn)練的時(shí)候就為整個(gè)網(wǎng)絡(luò)賦予了較好的初始權(quán)值,使得網(wǎng)絡(luò)只要經(jīng)過微調(diào)就可以達(dá)到最優(yōu)解,而不會(huì)陷入poorlocalminima,另外一個(gè)優(yōu)點(diǎn)是由于受限玻爾茲曼機(jī)是一個(gè)生成模型,它可以充分利用大量的非標(biāo)簽數(shù)據(jù),因?yàn)轭A(yù)訓(xùn)練的時(shí)候是對不含標(biāo)簽的數(shù)據(jù)本身進(jìn)行建模,其中RBM的可見單元是非標(biāo)簽訓(xùn)練數(shù)據(jù),隱藏層訓(xùn)練完以后可以看做是數(shù)據(jù)的特征,這樣如果將多個(gè)RBM堆疊起來就會(huì)起到提取數(shù)據(jù)非線性特征的效果,所以由此開始了深度學(xué)習(xí)的熱潮。UnsupervisedLearningforGenerativeModelSupervisedLearningforDiscriminantModelPretrainingFine-tuneUnlabeledLabeled上面這個(gè)圖其實(shí)是2006年Hinton最開始進(jìn)行深度學(xué)習(xí)時(shí)候的思想,其中堆疊RBM是核心的思想,當(dāng)然最重要的那篇論文中并沒有提到判別模型,但是用生成模型一樣可以做分類,以后會(huì)提到。這整個(gè)模型中還有一個(gè)重要的知識(shí)就是信念網(wǎng)絡(luò),它和受限玻爾茲曼機(jī)很像,但是它是有向圖,而玻爾茲曼機(jī)是無向圖,它們都是學(xué)習(xí)一個(gè)聯(lián)合概率分布,下面我們講解信念網(wǎng)絡(luò),這對理解DBN很重要。而DBN可以認(rèn)為是深度學(xué)習(xí)復(fù)興的一個(gè)開始。RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實(shí)主要3BeliefNetworkRBM和BN都是屬于概率圖模型,而BN是有向圖,它又叫Bayesiannetworks,causalnetworks,在1992年,RadfordNeal提出如果BN使用和RBM相同的sigmoid激活單元,我們可以得到SigmoidBeliefNets。既然兩者都屬于生成模型,都可以對非標(biāo)簽數(shù)據(jù)進(jìn)行建模,解決前面提到的兩個(gè)問題,那么我們該使用RBM還是BN那,亦或是兩者的合體,其實(shí)deepbeliefnets深度信念網(wǎng)絡(luò)就是兩者的合體,我們已經(jīng)學(xué)習(xí)了RBM,但是要理解DBN還必須理解BN,還有很長的路要走。BeliefNetworkRBM和BN都是屬于概率圖模型,4BNandProbabilityGraphicalModelRBM和BN都屬于PGM,PGM是圖論和概率論的結(jié)合,這是人工智能一個(gè)重要的領(lǐng)域,因?yàn)樗鉀Q了很多不確定性的問題,用它們建模得到的都是生成模型,我們回憶一下最開始學(xué)習(xí)BM的時(shí)候最重要的兩個(gè)問題,一個(gè)是學(xué)習(xí)問題,一個(gè)是推斷問題(就是從模型中采樣),對于BN來說也是一樣,如果是稀疏連接的有向無環(huán)BN,人們已經(jīng)發(fā)明了很多精確推斷的方法,但是對于密集連接的BN來說,推斷和學(xué)習(xí)都是問題。stochastichiddencausesvisibleeffects當(dāng)我們有可見變量的時(shí)候,一般指的是訓(xùn)練數(shù)據(jù),我們要解決的問題有兩個(gè):Theinferenceproblem:給定可見變量時(shí)推斷藍(lán)色的不可見變量的狀態(tài)。現(xiàn)在已經(jīng)有了很多技術(shù)處理這個(gè)問題,對于簡單的貝葉斯網(wǎng)絡(luò),可以用精確推斷,即根據(jù)貝葉斯公式計(jì)算得出隱藏節(jié)點(diǎn)的值;對于密集連接的網(wǎng)絡(luò),就是概率分布很復(fù)雜時(shí),現(xiàn)在有MCMC采樣方法和變分推斷方法可以使用。Thelearningproblem:在給定可見單元的訓(xùn)練數(shù)據(jù)的時(shí)候,調(diào)整整個(gè)網(wǎng)絡(luò)的變量之間的連接權(quán),使得這個(gè)生成模型產(chǎn)生訓(xùn)練數(shù)據(jù)的概率最大化。其實(shí)學(xué)習(xí)問題中包含推斷問題,因?yàn)閷W(xué)習(xí)權(quán)值時(shí),一般都需要知道隱藏節(jié)點(diǎn)的狀態(tài),所以推斷是必要的過程。BNandProbabilityGraphicalM5GraphicalModelsandversusNeuralNetworks最開始的圖模型都是借助專家來定義圖結(jié)構(gòu)和節(jié)點(diǎn)之間的條件概率:例如會(huì)找來一個(gè)醫(yī)學(xué)專家,詢問他這個(gè)
病癥怎么影響另一個(gè)病癥,每個(gè)病癥都
是圖模型中的一個(gè)節(jié)點(diǎn),并且每個(gè)節(jié)點(diǎn)
都有一個(gè)條件概率來描述其他節(jié)點(diǎn)怎么
影響它,就這樣依靠專家來定義一個(gè)圖
模型。這樣的圖模型一般都是稀疏連接的,因
為都是人為定義的,所以不會(huì)太過復(fù)雜而且這樣的圖模型一般只關(guān)注怎么能正確地推斷,例如知道了病的癥狀,怎么
推測病因。因?yàn)槟P褪菍<叶x的,所以幾乎不涉及圖的學(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)然其實(shí)某些情況下,神經(jīng)網(wǎng)絡(luò)和概率圖模型的界限并不清晰,只是說圖模型更關(guān)注推斷問題而神經(jīng)網(wǎng)絡(luò)更專注采用數(shù)據(jù)來學(xué)習(xí)模型的問題。GraphicalModelsandversusNe6TwoGenerativeNeuralNetworkEnergy-based:
使用對稱連接將二值隨機(jī)神經(jīng)元連接
起來就形成了玻爾茲曼機(jī),它的每一
狀態(tài)都對應(yīng)一個(gè)能量,所以是給予能量的模型,而為了簡化模型,使得模
型更容易從數(shù)據(jù)中學(xué)得知識(shí),限制了
玻爾茲曼機(jī)的連接,就形成了受限玻
爾茲曼機(jī)。Causal:
用有向無環(huán)圖的方式將二值隨機(jī)神經(jīng)元連
接起來就可以得到SigmoidBeliefNet。注
意RBM是無向圖而SBN是有向圖。雖然我們前面講過受限玻爾茲曼機(jī)用
對比散度的算法很容易學(xué)習(xí),但是它
也放棄了一些玻爾茲曼機(jī)的優(yōu)點(diǎn)就是
它沒有玻爾茲曼機(jī)的層間連接,也就
是學(xué)習(xí)到的RBM隱藏層沒有相互影響
其實(shí)這是不正確的,它限制了模型表
達(dá)數(shù)據(jù)的能力,而且它只能學(xué)習(xí)單隱
層,如果采用多隱層結(jié)構(gòu),也許就能
避免層間無連接導(dǎo)致的模型表達(dá)能力
減弱的問題。SBN是Neal在1992年提出的,他把SBN和BM
做了對比,發(fā)現(xiàn)SBN學(xué)習(xí)起來稍微容易一些
因?yàn)樵谏蓴?shù)據(jù)時(shí)它只需要決定了最上面一
層神經(jīng)元的狀態(tài)就可以逐層往下計(jì)算,最終
得到一個(gè)生成的采樣值。stochastichiddencausesvisibleeffects其實(shí)當(dāng)時(shí)1992年訓(xùn)練BM還很困難,基本還是基于熱平衡采樣方法,直到2002年Hinton才發(fā)明了CD算法,所以他當(dāng)時(shí)暫時(shí)轉(zhuǎn)向了研究SBNTwoGenerativeNeuralNetworkE7LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因?yàn)椴幌裼?xùn)練BM時(shí)需要兩個(gè)階段positivephase和negativephase,訓(xùn)練SBN只需要positivephase,這是因?yàn)镾BN是局部歸一化模型,也就是每個(gè)節(jié)點(diǎn)的條件概率其實(shí)都是歸一化的,而BM所服從的玻爾茲曼分布必須有一個(gè)配分函數(shù)使得每個(gè)狀態(tài)的概率是歸一化的而negative階段就是計(jì)算配分函數(shù)的,所以SBN不需要。所以SBN簡單,在給定在可見單元上面的訓(xùn)練數(shù)據(jù)時(shí),只要能夠?qū)﹄[藏單元進(jìn)行采樣,就能很容易的對模型進(jìn)行訓(xùn)練,訓(xùn)練過程中使用的是對最大似然函數(shù)進(jìn)行批量梯度下降。所以現(xiàn)在的難點(diǎn)是如何對隱藏節(jié)點(diǎn)的后驗(yàn)概率分布進(jìn)行采樣,之所以采樣比較難,是因?yàn)橐粋€(gè)叫做解釋失效的現(xiàn)象(explainingaway)。stochastichiddencausesvisibleeffects一旦SBN的學(xué)習(xí)完成了,那么生成一個(gè)可見單元的樣本是很容易的,只需要從上到下逐層計(jì)算就可以因?yàn)樗且粋€(gè)因果模型。然而即使我們知道了模型參數(shù),在給定可見單元時(shí),推斷隱藏節(jié)點(diǎn)的后驗(yàn)分布也是很難的,而且隨著隱藏節(jié)點(diǎn)的增多,難度會(huì)越來越大,所以對于一個(gè)數(shù)百萬參數(shù)的模型來說,即使只是從后驗(yàn)概率采樣也很難,導(dǎo)致了無法進(jìn)行學(xué)習(xí)。LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因?yàn)?SBN—LearningRule在講解怎么從隱藏單元的后驗(yàn)概率分布采樣之前,我們先來看看如果能夠采樣了,那么學(xué)習(xí)算法是怎么樣的。如果我們能夠采樣了,學(xué)習(xí)算法很簡單,就是最大似然估計(jì)的思想,也就是使得可見單元神經(jīng)元的值盡可能和訓(xùn)練數(shù)據(jù)對應(yīng)的值一致,即最大似然,因?yàn)檫@里是sigmoid神經(jīng)元,所以每個(gè)神經(jīng)元開啟的概率和它的所有父節(jié)點(diǎn)有關(guān)。
stochastichiddencausesvisibleeffects
下面我們重新回到前面提到的采樣問題上,為什么對隱藏單元的后驗(yàn)分布采樣不容易。SBN—LearningRule在講解怎么從隱藏單元的后驗(yàn)9ExplainingAway如果兩個(gè)節(jié)點(diǎn)在先驗(yàn)分布中相互獨(dú)立,而且它們連接到同一個(gè)子節(jié)點(diǎn),那么當(dāng)子節(jié)點(diǎn)的數(shù)據(jù)已知時(shí),這兩個(gè)節(jié)點(diǎn)將不再獨(dú)立。這對應(yīng)于圖模型中的多因一果的模型。A
考慮右圖中三個(gè)變量的聯(lián)合概率分布,其中A和B獨(dú)立,即對于先驗(yàn)概率分布,A和B獨(dú)立,可以看出只要A與B中任意一個(gè)為1則C就為1,這正是多因一果模型。我們所說的explainingaway現(xiàn)象是在推斷的時(shí)候產(chǎn)生的,即當(dāng)觀測到c的值是1時(shí),我們不知道A和B的取值情況,需要進(jìn)行推斷根據(jù)下面的聯(lián)合概率分布表格即可求出下列概率,這都很符合常理。
但是如果我們現(xiàn)在確定了A=1,則無論B是多少都有C=1,即有
我們可以看出當(dāng)觀測到C=1,而且知道A=1時(shí),B=1的概率下降了,這就表示A和B的后驗(yàn)概率并不獨(dú)立了,這就叫explainingawayExplainingAway如果兩個(gè)節(jié)點(diǎn)在先驗(yàn)分布中相互獨(dú)10LearningSBN—ProblemsWhyit’shardtolearnsigmoidbeliefnetsonelayeratatime如右圖假設(shè)這里有一個(gè)多層隱變量的因果模型,是一個(gè)SBN,這個(gè)模型能生成最終的觀測數(shù)據(jù)。現(xiàn)在我們想學(xué)習(xí)這個(gè)模型在第一隱層和可見層之間的的權(quán)值W。在學(xué)習(xí)的過程中會(huì)遇到幾個(gè)問題。當(dāng)給定可見層數(shù)值時(shí),第一隱層的各個(gè)隱層變量之間
并非相互獨(dú)立,這正是由于explainingaway因?yàn)槲覀兡P陀卸鄬?,更高層的隱藏變量之間甚至先驗(yàn)分布都不相互獨(dú)立,正是這些先驗(yàn)分布刻畫了第一
隱藏各隱藏變量之間的相關(guān)性。所以想要學(xué)習(xí)W,必須知道第一隱層變量的后驗(yàn)分布,而想要知道第一隱
層的后驗(yàn)分布,又得知道第二隱層的先驗(yàn)概率分布。hiddenvariableshiddenvariableshiddenvariablesvisibledata
所以所有隱層的權(quán)值W都相關(guān),以此類推,如果我們
想要盡可能的逼近第一隱層的先驗(yàn)概率,必須求出所
有更高隱層的分布,層數(shù)越多,越能逼近真實(shí)分布。LearningSBN—ProblemsWhyit’s11LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)SBN的規(guī)則并不難,但是知道可見單元數(shù)據(jù)時(shí),對隱藏層進(jìn)行采樣很難尤其想盡可能逼近第一隱層的先驗(yàn)概率分布時(shí),計(jì)算更高層的多個(gè)隱藏層是很復(fù)雜的。下面我們介紹兩種方法。第一種就是MCMC方法,我們回憶一下當(dāng)時(shí)玻爾茲曼機(jī)的學(xué)習(xí)問題,就是采用的蒙特卡洛馬爾科夫鏈的采樣方法,隨機(jī)初始化所以隱藏神經(jīng)元的狀態(tài),然后根據(jù)概率公式依次更新所有神經(jīng)元的狀態(tài),直到達(dá)到平穩(wěn)分布,如果用MCMC方法的話,信念網(wǎng)絡(luò)的采樣更加簡單,因?yàn)樗恍枰?fù)階段,只需要將可見單元固定,然后更新隱藏單元即可。但是和玻爾茲曼機(jī)一樣,用MCMC很耗時(shí),因?yàn)檫_(dá)到平穩(wěn)分布需要很長時(shí)間,而且往往無法判斷需要多長時(shí)間,無法判斷是否達(dá)到平穩(wěn)分布。不過優(yōu)點(diǎn)就是只要Gibbs采樣進(jìn)行足夠長的時(shí)間,肯定能夠?qū)﹄[藏層進(jìn)行精確的后驗(yàn)分布采樣,然后有了采樣值,就可以訓(xùn)練了。另一種就是變分方法,這種方法的思想就是如果一個(gè)分布太過復(fù)雜,那么使用一個(gè)
相對簡單一些的分布來近似這個(gè)分布,然后從這個(gè)相對簡單的分布中采樣,優(yōu)點(diǎn)是
效率更高了,不過它只能是近似采樣,不像蒙特卡洛馬爾科夫鏈采樣一樣,只要運(yùn)
行時(shí)間足夠長就能夠精確采樣。
最大似然學(xué)習(xí)要求的是后驗(yàn)分布的精確采
樣,而變分方法是從另一個(gè)近似分布中采
樣的,學(xué)習(xí)規(guī)則依然有效嗎,有證明說明
變分方法對于最大似然估計(jì)仍然有效?,F(xiàn)在變分方法已經(jīng)成為機(jī)器學(xué)習(xí)領(lǐng)域一個(gè)重要的分支,而且一般對于推斷問題,有
三種方法,就是精確計(jì)算,隨機(jī)采樣和變
分推斷方法。MCMC方法變分方法LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)S12LearningSBN—wake-sleep我們在提到BN的時(shí)候就會(huì)無可避免的提到玻爾茲曼機(jī),其實(shí)有關(guān)信念網(wǎng)絡(luò)的學(xué)習(xí)問題,最開始它的研究目的就是想要找到一個(gè)可進(jìn)行權(quán)值學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),但是想讓這個(gè)結(jié)構(gòu)不僅僅和玻爾茲曼機(jī)一樣可以對聯(lián)合概率建模得到一個(gè)生成模型,還要比玻爾茲曼機(jī)的訓(xùn)練算法更加高效,這里的目的主要是想找到一種模型,使其訓(xùn)練算法消除玻爾茲曼機(jī)訓(xùn)練時(shí)negativephase所進(jìn)行的工作。于是Sigmoidbeliefnetworks就誕生了。(connectionistlearningofbeliefnetworks-Neal1992)而和玻爾茲曼機(jī)一樣最開始SBN采用的是隨機(jī)采樣的方法,雖然沒有了negativephase,但是算法效率還是不高,而wake-sleep算法是第一個(gè)能夠高效訓(xùn)練SBN的算法,它背后的思想就是變分思想。前面已經(jīng)提到過變分方法,變分法的思想就是如果后驗(yàn)概率分布很復(fù)雜,很難進(jìn)行推斷,那么我們希望進(jìn)行錯(cuò)誤的推斷,但是學(xué)習(xí)法則依然有效,最好研究表明這種思想對于SBN的訓(xùn)練是可行的。對于每一層,我們錯(cuò)誤的假設(shè)所有隱藏變量可以進(jìn)行因子分解,即分解成為一系列獨(dú)立變量的乘積即忽視explainingaway現(xiàn)象。換句話說就是當(dāng)給定可見單元數(shù)據(jù)時(shí),隱藏單元相互獨(dú)立,就和RBM一樣,但是在RBM中隱變量獨(dú)立是正確的,而這里是錯(cuò)誤的,只是一種假設(shè)或者說近似。一層中三個(gè)隱藏神經(jīng)元各自的概率0.30.60.8某個(gè)狀態(tài)下三個(gè)神經(jīng)元的聯(lián)合概率
LearningSBN—wake-sleep我們在提到BN13LearningSBN—wake-sleep下面我們介紹wake-sleep算法,它就是借用的錯(cuò)誤的概率分布來進(jìn)行學(xué)習(xí)。在這個(gè)算法中,我們的網(wǎng)絡(luò)有兩組不同的權(quán)值,如圖橘黃色的和綠色的分別是兩組權(quán)值,因?yàn)镾BN其實(shí)是一個(gè)生成模型,所以綠色的權(quán)值才是模型的一部分,而橘黃色的權(quán)值是用來近似后驗(yàn)概率分布的,也就是說我們用這些橘黃色的權(quán)值來表示每一層隱變量上面的因子分布,用這個(gè)因子分布來近似后驗(yàn)分布。
wakephase:使用認(rèn)知權(quán)重(recognitionweights)執(zhí)行從下到上的傳遞。即給定訓(xùn)練數(shù)據(jù),然后從下到上對各個(gè)隱藏層的單元計(jì)算其開啟概率,即sigmoid單元,每層神經(jīng)元相互獨(dú)立,這樣逐層計(jì)算最后得到所有隱藏神經(jīng)元的值,把這些值就可以當(dāng)成是從后驗(yàn)概率分布采樣得到的值,然后我們就可以做最大似然估計(jì)了,即有了后驗(yàn)分布采樣值,然后根據(jù)權(quán)值更新法則進(jìn)行更新,這時(shí)更新的是綠色箭頭表示的生成權(quán)重(generativeweights),即wakephase是使用認(rèn)知權(quán)重來驅(qū)動(dòng)更新生成權(quán)重sleepphase:這個(gè)階段正好和wakephase相反,使用生成權(quán)值來驅(qū)動(dòng)系統(tǒng),即最開始隨機(jī)初始化頂層的隱藏層的神經(jīng)元狀態(tài),然后由先驗(yàn)分布按照規(guī)則計(jì)算各隱藏神經(jīng)元的值,這樣從上到下生成整個(gè)網(wǎng)絡(luò)的神經(jīng)元狀態(tài)值,這是正確使用這個(gè)生成模型的方式,最后能產(chǎn)生一個(gè)生成樣本,然后我們可以看看是否能由這個(gè)樣本重建隱藏神經(jīng)元,即使用生成樣本來訓(xùn)練認(rèn)知權(quán)重,使得生成樣本最可能恢復(fù)隱藏神經(jīng)元。HintonandNeal-1995-Thewake-sleepalgorithmfor
unsupervisedneuralnetworksLearningSBN—wake-sleep下面我們介紹w14LearningSBN—wake-sleep結(jié)果表明,如果我們從隨機(jī)的生成權(quán)重和隨機(jī)的認(rèn)知權(quán)重開始,并且讓wake和sleep階段交替執(zhí)行最后能學(xué)到一個(gè)很好的生成模型。就像訓(xùn)練監(jiān)督學(xué)習(xí)模型中backpropagation算法的重要性,在訓(xùn)練無監(jiān)督學(xué)習(xí)的生成模型的時(shí)候,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的研究,重新研究玻爾茲曼機(jī),發(fā)現(xiàn)了一種新的訓(xùn)練受限玻爾茲曼機(jī)的高效的算法,就是contrastivedivergence,一個(gè)RBM能夠有效的學(xué)習(xí)一層輸入數(shù)據(jù)的非線性特征,再嘗試著把這層學(xué)習(xí)到的非線性特征當(dāng)做輸入數(shù)據(jù),學(xué)習(xí)下一個(gè)RBM,則又學(xué)習(xí)到一層非線性特征來刻畫上一層特征的相關(guān)關(guān)系,就這樣將很多RBM堆疊起來學(xué)習(xí)到很多層非線性特征。Hinton-2006-AFastLearningAlgorithmforDeepBeliefNets那么這樣多個(gè)RBM堆疊起來構(gòu)成一個(gè)什么樣的模型那,是一個(gè)多層受限玻爾茲曼機(jī)嗎,Hinton的一個(gè)研究生發(fā)現(xiàn)實(shí)際上堆疊這樣多個(gè)RBM你學(xué)習(xí)到的是一個(gè)更加類似SBN的模型,這正好解決了高效訓(xùn)練深度信念網(wǎng)絡(luò)(deepbeliefnets)的問題,也就是我們可以采用訓(xùn)練無向圖RBM的方法來訓(xùn)練有向圖SBN。能夠證明,每次我們采用RBM增加一層特征,就能夠提高DBN生成訓(xùn)練的數(shù)據(jù)的對數(shù)概率的變分下界,證明相當(dāng)復(fù)雜并且在實(shí)際應(yīng)用中一般無需證明。這個(gè)證明基于一個(gè)RBM和一個(gè)無限深度信念網(wǎng)絡(luò)在數(shù)學(xué)上是等價(jià)的,具體證明參見下面論文LearningSBN—stackedRBMs接下來介紹16LearningDBN—stackedRBMs(Pretraining)Combine
twoRBMstomakeaDBNtrainthismodelthentrainthismodel
drop上面的模型即為DBN,深度信念網(wǎng)絡(luò),它既不是sigmoidbeliefnets也不是深度restrictedboltzmannmachine而是他們的混合模型,最上面一層是一個(gè)RBM,下面的所有層都是有向的SBN。LearningDBN—stackedRBMs(Pret17DBN—generatedata
右圖是一個(gè)三層的深度信念網(wǎng)絡(luò),最上面的兩層構(gòu)成一個(gè)受限玻爾茲曼機(jī),生成數(shù)據(jù)的過程如下:
右圖所示的綠色箭頭表示的權(quán)值并不是模型的一部分
在逐個(gè)訓(xùn)練完每個(gè)RBM之后,RBM的對稱連接就變成
了單向連接,把綠色的箭頭就丟棄掉了,其實(shí)他們是
藍(lán)色箭頭對應(yīng)權(quán)值的轉(zhuǎn)置。DBN其實(shí)本質(zhì)上是一個(gè)生成模型,它是RBM和SBN的結(jié)合體,它的發(fā)明有兩個(gè)很關(guān)鍵的地方其中一個(gè)是頂層RBM一定程度緩解了explainingaway問題,另一個(gè)是它可以用堆疊RBM的方式進(jìn)行快速的預(yù)訓(xùn)練,算法的效率也很高。DBN—generatedata
右圖是一個(gè)三18LearningDBN—contrastiveversionofwake-sleep(fine-tune)一旦我們用堆疊RBM的方式學(xué)習(xí)到了多層特征,就得到了一個(gè)DBN模型,然后我們可以微調(diào)這些特征來提高模型的泛化能力,用到的算法是wake-sleep算法的變體,即自下向上調(diào)整認(rèn)知權(quán)重,并且自上到下調(diào)整生成權(quán)重,只不過其中頂層的RBM采用CD算法來訓(xùn)練。用認(rèn)知權(quán)重自下向上隨機(jī)生成神經(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ī)生成神經(jīng)元狀態(tài)值,然后用這些值調(diào)整認(rèn)知權(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)的時(shí)候,不再采用訓(xùn)練生成模型BN的wake-sleep算法,而是采用訓(xùn)練判別模型的算法進(jìn)行微調(diào)。也就是其實(shí)不論用于生成模型還是判別模型,DBN的預(yù)訓(xùn)練過程是很重要的,這樣逐層堆疊RBM的方式叫做GreedyLayer-WiseTraining,它是最開始提出深度學(xué)習(xí)時(shí)候的核心,正因?yàn)檫@個(gè)算法,深度生成模型和深度判別模型的訓(xùn)練才成為可能,因?yàn)檫@個(gè)算法將模型的參數(shù)做了一個(gè)很好的初始化,已經(jīng)比較接近最優(yōu)解了,然后只需微調(diào)即可。下面講解怎么對深度判別模型做微調(diào)。用逐層學(xué)習(xí)的方法,將多個(gè)RBM堆疊起來,構(gòu)成一個(gè)初步的模型,并且認(rèn)為這是對深度
神經(jīng)網(wǎng)絡(luò)做了一個(gè)很好的參數(shù)初始化。前面采用的是wake-sleep算法微調(diào),這里采用backpropagation算法進(jìn)行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的思想就講完了,對于判別模型來說,下面的圖就是一個(gè)簡要的概括。舉一個(gè)例子。UnsupervisedLearningforGenerativeModelSupervisedLearningforDiscriminantModelPretrainingFine-tuneUnlabeledLabeled28*28image500units500units2000units右圖是一個(gè)三隱藏的DBN,先用堆疊RBM的方式進(jìn)行無監(jiān)督學(xué)習(xí),最上層的2000個(gè)神經(jīng)元學(xué)習(xí)到數(shù)字的特征,這就是一個(gè)生成模型,我們可以用它來生成學(xué)習(xí)到的數(shù)字。然后我們學(xué)習(xí)到的2000個(gè)特征對于最終的多分類判別模型有效嗎,我們在DBN的頂層再添加一層Softmax分類的神經(jīng)網(wǎng)絡(luò),然后再采用backpropagation算法來微調(diào)。所以我們可以認(rèn)識(shí)到,其實(shí)深度神經(jīng)網(wǎng)絡(luò)雖然聽起來很復(fù)雜,但是它做的事情很簡單,就是特征提取,也就是預(yù)訓(xùn)練過程,這才是重點(diǎn)。所以有人說:深度學(xué)習(xí)是手段,特征學(xué)習(xí)是目的LearningDBN—discriminativefi21BeliefNetsandDeepBeliefNets數(shù)媒學(xué)院-許鵬BeliefNetsandDeepBeliefNe22RBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的,最多兩個(gè)隱層,而且一旦神經(jīng)元個(gè)數(shù)太多,模型參數(shù)就是迅速增長,采用隨機(jī)梯度下降的話一般很難找到最優(yōu)解,甚至隨著層數(shù)的增加,如果訓(xùn)練網(wǎng)絡(luò)時(shí)權(quán)值初始化的很小,那么模型會(huì)很快的陷入局部最優(yōu)解,而且是一個(gè)poorlocalminima,這是神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題。另外一個(gè)主要的原因就是判別模型,因?yàn)镕NN是判別模型,就是即使神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題可以通過一些手段解決,比如替換神經(jīng)元激活函數(shù),采用ReLU單元,那么還是有問題,就是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候需要很大的標(biāo)簽數(shù)據(jù),因?yàn)樯疃壬窠?jīng)網(wǎng)絡(luò)的模型參數(shù)很多,所以在訓(xùn)練數(shù)據(jù)少的時(shí)候很難找到最優(yōu)解,也就是深度神經(jīng)網(wǎng)絡(luò)不具備解決小樣本問題的能力,所以受這些限制,深度的神經(jīng)網(wǎng)絡(luò)一度被認(rèn)為是無法訓(xùn)練的,而90年代出現(xiàn)的支持向量機(jī)很好的解決了小樣本和優(yōu)化問題,所以受到人們的推崇。但是Hinton一直沒有放棄對于深層神經(jīng)網(wǎng)絡(luò)的研究,因?yàn)樗X得,支持向量機(jī)其實(shí)只是感知機(jī)引入了一些tricks,比如核方法很好的解決了非線性問題,但是核的選擇卻深深困擾著所有的機(jī)器學(xué)習(xí)的研究者,另外最大化間隔也就是支持向量提高了模型的泛化能力,但是這些并不是提取非線性特征最有效的方法,所以深層神經(jīng)網(wǎng)絡(luò)的研究是很有意義的。以上思想來自于Hinton在coursera的公開課NeuralNetworksforMachineLearningRBMReview
我們知道傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)一般都是單隱層的23RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實(shí)主要原因是,可以解決深層神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題了,也就是2006年Hinton發(fā)的文章里面采用的訓(xùn)練方法,逐層訓(xùn)練,而在逐層訓(xùn)練的時(shí)候起到最重要作用的受限玻爾茲曼機(jī),這樣的逐層訓(xùn)練有什么優(yōu)點(diǎn)那,它的優(yōu)點(diǎn)就是很好的解決了前面提到的深層神經(jīng)網(wǎng)絡(luò)遇到的兩個(gè)問題,很容易陷入局部最優(yōu)和沒有大量標(biāo)簽樣本。其中的逐層訓(xùn)練解決了優(yōu)化的問題,因?yàn)樵谥饘佑貌柶澛鼨C(jī)預(yù)訓(xùn)練的時(shí)候就為整個(gè)網(wǎng)絡(luò)賦予了較好的初始權(quán)值,使得網(wǎng)絡(luò)只要經(jīng)過微調(diào)就可以達(dá)到最優(yōu)解,而不會(huì)陷入poorlocalminima,另外一個(gè)優(yōu)點(diǎn)是由于受限玻爾茲曼機(jī)是一個(gè)生成模型,它可以充分利用大量的非標(biāo)簽數(shù)據(jù),因?yàn)轭A(yù)訓(xùn)練的時(shí)候是對不含標(biāo)簽的數(shù)據(jù)本身進(jìn)行建模,其中RBM的可見單元是非標(biāo)簽訓(xùn)練數(shù)據(jù),隱藏層訓(xùn)練完以后可以看做是數(shù)據(jù)的特征,這樣如果將多個(gè)RBM堆疊起來就會(huì)起到提取數(shù)據(jù)非線性特征的效果,所以由此開始了深度學(xué)習(xí)的熱潮。UnsupervisedLearningforGenerativeModelSupervisedLearningforDiscriminantModelPretrainingFine-tuneUnlabeledLabeled上面這個(gè)圖其實(shí)是2006年Hinton最開始進(jìn)行深度學(xué)習(xí)時(shí)候的思想,其中堆疊RBM是核心的思想,當(dāng)然最重要的那篇論文中并沒有提到判別模型,但是用生成模型一樣可以做分類,以后會(huì)提到。這整個(gè)模型中還有一個(gè)重要的知識(shí)就是信念網(wǎng)絡(luò),它和受限玻爾茲曼機(jī)很像,但是它是有向圖,而玻爾茲曼機(jī)是無向圖,它們都是學(xué)習(xí)一個(gè)聯(lián)合概率分布,下面我們講解信念網(wǎng)絡(luò),這對理解DBN很重要。而DBN可以認(rèn)為是深度學(xué)習(xí)復(fù)興的一個(gè)開始。RBMReview在2006以后深度網(wǎng)絡(luò)開始興盛,其實(shí)主要24BeliefNetworkRBM和BN都是屬于概率圖模型,而BN是有向圖,它又叫Bayesiannetworks,causalnetworks,在1992年,RadfordNeal提出如果BN使用和RBM相同的sigmoid激活單元,我們可以得到SigmoidBeliefNets。既然兩者都屬于生成模型,都可以對非標(biāo)簽數(shù)據(jù)進(jìn)行建模,解決前面提到的兩個(gè)問題,那么我們該使用RBM還是BN那,亦或是兩者的合體,其實(shí)deepbeliefnets深度信念網(wǎng)絡(luò)就是兩者的合體,我們已經(jīng)學(xué)習(xí)了RBM,但是要理解DBN還必須理解BN,還有很長的路要走。BeliefNetworkRBM和BN都是屬于概率圖模型,25BNandProbabilityGraphicalModelRBM和BN都屬于PGM,PGM是圖論和概率論的結(jié)合,這是人工智能一個(gè)重要的領(lǐng)域,因?yàn)樗鉀Q了很多不確定性的問題,用它們建模得到的都是生成模型,我們回憶一下最開始學(xué)習(xí)BM的時(shí)候最重要的兩個(gè)問題,一個(gè)是學(xué)習(xí)問題,一個(gè)是推斷問題(就是從模型中采樣),對于BN來說也是一樣,如果是稀疏連接的有向無環(huán)BN,人們已經(jīng)發(fā)明了很多精確推斷的方法,但是對于密集連接的BN來說,推斷和學(xué)習(xí)都是問題。stochastichiddencausesvisibleeffects當(dāng)我們有可見變量的時(shí)候,一般指的是訓(xùn)練數(shù)據(jù),我們要解決的問題有兩個(gè):Theinferenceproblem:給定可見變量時(shí)推斷藍(lán)色的不可見變量的狀態(tài)?,F(xiàn)在已經(jīng)有了很多技術(shù)處理這個(gè)問題,對于簡單的貝葉斯網(wǎng)絡(luò),可以用精確推斷,即根據(jù)貝葉斯公式計(jì)算得出隱藏節(jié)點(diǎn)的值;對于密集連接的網(wǎng)絡(luò),就是概率分布很復(fù)雜時(shí),現(xiàn)在有MCMC采樣方法和變分推斷方法可以使用。Thelearningproblem:在給定可見單元的訓(xùn)練數(shù)據(jù)的時(shí)候,調(diào)整整個(gè)網(wǎng)絡(luò)的變量之間的連接權(quán),使得這個(gè)生成模型產(chǎn)生訓(xùn)練數(shù)據(jù)的概率最大化。其實(shí)學(xué)習(xí)問題中包含推斷問題,因?yàn)閷W(xué)習(xí)權(quán)值時(shí),一般都需要知道隱藏節(jié)點(diǎn)的狀態(tài),所以推斷是必要的過程。BNandProbabilityGraphicalM26GraphicalModelsandversusNeuralNetworks最開始的圖模型都是借助專家來定義圖結(jié)構(gòu)和節(jié)點(diǎn)之間的條件概率:例如會(huì)找來一個(gè)醫(yī)學(xué)專家,詢問他這個(gè)
病癥怎么影響另一個(gè)病癥,每個(gè)病癥都
是圖模型中的一個(gè)節(jié)點(diǎn),并且每個(gè)節(jié)點(diǎn)
都有一個(gè)條件概率來描述其他節(jié)點(diǎn)怎么
影響它,就這樣依靠專家來定義一個(gè)圖
模型。這樣的圖模型一般都是稀疏連接的,因
為都是人為定義的,所以不會(huì)太過復(fù)雜而且這樣的圖模型一般只關(guān)注怎么能正確地推斷,例如知道了病的癥狀,怎么
推測病因。因?yàn)槟P褪菍<叶x的,所以幾乎不涉及圖的學(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)然其實(shí)某些情況下,神經(jīng)網(wǎng)絡(luò)和概率圖模型的界限并不清晰,只是說圖模型更關(guān)注推斷問題而神經(jīng)網(wǎng)絡(luò)更專注采用數(shù)據(jù)來學(xué)習(xí)模型的問題。GraphicalModelsandversusNe27TwoGenerativeNeuralNetworkEnergy-based:
使用對稱連接將二值隨機(jī)神經(jīng)元連接
起來就形成了玻爾茲曼機(jī),它的每一
狀態(tài)都對應(yīng)一個(gè)能量,所以是給予能量的模型,而為了簡化模型,使得模
型更容易從數(shù)據(jù)中學(xué)得知識(shí),限制了
玻爾茲曼機(jī)的連接,就形成了受限玻
爾茲曼機(jī)。Causal:
用有向無環(huán)圖的方式將二值隨機(jī)神經(jīng)元連
接起來就可以得到SigmoidBeliefNet。注
意RBM是無向圖而SBN是有向圖。雖然我們前面講過受限玻爾茲曼機(jī)用
對比散度的算法很容易學(xué)習(xí),但是它
也放棄了一些玻爾茲曼機(jī)的優(yōu)點(diǎn)就是
它沒有玻爾茲曼機(jī)的層間連接,也就
是學(xué)習(xí)到的RBM隱藏層沒有相互影響
其實(shí)這是不正確的,它限制了模型表
達(dá)數(shù)據(jù)的能力,而且它只能學(xué)習(xí)單隱
層,如果采用多隱層結(jié)構(gòu),也許就能
避免層間無連接導(dǎo)致的模型表達(dá)能力
減弱的問題。SBN是Neal在1992年提出的,他把SBN和BM
做了對比,發(fā)現(xiàn)SBN學(xué)習(xí)起來稍微容易一些
因?yàn)樵谏蓴?shù)據(jù)時(shí)它只需要決定了最上面一
層神經(jīng)元的狀態(tài)就可以逐層往下計(jì)算,最終
得到一個(gè)生成的采樣值。stochastichiddencausesvisibleeffects其實(shí)當(dāng)時(shí)1992年訓(xùn)練BM還很困難,基本還是基于熱平衡采樣方法,直到2002年Hinton才發(fā)明了CD算法,所以他當(dāng)時(shí)暫時(shí)轉(zhuǎn)向了研究SBNTwoGenerativeNeuralNetworkE28LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因?yàn)椴幌裼?xùn)練BM時(shí)需要兩個(gè)階段positivephase和negativephase,訓(xùn)練SBN只需要positivephase,這是因?yàn)镾BN是局部歸一化模型,也就是每個(gè)節(jié)點(diǎn)的條件概率其實(shí)都是歸一化的,而BM所服從的玻爾茲曼分布必須有一個(gè)配分函數(shù)使得每個(gè)狀態(tài)的概率是歸一化的而negative階段就是計(jì)算配分函數(shù)的,所以SBN不需要。所以SBN簡單,在給定在可見單元上面的訓(xùn)練數(shù)據(jù)時(shí),只要能夠?qū)﹄[藏單元進(jìn)行采樣,就能很容易的對模型進(jìn)行訓(xùn)練,訓(xùn)練過程中使用的是對最大似然函數(shù)進(jìn)行批量梯度下降。所以現(xiàn)在的難點(diǎn)是如何對隱藏節(jié)點(diǎn)的后驗(yàn)概率分布進(jìn)行采樣,之所以采樣比較難,是因?yàn)橐粋€(gè)叫做解釋失效的現(xiàn)象(explainingaway)。stochastichiddencausesvisibleeffects一旦SBN的學(xué)習(xí)完成了,那么生成一個(gè)可見單元的樣本是很容易的,只需要從上到下逐層計(jì)算就可以因?yàn)樗且粋€(gè)因果模型。然而即使我們知道了模型參數(shù),在給定可見單元時(shí),推斷隱藏節(jié)點(diǎn)的后驗(yàn)分布也是很難的,而且隨著隱藏節(jié)點(diǎn)的增多,難度會(huì)越來越大,所以對于一個(gè)數(shù)百萬參數(shù)的模型來說,即使只是從后驗(yàn)概率采樣也很難,導(dǎo)致了無法進(jìn)行學(xué)習(xí)。LearningSBNSBN的學(xué)習(xí)算法較BM簡單一些,因?yàn)?9SBN—LearningRule在講解怎么從隱藏單元的后驗(yàn)概率分布采樣之前,我們先來看看如果能夠采樣了,那么學(xué)習(xí)算法是怎么樣的。如果我們能夠采樣了,學(xué)習(xí)算法很簡單,就是最大似然估計(jì)的思想,也就是使得可見單元神經(jīng)元的值盡可能和訓(xùn)練數(shù)據(jù)對應(yīng)的值一致,即最大似然,因?yàn)檫@里是sigmoid神經(jīng)元,所以每個(gè)神經(jīng)元開啟的概率和它的所有父節(jié)點(diǎn)有關(guān)。
stochastichiddencausesvisibleeffects
下面我們重新回到前面提到的采樣問題上,為什么對隱藏單元的后驗(yàn)分布采樣不容易。SBN—LearningRule在講解怎么從隱藏單元的后驗(yàn)30ExplainingAway如果兩個(gè)節(jié)點(diǎn)在先驗(yàn)分布中相互獨(dú)立,而且它們連接到同一個(gè)子節(jié)點(diǎn),那么當(dāng)子節(jié)點(diǎn)的數(shù)據(jù)已知時(shí),這兩個(gè)節(jié)點(diǎn)將不再獨(dú)立。這對應(yīng)于圖模型中的多因一果的模型。A
考慮右圖中三個(gè)變量的聯(lián)合概率分布,其中A和B獨(dú)立,即對于先驗(yàn)概率分布,A和B獨(dú)立,可以看出只要A與B中任意一個(gè)為1則C就為1,這正是多因一果模型。我們所說的explainingaway現(xiàn)象是在推斷的時(shí)候產(chǎn)生的,即當(dāng)觀測到c的值是1時(shí),我們不知道A和B的取值情況,需要進(jìn)行推斷根據(jù)下面的聯(lián)合概率分布表格即可求出下列概率,這都很符合常理。
但是如果我們現(xiàn)在確定了A=1,則無論B是多少都有C=1,即有
我們可以看出當(dāng)觀測到C=1,而且知道A=1時(shí),B=1的概率下降了,這就表示A和B的后驗(yàn)概率并不獨(dú)立了,這就叫explainingawayExplainingAway如果兩個(gè)節(jié)點(diǎn)在先驗(yàn)分布中相互獨(dú)31LearningSBN—ProblemsWhyit’shardtolearnsigmoidbeliefnetsonelayeratatime如右圖假設(shè)這里有一個(gè)多層隱變量的因果模型,是一個(gè)SBN,這個(gè)模型能生成最終的觀測數(shù)據(jù)?,F(xiàn)在我們想學(xué)習(xí)這個(gè)模型在第一隱層和可見層之間的的權(quán)值W。在學(xué)習(xí)的過程中會(huì)遇到幾個(gè)問題。當(dāng)給定可見層數(shù)值時(shí),第一隱層的各個(gè)隱層變量之間
并非相互獨(dú)立,這正是由于explainingaway因?yàn)槲覀兡P陀卸鄬?,更高層的隱藏變量之間甚至先驗(yàn)分布都不相互獨(dú)立,正是這些先驗(yàn)分布刻畫了第一
隱藏各隱藏變量之間的相關(guān)性。所以想要學(xué)習(xí)W,必須知道第一隱層變量的后驗(yàn)分布,而想要知道第一隱
層的后驗(yàn)分布,又得知道第二隱層的先驗(yàn)概率分布。hiddenvariableshiddenvariableshiddenvariablesvisibledata
所以所有隱層的權(quán)值W都相關(guān),以此類推,如果我們
想要盡可能的逼近第一隱層的先驗(yàn)概率,必須求出所
有更高隱層的分布,層數(shù)越多,越能逼近真實(shí)分布。LearningSBN—ProblemsWhyit’s32LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)SBN的規(guī)則并不難,但是知道可見單元數(shù)據(jù)時(shí),對隱藏層進(jìn)行采樣很難尤其想盡可能逼近第一隱層的先驗(yàn)概率分布時(shí),計(jì)算更高層的多個(gè)隱藏層是很復(fù)雜的。下面我們介紹兩種方法。第一種就是MCMC方法,我們回憶一下當(dāng)時(shí)玻爾茲曼機(jī)的學(xué)習(xí)問題,就是采用的蒙特卡洛馬爾科夫鏈的采樣方法,隨機(jī)初始化所以隱藏神經(jīng)元的狀態(tài),然后根據(jù)概率公式依次更新所有神經(jīng)元的狀態(tài),直到達(dá)到平穩(wěn)分布,如果用MCMC方法的話,信念網(wǎng)絡(luò)的采樣更加簡單,因?yàn)樗恍枰?fù)階段,只需要將可見單元固定,然后更新隱藏單元即可。但是和玻爾茲曼機(jī)一樣,用MCMC很耗時(shí),因?yàn)檫_(dá)到平穩(wěn)分布需要很長時(shí)間,而且往往無法判斷需要多長時(shí)間,無法判斷是否達(dá)到平穩(wěn)分布。不過優(yōu)點(diǎn)就是只要Gibbs采樣進(jìn)行足夠長的時(shí)間,肯定能夠?qū)﹄[藏層進(jìn)行精確的后驗(yàn)分布采樣,然后有了采樣值,就可以訓(xùn)練了。另一種就是變分方法,這種方法的思想就是如果一個(gè)分布太過復(fù)雜,那么使用一個(gè)
相對簡單一些的分布來近似這個(gè)分布,然后從這個(gè)相對簡單的分布中采樣,優(yōu)點(diǎn)是
效率更高了,不過它只能是近似采樣,不像蒙特卡洛馬爾科夫鏈采樣一樣,只要運(yùn)
行時(shí)間足夠長就能夠精確采樣。
最大似然學(xué)習(xí)要求的是后驗(yàn)分布的精確采
樣,而變分方法是從另一個(gè)近似分布中采
樣的,學(xué)習(xí)規(guī)則依然有效嗎,有證明說明
變分方法對于最大似然估計(jì)仍然有效?,F(xiàn)在變分方法已經(jīng)成為機(jī)器學(xué)習(xí)領(lǐng)域一個(gè)重要的分支,而且一般對于推斷問題,有
三種方法,就是精確計(jì)算,隨機(jī)采樣和變
分推斷方法。MCMC方法變分方法LearningSBN—MCMC有上面討論可以知道,學(xué)習(xí)S33LearningSBN—wake-sleep我們在提到BN的時(shí)候就會(huì)無可避免的提到玻爾茲曼機(jī),其實(shí)有關(guān)信念網(wǎng)絡(luò)的學(xué)習(xí)問題,最開始它的研究目的就是想要找到一個(gè)可進(jìn)行權(quán)值學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),但是想讓這個(gè)結(jié)構(gòu)不僅僅和玻爾茲曼機(jī)一樣可以對聯(lián)合概率建模得到一個(gè)生成模型,還要比玻爾茲曼機(jī)的訓(xùn)練算法更加高效,這里的目的主要是想找到一種模型,使其訓(xùn)練算法消除玻爾茲曼機(jī)訓(xùn)練時(shí)negativephase所進(jìn)行的工作。于是Sigmoidbeliefnetworks就誕生了。(connectionistlearningofbeliefnetworks-Neal1992)而和玻爾茲曼機(jī)一樣最開始SBN采用的是隨機(jī)采樣的方法,雖然沒有了negativephase,但是算法效率還是不高,而wake-sleep算法是第一個(gè)能夠高效訓(xùn)練SBN的算法,它背后的思想就是變分思想。前面已經(jīng)提到過變分方法,變分法的思想就是如果后驗(yàn)概率分布很復(fù)雜,很難進(jìn)行推斷,那么我們希望進(jìn)行錯(cuò)誤的推斷,但是學(xué)習(xí)法則依然有效,最好研究表明這種思想對于SBN的訓(xùn)練是可行的。對于每一層,我們錯(cuò)誤的假設(shè)所有隱藏變量可以進(jìn)行因子分解,即分解成為一系列獨(dú)立變量的乘積即忽視explainingaway現(xiàn)象。換句話說就是當(dāng)給定可見單元數(shù)據(jù)時(shí),隱藏單元相互獨(dú)立,就和RBM一樣,但是在RBM中隱變量獨(dú)立是正確的,而這里是錯(cuò)誤的,只是一種假設(shè)或者說近似。一層中三個(gè)隱藏神經(jīng)元各自的概率0.30.60.8某個(gè)狀態(tài)下三個(gè)神經(jīng)元的聯(lián)合概率
LearningSBN—wake-sleep我們在提到BN34LearningSBN—wake-sleep下面我們介紹wake-sleep算法,它就是借用的錯(cuò)誤的概率分布來進(jìn)行學(xué)習(xí)。在這個(gè)算法中,我們的網(wǎng)絡(luò)有兩組不同的權(quán)值,如圖橘黃色的和綠色的分別是兩組權(quán)值,因?yàn)镾BN其實(shí)是一個(gè)生成模型,所以綠色的權(quán)值才是模型的一部分,而橘黃色的權(quán)值是用來近似后驗(yàn)概率分布的,也就是說我們用這些橘黃色的權(quán)值來表示每一層隱變量上面的因子分布,用這個(gè)因子分布來近似后驗(yàn)分布。
wakephase:使用認(rèn)知權(quán)重(recognitionweights)執(zhí)行從下到上的傳遞。即給定訓(xùn)練數(shù)據(jù),然后從下到上對各個(gè)隱藏層的單元計(jì)算其開啟概率,即sigmoid單元,每層神經(jīng)元相互獨(dú)立,這樣逐層計(jì)算最后得到所有隱藏神經(jīng)元的值,把這些值就可以當(dāng)成是從后驗(yàn)概率分布采樣得到的值,然后我們就可以做最大似然估計(jì)了,即有了后驗(yàn)分布采樣值,然后根據(jù)權(quán)值更新法則進(jìn)行更新,這時(shí)更新的是綠色箭頭表示的生成權(quán)重(generativeweights),即wakephase是使用認(rèn)知權(quán)重來驅(qū)動(dòng)更新生成權(quán)重sleepphase:這個(gè)階段正好和wakephase相反,使用生成權(quán)值來驅(qū)動(dòng)系統(tǒng),即最開始隨機(jī)初始化頂層的隱藏層的神經(jīng)元狀態(tài),然后由先驗(yàn)分布按照規(guī)則計(jì)算各隱藏神經(jīng)元的值,這樣從上到下生成整個(gè)網(wǎng)絡(luò)的神經(jīng)元狀態(tài)值,這是正確使用這個(gè)生成模型的方式,最后能產(chǎn)生一個(gè)生成樣本,然后我們可以看看是否能由這個(gè)樣本重建隱藏神經(jīng)元,即使用生成樣本來訓(xùn)練認(rèn)知權(quán)重,使得生成樣本最可能恢復(fù)隱藏神經(jīng)元。HintonandNeal-1995-Thewake-sleepalgorithmfor
unsupervisedneuralnetworksLearningSBN—wake-sleep下面我們介紹w35LearningSBN—wake-sleep結(jié)果表明,如果我們從隨機(jī)的生成權(quán)重和隨機(jī)的認(rèn)知權(quán)重開始,并且讓wake和sleep階段交替執(zhí)行最后能學(xué)到一個(gè)很好的生成模型。就像訓(xùn)練監(jiān)督學(xué)習(xí)模型中backpropagation算法的重要性,在訓(xùn)練無監(jiān)督學(xué)習(xí)的生成模型的時(shí)候,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的研究,重新研究玻爾茲曼機(jī),發(fā)現(xiàn)了一種新的訓(xùn)練受限玻爾茲曼機(jī)的高效的算法,就是contrastivedivergence,一個(gè)RBM能夠有效的學(xué)習(xí)一層輸入數(shù)據(jù)的非線性特征,再嘗試著把這層學(xué)習(xí)到的非線性特征當(dāng)做輸入數(shù)據(jù),學(xué)習(xí)下一個(gè)RBM,則又學(xué)習(xí)到一層非線性特征來刻畫上一層特征的相關(guān)關(guān)系,就這樣將很多RBM堆疊起來學(xué)習(xí)到很多層非線性特征。Hinton-2006-AFastLearningAlgorithmforDeepBeliefNets那么這樣多個(gè)RBM堆疊起來構(gòu)成一個(gè)什么樣的模型那,是一個(gè)多層受限玻爾茲曼機(jī)嗎,Hinton的一個(gè)研究生發(fā)現(xiàn)實(shí)際上堆疊這樣多個(gè)RBM你學(xué)習(xí)到的是一個(gè)更加類似SBN的模型,這正好解決了高效訓(xùn)練深度信念網(wǎng)絡(luò)(deepbeliefnets)的問題,也就是我們可以采用訓(xùn)練無向圖RBM的方法來訓(xùn)練有向圖SBN。能夠證明,每次我們采用RBM增加一層特征,就能夠提高DBN生成訓(xùn)練的數(shù)據(jù)的對數(shù)概率的變分下界,證明相當(dāng)復(fù)雜并且在實(shí)際應(yīng)用中一般無需證明。這個(gè)證明基于一個(gè)RBM和一個(gè)無限深度信念網(wǎng)絡(luò)在數(shù)學(xué)上是等價(jià)的,具體證明參見下面論文LearningSBN—stackedRBMs接下來介紹37LearningDBN—stackedRBMs(Pretraining)Combine
twoRBMstomakeaDBNtrainthismodelthentrainthismodel
drop上面的模型即為DBN,深度信念網(wǎng)絡(luò),它既不是sigmoidbeliefnets也不是深度restrictedboltzmannmachine而是他們的混合模型,最上面一層是一個(gè)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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《眾人行管理咨詢網(wǎng)》課件
- 運(yùn)動(dòng)器材銷售工作總結(jié)
- 2013年高考語文試卷(湖北)(空白卷)
- 租車服務(wù)員工作總結(jié)
- 2006年江西高考語文真題及答案
- 驅(qū)動(dòng)未來新型汽車
- 2023年-2024年項(xiàng)目管理人員安全培訓(xùn)考試題附解析答案可打印
- 2023年-2024年項(xiàng)目部管理人員安全教育培訓(xùn)試題及參考答案【A卷】
- 2023-2024安全培訓(xùn)考試題及答案【名校卷】
- 2023年-2024年項(xiàng)目部安全培訓(xùn)考試題答案完美
- 學(xué)術(shù)不端行為治理研究
- 企業(yè)文化、戰(zhàn)略與電力能源知識(shí)參考題庫練習(xí)卷含答案(一)
- 福建南平武夷高新技術(shù)產(chǎn)業(yè)控股集團(tuán)有限公司招聘筆試沖刺題2024
- 2024年設(shè)備維修部管理制度(6篇)
- GB/T 45083-2024再生資源分揀中心建設(shè)和管理規(guī)范
- 精神科護(hù)理工作計(jì)劃例文
- 2024山地買賣合同模板
- 河北省承德市2023-2024學(xué)年高一上學(xué)期期末物理試卷(含答案)
- 【初中化學(xué)】二氧化碳的實(shí)驗(yàn)室制取教學(xué)課件-2024-2025學(xué)年九年級化學(xué)人教版上冊
- 出租車行業(yè)服務(wù)質(zhì)量提升方案
- 景區(qū)安全管理教育培訓(xùn)
評論
0/150
提交評論