![2021人工智能中深度結(jié)構(gòu)學(xué)習(xí)_第1頁](http://file4.renrendoc.com/view/d71d3de87930b0ace6671318ddc44e41/d71d3de87930b0ace6671318ddc44e411.gif)
![2021人工智能中深度結(jié)構(gòu)學(xué)習(xí)_第2頁](http://file4.renrendoc.com/view/d71d3de87930b0ace6671318ddc44e41/d71d3de87930b0ace6671318ddc44e412.gif)
![2021人工智能中深度結(jié)構(gòu)學(xué)習(xí)_第3頁](http://file4.renrendoc.com/view/d71d3de87930b0ace6671318ddc44e41/d71d3de87930b0ace6671318ddc44e413.gif)
![2021人工智能中深度結(jié)構(gòu)學(xué)習(xí)_第4頁](http://file4.renrendoc.com/view/d71d3de87930b0ace6671318ddc44e41/d71d3de87930b0ace6671318ddc44e414.gif)
![2021人工智能中深度結(jié)構(gòu)學(xué)習(xí)_第5頁](http://file4.renrendoc.com/view/d71d3de87930b0ace6671318ddc44e41/d71d3de87930b0ace6671318ddc44e415.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
人工智能中的深度結(jié)構(gòu)學(xué)習(xí)1 1 引言 11.1如何訓(xùn)練深度結(jié)構(gòu) 41.2中間層表示:在不同的任務(wù)中共享特征和抽象 51.3學(xué)習(xí)人工智能的必經(jīng)之路 72 深度結(jié)構(gòu)的理論優(yōu)勢(shì) 942 深度結(jié)構(gòu)的理論優(yōu)勢(shì) 91計(jì)算復(fù)雜性 123 局部與非局部泛化性 1623 局部與非局部泛化性 161局部模板匹配的局限性 164 具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò) 2424 具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò) 241多層神經(jīng)網(wǎng)絡(luò) 244.2訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的挑戰(zhàn) 254.3深度結(jié)構(gòu)的無監(jiān)督學(xué)習(xí) 314.4深度生成結(jié)構(gòu) 324.5卷積神經(jīng)網(wǎng)絡(luò) 356自動(dòng)編碼器 37Ⅴ目 錄Ⅴ5 5 能量模型和玻爾茲曼機(jī) 401能量模型和專家乘積系統(tǒng) 405.2玻爾茲曼機(jī) 445.3受限玻爾茲曼機(jī) 466 深層結(jié)構(gòu)的逐層貪心訓(xùn)練 5846 深層結(jié)構(gòu)的逐層貪心訓(xùn)練 581深度置信網(wǎng)絡(luò)的逐層訓(xùn)練 586.2堆疊自動(dòng)編碼器訓(xùn)練 617 受限玻爾茲曼機(jī)和自動(dòng)編碼器的變體 6437 受限玻爾茲曼機(jī)和自動(dòng)編碼器的變體 641自動(dòng)編碼器和受限玻爾茲曼機(jī)的稀疏化表示 647.2降噪自動(dòng)編碼器 697.3層內(nèi)連接 717.4條件RBM和時(shí)序RBM 727.5分解式RBM 748 DBN各層聯(lián)合優(yōu)化中的隨機(jī)變分邊界 7868 DBN各層聯(lián)合優(yōu)化中的隨機(jī)變分邊界 781將RBM展開為無限有向置信網(wǎng)絡(luò) 798.2逐層貪心訓(xùn)練的變分證明 809 展望 8739 展望 871全局優(yōu)化策略 879.2無監(jiān)督學(xué)習(xí)的重要性 92Ⅵ人工智能中的深度結(jié)構(gòu)學(xué)習(xí)Ⅵ3開放的問題 9310 10 總結(jié) 961引言引言在超過半個(gè)世紀(jì)的時(shí)間里,使用計(jì)算機(jī)為我們的世界建模,展示我們所說的“智能”,一直是研究的重點(diǎn)。顯然,為了實(shí)現(xiàn)這一點(diǎn),大量的信息應(yīng)該以某種方式存儲(chǔ)在計(jì)算機(jī)中。這些信息的存儲(chǔ)或以顯式方式或以隱式方式進(jìn)行。如果要完全人工地將所有信息處理為機(jī)器可以利用的形式,以便解決問題并推廣到新的情境中,其工作量是無法想象的。因此,許多學(xué)者已轉(zhuǎn)而使用學(xué)習(xí)算法來捕捉這些信息的大部分。雖然人們?cè)诶斫夂透倪M(jìn)學(xué)習(xí)算法方面有了很大的進(jìn)展,但是人工智能仍面臨著挑戰(zhàn)。我們擁有能讓機(jī)器理解場(chǎng)景并用自然語言描述這個(gè)場(chǎng)景的算法嗎?除了在極其受限的情況下,的確沒有這樣的算法。我們有能推導(dǎo)出足夠的語義概念并且能用這些概念和大多數(shù)人進(jìn)行交流的算法嗎?答案是沒有。以定義得最好的人工智能任務(wù)之一的“圖像理解”為例,我們還沒有找到一個(gè)學(xué)習(xí)算法能發(fā)現(xiàn)必要的視覺和語義概念,來解釋網(wǎng)上的大規(guī)模圖片。在其他人工智能領(lǐng)域也有類似的情況??紤]一個(gè)例子:解釋一個(gè)如圖1.1所示的輸入圖片。當(dāng)人們嘗試解決特定的AI任務(wù)(比如機(jī)器視覺或者自然語言處理)時(shí),通常會(huì)考慮直觀地將問題拆解成多個(gè)子問題或是多個(gè)層級(jí)的表示,例如物體部件以及坐標(biāo)模型[138,179,197],它們可以在不同的物體實(shí)例中被重用。目前最先進(jìn)的計(jì)算機(jī)視覺模型就構(gòu)建了多層模型,將像素點(diǎn)作為原始輸入,最后用線性函數(shù)或是核函數(shù)分類[134,145]。其中的中間模塊混合了工程化的變換和學(xué)習(xí),例如可以先提取那些對(duì)小的幾何波動(dòng)不變的低層級(jí)特征(如用Garbor濾波器做邊緣檢測(cè)),再逐漸對(duì)它們做轉(zhuǎn)換(如使它們?cè)趨⒄瘴锔淖兓蚍崔D(zhuǎn)時(shí)保持不變,有時(shí)候使用池化和子采樣),然后檢測(cè)出PAGE2人工智能中的深度結(jié)構(gòu)學(xué)習(xí)PAGE2人工智能中的深度結(jié)構(gòu)學(xué)習(xí)PAGE31引PAGE31引言最常出現(xiàn)的模式。如前所述,為了從圖片中獲取有用信息,目前最常用且合理的方案就是從原始的像素點(diǎn)出發(fā),逐漸轉(zhuǎn)換成更抽象的表征,例如從出現(xiàn)邊緣的地方開始,到更復(fù)雜但僅出現(xiàn)在局部的形狀,再到偵測(cè)與子物體和圖像的部件相關(guān)的抽象類別,最后將這些信息整合,從而獲取足夠的信息來回答關(guān)于圖像理解的問題。圖1.1我們想要把原始的圖像輸入轉(zhuǎn)換成更高層級(jí)的表示。這些表示是原始輸入的函數(shù),并且越來越抽象。例如邊緣、局部形狀、物體部件等。雖然語言概念可以幫助我們猜測(cè)這些更高層級(jí)的隱式的表示內(nèi)容,實(shí)際上我們并不能提前知道所有層級(jí)的抽象概念所確切表示的東西需要注意的是,假定能夠做出復(fù)雜行為(或許可以被稱作“智能”)的計(jì)算機(jī)需要學(xué)習(xí)一個(gè)高可變函數(shù),即這個(gè)函數(shù)關(guān)于原始輸入是高度非線性的,并且在不同目標(biāo)領(lǐng)域里表現(xiàn)出非常大的波動(dòng)和起伏。將學(xué)習(xí)系統(tǒng)的原始輸入看作由多個(gè)可觀測(cè)的變量組成的一種高維實(shí)體,這個(gè)實(shí)體的組成變量之間具有未知且錯(cuò)綜復(fù)雜的關(guān)聯(lián)關(guān)系。舉個(gè)例子來說,運(yùn)用實(shí)物和光照的三維幾何知識(shí),可以把物理和幾何上的微小改變(如位置、方向以及物體的光照)與圖片上像素點(diǎn)的強(qiáng)度變化聯(lián)系起來。將這些導(dǎo)致變化的因素叫作波動(dòng)影響因子,因?yàn)樗鼈兪菙?shù)據(jù)的不同解釋視角,它們各自分別變化并且往往在統(tǒng)計(jì)上是獨(dú)立的。在這種情況下,顯式的物理因素的知識(shí)可以讓我們獲取一個(gè)整體的數(shù)學(xué)表達(dá),可以用于描述因素之間的統(tǒng)計(jì)依賴,也可以讓我們對(duì)與相同三維物體相關(guān)的圖像(作為高維像素強(qiáng)度空間中的點(diǎn))的形狀有個(gè)粗略判斷。如果機(jī)器能捕捉到影響數(shù)據(jù)統(tǒng)計(jì)波動(dòng)變化的那些因素,以及它們產(chǎn)生觀察數(shù)據(jù)的機(jī)制,那么就可以認(rèn)為機(jī)器理解了真實(shí)世界中由這些波動(dòng)影響因子覆蓋的方面。不幸的是,一般情況下,對(duì)于隱含在自然圖片里的大部分變化因素,我們并不能做解析性的理解。我們沒有足夠的先驗(yàn)知識(shí)來解釋觀測(cè)到的圖像變化。正如圖1.1所示,即使對(duì)于顯而易見的類別也沒有辦法。一個(gè)像人”這樣的抽象類別其實(shí)對(duì)應(yīng)著大量可能的圖片,它們?cè)谙袼攸c(diǎn)強(qiáng)度的歐式距離上可能截然不同。這類圖片在像素空間中的存在非常復(fù)雜,甚至都不一定在互相連接的區(qū)域之中。在圖片空間里,人”這個(gè)類別可以看作一個(gè)高層級(jí)抽象概念。在這里所說的抽象概念可以是一個(gè)類別(如“人”)或是一個(gè)特征。特征指的是傳感器輸入信號(hào)的一個(gè)函數(shù),它可以是離散的(例如輸入的句子是否是過去時(shí)態(tài)”),或者連續(xù)的(如“輸入的視頻展示了一個(gè)物體在以2m/s的速度運(yùn)動(dòng)”)。許多較低層級(jí)和中間層級(jí)的概念(也可以被稱作抽象)對(duì)于構(gòu)建一個(gè)檢測(cè)人”的系統(tǒng)是很有用的。較低層級(jí)的抽象和特定的感知有著更直接的聯(lián)系,而更高層級(jí)的抽象則以中間層級(jí)的抽象為基礎(chǔ),它與實(shí)際感知的聯(lián)系更微弱。產(chǎn)生適當(dāng)?shù)闹虚g層抽象是件困難的任務(wù)。此外,一個(gè)所謂“智能”的機(jī)器要掌握的圖像和語義概念(例如“人”)也非常多。因此,深度結(jié)構(gòu)就希望能以自動(dòng)化的方式發(fā)現(xiàn)這些抽象,從最低層次的特征到最高層次的概念。理想情況下,我們希望人工干預(yù)盡可能少,不需要人為定義所有必要的抽象,或者是提供大量人工標(biāo)注的數(shù)據(jù)。如果算法能自動(dòng)處理網(wǎng)上存在的大量圖片和文字,肯定有助于把人類的知識(shí)轉(zhuǎn)換成機(jī)器可理解的形式。1 如何訓(xùn)練深度結(jié)構(gòu)深度學(xué)習(xí)希望能學(xué)到特征的層次結(jié)構(gòu),其中較高層次特征由較低層次特征組合而來。自動(dòng)地學(xué)習(xí)這些多層次的特征可以讓機(jī)器學(xué)到從數(shù)據(jù)輸入直接映射到輸出的復(fù)雜函數(shù),而不是完全依賴于人工特征。這對(duì)于處理高層次的抽象是很重要的,因?yàn)槲覀兺膊恢廊绾胃鶕?jù)原始輸入定義它們。隨著機(jī)器學(xué)習(xí)方法數(shù)據(jù)量和應(yīng)用范圍的增長(zhǎng),自動(dòng)學(xué)習(xí)強(qiáng)特征的能力將越來越重要。結(jié)構(gòu)的深度指的是機(jī)器學(xué)得的函數(shù)中,由非線性操作組成的層級(jí)數(shù)量。目前大多數(shù)訓(xùn)練算法所學(xué)到的都只是淺層結(jié)構(gòu)(1~3層),但是哺乳動(dòng)物的大腦用的是深度結(jié)構(gòu)[173。原始感知的輸入被多層次的抽象所表征,每一層次對(duì)應(yīng)著大腦皮層的不同區(qū)域。。。。,,,。受大腦結(jié)構(gòu)深度處理方式的啟發(fā),神經(jīng)網(wǎng)絡(luò)的研究者們?cè)趲资陙硪恢毕M苡?xùn)練多層神經(jīng)網(wǎng)絡(luò)[19,191],在2006年之前都沒有成功一:他們?cè)谑褂脙傻饺龑咏Y(jié)構(gòu)(也就是一到兩個(gè)隱層)時(shí)有較好的結(jié)果,但是層次越深,結(jié)果越差。直到2006年才有突破性進(jìn)展:多倫多大學(xué)的Hinton等人構(gòu)建了深度置信網(wǎng)絡(luò)(DBNs)[73其學(xué)習(xí)算法每次只對(duì)一個(gè)層級(jí)用貪心的思想做訓(xùn)練每一層采用受限玻爾茲曼機(jī)(RBM)[51,因此可以用無監(jiān)督學(xué)習(xí)的方法訓(xùn)練此后不久,基于自動(dòng)編碼器的相關(guān)算法也被提出[73],用的也是類似的思想用無監(jiān)督學(xué)習(xí)獨(dú)立地訓(xùn)練中間層。最近,基于同一思想,也有一系列其他深度結(jié)構(gòu)(受限玻爾茲曼機(jī)和自動(dòng)編碼器之外)的訓(xùn)練方法被提了出來[131202](見第章)一除了一種特殊的神經(jīng)網(wǎng)絡(luò)卷積網(wǎng)絡(luò),我們?cè)?.5節(jié)會(huì)提到。2006年以來,深度網(wǎng)絡(luò)不僅被成功地運(yùn)用在分類任務(wù)上[2,17,99,111,150,153,195],在回歸[160]、降維[74,158]、紋理建模[141]、運(yùn)動(dòng)跟蹤[182,183]、物體分割[114]、信息檢索[154,159,190]、機(jī)器人[60]、自然語言處理[37,130,202]以及協(xié)同濾波[162]等方面都有成功的案例。雖然自動(dòng)編碼器、受限玻爾茲曼機(jī)以及深度置信網(wǎng)絡(luò)使用的是無監(jiān)督學(xué)習(xí),在上述的許多應(yīng)用中,它們已被成功地用于初始化深度有監(jiān)督前饋神經(jīng)網(wǎng)絡(luò)的參數(shù)。112 中間層表示:在不同的任務(wù)中共享特征和抽象由于深度結(jié)構(gòu)可以認(rèn)為由一系列層級(jí)組合而成,隨之而來的問題就是在每一層級(jí)里,它的輸出(也就是下一層的輸入)都是如何表達(dá)原始數(shù)據(jù)的呢?層級(jí)之間的連接是怎樣的?最近對(duì)于深度結(jié)構(gòu)的研究重點(diǎn)之一就是中間層的表示:深度結(jié)構(gòu)的成功源于在中間層使用受限玻爾茲曼機(jī)[73、自動(dòng)編碼器[17、稀疏自動(dòng)編碼器[03]或是降噪自動(dòng)編碼器[5],并采用無監(jiān)督學(xué)習(xí)的方式學(xué)習(xí)。些算法(72節(jié)具體介紹)可以看作是對(duì)表示”(下一層級(jí)的輸入)做轉(zhuǎn)換,將波動(dòng)影響因子更好地拆解開。4章我們將會(huì)具體介紹,無數(shù)的觀測(cè)結(jié)果表明,當(dāng)每一層次有較好的表示后,我們就可以用這些參數(shù)作為初始參數(shù),用監(jiān)督學(xué)習(xí)中的梯度優(yōu)化方法成功地訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)。在大腦中,每個(gè)層次的抽象都是由一些激活”(神經(jīng)元激勵(lì))組成,這些激活”只占大量特征中的一小部分,并且通常不是互斥的。由于這些特征不互斥,它們組成了所謂的分布式表示[86]信息并不是局限在某一個(gè)神經(jīng)元里,而是分布在許多神經(jīng)元之中。此外,大腦對(duì)特征的存儲(chǔ)似乎是稀疏的只有大約1%~4%的神經(jīng)元在某個(gè)時(shí)刻是活躍的[53]。3.2節(jié)將會(huì)介紹稀疏分布式表示的概念,在7.1節(jié)會(huì)進(jìn)一步詳細(xì)描述相關(guān)的機(jī)器學(xué)習(xí)方法。其中一些方法是受到大腦中稀疏表征的特點(diǎn)啟發(fā),并用于搭建含有稀疏表示的深度結(jié)構(gòu)。稠密的分布式表示是這類表示的一個(gè)極端,稀疏表示處于中間位置,而完全的局部表示則是另一個(gè)極端。表示的局部性和所謂“局部泛化”的概念是緊密相連的。許多現(xiàn)有的機(jī)器學(xué)習(xí)算法在輸入空間里是局部的:為了在不同的數(shù)據(jù)空間中有不同的表現(xiàn),這些算法需要有一套不同的參數(shù)(3.1節(jié)有詳細(xì)介紹)。雖然當(dāng)參數(shù)量很大的時(shí)候,統(tǒng)計(jì)效率未必很差,但是為了獲得較強(qiáng)的泛化能力,往往需要加上一些先驗(yàn)知識(shí)才行(例如傾向于選擇數(shù)值較小的參數(shù))。如3.1節(jié)最后所討論的,當(dāng)這些先驗(yàn)知識(shí)不是針對(duì)特定任務(wù)的時(shí)候,它們可能會(huì)讓模型變得很平滑。與這些基于局部泛化的模型相比,使用分布式表示所能區(qū)分的模式數(shù)目可能與表示的維數(shù)(即學(xué)習(xí)到的特征數(shù)目)呈指數(shù)關(guān)系。在許多機(jī)器視覺的系統(tǒng)中,學(xué)習(xí)算法只限制于這樣一個(gè)處理鏈條的特定部分,其余部分仍需要大量人工參與。這會(huì)限制系統(tǒng)的規(guī)模。而且,智能機(jī)器的一個(gè)標(biāo)志是能識(shí)別足夠多的概念,而不只是識(shí)別“人”這個(gè)類別。因此,需要一個(gè)能處理很多不同任務(wù)和概念的算法。人工定義這么多任務(wù)顯然不可能,所以自動(dòng)學(xué)習(xí)在這種情境下變得非常重要。此外,任務(wù)之間和任務(wù)需求的概念之間的潛在共性非常重要,不利用這些條件是不明智的,而這一直是多任務(wù)學(xué)習(xí)[7,8,32,88,186]的研究重點(diǎn)。多層級(jí)結(jié)構(gòu)很自然地提供部件共享和復(fù)用:低層級(jí)的特征(如邊緣檢測(cè))和中間層的特征(如局部目標(biāo))不僅對(duì)識(shí)別人是有用的,在很多其他的視覺任務(wù)里也起作用。深度學(xué)習(xí)是基于學(xué)習(xí)跨任務(wù)可共享的中間表示的。因此,深度學(xué)習(xí)能利用無監(jiān)督的數(shù)據(jù)和來自相似任務(wù)[148]的數(shù)據(jù)解決大型任務(wù)中的數(shù)據(jù)匱乏問題。正如文獻(xiàn)[37]顯示的,它在幾個(gè)自然語言任務(wù)中擊敗了最先進(jìn)的算法。文獻(xiàn)[2]也將相似的深度框架的多任務(wù)學(xué)習(xí)方法應(yīng)用于視覺任務(wù)之中??紤]這樣一個(gè)多任務(wù)情形,不同的任務(wù)有不同的輸出,而這些輸出從共享的高級(jí)特征池中獲得。由于這些通過學(xué)習(xí)得來的特征可以在多個(gè)任務(wù)中共享,這就使得統(tǒng)計(jì)上的強(qiáng)度正比于任務(wù)的個(gè)數(shù)。而這些高級(jí)特征本身又能通過公共池中的低級(jí)別中間特征的組合來表達(dá),統(tǒng)計(jì)強(qiáng)度再一次能用相似的方式獲得,并且這個(gè)策略能在深度框架的每一個(gè)層級(jí)中使用。此外,對(duì)于大量相關(guān)概念的學(xué)習(xí)有助于實(shí)現(xiàn)人類能做的“寬泛抽象”,而這一目標(biāo)無法通過為每個(gè)視覺類別獨(dú)立的訓(xùn)練一個(gè)分類器去達(dá)到。如果每個(gè)高層的類別都是由公共池中抽象特征的組合得到的,則通過這些特征的新組合就能很自然地推廣到未見過的類別上。即使只有一部分這樣特征的組合出現(xiàn)在訓(xùn)練樣本中,由于它們表示了數(shù)據(jù)不同的側(cè)面,新樣本也會(huì)通過這些特征新的組合來有意義地表達(dá)。113 學(xué)習(xí)人工智能的必經(jīng)之路在以上所提及的問題的基礎(chǔ)上,我們把視野擴(kuò)展到廣義的人工智能中,對(duì)人工智能訓(xùn)練算法提出了一些能力上的要求。我們認(rèn)為這些要求很重要,并且對(duì)研究有推動(dòng)意義:能學(xué)習(xí)復(fù)雜、高度變化的函數(shù)(其變化的數(shù)量遠(yuǎn)大于訓(xùn)練樣本)。能通過很少的人工輸入,學(xué)習(xí)各個(gè)層級(jí)(低層級(jí)、中間層級(jí)、高層級(jí))的抽象概念。這些抽象概念對(duì)于表示復(fù)雜的函數(shù)是有益處的。能從大量樣本中學(xué)習(xí):關(guān)于樣本數(shù)量的訓(xùn)練時(shí)間復(fù)雜度應(yīng)該趨近于線性。能從大部分無標(biāo)注數(shù)據(jù)的數(shù)據(jù)集中進(jìn)行學(xué)習(xí)(也就是半監(jiān)督學(xué)習(xí)場(chǎng)景),其中有些數(shù)據(jù)沒有完整或者正確地標(biāo)注。能表示大量任務(wù)之間的共性(即多任務(wù)學(xué)習(xí))。這些共性之所以存在,是因?yàn)樗械娜斯ぶ悄苋蝿?wù)都只是真實(shí)情況的不同表現(xiàn)方式。能有很強(qiáng)的無監(jiān)督學(xué)習(xí)能力(即能發(fā)現(xiàn)觀測(cè)數(shù)據(jù)中的結(jié)構(gòu))。這對(duì)于突破目前很多任務(wù)的瓶頸是很有必要的,并且很多未來的任務(wù)也不能提前知道。還有一些能力和本書沒有直接的聯(lián)系,但是也同樣重要。例如能學(xué)習(xí)變長(zhǎng)或變結(jié)構(gòu)的上下文情境表達(dá)[146],從而讓機(jī)器可以在上下文相關(guān)的情境下運(yùn)行并針對(duì)觀測(cè)數(shù)據(jù)流,做出一系列的行為決策;例如當(dāng)決策會(huì)影響未來的觀測(cè)和利益時(shí),能有合理的考慮[181];為了收集更多關(guān)于真實(shí)世界的數(shù)據(jù),能采取行動(dòng)做出探索(也就是主動(dòng)學(xué)習(xí)的一種形式)[34]等。4 本書大綱第2章回顧了一些理論成果(可以跳過,對(duì)于之后章節(jié)的理解沒有影響),說明了結(jié)構(gòu)的深度和任務(wù)需要相匹配,過于淺層的結(jié)構(gòu)會(huì)使得計(jì)算元素急劇增加(對(duì)于輸入規(guī)??赡苁侵笖?shù)型的)。我們提出,過于淺層的結(jié)構(gòu)是有害于學(xué)習(xí)的。如果用一個(gè)大型的淺層結(jié)構(gòu)來表示任務(wù)(有大量計(jì)算元素),為了調(diào)整其中的每一個(gè)元素并學(xué)習(xí)一個(gè)高可變函數(shù),我們會(huì)需要大量的樣本。3.1節(jié)通過說明局部泛化和局部估計(jì)的缺陷,進(jìn)一步說明了深度結(jié)構(gòu)的動(dòng)機(jī)。我們希望通過含有分布式表示的深度結(jié)構(gòu)來避免這些缺陷(見3.2節(jié))。本書后面的部分闡述并分析了一些用于訓(xùn)練深度結(jié)構(gòu)的算法。根據(jù)神經(jīng)網(wǎng)絡(luò)的相關(guān)文獻(xiàn),4章介紹了一些關(guān)于訓(xùn)練深度結(jié)構(gòu)的概念。我們首先指出了先前訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)的困難之處,然后介紹了用于初始化深度神經(jīng)網(wǎng)絡(luò)的無監(jiān)督學(xué)習(xí)方法。其中,很多算法(包括受限玻爾茲曼機(jī))和自動(dòng)編碼器的訓(xùn)練算法相關(guān):通過簡(jiǎn)單的無監(jiān)督學(xué)習(xí),在一個(gè)單層模型上得到輸入的分布式表示[596]。為了徹底理解受限玻爾茲曼機(jī)和相關(guān)的無監(jiān)督學(xué)習(xí)算法,第5紹了一類基于能量的模型,可用于搭建含有隱變量的生成模型(如玻爾茲曼機(jī))。第6(s)[3]以及堆[735]。第6章討論了受限玻爾茲曼機(jī)和自動(dòng)編碼器的一些變體,它們被用于擴(kuò)展和改進(jìn)原本的模型。其中有些考慮了稀疏性和對(duì)時(shí)序依賴的建模。8章討論了如何通過變分方法聯(lián)合訓(xùn)練深度置信網(wǎng)絡(luò)的所有層級(jí)。最后,我們?cè)诘?章提出一些展望性的問題,比如在訓(xùn)練深度結(jié)構(gòu)時(shí)的復(fù)雜優(yōu)化問題。我們認(rèn)為,目前訓(xùn)練深度結(jié)構(gòu)的成功部分源于對(duì)于低層級(jí)特征的優(yōu)化。我們討論了一些延拓法的原理。它們通過最小化一個(gè)逐漸變得不平滑的代價(jià)函數(shù),來實(shí)現(xiàn)深度結(jié)構(gòu)的優(yōu)化。2深度結(jié)構(gòu)的理論優(yōu)勢(shì)深度結(jié)構(gòu)的理論優(yōu)勢(shì)在本節(jié)中,通過理論上分析淺層結(jié)構(gòu)的局限性,討論研究基于深度結(jié)構(gòu)的學(xué)習(xí)算法的動(dòng)機(jī)。本書的這部分(包括本節(jié)和下一節(jié))將講述為什么會(huì)提出之后章節(jié)中描述的算法。跳過這部分并不會(huì)影響后面章節(jié)的閱讀。本節(jié)的主要觀點(diǎn)是:過淺的結(jié)構(gòu)(就可調(diào)參數(shù)的數(shù)目而言)不能有效地表達(dá)某些函數(shù)。這說明探究深度結(jié)構(gòu)的學(xué)習(xí)算法是有價(jià)值的,深層結(jié)構(gòu)可以表示一些被其他結(jié)構(gòu)無法有效表示的函數(shù)。在簡(jiǎn)單和較淺的結(jié)構(gòu)不能有效表示(甚至去學(xué)習(xí))的目標(biāo)任務(wù)上,我們可以寄希望于基于深度結(jié)構(gòu)的學(xué)習(xí)算法。當(dāng)一個(gè)函數(shù)表達(dá)式具有較少的計(jì)算元素(ComputationalElements)時(shí),我們稱這個(gè)函數(shù)表達(dá)式是緊湊的(Compact),即需要在學(xué)習(xí)過程中調(diào)整的自由度是小的。因此,對(duì)于有固定數(shù)量的訓(xùn)練樣本,并且缺少其他輸入到學(xué)習(xí)算法的知識(shí)來源時(shí),我們希望目標(biāo)函數(shù)一的緊湊表示將會(huì)帶來更好的泛化性。更準(zhǔn)確地說,一個(gè)能夠被深度為k的結(jié)構(gòu)來緊湊地表示的函數(shù),如果用一個(gè)k1的結(jié)構(gòu)來表示可能需要指數(shù)級(jí)的計(jì)算元素因?yàn)榭沙惺艿挠?jì)算元素的數(shù)量取決于用來調(diào)整或選擇它們的訓(xùn)練樣本的數(shù)量,所以這帶來的影響既是計(jì)算上的也是統(tǒng)計(jì)上的使用深度不夠的結(jié)構(gòu)來表達(dá)某些函數(shù)時(shí),可以預(yù)見泛化能力會(huì)比較弱??紤]固定維數(shù)輸入的情形,可以使用一個(gè)有向無環(huán)圖表示機(jī)器執(zhí)行的計(jì)算。圖中每個(gè)節(jié)點(diǎn)都利用其輸入執(zhí)行一個(gè)函數(shù)的計(jì)算,每個(gè)輸入都是圖中另一個(gè)節(jié)點(diǎn)一目標(biāo)函數(shù)是我們想讓機(jī)器發(fā)現(xiàn)的函數(shù)映射。PAGE10人工智能中的深度結(jié)構(gòu)學(xué)習(xí)PAGE10人工智能中的深度結(jié)構(gòu)學(xué)習(xí)PAGE112PAGE112深度結(jié)構(gòu)的理論優(yōu)勢(shì)的輸出或是來自圖的外部的輸入。整個(gè)圖可以看作是一個(gè)電路,實(shí)現(xiàn)了對(duì)外部輸入的函數(shù)計(jì)算。當(dāng)計(jì)算節(jié)點(diǎn)允許的函數(shù)集合僅限于邏輯門時(shí),諸如與”“或”“非”(D,R,T),這就是一個(gè)布爾電路或邏輯電路。為了形式化結(jié)構(gòu)深度的概念,必須引入計(jì)算元素(CpunlEns)集合的概念。這種集合的一個(gè)例子是邏輯門,可以執(zhí)行的運(yùn)算的集合。再舉一個(gè)例子就是由人工神經(jīng)元(依賴于它的權(quán)重取值)執(zhí)行的運(yùn)算的集合。一個(gè)函數(shù)可以用給定計(jì)算元素集合中元素的組合來表示。用一個(gè)形式化這種組合的圖來定義這個(gè)函數(shù),其中每一個(gè)計(jì)算元素都用一個(gè)節(jié)點(diǎn)來表示。結(jié)構(gòu)深度”是指計(jì)算元素連接圖的深度,即從一個(gè)輸入節(jié)點(diǎn)到輸出節(jié)點(diǎn)的最長(zhǎng)路徑。當(dāng)計(jì)算元素集合是人工神經(jīng)元可執(zhí)行的運(yùn)算的集合時(shí),深度對(duì)應(yīng)于神經(jīng)網(wǎng)絡(luò)中的層的數(shù)目。讓我們用不同深度的結(jié)構(gòu)的實(shí)例來探索深度的概念??紤]函數(shù)f(x)=x?n(a?x+b)。21所示,它可以表示為簡(jiǎn)單運(yùn)算的組合。這些簡(jiǎn)單運(yùn)算如加法、減法、乘法以及sin運(yùn)算。在這個(gè)例子中,乘法a?x和最后的關(guān)于x的乘法會(huì)用不同的節(jié)點(diǎn)來表示。圖中的每一個(gè)節(jié)點(diǎn)都和一個(gè)輸出值相關(guān)聯(lián)。這些輸出值都是使用一些函數(shù)在輸入值上進(jìn)行計(jì)算得到的。而這些函數(shù)的輸入值又是圖中其他節(jié)點(diǎn)的輸出值。例如,在邏輯電路中,每個(gè)節(jié)點(diǎn)可以計(jì)算一個(gè)小的布爾函數(shù)集合中的某個(gè)布爾函數(shù)。該圖作為一個(gè)整體具有輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn),并表達(dá)了一個(gè)從輸入到輸出的函數(shù)。一個(gè)結(jié)構(gòu)的深度是從圖中任意輸入到任意輸出路徑的最大長(zhǎng)度,21中,x?sin(a?xb)4。如果在計(jì)算元素集合里包含仿射(ne)操作及其與S型函數(shù)(-d)的可能組合,則線性回歸和邏輯回歸的深度為1,即只有一層(l)。當(dāng)我們把一個(gè)固定的核計(jì)算K(u,v)與其他仿射(e)操作放在允許的運(yùn)算集合里,帶有固定核的核機(jī)器(nlns)[6]可以被認(rèn)為具有兩層深度。第一層對(duì)于每個(gè)xi(選定的代表性訓(xùn)練樣例),都有一個(gè)計(jì)算元素計(jì)算核函數(shù)值K(x,xi),把輸入向量x與代表樣本xi匹配起來。第二層進(jìn)行仿射組合(neCbnn)b+∑iαiK(x,xi)把匹配好的xi和期望的響應(yīng)關(guān)聯(lián)起來。當(dāng)我們把人工神經(jīng)元(仿射變換后接非線性變換)放進(jìn)計(jì)算元素集合里,圖2.1一個(gè)計(jì)算圖表示函數(shù)的例子。每一個(gè)節(jié)點(diǎn)都是從允許計(jì)算的“元素集合”中選擇的。左圖中,元素是{?,+,-,sin}∪R。該結(jié)構(gòu)計(jì)算x?sin(a?x+b)且深度為4。右圖中,元素是計(jì)算f(x)=tanh(b+w′x)的人工神經(jīng)元;每個(gè)集合中的元素具有不同的參數(shù)(w,b)。結(jié)構(gòu)是一個(gè)多層神經(jīng)網(wǎng)絡(luò),深度為3可以得到普通的多層神經(jīng)網(wǎng)絡(luò)[156]。最常見的選擇是有一個(gè)隱藏層,因此深度為2(隱藏層和輸出層)。決策樹也可視為兩層,31節(jié)中進(jìn)行討論。助推(Bng)[2]方法通常在構(gòu)成它的基礎(chǔ)的弱學(xué)習(xí)器上又增加了一層該層對(duì)基礎(chǔ)的弱學(xué)習(xí)器的輸出進(jìn)行投票表決或計(jì)算其線性組合以得到最終的輸出。堆疊(Sng)[5]方法則是另一種增加了一層的元學(xué)習(xí)(a-n-ng)算法?;谀壳澳X解剖的知識(shí)[173,大腦皮層可以被看作是一個(gè)深層的結(jié)構(gòu)僅是視覺系統(tǒng)就有5~10層。盡管深度取決于每個(gè)元素允許的計(jì)算集合的選擇,但是一個(gè)集合相關(guān)的圖經(jīng)??梢酝ㄟ^增加深度的圖變換方式轉(zhuǎn)換為另一個(gè)集合相關(guān)的圖。理論結(jié)果表明,重要的不是絕對(duì)的層級(jí)數(shù)目,而是能夠有效地表達(dá)目標(biāo)函數(shù)所需要的相對(duì)層級(jí)數(shù)目。1 計(jì)算復(fù)雜性關(guān)于深層結(jié)構(gòu)的模型能力最正式的論據(jù)來自于對(duì)電路的計(jì)算復(fù)雜性的探究?;窘Y(jié)論是:如果一個(gè)函數(shù)可以由深度結(jié)構(gòu)緊湊地表示,則采用深度不足的結(jié)構(gòu)去表達(dá)它需要非常龐大的結(jié)構(gòu)。邏輯門的兩層電路可以表示任何布爾函數(shù)[127]。任何布爾函數(shù)都可以寫成乘積的和的形式(析取范式:第一層是“與(AND)”門與在輸入上可選的“非(NOT)”操作,第二層是“或(OR)”門),或者是和的乘積的形式(合取范式:第一層是“或(OR)”門與在輸入上可選的“非(NOT)”操作,第二層是“與(AND)”門)。為了理解淺層結(jié)構(gòu)的限制,應(yīng)首先考慮使用兩層邏輯電路,大多數(shù)布爾函數(shù)需要指數(shù)級(jí)(與輸入大小相關(guān))的邏輯門[198]來表示。更有趣的是,有些函數(shù)在深度為k時(shí)可以用多項(xiàng)式級(jí)數(shù)量的邏輯門電路計(jì)算,而將深度限制為k-1時(shí)就需要指數(shù)級(jí)別的數(shù)量了[62]。這個(gè)定理的證明依賴于更早的結(jié)論[208],證明指出深度為2的d位奇偶校驗(yàn)電路具有指數(shù)級(jí)大小。d位奇偶校驗(yàn)函數(shù)一般定義為1, 若db是偶數(shù)(b,…,bd)∈{0,1}d|→ i=1i1 0, 其他情況有人可能會(huì)好奇這些布爾電路的計(jì)算復(fù)雜性結(jié)果與機(jī)器學(xué)習(xí)是否有聯(lián)系。參見文獻(xiàn)[140]可以發(fā)現(xiàn)與學(xué)習(xí)算法相關(guān)的計(jì)算復(fù)雜度的早期研究理論成果。有趣的是,很多關(guān)于布爾電路的結(jié)果可以被推廣到計(jì)算元素是線性閾值單元(也稱為人造神經(jīng)元[125])的結(jié)構(gòu),其計(jì)算表達(dá)式為f(x)=1w′x+b≥0 (2.式中,w和b是參數(shù)。電路的扇入(n-n)是某個(gè)特定計(jì)算元素的最大輸入數(shù)目。電路經(jīng)常被組織成多層,就像多層神經(jīng)網(wǎng)絡(luò),在一層上的元素只以來自前上一層的元素作為輸入,而第一層是神經(jīng)網(wǎng)絡(luò)的輸入。電路的大小是它計(jì)算元素(不包括輸入元素,因?yàn)樗鼈儾粓?zhí)行任何計(jì)算)的數(shù)量。當(dāng)試圖緊湊地表示一個(gè)可以用深度為k的電路表示的函數(shù)時(shí),以下定理特別有趣,它適用于單調(diào)加權(quán)閾值電路(MonotoneWeightedThresholdCircuits)(即具有線性閾值單元且權(quán)重為正的多層神經(jīng)網(wǎng)絡(luò))。定理21用一個(gè)深度為k1的單調(diào)加權(quán)閾值電路去計(jì)算函數(shù)fk∈k,N時(shí),2cN,c0是某個(gè)常數(shù),NN0[63。這類函數(shù)k,N的定義如下:該函數(shù)是一個(gè)樹狀的深度為k的電路,它包含N2k-2個(gè)輸入。樹的葉子是非負(fù)的輸入變量,函數(shù)值在樹的根節(jié)點(diǎn)。從底端起,對(duì)于樹的第i層,當(dāng)i為偶數(shù)時(shí),該層由AND門組成,當(dāng)i為奇數(shù)時(shí),該層由OR門組成。最頂層和最底層的扇入(Fan-in)為N,而其他層為N2。上述結(jié)果既不能證明其他類的函數(shù)(例如,為完成人工智能任務(wù),我們想學(xué)習(xí)的函數(shù))需要深度結(jié)構(gòu),也不能證明所說的這些限制適用于其他類型的電路。然而,這些理論結(jié)果都涉及了這個(gè)問題:通常在大多數(shù)機(jī)器學(xué)習(xí)算法中遇到的深度為1、23的結(jié)構(gòu),對(duì)于人工智能任務(wù)中需要的復(fù)雜函數(shù)是不是因?yàn)樘珳\而不能有效地表示?類似上述定理的結(jié)果也顯示可能不存在通用的正確深度每個(gè)函數(shù)(即每個(gè)任務(wù))對(duì)于一個(gè)給定的計(jì)算元素集合,可能需要一個(gè)特定的最小深度。因此應(yīng)該努力開發(fā)使用數(shù)據(jù)來確定最終結(jié)構(gòu)深度的學(xué)習(xí)算法。還要注意的是,采用遞歸運(yùn)算定義一個(gè)計(jì)算圖,這個(gè)圖的深度與迭代的次數(shù)呈線性增加關(guān)系。222 一些非正式的論證結(jié)構(gòu)深度與高可變函數(shù)的概念有一定聯(lián)系。我們認(rèn)為,在通常情況下深度結(jié)構(gòu)能夠緊湊地表示高可變函數(shù),而同樣一個(gè)函數(shù)如果用不恰當(dāng)?shù)慕Y(jié)構(gòu)來表示,卻需要非常多的參數(shù)。當(dāng)一個(gè)函數(shù)(例如,分段常數(shù)或者分段線性函數(shù))需要用非常多的分段來近似時(shí),我們稱它為高可變函數(shù)。深度結(jié)構(gòu)是許多操作的組合,任意的一個(gè)深度結(jié)構(gòu)都能被一個(gè)足夠大的兩層結(jié)構(gòu)表示。一個(gè)較小的深度結(jié)構(gòu)中計(jì)算單元的組合可以看作一個(gè)較大淺層結(jié)構(gòu)中計(jì)算單元的因式分解”。重新組織計(jì)算單元的組成方式對(duì)減少表示(同一種運(yùn)算)需要的參數(shù)量有巨大的作用。比如,假設(shè)有一個(gè)深度為2k的多項(xiàng)式的表示,它的奇數(shù)層實(shí)現(xiàn)乘法操作,偶數(shù)層實(shí)現(xiàn)加法操作。這類結(jié)構(gòu)可以被看作非常高效的因式分解,因?yàn)槿绻阉鼔嚎s成一個(gè)深度為2的結(jié)構(gòu),比如一些乘積的求和,那么這種淺層結(jié)構(gòu)需要相當(dāng)多的因式來完成求和考慮深度2k結(jié)構(gòu)中第一層的積(如圖.2中x2x3所示),它會(huì)在深度為2的結(jié)構(gòu)中作為因式出現(xiàn)很多次。從這個(gè)例子中可以推斷出,如果一些運(yùn)算(比如在第一層)能夠在展開后的2層結(jié)構(gòu)表達(dá)式中被共享,那么深度結(jié)構(gòu)將是有優(yōu)勢(shì)的。在這種情況下,需要表達(dá)的總表達(dá)式可以被分解開,即被深度結(jié)構(gòu)更緊湊地表達(dá)。圖2.2一個(gè)用來展示深度結(jié)構(gòu)因子化的多項(xiàng)式電路的例子。這里,奇數(shù)層做乘法,偶數(shù)層做加法。例如,第一層級(jí)的乘法x2x3在第二層級(jí)的如圖所示的多項(xiàng)式展開式(乘積的和)中出現(xiàn)許多次(次數(shù)與深度成指數(shù)關(guān)系)文獻(xiàn)[19]中舉出了更多的例子論證深度結(jié)構(gòu)的強(qiáng)大表示能力,以及它在人工智能和機(jī)器學(xué)習(xí)方面的潛力。在這之前,文獻(xiàn)[191]從偏向認(rèn)知的角度討論了更深層結(jié)構(gòu)的理論優(yōu)勢(shì)。需要注意的是,信奉連接主義理論的認(rèn)知心理學(xué)家已經(jīng)研究很久的一種思想是:神經(jīng)計(jì)算是由不同級(jí)別的表示按分層結(jié)構(gòu)組織的,不同級(jí)別的表示代表不同層次的抽象,每一層都是按分布式表示方式表達(dá)的[783247]?;A(chǔ)。把這些概念引入認(rèn)知心理學(xué)(然后是計(jì)算機(jī)科學(xué)與人工智能)的目的有兩點(diǎn),一是解釋某些早期認(rèn)知模型不能自然解釋的現(xiàn)象,二是把認(rèn)知學(xué)的解釋和神經(jīng)生物基質(zhì)的計(jì)算特性相互聯(lián)系起來??傊?,一些計(jì)算復(fù)雜性的結(jié)果有力地表明,對(duì)于同一個(gè)函數(shù),我們可以用深k的結(jié)構(gòu)緊湊地表示,但如果用更淺的結(jié)構(gòu)去表示,則需要非常多的元素。由于結(jié)構(gòu)中的每一個(gè)計(jì)算元素都需要被選擇,或者說用樣本學(xué)習(xí),上述結(jié)論說明了深度結(jié)構(gòu)從統(tǒng)計(jì)效率角度上來看是非常重要的。我們將在下一章進(jìn)一步探討深度結(jié)構(gòu)這個(gè)概念,同時(shí)討論與非參數(shù)學(xué)習(xí)算法相關(guān)的淺層結(jié)構(gòu)的缺陷估計(jì)器的輸入空間的局部性。3局部與非局部泛化性局部與非局部泛化性331 局部模板匹配的局限性如果一個(gè)函數(shù)的可變度比訓(xùn)練數(shù)據(jù)的數(shù)量還多,那么學(xué)習(xí)算法怎樣緊湊地表達(dá)這樣的“復(fù)雜”函數(shù)呢?這個(gè)問題與結(jié)構(gòu)的深度以及估計(jì)器的局部性都有關(guān)。我們認(rèn)為,局部估計(jì)器雖然能被深度結(jié)構(gòu)有效地表達(dá),但是仍然不適合于學(xué)習(xí)高可變函數(shù)。對(duì)于一個(gè)新的輸入x,在輸入空間上具有“局部性”的估計(jì)器可以在僅利用x周圍的訓(xùn)練樣本的情況下,就能得到很好的泛化性。局部估計(jì)器顯式或者隱式地把輸入空間分成幾個(gè)區(qū)域(可能以柔性而不是剛性的方式),為了把目標(biāo)函數(shù)在各個(gè)區(qū)域的不同形狀刻畫出來,它在每個(gè)區(qū)域需要不同的參數(shù)或者說是自由度。當(dāng)目標(biāo)函數(shù)是一個(gè)高可變的函數(shù)時(shí),就需要把輸入空間分成許多的區(qū)域,這樣需要的參數(shù)量也會(huì)變大,同時(shí)所需的訓(xùn)練數(shù)據(jù)也要相應(yīng)增加才能獲得好的泛化性。局部泛化的問題和維數(shù)災(zāi)難的概念息息相關(guān),但同時(shí)我們引用的實(shí)驗(yàn)結(jié)果表明,真正影響泛化性的并不是維度,而是我們希望學(xué)習(xí)到的函數(shù)的可變度”。比如,如果模型表達(dá)的函數(shù)是分段常值函數(shù)(如決策樹),那么泛化性的影響因素則是合理近似目標(biāo)函數(shù)所需要的分段的數(shù)量。當(dāng)然,函數(shù)的可變度和輸入的維數(shù)有相互的聯(lián)系你可以設(shè)計(jì)一系列的目標(biāo)函數(shù),讓它的可變度與輸入維數(shù)成指數(shù)關(guān)系,例如d個(gè)輸入的奇偶函數(shù)。基于局部模板匹配的結(jié)構(gòu)可以看作某種兩層結(jié)構(gòu)。第一層由一系列能夠與輸入匹配的模板組成。一個(gè)模板單元可以輸出一個(gè)表示匹配程度的值。第二層把這PAGE173PAGE173局部與非局部泛化性PAGE18人工智能中的深度結(jié)構(gòu)學(xué)習(xí)PAGE18人工智能中的深度結(jié)構(gòu)學(xué)習(xí)些值結(jié)合起來,通常情況下用簡(jiǎn)單的線性組合(類似“或”操作),用以預(yù)測(cè)期望的輸出??梢园堰@種線性組合看作一種插值操作,這種操作可以產(chǎn)生屬于給定模板之間區(qū)域的答案?;诒镜啬0迤ヅ浣Y(jié)構(gòu)的典型例子就是核機(jī)器[166]f(x)=b+iαiK(x,xi) (3.1)bαi構(gòu)成了第二層,而在第一層,就是核機(jī)器K(x,xi)去匹配輸入xxi(公式中的求和是在訓(xùn)練集中全部或者部分輸入模式上進(jìn)行的)。在式(3.1)中,f(x)可以是分類器的判別函數(shù)或者是回歸預(yù)測(cè)器的輸出。j當(dāng)一個(gè)核函數(shù)K(x,xi)僅對(duì)位于xi周圍的連通域中的x滿足K(x,xi)ρ(ρ為某個(gè)閾值)時(shí),我們稱這個(gè)核是局部的”。該區(qū)域的大小通常由核函數(shù)的一個(gè)超參數(shù)決定。我們可以把高斯核看作計(jì)算柔性交集,因?yàn)樗梢员粚懗梢痪S高斯分布的乘積:K(u,v)=∏e-(uj-vj)2/σ2。如果|uj-vj|/σ在所有的j上都比較小,則K(u,v)會(huì)較大,那么模式就匹配成功了。如果|ujvj|/σ對(duì)某個(gè)j比較大,則K(u,v)較小,這個(gè)模式就沒有匹配上。j核機(jī)器的著名例子不僅包括了支持向量機(jī)[24,39]和分類與回歸問題中的高斯過程[203]一,也包括了分類、回歸和密度估計(jì)問題的傳統(tǒng)非參數(shù)學(xué)習(xí)算法,比如k近鄰算法、Nadaraya-Watson算法、Parzen窗密度估計(jì)算法、回歸估計(jì)器等。下面我們將討論Isomap和LLE這樣的流形學(xué)習(xí)算法,它們可以被看作是局部的核機(jī)器,也可以被看作同樣基于構(gòu)建鄰域圖(一個(gè)樣本對(duì)應(yīng)一個(gè)節(jié)點(diǎn),同時(shí)相鄰樣本之間有弧連接)的半監(jiān)督學(xué)習(xí)算法。具有局部核的核機(jī)器能夠得到泛化性的原因是利用了所謂的平滑性先驗(yàn)假設(shè),即假設(shè)目標(biāo)函數(shù)是平滑的或者是能夠被一個(gè)平滑的函數(shù)很好地近似。比如,在監(jiān)督學(xué)習(xí)中,假設(shè)有訓(xùn)練樣本(xi,yi),那么構(gòu)造一個(gè)f(x)的預(yù)測(cè)器,使其滿一在高斯過程中,與核回歸一樣,式(3.1)中的f(x)為目標(biāo)變量Y的在給定輸入x下的待預(yù)測(cè)條件期望。足當(dāng)x接近xi時(shí),預(yù)測(cè)器的輸出接近yi是很顯然的事情。需要注意,這樣的先驗(yàn)要求我們首先定義出輸入空間上的相似度。平滑性是一個(gè)實(shí)用的先驗(yàn)假設(shè)條件,但是文獻(xiàn)[13]和[19]認(rèn)為對(duì)于輸入空間上高可變的目標(biāo)函數(shù)來說,這樣的先驗(yàn)通常不足以得到足夠好的泛化性。高斯核這樣的固定通用核的局限性引發(fā)了許多基于任務(wù)相關(guān)的先驗(yàn)知識(shí)來設(shè)計(jì)核函數(shù)的研究[8697]。那么,如果我們并沒有充分的先驗(yàn)知識(shí)來設(shè)計(jì)一個(gè)合適的核,我們可以學(xué)習(xí)到嗎?這個(gè)問題同樣引發(fā)了許多研究[066],而深度結(jié)構(gòu)則是其中一個(gè)非常有前景的方向。文獻(xiàn)[160]中已經(jīng)指出通過使用深度置信網(wǎng)絡(luò)學(xué)習(xí)特征空間可以提高高斯過程核機(jī)器的性能訓(xùn)練深度置信網(wǎng)絡(luò)后,它的參數(shù)被用來初始化一個(gè)確定性的非線性變換(一個(gè)多層神經(jīng)網(wǎng)絡(luò)),這個(gè)變換能夠計(jì)算特征向量(數(shù)據(jù)的一個(gè)新特征空間),我們可以通過基于梯度的優(yōu)化方法調(diào)整這個(gè)變換使得高斯過程的預(yù)測(cè)錯(cuò)誤最小。這個(gè)特征空間可以看作自動(dòng)學(xué)習(xí)到的數(shù)據(jù)表示。一個(gè)好的表示應(yīng)該讓具有某些類似抽象特性的樣本之間變得更近,這些抽象特性應(yīng)該與影響數(shù)據(jù)分布的因素有關(guān)。深度結(jié)構(gòu)的學(xué)習(xí)算法可以看作學(xué)習(xí)核機(jī)器的特征空間的方法。假設(shè)一個(gè)方向v,目標(biāo)函數(shù)f(理想情況下學(xué)習(xí)器應(yīng)該學(xué)到的函數(shù))沿該方向在一系列的顛簸”中忽上忽下(α增加時(shí),f(xαv)b過零軸,先為正,再為負(fù),然后再為正,再為負(fù),如此往復(fù))。以文獻(xiàn)[165]為基礎(chǔ),文獻(xiàn)[13,9]中證明,對(duì)于高斯核的核機(jī)器,需要的樣本數(shù)正線性相關(guān)于待學(xué)習(xí)的目標(biāo)函數(shù)的顛簸數(shù)。它們也表明對(duì)于奇偶函數(shù)這種具有極大變化性的函數(shù),在采用高斯核的時(shí)候,如果想使錯(cuò)誤率降到一定水平,所需的高斯核中的樣本數(shù)量是輸入向量維度的指數(shù)量級(jí)。對(duì)僅依賴目標(biāo)函數(shù)局部平滑(比如高斯核機(jī)器)先驗(yàn)假設(shè)的學(xué)習(xí)器來說,學(xué)習(xí)在某個(gè)方向上正負(fù)符號(hào)變化很多的函數(shù)會(huì)是一件非常困難的事情(需要巨大的VC維度和相應(yīng)的大量樣本)。然而對(duì)于其他類型的函數(shù),如果這些函數(shù)的變化模式能夠被緊湊地獲取到,它們就能被學(xué)習(xí)到(比如當(dāng)目標(biāo)函數(shù)的變化是周期性的,同時(shí)備選函數(shù)中某一類函數(shù)中包含了能近似匹配它的周期性函數(shù))。在高維的復(fù)雜問題中,如果使用了局部核方法,那么決策面的復(fù)雜性可以很快地讓學(xué)習(xí)過程變得無法計(jì)算。但同時(shí)也可以說,如果曲線有許多可變度,同時(shí)這些可變度彼此之間沒有潛在的規(guī)律可言,那么沒有任何學(xué)習(xí)算法能夠比具有輸入空間局部性的估計(jì)器表現(xiàn)得更好。然而,最好還是能找到描述這些變化的更緊湊的表示方法。因?yàn)橐坏┱业搅诉@樣的表達(dá),就很有可能會(huì)有更好的泛化性,特別是對(duì)于訓(xùn)練集中沒有出現(xiàn)的變化方式。當(dāng)然,這種情況只有當(dāng)目標(biāo)函數(shù)中存在潛在規(guī)律可供提取時(shí)才會(huì)發(fā)生;我們希望在AI任務(wù)中也會(huì)有這樣的性質(zhì)。我們發(fā)現(xiàn)具有輸入空間局部性的估計(jì)器不僅存在于上文討論的監(jiān)督學(xué)習(xí)算法中,在非監(jiān)督與半監(jiān)督學(xué)習(xí)算法中也存在,比如,局部線性嵌入[155Iso-p[5],核主成份分析[8](或核CA)pn本征映射算法[0]、流形圖冊(cè)化算法[6]、頻譜聚類算法[9]和基于核的非參數(shù)化半監(jiān)督算法[9490]。這些非監(jiān)督與半監(jiān)督算法大部分依賴于鄰域圖圖中的每個(gè)節(jié)點(diǎn)都是一個(gè)樣本,弧連接相鄰的節(jié)點(diǎn)。通過這些算法,讀者能夠?qū)λ鼈冋谧鍪裁从幸粋€(gè)幾何上的直觀認(rèn)識(shí),同時(shí)也能理解為什么成為一個(gè)局部的估計(jì)器會(huì)影響它們的性能。圖3.1從流形學(xué)習(xí)的角度解釋了為什么這樣說。再一次地,我們發(fā)現(xiàn),為了把函數(shù)中許多可能的變化轉(zhuǎn)換為可學(xué)習(xí)的,學(xué)習(xí)器需要一定數(shù)量的樣本,該數(shù)量與需覆蓋的可變度成比例[21最后,來看看基于鄰域圖的半監(jiān)督學(xué)習(xí)算法的例子[9,44,209,210]。這些算法把鄰域圖分成一些固定標(biāo)記的區(qū)域??梢宰C明,具有固定標(biāo)記的區(qū)域數(shù)量不能多于有標(biāo)注的樣本數(shù)[13],所以學(xué)習(xí)器至少需要與分類相關(guān)的可變度一樣多的標(biāo)注樣本數(shù)據(jù)。而在決策面擁有非常大的可變度時(shí),獲取這樣大規(guī)模的標(biāo)注數(shù)據(jù)幾乎不可行。決策樹[28]是被研究得最充分的學(xué)習(xí)算法之一。由于它專注于處理輸入變量的某一個(gè)子集,所以乍一看好像是非局部算法。然而,決策樹的基本思想是將輸入空間進(jìn)行分區(qū),然后對(duì)各個(gè)區(qū)域使用不同的參數(shù),這樣每個(gè)區(qū)域都與決策樹上的一個(gè)葉節(jié)點(diǎn)對(duì)應(yīng)[14]。這意味著決策樹依然有著上文討論的其他非參數(shù)化學(xué)習(xí)方法的局限:它們至少需要與目標(biāo)函數(shù)的相關(guān)可變度一樣數(shù)目的訓(xùn)練樣本,而且圖3.1與同一物體相關(guān)的圖像集合構(gòu)成一個(gè)流形或者一個(gè)不相交的流形集合。流形是比圖像的原始空間維度更低的區(qū)域。比如數(shù)字4,通過旋轉(zhuǎn)和伸縮變換,我們可以得到相同類下的其他圖像,即在同一個(gè)流形上。由于流形是局部平滑的,所以原則上是可以通過與流形方向相切的多個(gè)線性片段來局部近似。不幸的是,如果一個(gè)流形彎曲程度很大的話,近似它需要很小的線性片段,且數(shù)量為流形維數(shù)的指數(shù)級(jí)。此圖片由PascalVincent提供不能泛化到訓(xùn)練集中沒有覆蓋到的新可變性。通過理論分析[14]可以找到某些特殊類型的函數(shù),它們需要輸入維數(shù)指數(shù)級(jí)的訓(xùn)練樣本數(shù)量才能達(dá)到給定的錯(cuò)誤率。該分析與此前關(guān)于計(jì)算復(fù)雜性分析的文章[41]的思想有異曲同工之處。分析結(jié)果也與之前的實(shí)際結(jié)果[34]相符,這些結(jié)果表明決策樹的泛化性能隨目標(biāo)函數(shù)可變性的增加而降低。集成樹(類似于增強(qiáng)決策樹[52],和決策森林[80,27])比單棵樹更有效果。它在原有的兩層結(jié)構(gòu)上加上了第三層結(jié)構(gòu),這讓模型有了區(qū)分參數(shù)量的指數(shù)級(jí)數(shù)目區(qū)域的功能[14]。如圖3.2所示,集成樹構(gòu)成了一個(gè)森林中所有樹的輸出的分布式表示(此概念將在3.2節(jié)中更深入討論)。集成中的每一棵樹都能由一個(gè)代表輸入樣本所屬的葉節(jié)點(diǎn)或者區(qū)域的離散符號(hào)表示。每棵樹上與輸入模式對(duì)應(yīng)的葉節(jié)點(diǎn)組成了一個(gè)描述能力非常強(qiáng)大的元組:它能夠表達(dá)很多的可能模式,因?yàn)榕cn棵樹對(duì)應(yīng)的葉節(jié)點(diǎn)區(qū)域的相交區(qū)域的數(shù)量是n的指數(shù)級(jí)。圖3.2當(dāng)單棵決策樹(這里只是兩路劃分)能夠區(qū)分的區(qū)域數(shù)量與參數(shù)(樹葉)的數(shù)量呈線性關(guān)系,集成樹(左)能區(qū)分的區(qū)域卻是樹的數(shù)量的指數(shù)級(jí),也就是和總的參數(shù)量呈指數(shù)關(guān)系(至少只要樹的數(shù)量沒有超過輸入的數(shù)量此結(jié)論就成立,而這種例外在這里很難發(fā)生)。每一個(gè)可區(qū)分的區(qū)域都對(duì)應(yīng)著每一棵樹上的一個(gè)葉節(jié)點(diǎn)(這里只有3個(gè)兩路樹,每棵樹對(duì)應(yīng)著兩個(gè)區(qū)域,一共有7個(gè)區(qū)域)。這與多重聚類相同,這個(gè)例子中三個(gè)聚類的結(jié)果分別對(duì)應(yīng)著每棵樹的兩個(gè)區(qū)域。含有三個(gè)隱層單元的受限玻爾茲曼機(jī)(右)也屬于多重聚類,每一次劃分(對(duì)應(yīng)一個(gè)二值隱層單元的)會(huì)分割開兩個(gè)線性可分的區(qū)域。因此,多重聚類也是對(duì)輸入模式的分布式表示332 學(xué)習(xí)分布式表示在1.2節(jié)中,我們提出深度結(jié)構(gòu)需要對(duì)系統(tǒng)中不同層級(jí)間的接口的表示種類做出選擇,我們同樣介紹了局部表示(在之前的章節(jié)中有過深入討論)、分布式表示以及稀疏分布式表示的基本概念。分布式表示實(shí)際上是機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)研究中的一個(gè)舊想法[15,68,128,157,170],它有利于解決維數(shù)災(zāi)難以及局部泛化的局限性。對(duì)于整數(shù)i∈1,2,…,N,一種簡(jiǎn)單的局部表示可以是一個(gè)擁有單獨(dú)的1和N-1個(gè)0的N比特的向量r(i),也就是說第j位的元素rj(i)=1i=j,我們稱i的獨(dú)熱”(onehot)表示。對(duì)同一個(gè)數(shù)字的分布式表示可以是一個(gè)log2N位的向量,這種表示是一種更加緊湊的表示方法。對(duì)于相同數(shù)量的可能取值,分布式表示可能是對(duì)局部表示的一個(gè)指數(shù)級(jí)壓縮。稀疏(比如鼓勵(lì)大多數(shù)0)概念的引入考慮到了在完全局部(最稀疏)以及非稀疏分布式表示(稠密)之間的一種表示。人們相信大腦皮層中的神經(jīng)元具有一種分散式和稀疏的表示[139而且不管什么時(shí)間大概只有1~4的神經(jīng)元得到激活[53]。在實(shí)踐中,我們經(jīng)常利用取值為連續(xù)值表示的優(yōu)勢(shì),來增加它的表達(dá)能力。樣本表示的第i個(gè)元素代表輸入與某個(gè)原型或者區(qū)域中心的某種距離,如31節(jié)中討論的高斯核那樣。舉一個(gè)連續(xù)取值的局部表示的例子,在分布式表示中,其輸入的模式通常由一系列非互斥的特征組成,這些特征甚至可能是統(tǒng)計(jì)獨(dú)立的。舉例來說,聚類算法并不會(huì)構(gòu)造一個(gè)分布式表示,因?yàn)檫@些類別之間是完全互斥的,然而獨(dú)立成分分析(CA)[12]和主成分分析(CA)[2]則能構(gòu)造出一個(gè)分布式表示??紤]輸入向量x的一種離散分布式表示r(x),其中ri(x)12,…,M,i1,2,…,Nri(x)可以視為一個(gè)分類器xM個(gè)類別中的某一種就32(M2)所示,ri(x)xM份,但通過組合這些不同的劃分方式,可以使得x的空間的劃分區(qū)域數(shù)量呈指數(shù)級(jí)別上升。值得注意的是,當(dāng)表示某種特殊的輸入分布時(shí),因?yàn)榭臻g劃分不兼容,某些組合是不可能出現(xiàn)的。比如在語言模型中,一個(gè)單詞的局部表示可以直接通過詞匯表中的下標(biāo)對(duì)其標(biāo)識(shí)進(jìn)行編碼,這也相當(dāng)于使用一個(gè)字典大小條目的獨(dú)熱編碼。另一方面,一個(gè)單詞的分布式表示能夠?qū)⒕浞ㄌ卣鳎ㄔ~性分布)、形態(tài)特征(前綴及后綴)和語義特征(代表的是姓名還是動(dòng)物等)組合為一個(gè)向量來表示該單詞。就像在聚類中,我們構(gòu)造了很多離散的類別,這些類別潛在的組合數(shù)量是巨大的。因此我們也就得到了多重聚類,這種思想與重疊簇(ppgCus)和部分隸屬關(guān)系(lbhp)的想法很相似,就是各簇成員并非完全互斥[56]。聚類會(huì)形成一種單一的劃分,這通常會(huì)嚴(yán)重?fù)p失輸入中的一些信息。但多重聚類提供了一系列對(duì)輸入空間的獨(dú)立劃分,在這種情況下,要想?yún)^(qū)分出某個(gè)輸入則需要確定其在各個(gè)劃分中的所屬位置,由這些位置所組成的描述所包含的信息量就十分豐富了,甚至可能不會(huì)有信息的丟失。用來標(biāo)識(shí)輸入在各個(gè)劃分中所處位置的符號(hào)元組,可以視作一個(gè)由原始輸入空間轉(zhuǎn)換而成的新特征空間。在新特征空間中,原始數(shù)據(jù)中的統(tǒng)計(jì)結(jié)構(gòu)以及變化因素都變得更加清晰。這與之前章節(jié)中提到過的用集成樹對(duì)輸入空間進(jìn)行劃分相對(duì)應(yīng)。這種特性同樣也是我們希望深度結(jié)構(gòu)能夠捕獲到的,但通過多個(gè)層級(jí)的表示,高層特征應(yīng)該更加的抽象且可以表達(dá)出原始空間中一些比較復(fù)雜的區(qū)域。在監(jiān)督學(xué)習(xí)、多層神經(jīng)網(wǎng)絡(luò)[157,156]以及無監(jiān)督學(xué)習(xí)領(lǐng)域,為了學(xué)習(xí)隱層中的分布式中間表示,玻爾茲曼機(jī)[1]被發(fā)明了出來。與上述的語言模型的例子不同,玻爾茲曼機(jī)的目標(biāo)是為了發(fā)現(xiàn)那些可以組成分布式表示的特征。在有多個(gè)隱層的神經(jīng)網(wǎng)絡(luò)中,有著多個(gè)特征表示,每層對(duì)應(yīng)一個(gè)。想要學(xué)習(xí)多層次的分布式表示涉及如何有效訓(xùn)練的問題,我們?cè)谥髸?huì)進(jìn)行詳細(xì)討論。4具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)441 多層神經(jīng)網(wǎng)絡(luò)下面列舉了多層神經(jīng)網(wǎng)絡(luò)[156]中的一些具有代表性的公式。如圖4.1所示,第k層利用前一層的輸出hk-1計(jì)算得到一個(gè)輸出向量hk,最開始的輸入為x=h0,hk=tanh(bk+Wkhk-1) (4.其中有兩個(gè)參數(shù):bk(偏差向量)Wk(權(quán)重矩陣)。這里的tanh函數(shù)是按位圖4.1多層神經(jīng)網(wǎng)絡(luò),通常在監(jiān)督學(xué)習(xí)中用于預(yù)測(cè)或分類,它的每一層都是一個(gè)仿射變換操作和非線性變換的組合。前饋的計(jì)算是一個(gè)確定的轉(zhuǎn)換過程,從輸入層x,經(jīng)過隱層hk,傳到網(wǎng)絡(luò)輸出層h。將得到的輸出與標(biāo)簽y對(duì)比就可以得到需要被最小化的代價(jià)函數(shù)L(h,y)PAGE254PAGE254具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)PAGE26人工智能中的深度結(jié)構(gòu)學(xué)習(xí)PAGE26人工智能中的深度結(jié)構(gòu)學(xué)習(xí)2計(jì)算的,它可以替換為sigm(u)=1/(1+e-u)=1[tanh(u)+1]和其他的飽和非線性函數(shù)。最高層的輸出h用來做預(yù)測(cè),它和監(jiān)督目標(biāo)y一起構(gòu)成了代價(jià)函數(shù)L2∑ebi+Wih-1eb+Whj j-1j(h,y)。這個(gè)代價(jià)函數(shù)通常情況下是關(guān)于b+Wh-∑ebi+Wih-1eb+Whj j-1jhi=
(4.2)式中,Wi是W的第i行,hi是正數(shù),并且ihi=1。x函數(shù)的輸出hi可以用作P(Yi|x|)的估計(jì)值,其中Y是輸入模式x對(duì)應(yīng)的類別。在這種情況下,L(hy)=-g(Y=y|)=-ghy作為代價(jià)函數(shù),使它在(x,y)上期望值最小化。442 訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的挑戰(zhàn)在闡述了為什么需要采用深度結(jié)構(gòu)的非局部估計(jì)器之后,我們現(xiàn)在需要解決如何訓(xùn)練這個(gè)難題。經(jīng)驗(yàn)上的證據(jù)表明深度結(jié)構(gòu)的訓(xùn)練難度要大于淺層結(jié)構(gòu)[17,50]。在2006年之前,機(jī)器學(xué)習(xí)文獻(xiàn)對(duì)深度結(jié)構(gòu)一直沒有過多的討論。這是因?yàn)楫?dāng)使用標(biāo)準(zhǔn)的隨機(jī)參數(shù)初始化方法時(shí),總是得到非常高的訓(xùn)練和泛化誤差[17]。值得注意的是,人們發(fā)現(xiàn)深度卷積神經(jīng)網(wǎng)絡(luò)[104,101,175,153]更容易訓(xùn)練,我們會(huì)在5節(jié)中進(jìn)行討論,其中某些原因還沒有得到充分的闡明。許多未報(bào)道的負(fù)面觀察以及一些實(shí)驗(yàn)數(shù)據(jù)[17,50]都表明,在多層有監(jiān)督深度神經(jīng)網(wǎng)絡(luò)(使用隨機(jī)初始化參數(shù))中,基于梯度的訓(xùn)練會(huì)陷入一個(gè)明顯的局部極小值或平坦區(qū)域一。并且發(fā)現(xiàn)隨著深度的增加,深度結(jié)構(gòu)更難以獲得好的泛化一我們稱它明顯的局部極小值。這是由于梯度下降的學(xué)習(xí)軌跡會(huì)陷在這里很難出去。當(dāng)然,這不能排除更強(qiáng)的優(yōu)化方法也許能找到一個(gè)遠(yuǎn)離目前解的更優(yōu)解。能力。當(dāng)使用隨機(jī)初始化參數(shù)時(shí),深度神經(jīng)網(wǎng)絡(luò)的性能很差。這個(gè)結(jié)果甚至比那些只含有1個(gè)或2個(gè)隱層的神經(jīng)網(wǎng)絡(luò)更差[17,98]。即使k+1層的神經(jīng)網(wǎng)絡(luò)能很容易表達(dá)一個(gè)k層的神經(jīng)網(wǎng)絡(luò)能表示的內(nèi)容,而k層卻不容易表達(dá)k+1層所容納的內(nèi)容,但淺層網(wǎng)絡(luò)性能更好的情況仍會(huì)出現(xiàn)。然而,文獻(xiàn)[73]發(fā)現(xiàn),如果使用無監(jiān)督學(xué)習(xí)算法對(duì)每層進(jìn)行預(yù)訓(xùn)練,就能得到好得多的結(jié)果。這里的具體做法是從第一層開始(直接接受觀察值x),一層接一層地做這種預(yù)訓(xùn)練。在最初的實(shí)驗(yàn)中,各層使用的是受限玻爾茲曼機(jī)模型[73在之后的一些實(shí)驗(yàn)中,使用多種自動(dòng)編碼器的變體對(duì)每層進(jìn)行預(yù)訓(xùn)練的方法也得到了相似的結(jié)果[735]。這些文章大部分都利用了一個(gè)逐層貪婪無監(jiān)督學(xué)習(xí)的思想()首先使用無監(jiān)督學(xué)習(xí)算法訓(xùn)練底層(如使用受限玻爾茲曼機(jī)或者自動(dòng)編碼器),得到神經(jīng)網(wǎng)絡(luò)第一層參數(shù)的初始值。然后使用第一層的輸出(對(duì)原始輸入的一種新的表示)作為第二層的輸入,同樣使用無監(jiān)督算法來得到該層參數(shù)的初始值。后,整個(gè)神經(jīng)網(wǎng)絡(luò)就能使用監(jiān)督學(xué)習(xí)來進(jìn)行精調(diào)。相比于隨機(jī)初始化參數(shù),[7089]。到底用什么原理能夠解釋在這些文獻(xiàn)中觀察到的無監(jiān)督預(yù)訓(xùn)練的使用所帶來的性能提升呢?一條線索也許可以幫助我們找到深度結(jié)構(gòu)下訓(xùn)練算法有效的原理。這條線索來自于非受限玻爾茲曼機(jī)或自動(dòng)編碼器的無監(jiān)督訓(xùn)練算法[12]。這些算法與基于受限玻爾茲曼機(jī)以及自動(dòng)編碼器的訓(xùn)練算法的共同點(diǎn)是:逐層的無監(jiān)督準(zhǔn)則。這個(gè)準(zhǔn)則通過在各層采用一個(gè)無監(jiān)督的訓(xùn)練信號(hào)來幫助該層的參數(shù)達(dá)到參數(shù)空間中的一個(gè)更優(yōu)的區(qū)域。在文獻(xiàn)[202]中,其使用多對(duì)(x,~)來對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,這些訓(xùn)練對(duì)可能是鄰居(或者屬于同一類別),也可能不是。這個(gè)模型假定對(duì)x的k層特征表示記為hk(x)。定義每層的局部訓(xùn)練準(zhǔn)則如下:根據(jù)x與~是否是鄰居樣本(例如,輸入空間的k近鄰),將對(duì)應(yīng)的中間層表示hk(x)和hk(~)距離變得更近或者更遠(yuǎn)。這條準(zhǔn)則之前已經(jīng)在一種使用無監(jiān)督流形學(xué)習(xí)[59算法的低維嵌入中取得成功。在這里則是應(yīng)用在神經(jīng)網(wǎng)絡(luò)的一個(gè)或多個(gè)中間層[202按照慢特征分析中所提出的高層抽象短時(shí)不變性的想法[314],為中間層提供了一種無監(jiān)督的指導(dǎo)連續(xù)幀有很大可能會(huì)包含同一物體。顯而易見,至少對(duì)于所研究的任務(wù)類型,使用這些技術(shù)能極大的降低測(cè)試誤差,但是為什么呢?一個(gè)基本的問題是,這種性能提升到底是因?yàn)楦玫膬?yōu)化還是更好的正則化。正如接下來所討論的,答案可能不適用于通常的優(yōu)化或者正則的定義。在一些實(shí)驗(yàn)中[78],即使使用沒有經(jīng)過無監(jiān)督預(yù)訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)時(shí),也可以將訓(xùn)練的分類誤差降低到0,這也就說明了預(yù)訓(xùn)練更像是起到了正則化的作用而不是優(yōu)化的作用。文獻(xiàn)[50]中的實(shí)驗(yàn)同樣給出了相似的證據(jù)對(duì)于相同的訓(xùn)練誤差,使用無監(jiān)督預(yù)訓(xùn)練可以系統(tǒng)地降低測(cè)試誤差。就像文獻(xiàn)[50]中討論的,無監(jiān)督預(yù)訓(xùn)練可以視為一種正則化的形式(和先驗(yàn)知識(shí)):無監(jiān)督預(yù)訓(xùn)練將參數(shù)約束在一個(gè)可接受的參數(shù)空間區(qū)域。這種約束強(qiáng)制使得最終解接近一無監(jiān)督訓(xùn)練的解,期望這個(gè)解能捕捉輸入空間中的顯著統(tǒng)計(jì)結(jié)構(gòu)。另一方面,文獻(xiàn)[17,8]中的實(shí)驗(yàn)顯示,當(dāng)沒有進(jìn)行預(yù)訓(xùn)練時(shí),模型最終效果差的原因是由于底層沒有得到很好的訓(xùn)練:當(dāng)頂層的隱層被限制(如強(qiáng)制其節(jié)點(diǎn)數(shù)量很少),采用隨機(jī)初始化參數(shù)的深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集以及測(cè)試集上的表現(xiàn)都很差,而且遠(yuǎn)不如經(jīng)過預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。在先前提到過的訓(xùn)練誤差達(dá)到0的實(shí)驗(yàn)中,通常是在隱層節(jié)點(diǎn)數(shù)量(一種超參數(shù))被調(diào)整到足夠大的情況下才出現(xiàn)的(為了最小化在驗(yàn)證集上的誤差)。文獻(xiàn)[17,8]中提出的解釋假說稱,當(dāng)頂層的隱藏層沒有任何約束時(shí),最上面兩層(相當(dāng)于一個(gè)通常的含有一個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò))僅用低層所提供的輸出,就已經(jīng)足夠擬合訓(xùn)練集,即使低層所提供的輸出是非常差的。相比之下,在使用無監(jiān)督預(yù)訓(xùn)練的情況下,低層得到了優(yōu)化,即使我們使用尺寸更小的頂層,同樣能獲得更低的訓(xùn)練誤差以及得到更好的泛化效果。文獻(xiàn)[50]中描述的實(shí)驗(yàn)同樣做出了一致的解釋,即當(dāng)使用隨機(jī)初始化參數(shù)時(shí),低層(接近輸入層)參數(shù)的訓(xùn)練效果很差。這些實(shí)驗(yàn)說明了無監(jiān)督預(yù)訓(xùn)練主要對(duì)深度結(jié)構(gòu)的低層起到了積極的作用。一即在梯度下降過程中處在相同的吸引域。我們知道,通常來說一個(gè)兩層的神經(jīng)網(wǎng)絡(luò)(一個(gè)隱藏層)可以得到較好的訓(xùn)練效果,這個(gè)觀點(diǎn)對(duì)于深度神經(jīng)網(wǎng)絡(luò)中的最上面兩層同樣適用。這兩層組成了一個(gè)以底層輸出為輸入的淺層神經(jīng)網(wǎng)絡(luò)。當(dāng)使用通用的訓(xùn)練準(zhǔn)則時(shí),優(yōu)化深度神經(jīng)網(wǎng)絡(luò)的最后一層通常是一個(gè)凸優(yōu)化問題。優(yōu)化最后兩層時(shí),雖然不是凸優(yōu)化問題,但其比優(yōu)化一個(gè)深度神經(jīng)網(wǎng)絡(luò)要容易得多(實(shí)際上當(dāng)隱藏層節(jié)點(diǎn)的數(shù)量趨近于無限大時(shí),一個(gè)兩層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練也可以視作凸優(yōu)化問題[18])。如果在頂層有足夠多的隱藏層節(jié)點(diǎn)(也就是說有足夠的模型容量),即使低層沒有得到很好的訓(xùn)練,訓(xùn)練誤差也可以變得很低(只要底層保留了原始輸入中的大部分信息),但這會(huì)造成其泛化能力比淺層神經(jīng)網(wǎng)絡(luò)更差。當(dāng)訓(xùn)練誤差低而測(cè)試誤差高時(shí),我們通常稱這種現(xiàn)象為過擬合。由于無監(jiān)督預(yù)訓(xùn)練降低了測(cè)試誤差,因此其也就可以視為一種基于數(shù)據(jù)的正則化。其他一些強(qiáng)有力的證據(jù)表明無監(jiān)督預(yù)訓(xùn)練的表現(xiàn)與正則化相似[50]:特別地,當(dāng)模型沒有足夠的容量時(shí),無監(jiān)督預(yù)訓(xùn)練往往會(huì)降低其泛化能力。當(dāng)訓(xùn)練集的樣本數(shù)量較少時(shí)(如MNIST,不超過10萬條數(shù)據(jù)),雖然無監(jiān)督預(yù)訓(xùn)練能改進(jìn)測(cè)試誤差,但它也使得訓(xùn)練誤差變大。另一方面,對(duì)于更大的訓(xùn)練集,使用更好的低隱藏層初始化時(shí),訓(xùn)練誤差以及測(cè)試誤差都能得到極大的下降(見圖4.2和接下來的討論)。這里的初始化是無監(jiān)督預(yù)訓(xùn)練。假設(shè)在一個(gè)充分訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)中,其隱藏層對(duì)輸入有一個(gè)不錯(cuò)的表示。這個(gè)表示將有利于模型預(yù)測(cè)。當(dāng)?shù)蛯訁?shù)初始化很差時(shí),這些明確而且連續(xù)的表示通常也能保留輸入的大部分信息,但是這些表示可能會(huì)擾亂輸入,而且不利于頂層學(xué)習(xí)到一個(gè)具有好的泛化能力的分類器。根據(jù)這個(gè)假設(shè),即使把深度神經(jīng)網(wǎng)絡(luò)的最上面兩層換成一個(gè)其他的凸優(yōu)化機(jī)器(如高斯過程或者支持向量機(jī)[19]),也可以得到一些性能上的提升,特別是在訓(xùn)練誤差上。但如果低層沒有經(jīng)過很好的優(yōu)化,也就是說如果沒有發(fā)現(xiàn)一個(gè)對(duì)原始輸入的有效表示,其對(duì)模型的泛化能力也不會(huì)有太大的幫助。因此,存在這樣一個(gè)假說:通過更好地調(diào)整優(yōu)化深度結(jié)構(gòu)的低層,無監(jiān)督預(yù)訓(xùn)練有助于提升模型的泛化能力。雖然只利用頂層擬合訓(xùn)練樣本就能降低訓(xùn)練誤圖4.2在線使用1000萬條手寫數(shù)字圖片訓(xùn)練深度結(jié)構(gòu)。這里,三角形表示使用預(yù)訓(xùn)練,圓形表示沒有使用預(yù)訓(xùn)練。在1000個(gè)樣本上在線計(jì)算的分類誤差顯示在圖中(縱軸,對(duì)數(shù)刻度;橫軸,從開始算看到的樣本數(shù))。前250萬個(gè)樣本用作無監(jiān)督預(yù)訓(xùn)練(采用堆疊的降噪自動(dòng)編碼器)。曲線尾部的震動(dòng)是由于此時(shí)的錯(cuò)誤率已經(jīng)接近0。這使得采樣變動(dòng)在對(duì)數(shù)刻度下看起來很大。在非常大的訓(xùn)練集的情況下,正則化的效果應(yīng)該消失。相比之下,我們可以看到,在沒有預(yù)訓(xùn)練的情況下,訓(xùn)練收斂到了一個(gè)更差的局部最優(yōu);無監(jiān)督預(yù)訓(xùn)練幫助神經(jīng)網(wǎng)絡(luò)找到在線誤差的一個(gè)更優(yōu)最小值。實(shí)驗(yàn)由DumitruErhan完成差,但當(dāng)所有層都得到合適的調(diào)整時(shí),可以取得更好的模型泛化能力。另一個(gè)更好的模型泛化能力的源頭可能來自于某種形式的正則化:通過無監(jiān)督預(yù)訓(xùn)練,低層被約束去捕捉到輸入分布中的規(guī)律。對(duì)于一組隨機(jī)的輸入輸出數(shù)據(jù)對(duì)(X,Y),這種正則化效果與在半監(jiān)督學(xué)習(xí)中使用無標(biāo)注數(shù)據(jù)的效果類似[100也與采用最大似然方式優(yōu)化生成模型P(X,Y)相比優(yōu)化判別式模型P(Y|X)所產(chǎn)生的正則化效果類似[87]。如果對(duì)于X的函數(shù)P(X)和P(Y|X)是無關(guān)的(也就是說,這兩個(gè)函數(shù)是獨(dú)立選擇的,學(xué)習(xí)其中一個(gè)函數(shù)不會(huì)給我們帶來另一個(gè)函數(shù)的信息),那么對(duì)于P(X)的無監(jiān)督學(xué)習(xí)對(duì)P(Y|X)的學(xué)習(xí)沒有任何幫助。但是如果它們是相關(guān)的一,而且如果在估計(jì)P(X)P(Y|X)時(shí)使用相同的參數(shù)二,那么每個(gè)數(shù)據(jù)對(duì)(X,Y)P(Y|X)所來帶的信息不僅可以通過常規(guī)的手段獲得,而且可以通過P(X)來獲得。舉個(gè)例子,在深度置信網(wǎng)絡(luò)中,兩個(gè)分布共享相同的參數(shù),所以用來估計(jì)P(Y|X)的參數(shù)受益于一種基于數(shù)據(jù)的正則化:這些參數(shù)在某種程度上需要同時(shí)滿足P(Y|X)以及P(X)?,F(xiàn)在讓我們回到使用“優(yōu)化”與“正則化”來解釋無監(jiān)督預(yù)訓(xùn)練優(yōu)勢(shì)的討論上來。值得注意的是,在這里使用“優(yōu)化”一詞時(shí)需要十分小心。如果只是遵循優(yōu)化的一般意義,我們并沒有遇到優(yōu)化的困難。的確,我們可以依靠網(wǎng)絡(luò)的最上面兩層,將整個(gè)網(wǎng)絡(luò)的訓(xùn)練誤差降得很低。然而,如果考慮到調(diào)整低層網(wǎng)絡(luò)(無論是通過限制倒數(shù)第二層,即最上面的隱層,中隱層節(jié)點(diǎn)的數(shù)量還是限制最上面兩層權(quán)重的大?。?,則涉及優(yōu)化的難度問題。一種驗(yàn)證優(yōu)化假說和正則化假說的方式是考慮真實(shí)的在線環(huán)境(訓(xùn)練集中的數(shù)據(jù)從一個(gè)無限的流中得到,而且不會(huì)重復(fù))。在這種情況下,在線梯度下降表現(xiàn)為一種對(duì)泛化誤差的隨機(jī)優(yōu)化。如果無監(jiān)督預(yù)訓(xùn)練的作用是純粹的正則化,那么當(dāng)我們擁有一個(gè)虛擬的無限訓(xùn)練集時(shí),無論網(wǎng)絡(luò)有沒有經(jīng)過無監(jiān)督預(yù)訓(xùn)練,其在線誤差都會(huì)收斂到一個(gè)相同的等級(jí)。另一方面,如果這里提出的優(yōu)化解釋假說是正確的,我們就能預(yù)料到,即使在在線環(huán)境中,無監(jiān)督預(yù)訓(xùn)練也能帶來好處。為了探究這個(gè)問題,我們使用“無限MNIST”數(shù)據(jù)集[120],也就是一個(gè)虛擬的類似于MNIST里數(shù)字圖片的無限數(shù)據(jù)流(通過隨機(jī)轉(zhuǎn)換、旋轉(zhuǎn)、縮放等操作獲得,參見文獻(xiàn)[176])。如圖4.2所示,當(dāng)使用預(yù)訓(xùn)練時(shí)(使用堆疊降噪自動(dòng)編碼器,見7.2節(jié)),具有3個(gè)隱層一舉例來說,MNIST中的數(shù)字圖片會(huì)形成一些分離得很好的簇,特別是當(dāng)學(xué)習(xí)到有效表示時(shí)。即使這些特征是用無監(jiān)督學(xué)習(xí)學(xué)到的[192]。所以甚至在知道它們的標(biāo)注之前,我們也能大概猜到其決策面的位置。二舉例來說,用來估計(jì)P(Y|X)的多層神經(jīng)網(wǎng)絡(luò)的低層,使用來自估計(jì)P(X)的深度置信網(wǎng)絡(luò)的參數(shù)初始化。的神經(jīng)網(wǎng)絡(luò)會(huì)收斂到一個(gè)更低的錯(cuò)誤率。這幅圖展示了在線錯(cuò)誤率的下降過程(1000個(gè)數(shù)據(jù)作為間隔)。這個(gè)錯(cuò)誤率是對(duì)泛化誤差的無偏蒙特卡羅估計(jì)。前250萬個(gè)樣本用作無監(jiān)督預(yù)訓(xùn)練。從圖中我們可以明顯看出,無監(jiān)督預(yù)訓(xùn)練會(huì)讓神經(jīng)網(wǎng)絡(luò)的測(cè)試誤差收斂到一個(gè)更低的值,也就是說,無監(jiān)督預(yù)訓(xùn)練的效果不止是正則化,而且也找到了優(yōu)化準(zhǔn)則的一個(gè)更優(yōu)最小值。盡管有著這樣的表現(xiàn),我們也不能完全推翻正則化的假說:因?yàn)榇嬖诰植孔顑?yōu)解,正則化的作用會(huì)一直持續(xù)到無限的訓(xùn)練數(shù)據(jù)。對(duì)于這個(gè)現(xiàn)象,也有一個(gè)相反的解釋:當(dāng)訓(xùn)練陷入局部最優(yōu)時(shí),即使提供了更多的數(shù)據(jù),也沒有提供更多新的信息。為了解釋低層更加的難以優(yōu)化這一問題,之前的證據(jù)顯示,反向傳播到低層的梯度不足以將低層的參數(shù)移動(dòng)到一個(gè)有著更優(yōu)的解的區(qū)域。根據(jù)這個(gè)假說,低層的參數(shù)在優(yōu)化的過程中會(huì)陷入一個(gè)較差的局部最小值或穩(wěn)定值(即小的梯度)。由于頂層的梯度訓(xùn)練往往進(jìn)行得比較好,這就意味著當(dāng)梯度傳回低層時(shí),這些梯度含有的驅(qū)動(dòng)底層參數(shù)變化的信息會(huì)較少,也可以說對(duì)于梯度下降,誤差函數(shù)越來越病態(tài),以至于不能幫助低層逃離那些局部極小值。正如4.5節(jié)中所論述的,這些與深度卷積神經(jīng)網(wǎng)絡(luò)比較容易訓(xùn)練的現(xiàn)象是有聯(lián)系的,那種容易訓(xùn)練的情況也許是因?yàn)槠涿繉佣即嬖谔厥獾南∈柽B接。另外,深度神經(jīng)網(wǎng)絡(luò)中利用梯度的問題與通過長(zhǎng)序列訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)的困難同樣有著聯(lián)系,文獻(xiàn)[22,81,119]中對(duì)循環(huán)神經(jīng)網(wǎng)絡(luò)有詳細(xì)的分析。一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)可以按時(shí)間展開,只要我們把神經(jīng)元在不同時(shí)間段產(chǎn)生的輸出看作不同的變量即可,對(duì)于一個(gè)很長(zhǎng)的輸入來說,展開的循環(huán)神經(jīng)網(wǎng)絡(luò)會(huì)成為一個(gè)很深的深度結(jié)構(gòu)。在循環(huán)神經(jīng)網(wǎng)絡(luò)中,訓(xùn)練的困難可以歸結(jié)為經(jīng)過多次非線性變換后的梯度彌散(或者梯度爆炸)。在循環(huán)神經(jīng)網(wǎng)絡(luò)中,還有一個(gè)額外的困難之處在于短時(shí)(展開圖中的更短的路徑)與長(zhǎng)時(shí)(展開圖中的更長(zhǎng)的路徑)梯度的不匹配。443 深度結(jié)構(gòu)的無監(jiān)督學(xué)習(xí)由前面的章節(jié)可以看到,在至今為止所有成功的深度結(jié)構(gòu)的學(xué)習(xí)算法中,逐層的無監(jiān)督學(xué)習(xí)是至關(guān)重要的部分。如果輸出層定義的優(yōu)化準(zhǔn)則的梯度在反向回傳到低層的時(shí)侯作用已經(jīng)不明顯了,那么我們有理由相信在單層級(jí)別上定義一個(gè)無監(jiān)督優(yōu)化準(zhǔn)則可以使參數(shù)朝著合理的方向變化。我們也有理由期待,一個(gè)單層的學(xué)習(xí)算法可以捕獲該層輸入的統(tǒng)計(jì)規(guī)律,并對(duì)其形成一個(gè)抽象表示。PCA或ICA的標(biāo)準(zhǔn)形式(其所需的因素?cái)?shù)與信號(hào)數(shù)相同)應(yīng)用在這里并不合適,因?yàn)樗鼈儾荒芴幚硭^的“過完備情況”。在過完備情況中,輸出數(shù)大于它的輸入數(shù)。這里建議大家看一下有關(guān)ICA處理過完備情況的擴(kuò)展方法[78,87,115,184],以及與PCA和ICA有關(guān)的算法,例如自動(dòng)編碼器和受限玻爾茲曼機(jī),這兩種方法都可以應(yīng)用到過完備的情況。實(shí)際上,一些在多層系統(tǒng)的情況下使用這些單層無監(jiān)督學(xué)習(xí)算法進(jìn)行的實(shí)驗(yàn)證實(shí)了這一想法[17,73,153]。此外,堆疊線性投影(例如兩層的PCA)仍然是線性變換,并不是建立了更深的結(jié)構(gòu)。有監(jiān)督準(zhǔn)則的梯度給出的更新方向可能是不可靠的,無監(jiān)督學(xué)習(xí)可以幫助減少對(duì)這種不可靠更新方向的依賴。除了這個(gè)動(dòng)機(jī)之外,我們也引入在深度結(jié)構(gòu)的每一層都使用無監(jiān)督學(xué)習(xí)的另一個(gè)動(dòng)機(jī)。那就是:它可以自然地將問題分解成與不同層次的抽象有關(guān)的子問題。我們知道無監(jiān)督學(xué)習(xí)算法可以提取輸入分布中最突顯出來的信息。這種信息可以用分布式表示(即對(duì)輸入中變化的顯著因素進(jìn)行編碼的一組特征)來捕獲。一個(gè)單層的無監(jiān)督學(xué)習(xí)算法可以獲取它的主要信息,但是因?yàn)閱螌尤萘康南拗?,由結(jié)構(gòu)中第一層提取的特征只可以看作低層級(jí)的特征??梢韵氲?,如果基于同樣的原理來學(xué)習(xí)第二層,但是輸入的特征為第一層已經(jīng)學(xué)習(xí)到的特征,這樣可以獲得稍微高一些的層級(jí)特征。以這樣的方式,我們可以想象最終可能會(huì)出現(xiàn)能夠刻畫輸入的更高級(jí)抽象。需要注意的是,這個(gè)過程中所有的學(xué)習(xí)都是保留在每層的局部,因此當(dāng)我們嘗試優(yōu)化一個(gè)全局準(zhǔn)則時(shí),避免了可能會(huì)損害深度神經(jīng)網(wǎng)絡(luò)梯度學(xué)習(xí)效果的梯度彌散(GradientDiffusion)的問題。在接下來的章節(jié)中,我們將會(huì)討論深度生成結(jié)構(gòu),并正式引入深度置信網(wǎng)絡(luò)。444 深度生成結(jié)構(gòu)在深度結(jié)構(gòu)中,無監(jiān)督學(xué)習(xí)除了對(duì)有監(jiān)督的預(yù)測(cè)器的初始化有幫助外,還對(duì)iji,jj學(xué)習(xí)到數(shù)據(jù)的分布并且從該分布中采樣有重要的意義。生成模型通??梢杂脠D模型[91]來表示:圖中節(jié)點(diǎn)表示隨機(jī)變量,邊表示了隨機(jī)變量之間的相關(guān)性。所有變量的聯(lián)合分布可以用一個(gè)節(jié)點(diǎn)和它在圖中的鄰接節(jié)點(diǎn)的乘積項(xiàng)表示。在有向圖中(定義了父節(jié)點(diǎn)),給定一個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn),則該節(jié)點(diǎn)條件獨(dú)立于它的兄弟節(jié)點(diǎn)。在圖模型中,有一些隨機(jī)變量是可以被觀測(cè)到的,另外一些不可以(稱為隱變量)。sigmoid置信網(wǎng)絡(luò)是一個(gè)生成型的多層神經(jīng)網(wǎng)絡(luò),它在2006年之前就已經(jīng)被提出并被研究了,人們使用變分近似法[42,72,164,189]訓(xùn)練它。如圖4.3所示,sigmoid置信網(wǎng)絡(luò)中,給定上一層神經(jīng)元的值,則每一層的神經(jīng)元(通常是二進(jìn)制的隨機(jī)變量)是相互獨(dú)立的。這些條件分布的典型的參數(shù)化公式與式iji,jjiP(hki
=1|hk+1)=sigm(bk+∑Wk+1hk+1) (4.3)圖4.3生成式多層神經(jīng)網(wǎng)絡(luò)的例子,這是一個(gè)sigmoid置信網(wǎng)絡(luò),由有向圖模型(每一個(gè)節(jié)點(diǎn)表示一個(gè)隨機(jī)變量,有向邊表示變量之間的直接依賴關(guān)系)表示。觀測(cè)數(shù)據(jù)為x,第k層的隱藏變量由向量hk的元素表示。最高層h3可以被因式分解i12式中,hkk層隱層節(jié)點(diǎn)i的二進(jìn)制激活值,hk表示向量(hkhk),用i12xh0表示輸入向量。需要注意的是符號(hào)P()表示所采用的模型的概率分布,而^則表示了訓(xùn)練數(shù)據(jù)的分布(即訓(xùn)練集的經(jīng)驗(yàn)分布,或者說生成訓(xùn)練樣本的概率分布)。最底層生成了輸入空間的向量x,我們希望這個(gè)模型在訓(xùn)練數(shù)據(jù)上可以得到較高的概率??紤]到網(wǎng)絡(luò)有很多層,這個(gè)生成模型可以分解如下:k=P(x,h1,…,h)=P(h)-1P(hk|hk+1)P(x|h1) (4.4),P(x),但是除了很小的模型之外,這個(gè)邊緣分布在實(shí)踐中是。在d,頂層的先驗(yàn)分布P(h)由因式分解得到,即(h)=i(hi),(hi=1)。深度置信網(wǎng)絡(luò)與sigmoid置信網(wǎng)絡(luò)相似,但是在最高的兩層有不同的參數(shù)化k=方式,如圖4.4所示。圖4.4深度置信網(wǎng)絡(luò)的圖模型,觀測(cè)向量為x,隱
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年別墅建設(shè)合同范例
- 2025年農(nóng)村道路安全改善工程合同
- 2025年企業(yè)食堂經(jīng)營(yíng)承包合同
- 2025年二手車交易雙方性權(quán)益保障協(xié)議書
- 2025年醫(yī)療康復(fù)人才交流策劃協(xié)議
- 2025年交通供電檢測(cè)裝備項(xiàng)目申請(qǐng)報(bào)告
- 2025年二手房產(chǎn)交易合同額外補(bǔ)充協(xié)議
- 2025年海洋臺(tái)站儀器項(xiàng)目提案報(bào)告
- 2025年度學(xué)生權(quán)益保障協(xié)議書
- 2025年太陽能熱電站交易合同模板
- 有限空間作業(yè)審批表
- 內(nèi)地居民前往香港或者澳門定居申請(qǐng)表
- (完整版)園藝產(chǎn)品貯藏與加工
- 學(xué)前教育大專畢業(yè)論文3000字
- 骨骼肌-人體解剖學(xué)-運(yùn)動(dòng)系統(tǒng)
- 高中體育與健康-足球踢墻式“二過一”戰(zhàn)術(shù)教學(xué)課件設(shè)計(jì)
- 兒童財(cái)商養(yǎng)成教育講座PPT
- 前庭性偏頭痛診斷
- 三下《動(dòng)物的一生》教材解讀
- 神木市孫家岔鎮(zhèn)神能乾安煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 那些活了很久很久的樹
評(píng)論
0/150
提交評(píng)論