国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
干貨|轉(zhuǎn)型人工智能,你需要掌握的八大神經(jīng)網(wǎng)絡(luò)

為什么我們需要機(jī)器學(xué)習(xí)?

機(jī)器學(xué)習(xí)可以解決人類不能直接用編程來(lái)應(yīng)對(duì)的復(fù)雜難題,因此,我們喂給機(jī)器學(xué)習(xí)算法大量的數(shù)據(jù),以期得到想要的答案。

我們來(lái)看看這兩個(gè)例子:

  • 編寫解決問(wèn)題的程序是非常困難的,比如在雜亂的場(chǎng)景中,在新的照明條件下從新的角度來(lái)識(shí)別三維物體。我們不知道要如何通過(guò)代碼來(lái)解決這個(gè)問(wèn)題,因?yàn)檫@個(gè)識(shí)別過(guò)程在大腦中完成情況對(duì)我們來(lái)說(shuō)還是未解之謎。 即使我們知道該怎么做,要編寫的程序可能會(huì)非常復(fù)雜。

  • 再比如,編寫一個(gè)程序來(lái)預(yù)測(cè)信用卡交易欺詐發(fā)生的概率也是很難的,這可能也不存在任何簡(jiǎn)單而可靠的規(guī)則。因?yàn)槠墼p是一個(gè)動(dòng)態(tài)的目標(biāo),但程序需要不斷變化。我們需要做的是結(jié)合大量的弱項(xiàng)規(guī)則來(lái)進(jìn)行欺詐預(yù)測(cè)。

再者是機(jī)器學(xué)習(xí)方法。我們并不需要為每個(gè)特定的任務(wù)手動(dòng)編寫程序,而是收集大量的例子,為給定的輸入指定正確的輸出。然后,機(jī)器學(xué)習(xí)算法拿這些例子,并產(chǎn)生一個(gè)程序來(lái)完成這項(xiàng)工作。

學(xué)習(xí)算法產(chǎn)生的程序可能與典型的手寫程序看起來(lái)非常不同。它可能包含數(shù)百萬(wàn)的數(shù)字。如果方法得當(dāng),該計(jì)劃將適用于新案例以及我們訓(xùn)練的案例。如果數(shù)據(jù)改變,程序也可以通過(guò)對(duì)新數(shù)據(jù)進(jìn)行訓(xùn)練來(lái)改變。你應(yīng)該注意到,現(xiàn)在大量的計(jì)算比支付某人編寫任務(wù)特定的程序來(lái)的更廉價(jià)。

鑒于此,機(jī)器學(xué)習(xí)能夠很好地解決一些任務(wù),包括:

  • 模式識(shí)別:真實(shí)場(chǎng)景中的對(duì)象,面部識(shí)別或面部表情,口語(yǔ)等;

  • 異常情況識(shí)別:信用卡交易的異常順序,核電廠傳感器讀數(shù)的異常模式等;

  • 預(yù)測(cè):未來(lái)的股票價(jià)格或貨幣匯率,一個(gè)人會(huì)喜歡的電影等。

什么是神經(jīng)網(wǎng)絡(luò)?

神經(jīng)網(wǎng)絡(luò)是一般機(jī)器學(xué)習(xí)中的一類模型,它是一套特定的算法,受到生物神經(jīng)網(wǎng)絡(luò)的啟發(fā),徹底改變了機(jī)器學(xué)習(xí)的領(lǐng)域。目前所謂的深度神經(jīng)網(wǎng)絡(luò)的出現(xiàn)就已經(jīng)證明它能夠工作得非常好。

神經(jīng)網(wǎng)絡(luò)本身就是一般泛函數(shù)的逼近,這就是為什么它們幾乎可以應(yīng)用于任何機(jī)器學(xué)習(xí)問(wèn)題,因?yàn)樗械臋C(jī)器學(xué)習(xí)都是學(xué)習(xí)從輸入到輸出空間的復(fù)雜映射。

以下是說(shuō)服你學(xué)習(xí)神經(jīng)計(jì)算的三個(gè)理由:

  • 能夠理解大腦是如何工作的:這是非常大且復(fù)雜的問(wèn)題,并且是個(gè)令人絞盡腦汁去思考的問(wèn)題,因此我們需要使用計(jì)算機(jī)來(lái)模擬。

  • 能夠了解受神經(jīng)元和自適應(yīng)連接啟發(fā)的并行計(jì)算風(fēng)格:這是一種與順序計(jì)算非常不同的風(fēng)格。

  • 通過(guò)使用受大腦啟發(fā)的新穎學(xué)習(xí)算法來(lái)解決實(shí)際問(wèn)題:即使這不是大腦實(shí)際工作的方式,但這樣的學(xué)習(xí)算法也是非常有用的。

在這篇文章中,我想分享八種神經(jīng)網(wǎng)絡(luò)架構(gòu),這是每一位從事機(jī)器學(xué)習(xí)的研究人員都應(yīng)該熟悉的。

一般來(lái)說(shuō),這些體系結(jié)構(gòu)可以分為以下三類:

1 - 前饋神經(jīng)網(wǎng)絡(luò)

這是在實(shí)際應(yīng)用中最常見(jiàn)的一種神經(jīng)網(wǎng)絡(luò)類型。第一層是輸入,最后一層是輸出。如果有多個(gè)隱藏層,我們稱之為“深度”神經(jīng)網(wǎng)絡(luò)。它們計(jì)算出一系列改變案例之間相似性的轉(zhuǎn)換。各層后緊接著的非線性函數(shù)用于各層神經(jīng)元的激活。

2 - 循環(huán)神經(jīng)網(wǎng)絡(luò)

在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的連接圖中決定了循環(huán)的方向。這意味著你有時(shí)可以按照箭頭回到你開始的地方。循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)更接近生物的實(shí)際情況,其結(jié)構(gòu)有很復(fù)雜的動(dòng)態(tài)過(guò)程,這使得這種神經(jīng)網(wǎng)絡(luò)有時(shí)候難以訓(xùn)練。但是,目前已經(jīng)有大量有趣的研究已經(jīng)找到一些有效的方式來(lái)訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

循環(huán)神經(jīng)網(wǎng)絡(luò)是一種非常自然地模擬連續(xù)數(shù)據(jù)的方式,類似每個(gè)時(shí)間片都具有一個(gè)隱藏層的深層神經(jīng)網(wǎng)絡(luò)。除了能在每個(gè)時(shí)間片上獲得輸入并使用相同的權(quán)重進(jìn)行訓(xùn)練外,循環(huán)神經(jīng)網(wǎng)絡(luò)還能長(zhǎng)時(shí)間地記住隱藏狀態(tài)的信息。但目前還很難訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)使用這些隱藏的狀態(tài)信息。

3 - 對(duì)稱連接網(wǎng)絡(luò)

對(duì)稱連接網(wǎng)絡(luò)是一種類似循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),但是其單元之間的連接是對(duì)稱的(它們?cè)趦蓚€(gè)方向上具有相同的權(quán)重)。對(duì)稱連接網(wǎng)絡(luò)的結(jié)構(gòu)比循環(huán)神經(jīng)網(wǎng)絡(luò)更容易分析,因?yàn)槠渥裱芰亢瘮?shù)。

沒(méi)有隱藏單元的對(duì)稱連接網(wǎng)絡(luò)被稱為“Hopfield網(wǎng)絡(luò)”。有隱藏單元的對(duì)稱連接網(wǎng)絡(luò)被稱為“Boltzmann機(jī)”。

▌1.感知器

感知器作為第一代神經(jīng)網(wǎng)絡(luò),還只是單個(gè)神經(jīng)元的計(jì)算模型。它們?cè)诙兰o(jì)六十年代初被 Frank Rosenblatt 推廣。1969年,Minsky和Papert出版了一本名為“感知器”的書,分析了這種神經(jīng)網(wǎng)絡(luò)模型可以做什么,并提到了它的局限性。許多人認(rèn)為這些局限性限制了所有的神經(jīng)網(wǎng)絡(luò)模型。然而,目前感知器的學(xué)習(xí)過(guò)程仍然被廣泛應(yīng)用于具有包含數(shù)百萬(wàn)特征的巨大特征向量任務(wù)。

在統(tǒng)計(jì)與模式識(shí)別的標(biāo)準(zhǔn)樣例中,我們首先將原始輸入向量轉(zhuǎn)換為特征的激活向量。然后,基于常識(shí)的手寫程序,我們?yōu)槠涠x特征。接下來(lái),我們學(xué)習(xí)如何對(duì)每個(gè)特征激活向量進(jìn)行加權(quán)計(jì)算以獲得單個(gè)標(biāo)量值。

如果這個(gè)數(shù)值高于某個(gè)閾值,我們認(rèn)為輸入向量是屬于目標(biāo)類的一個(gè)正樣本。標(biāo)準(zhǔn)的感知器體系結(jié)構(gòu)遵循前饋神經(jīng)網(wǎng)絡(luò)模型,這意味著輸入被饋送到神經(jīng)元,被處理,并產(chǎn)生輸出。

在下圖中,可以看到網(wǎng)絡(luò)自下而上讀?。?strong>輸入從底部輸入,輸出從頂部輸出:

然而,感知器確實(shí)有局限性。如果你遵循手動(dòng)選擇特征的原則,并且使用了足夠多的特征,則幾乎可以做任何事情。對(duì)于二進(jìn)制輸入向量,我們可以為每個(gè)指數(shù)級(jí)的二進(jìn)制向量分別設(shè)置一個(gè)特征單元,因此我們可以對(duì)二進(jìn)制輸入向量進(jìn)行任何可能的區(qū)分。但是一旦確定了手工編碼的特征,感知器所能學(xué)習(xí)的東西將會(huì)受到很多的限制。

這個(gè)結(jié)論對(duì)于感知器是毀滅性的,因?yàn)檎麄€(gè)模式識(shí)別的重點(diǎn)是識(shí)別模式。Minsky and Papert 研究組提出的“群體不變定理”說(shuō)明,一部分感知器的學(xué)習(xí),如果轉(zhuǎn)換形成一個(gè)群體,那么感知器將無(wú)法學(xué)習(xí)。為了處理這種轉(zhuǎn)換,感知器需要使用多個(gè)特征單元來(lái)識(shí)別信息子模式的轉(zhuǎn)換。所以模式識(shí)別的棘手部分必須由手工編碼的特征檢測(cè)器來(lái)解決,而不是學(xué)習(xí)過(guò)程。

沒(méi)有隱藏單元的網(wǎng)絡(luò)是非常受限的,因?yàn)樗鼈冎荒軐W(xué)習(xí)輸入到輸出的映射。由于網(wǎng)絡(luò)結(jié)構(gòu)仍然是線性的,更多的線性單位層不會(huì)幫助也無(wú)法改善這個(gè)問(wèn)題。固定輸出的非線性也是不夠的。因此,我們需要多層自適應(yīng)非線性隱藏單元。

但是我們要如何訓(xùn)練這樣的網(wǎng)絡(luò)呢?

我們需要一種能夠適應(yīng)所有層權(quán)重的有效方式,而不僅僅是最后一層。這很難,因?yàn)閷W(xué)習(xí)隱藏單元的權(quán)重等同于學(xué)習(xí)特征,但沒(méi)有人能直接告訴我們隱藏單元應(yīng)該做什么。

2.卷積神經(jīng)網(wǎng)絡(luò)

機(jī)器學(xué)習(xí)研究已經(jīng)廣泛地集中在目標(biāo)檢測(cè)問(wèn)題上。在很多情況下識(shí)別目標(biāo)是很困難的,如下:

  • 分割:真實(shí)的場(chǎng)景與其他對(duì)象混雜在一起。很難判斷哪些作品是同一個(gè)對(duì)象的一部分。對(duì)象的部分也可以隱藏在其他對(duì)象的后面。

  • 光照:像素的強(qiáng)度由照明和目標(biāo)物共同決定。

  • 變形:目標(biāo)物可以以各種非仿射方式變形。例如,手寫的形狀可以是一個(gè)大的循環(huán),也可以是一個(gè)尖頭。

  • 可用性:對(duì)象類通常由它們的使用方式來(lái)定義。例如,椅子是為了能夠坐在上面而設(shè)計(jì)的,因此它們具有各種各樣的物理形狀。

  • 角度:標(biāo)準(zhǔn)學(xué)習(xí)方法無(wú)法應(yīng)對(duì)由視角變化而導(dǎo)致的圖像變化,即輸入維度(像素)之間的信息跳躍。

  • 設(shè)想有一個(gè)醫(yī)療數(shù)據(jù)庫(kù),病人的年齡是輸入維度是權(quán)重的編碼。如果要用機(jī)器學(xué)習(xí)方法,我們首先要消除這個(gè)維度跳躍。

復(fù)制特征的方法是目前神經(jīng)網(wǎng)絡(luò)解決目標(biāo)檢測(cè)問(wèn)題的主要方法。它使用具有不同位置的相同特征,來(lái)為檢測(cè)器提供許多不同副本。它也可以在規(guī)模和方向上進(jìn)行復(fù)制,但這是棘手和昂貴的。復(fù)制時(shí)使用幾種不同的特征類型,每種都有自己的復(fù)制映射圖,但是會(huì)大大減少了學(xué)習(xí)時(shí)可用參數(shù)的數(shù)量。

復(fù)制也允許以各種方式來(lái)表示每個(gè)圖像塊。

那么復(fù)制這些特征檢測(cè)器是如何實(shí)現(xiàn)的呢?

  • 等效激活:神經(jīng)網(wǎng)絡(luò)對(duì)復(fù)制的特征,具有翻譯平移不變形。神經(jīng)元的激活函數(shù)對(duì)特征復(fù)制的效果也是一樣的 。

  • 不變的知識(shí):如果一個(gè)特征訓(xùn)練期間在某些位置是有用的,那么在測(cè)試期間該特征的檢測(cè)器將在所有位置都可用。

1998年,Yann LeCun和他的同事開發(fā)了一種名為L(zhǎng)eNet的手寫數(shù)字識(shí)別器。它在具有許多隱藏層的前饋網(wǎng)絡(luò)中使用反向傳播,在每層中復(fù)制許多單元的映射,并對(duì)附近復(fù)制單元的輸出進(jìn)行池化操作,即使重疊也能夠同時(shí)處理幾個(gè)字符。這是一種用聰明的方式訓(xùn)練出得完整系統(tǒng),而不僅僅是一個(gè)識(shí)別器。后來(lái)人們正式地稱之為“卷積神經(jīng)網(wǎng)絡(luò)”。

有趣的是,這種神經(jīng)網(wǎng)絡(luò)模型被用來(lái)讀取北美地區(qū)約10%的支票。

卷積神經(jīng)網(wǎng)絡(luò)可用于從手寫數(shù)字到3D對(duì)象的所有與物體識(shí)別有關(guān)的工作。但是,從網(wǎng)絡(luò)下載的彩色照片中識(shí)別真實(shí)的物體通常要比識(shí)別手寫的數(shù)字復(fù)雜得多。對(duì)于三維場(chǎng)景的二維圖像,有1000多個(gè)類別(1000 vs 10個(gè)),百倍像素值(256×256彩色圖 vs 28×28灰度圖),場(chǎng)景聚類需要應(yīng)用圖像分割技術(shù),并得到每張圖像中的多個(gè)目標(biāo)。相同類型的卷積神經(jīng)網(wǎng)絡(luò)會(huì)起作用嗎?

ILSVRC-2012 ImageNet競(jìng)賽,這是一個(gè)包含大約120萬(wàn)張高分辨率訓(xùn)練圖像的數(shù)據(jù)集。測(cè)試圖像將不會(huì)顯示初始的注釋 (沒(méi)有分割或標(biāo)簽),算法將產(chǎn)生指定圖像中存在對(duì)象的標(biāo)簽。一些最優(yōu)秀的計(jì)算機(jī)視覺(jué)方法是由來(lái)自牛津,INRIA,XRCE等研究團(tuán)隊(duì)提出的。通常,計(jì)算機(jī)視覺(jué)系統(tǒng)使用復(fù)雜的多層次網(wǎng)絡(luò)系統(tǒng),在訓(xùn)練開始階段會(huì)通過(guò)優(yōu)化幾個(gè)參數(shù)來(lái)進(jìn)行手動(dòng)調(diào)整。

2012年競(jìng)賽的獲勝者Alex Krizhevsky(NIPS 2012) 繼承了Yann LeCun的模型結(jié)構(gòu),開創(chuàng)性地提出一種非常深的卷積神經(jīng)網(wǎng)絡(luò)類型。其架構(gòu)包括7個(gè)隱藏層,不包括一些最大池化層。網(wǎng)絡(luò)結(jié)構(gòu)由卷積層組成,而最后兩層是全連接層。

在每個(gè)隱藏層中,激活函數(shù)使用修正線性單位函數(shù)。模型的訓(xùn)練比logistic units更快,特征表征更具有表現(xiàn)力。

除此之外,當(dāng)附近的單位有更強(qiáng)的激活性時(shí),模型還使用競(jìng)爭(zhēng)性的正則化策略來(lái)抑制隱藏層激活。當(dāng)圖像強(qiáng)度變化時(shí),這種策略將有助于模型對(duì)于特征的學(xué)習(xí)。還有一些訓(xùn)練技巧能夠顯著提高神經(jīng)網(wǎng)絡(luò)的泛化能力:

  • 在 256 x 256 圖像上隨機(jī)截取 224 x 224 大小的圖像以獲取更多數(shù)據(jù)并使用圖像的左右反射進(jìn)行訓(xùn)練。在測(cè)試階段,結(jié)合來(lái)自10個(gè)不同的圖像塊:四個(gè) 224 x 224 的圖像角塊加上中央的 224 x 224 圖像塊再加上這5個(gè)圖像的反射塊。

  • 使用“Dropout”來(lái)調(diào)整全連接層(包含大部分模型參數(shù))的權(quán)重。Dropout意味著對(duì)于每個(gè)訓(xùn)練樣本來(lái)說(shuō),一層網(wǎng)絡(luò)中的一半隱藏單元會(huì)被隨機(jī)移除,這使得該層隱藏單位不再依賴其他層的隱藏單元。

    就硬件要求而言,AlexNet卷積神經(jīng)網(wǎng)絡(luò)在2個(gè) Nvidia GTX 580 GPU (超過(guò)1000個(gè)快速小內(nèi)核) 上得到了非常高效的實(shí)現(xiàn)。 GPU非常適合矩陣乘法,并且具有非常高的內(nèi)存帶寬。 這使得AlexNet模型可以在一周內(nèi)訓(xùn)練網(wǎng)絡(luò),并能夠在測(cè)試階段快速地結(jié)合10個(gè)圖像塊的結(jié)果。

    如果我們可以足夠快地更新網(wǎng)絡(luò)狀態(tài),那么就可以在很多內(nèi)核上傳播一個(gè)網(wǎng)絡(luò)。隨著內(nèi)核越來(lái)越便宜,數(shù)據(jù)集越來(lái)越大,相比傳統(tǒng)計(jì)算機(jī)視覺(jué)系統(tǒng),大型神經(jīng)網(wǎng)絡(luò)模型的性能將提高得更快。

    3.循環(huán)神經(jīng)網(wǎng)絡(luò)

    為了理解循環(huán)神經(jīng)網(wǎng)絡(luò)模型,我們需要對(duì)序列建模進(jìn)行簡(jiǎn)要概述。當(dāng)將機(jī)器學(xué)習(xí)應(yīng)用于序列時(shí),我們經(jīng)常希望將輸入序列轉(zhuǎn)換為不同域中的輸出序列。例如,將一系列的聲壓轉(zhuǎn)換成一系列的單詞。

    當(dāng)沒(méi)有單獨(dú)的目標(biāo)序列時(shí),我們可以通過(guò)嘗試預(yù)測(cè)輸入序列中的下一項(xiàng)來(lái)獲得學(xué)習(xí)的信號(hào)。目標(biāo)的輸出序列是提前一步的輸入序列,這似乎比嘗試預(yù)測(cè)圖像中其他像素的一個(gè)像素或圖像其余部分的一個(gè)像素來(lái)的更自然。

    預(yù)測(cè)序列中的下一個(gè)術(shù)語(yǔ)模糊了有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)之間的區(qū)別。它使用專為監(jiān)督學(xué)習(xí)而設(shè)計(jì)的方法,但它不需要單獨(dú)的學(xué)習(xí)信號(hào)。

    無(wú)記憶模型是這個(gè)任務(wù)的標(biāo)準(zhǔn)方法。具體而言,自回歸模型可以從先前固定數(shù)量的術(shù)語(yǔ)中使用“延遲抽頭”來(lái)預(yù)測(cè)序列下一項(xiàng);而前饋神經(jīng)網(wǎng)絡(luò)是使用一層或多層非線性隱藏單元的廣義自回歸模型。

    但是,如果我們給生成模型一些隱藏的狀態(tài),而這個(gè)隱藏的狀態(tài)又有一個(gè)內(nèi)部的動(dòng)態(tài),我們就會(huì)得到一個(gè)更有趣的模型:它可以長(zhǎng)時(shí)間地將信息存儲(chǔ)在隱藏狀態(tài)。

    如果動(dòng)態(tài)是帶噪聲的,那么從隱藏狀態(tài)產(chǎn)生輸出的方式也是帶噪聲的,我們永遠(yuǎn)無(wú)法知道它的確切的隱藏狀態(tài)。我們能夠做的是推斷隱藏狀態(tài)矢量空間的概率分布。這種推斷只適用于兩種隱藏狀態(tài)模型。

    循環(huán)神經(jīng)網(wǎng)絡(luò)是非常強(qiáng)大的,因?yàn)樗鼈兘Y(jié)合了兩個(gè)屬性:

    1) 分布式隱藏狀態(tài):允許網(wǎng)絡(luò)有效地存儲(chǔ)大量有關(guān)過(guò)去的信息;

    2) 非線性動(dòng)態(tài):允許模型能夠以復(fù)雜的方式更新隱藏狀態(tài)。

    有了足夠的神經(jīng)元和時(shí)間,循環(huán)神經(jīng)網(wǎng)絡(luò)能夠計(jì)算任何通過(guò)計(jì)算機(jī)可以計(jì)算出來(lái)的東西。

    那么循環(huán)神經(jīng)網(wǎng)絡(luò)可以展現(xiàn)出什么樣的行為呢?

    它們可以擺動(dòng),可以定點(diǎn)吸引,還可以表現(xiàn)出混亂,而且它們還可以通過(guò)學(xué)習(xí)來(lái)實(shí)現(xiàn)大量的小程序,每個(gè)小程序能夠捕獲一小塊知識(shí)并且并行運(yùn)行,相互作用來(lái)產(chǎn)生非常復(fù)雜的效果。

    然而,循環(huán)神經(jīng)網(wǎng)絡(luò)的計(jì)算能力使得這種網(wǎng)絡(luò)結(jié)構(gòu)很難訓(xùn)練,因?yàn)闀?huì)有梯度爆炸或消失的問(wèn)題。當(dāng)我們通過(guò)多層次的反向傳播時(shí),如果權(quán)重很小,梯度將呈指數(shù)縮小。如果權(quán)重很大,梯度會(huì)呈指數(shù)增長(zhǎng)。

    典型的前饋神經(jīng)網(wǎng)絡(luò)可以應(yīng)付這些梯度的指數(shù)效應(yīng),因?yàn)樗鼈冎挥幸恍╇[藏層。另一方面,在訓(xùn)練長(zhǎng)序列的循環(huán)神經(jīng)網(wǎng)絡(luò)時(shí),梯度很容易爆炸或消失。即使是具有良好的初始權(quán)重的網(wǎng)絡(luò)模型,也很難檢測(cè)到當(dāng)前目標(biāo)輸出對(duì)來(lái)自多個(gè)時(shí)間步驟輸入的依賴,因此循環(huán)神經(jīng)網(wǎng)絡(luò)難以處理遠(yuǎn)程依賴性。

    基本上,有以下四種有效的方法來(lái)學(xué)習(xí)循環(huán)神經(jīng)網(wǎng)絡(luò):

    • 長(zhǎng)短期記憶塊:使循環(huán)神經(jīng)網(wǎng)絡(luò)脫離長(zhǎng)時(shí)間記憶值依賴的小模塊。

    • Hessian Free Optimization:通過(guò)使用優(yōu)化器來(lái)處理消失梯度問(wèn)題,該優(yōu)化器可以檢測(cè)具有微小梯度和更小曲率的方向。

    • 回聲狀態(tài)網(wǎng)絡(luò):初始化輸入 ->隱藏層和隱藏層 ->隱藏層和輸出 ->隱藏連接,可以通過(guò)輸入選擇性地驅(qū)動(dòng)該振蕩器,以便讓隱藏狀態(tài)具有巨大的弱耦合振蕩器。

    • 良好的動(dòng)態(tài)初始化:像回聲狀態(tài)網(wǎng)絡(luò)一樣初始化,然后使用動(dòng)量來(lái)學(xué)習(xí)所有的連接。

    ▌4.長(zhǎng)短期記憶網(wǎng)絡(luò)

    Hochreiter & Schmidhuber (1997) 通過(guò)構(gòu)建長(zhǎng)短期記憶網(wǎng)絡(luò),解決了循環(huán)神經(jīng)網(wǎng)絡(luò)長(zhǎng)時(shí)間記憶)(如數(shù)百步時(shí)間步驟內(nèi))的獲取問(wèn)題。他們使用具有乘法相互作用的邏輯和線性單元來(lái)設(shè)計(jì)存儲(chǔ)器單元。

    每當(dāng)“寫入”門打開時(shí),信息就會(huì)進(jìn)入單元。信息保持在單元中,只要其“保持”門打開。 信息可以通過(guò)打開“讀取”門來(lái)從單元中讀取。

    閱讀草書手寫是循環(huán)神經(jīng)網(wǎng)絡(luò)處理一個(gè)常見(jiàn)任務(wù)。 輸入是筆尖的 (x,y,p) 坐標(biāo)序列,其中p表示筆是向上還是向下。輸出是一個(gè)字符序列。 Graves & Schmidhuber (2009) 表明,帶有長(zhǎng)短期記憶的循環(huán)神經(jīng)網(wǎng)絡(luò)是目前處理草書閱讀的最佳神經(jīng)網(wǎng)絡(luò)系統(tǒng)。 簡(jiǎn)而言之,他們使用一系列小圖像作為輸入而不是筆坐標(biāo)。

    5.Hopfield網(wǎng)絡(luò)

    具有非線性單元的周期性神經(jīng)網(wǎng)絡(luò)通常難以分析。它們可以以許多不同的方式呈現(xiàn):由穩(wěn)定到穩(wěn)定的狀態(tài),中間有振蕩,或者遵循不可預(yù)測(cè)的混沌軌跡。一個(gè)Hopfield網(wǎng)絡(luò)由二元門限單元組成,它們之間有連續(xù)的連接。

    1982年,Hopfield認(rèn)識(shí)到,如果連接是對(duì)稱的,就是一種全能量函數(shù)。整個(gè)網(wǎng)絡(luò)的每個(gè)二進(jìn)制“配置”都具有能量;而二進(jìn)制閾值決策規(guī)則是導(dǎo)致網(wǎng)絡(luò)是根據(jù)這個(gè)能量函數(shù)的最小值而定的。

    利用這種類型進(jìn)行計(jì)算的一種便捷方式是,使用記憶作為神經(jīng)網(wǎng)絡(luò)的能量最小值,使用能量最小值來(lái)表示可訪問(wèn)內(nèi)容的內(nèi)存。一個(gè)項(xiàng)目可以通過(guò)只知道其部分內(nèi)容信息來(lái)訪問(wèn)。這對(duì)硬件的損損傷是巨大的。

    每當(dāng)我們對(duì)配置進(jìn)行一次記憶,我們就希望創(chuàng)造一個(gè)新的能量最小值。但是,如果在中間位置附近有兩個(gè)最小值呢?

    這受限于Hopfield網(wǎng)絡(luò)的容量。那么我們?nèi)绾卧黾親opfield網(wǎng)絡(luò)的容量呢?物理學(xué)家喜歡用他們已經(jīng)知道的數(shù)學(xué)知識(shí)來(lái)解釋大腦是如何工作的。在物理學(xué)期刊上有許多對(duì)Hopfield網(wǎng)絡(luò)及其存儲(chǔ)容量方面進(jìn)行研究的論文。

    最終,Elizabeth Gardner發(fā)現(xiàn)存在一個(gè)更好的存儲(chǔ)規(guī)則,就是使用權(quán)重的全部容量。它是通過(guò)多次循環(huán)訓(xùn)練集,而非一次性存儲(chǔ)向量。并利用感知器的收斂過(guò)程來(lái)訓(xùn)練每個(gè)單元,使其具有正確的狀態(tài),并給定該向量中所有其他單元的狀態(tài)。統(tǒng)計(jì)學(xué)家稱這種技術(shù)為“偽可能性”。

    Hopfield網(wǎng)絡(luò)還有另一個(gè)計(jì)算角色,我們用它來(lái)構(gòu)建感官的輸入解釋?!拜斎搿庇每梢?jiàn)的單元表示,“解釋”用隱藏單元的狀態(tài)表示,解釋的好壞情況用能量表示。

    6.玻爾茲曼機(jī)網(wǎng)絡(luò)

    玻爾茲曼機(jī)是一種隨機(jī)性的循環(huán)神經(jīng)網(wǎng)絡(luò)。它可以被看作是Hopfield網(wǎng)絡(luò)的隨機(jī)生成產(chǎn)物。它是第一個(gè)能夠?qū)W習(xí)內(nèi)部表示的神經(jīng)網(wǎng)絡(luò)之一,能夠表示和解決困難的組合問(wèn)題。

    作為機(jī)器學(xué)習(xí)算法的一種,玻爾茲曼機(jī)的學(xué)習(xí)目標(biāo)是通過(guò)玻爾茲曼機(jī)分配給訓(xùn)練集中的二進(jìn)制向量來(lái)最大化概率的乘積。這相當(dāng)于最大化玻爾茲曼機(jī)分配給訓(xùn)練向量的對(duì)數(shù)概率之和。也就是說(shuō),如果我們做了如下的事情,我們可以得到N個(gè)訓(xùn)練樣本的最大化概率:

    1) 讓網(wǎng)絡(luò)在沒(méi)有外部輸入的情況下,處于不同時(shí)間的穩(wěn)定分布狀態(tài);

    2) 每次采用可見(jiàn)的向量。

    2012年,Salakhutdinov 和 Hinton 提出了玻爾茲曼機(jī)高效的小批量學(xué)習(xí)程序。

    • 正相階段,首先將隱藏概率初始化為0.5,將數(shù)據(jù)向量固定在可見(jiàn)單元上,然后將所有隱藏單元進(jìn)行并行更新,使用平均場(chǎng)更新策略直到最終收斂。在網(wǎng)絡(luò)收斂之后,記錄每個(gè)連接單元對(duì)的PiPj值,并在最小批量中對(duì)所有數(shù)據(jù)進(jìn)行平均化。

    • 負(fù)相階段:首先保留一組“幻想粒子”。每個(gè)粒子的值都是全局配置,然后依次更新每個(gè)幻想粒子中的所有單位,重復(fù)數(shù)次。對(duì)于每一個(gè)連接單位對(duì),平均化所有“幻想粒子”的SiSj值。

    對(duì)于普通的玻爾茲曼機(jī)而言,單元的隨機(jī)更新是需要連續(xù)進(jìn)行的。有一種特殊的體系結(jié)構(gòu)允許波爾茲曼機(jī)交替地并行更新 (層內(nèi)沒(méi)有連接,沒(méi)有跳層連接的結(jié)構(gòu))。這是高效的一種結(jié)構(gòu)。

    這種小批量程序使玻爾茲曼機(jī)器的更新更加并行化,也就是所謂的深玻爾茲曼機(jī),而一個(gè)普通的玻爾茲曼機(jī)會(huì)有很多缺失的連接。

    2014年,Salakhutdinov 和 Hinton 為他們的模型提出了另一個(gè)更新形式,稱之為受限玻爾茲曼機(jī)。他們限制了玻爾茲曼機(jī)的連通性使得模型的推理和學(xué)習(xí)過(guò)程變得更容易 (隱藏單元只有一層,而隱藏單元之間沒(méi)有連接)。在玻爾茲曼機(jī)中,當(dāng)可見(jiàn)單元被固定時(shí),只需要一步就能達(dá)到熱平衡。

    另一種有效的小批量玻爾茲曼機(jī)的學(xué)習(xí)程序是這樣的:

    • 對(duì)于正相階段,首先在可見(jiàn)單元上固定一個(gè)數(shù)據(jù)向量,然后計(jì)算所有可見(jiàn)和隱藏單元對(duì)的 的準(zhǔn)確值。對(duì)于每個(gè)連接的單元對(duì),平均化小批量中所有數(shù)據(jù)的 值。

    • 對(duì)于負(fù)相階段,也要保留一組“幻想粒子”。然后通過(guò)交替式并行更新策略來(lái)更新每個(gè)幻想粒子,重復(fù)數(shù)次。對(duì)于每個(gè)連接的單位對(duì),平均化所有幻想粒子的 值。

    7.深度置信網(wǎng)絡(luò)

    反向傳播被認(rèn)為是人工神經(jīng)網(wǎng)絡(luò)中的一種標(biāo)準(zhǔn)方法,用于在處理完一批數(shù)據(jù)后,計(jì)算出每個(gè)神經(jīng)元對(duì)誤差的貢獻(xiàn)值。

    但是,反向傳播存在一些問(wèn)題。首先,它需要帶標(biāo)記的訓(xùn)練數(shù)據(jù),但幾乎所有的數(shù)據(jù)都是沒(méi)有標(biāo)簽的。其次,學(xué)習(xí)時(shí)間的范圍不夠理想,這意味著隱藏層數(shù)量多的網(wǎng)絡(luò)反向傳播過(guò)程將變得很慢。第三,它可能會(huì)陷入局部最優(yōu)值而無(wú)法達(dá)到全局最優(yōu)狀態(tài)。所以對(duì)于深度神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),這些是遠(yuǎn)遠(yuǎn)不夠的。

    為了克服反向傳播的限制,研究人員已經(jīng)考慮使用無(wú)監(jiān)督的學(xué)習(xí)方法,它將有助于保證使用梯度方法來(lái)調(diào)整權(quán)重的效率和簡(jiǎn)單性,還可以用它來(lái)對(duì)感知輸入的結(jié)構(gòu)進(jìn)行建模。特別是,權(quán)重的調(diào)整可以使得生成模型產(chǎn)生的感知輸入的概率最大化。

    問(wèn)題在于,我們應(yīng)該學(xué)習(xí)什么樣的生成模型?可以建立像玻爾茲曼機(jī)器一樣的能量模型嗎?還是由理想化的神經(jīng)元組成的因果模型?或者兩者混合?

    置信網(wǎng)絡(luò)是一種由隨機(jī)變量組成的有向無(wú)環(huán)圖網(wǎng)絡(luò)模型。使用置信網(wǎng)絡(luò),我們可以觀察到一些變量,我們想要解決2個(gè)問(wèn)題:

    1) 推理問(wèn)題:推斷未觀測(cè)變量的狀態(tài);

    2)學(xué)習(xí)問(wèn)題:調(diào)整變量之間的交互作用,使網(wǎng)絡(luò)更有可能產(chǎn)生訓(xùn)練數(shù)據(jù)。

    早期的圖模型使用專家來(lái)定義圖模型的結(jié)構(gòu)和條件概率。那時(shí),圖模型是稀疏連接的,所以研究人員最初的研究重點(diǎn)是做出正確的推論,而不是學(xué)習(xí)。

    對(duì)于神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),學(xué)習(xí)是重心,手寫知識(shí)并不是最優(yōu)的做法,因?yàn)橹R(shí)可以通過(guò)學(xué)習(xí)訓(xùn)練數(shù)據(jù)得到。神經(jīng)網(wǎng)絡(luò)的目的不在于那些便于推理的可解釋性或稀疏連接性。目前,深度置信網(wǎng)絡(luò)可以來(lái)解決這些問(wèn)題。

    由隨機(jī)的二元神經(jīng)元組成的生成神經(jīng)網(wǎng)絡(luò)有兩種類型:

    1)基于能量的網(wǎng)絡(luò)模型,利用對(duì)稱連接形式來(lái)連接二元隨機(jī)神經(jīng)元,得到玻爾茲曼機(jī);

    2)基于因果關(guān)系的網(wǎng)絡(luò)模型,其中我們連接一個(gè)有向無(wú)環(huán)圖中的二進(jìn)制隨機(jī)神經(jīng)元得到Sigmoid型的深度置信網(wǎng)絡(luò)。

    不過(guò),這兩種類型都超出了本文闡述的范圍。

    8.深度自動(dòng)編碼器

    最后,我們來(lái)討論深度自編碼器。對(duì)于非線性降維,深度自編碼器看起來(lái)是一種非常好的方式,主要是因?yàn)?,它們提供了兩種靈活的映射方式。訓(xùn)練樣本的學(xué)習(xí)時(shí)間是線性的(或更好的形式)。最終的編碼模型也相當(dāng)緊湊和快速。

    然而,使用反向傳播來(lái)優(yōu)化深度自編碼器是非常困難的。在初始權(quán)重較小的情況下,反向傳播過(guò)程中梯度將消失。優(yōu)化辦法就是,要么使用無(wú)監(jiān)督的逐層預(yù)訓(xùn)練,要么像回聲狀態(tài)網(wǎng)絡(luò)那樣小心地初始權(quán)重。

    對(duì)于預(yù)訓(xùn)練任務(wù),實(shí)際上有三種不同類型的淺自動(dòng)編碼器:

    • 用玻爾茲曼機(jī)作為自編碼器:當(dāng)我們用對(duì)比發(fā)散來(lái)訓(xùn)練一個(gè)玻爾茲曼機(jī)時(shí),它試圖進(jìn)行數(shù)據(jù)重建。它就像個(gè)自編碼器一樣,但是它通過(guò)使用隱藏層中的二進(jìn)制激活來(lái)強(qiáng)化正則化過(guò)程。當(dāng)運(yùn)用最大可能性策略訓(xùn)練后,玻爾茲曼機(jī)則不像自編碼器。我們可以用一堆淺自編碼器來(lái)替換用于預(yù)訓(xùn)練的玻爾茲曼機(jī)堆棧;然而,如果淺自編碼器通過(guò)懲罰平方權(quán)重項(xiàng)而被正則化,那么預(yù)訓(xùn)練就不是有效的。

    • 去噪自編碼器:通過(guò)將其許多分量設(shè)置為0 (如dropout,但是用于輸入),將噪聲添加到輸入向量。它們?nèi)匀恍枰亟ㄟ@些組分,因此它們必須提取到輸入之間相關(guān)性的特征。如果我們使用自編碼器堆棧的話,那么預(yù)訓(xùn)練將會(huì)與玻爾茲曼機(jī)預(yù)訓(xùn)練一樣好或者更好。評(píng)估預(yù)訓(xùn)練的過(guò)程也將更簡(jiǎn)單,因?yàn)槲覀兛梢院苋菀椎赜?jì)算目標(biāo)函數(shù)的值。但是它缺乏的是使用玻爾茲曼機(jī)所能獲得的好的變分邊界,但這只是理論上的興趣。

    • 壓縮自動(dòng)編碼器:另一種正則化自編碼器的方法是嘗試使隱藏單元的激活對(duì)輸入盡可能不敏感,但是自編碼器不能忽視這些投入,因?yàn)樗麄儽仨氈亟ㄟ@些輸入。我們通過(guò)懲罰每個(gè)隱藏層的激活相對(duì)于輸入的平方梯度來(lái)達(dá)到這個(gè)目的。在訓(xùn)練開始前,壓縮自編碼器工作得很好,而這種性質(zhì)只傾向于那些對(duì)輸入變化敏感的小部分隱藏單元。

    簡(jiǎn)而言之,現(xiàn)在有很多不同的方法能夠?qū)μ卣鬟M(jìn)行逐層預(yù)訓(xùn)練。對(duì)于沒(méi)有大量標(biāo)記樣本的數(shù)據(jù)集而言,預(yù)訓(xùn)練模型將有助于模型后續(xù)的判別式學(xué)習(xí)。對(duì)于非常大的標(biāo)記數(shù)據(jù)集,使用無(wú)監(jiān)督預(yù)訓(xùn)練對(duì)監(jiān)督學(xué)習(xí)中使用的權(quán)重進(jìn)行初始化并不是必須的,即使對(duì)于深度網(wǎng)絡(luò)也是如此。預(yù)訓(xùn)練是初始化深網(wǎng)權(quán)重的第一個(gè)好方法,但是現(xiàn)在還有其他方法。但是,如果我們把網(wǎng)絡(luò)變得更大,我們將需要再次進(jìn)行預(yù)訓(xùn)練!

    最后的忠告

    神經(jīng)網(wǎng)絡(luò)是有史以來(lái)最棒的編程范例之一。在傳統(tǒng)的編程方法中,我們告訴計(jì)算機(jī)做什么,將大問(wèn)題分解成精確定義的小問(wèn)題,這樣計(jì)算機(jī)可以輕松地執(zhí)行。相比之下,在神經(jīng)網(wǎng)絡(luò)中,我們不告訴計(jì)算機(jī)如何解決問(wèn)題,而讓神經(jīng)網(wǎng)絡(luò)能夠從觀測(cè)數(shù)據(jù)中學(xué)習(xí),找出手頭問(wèn)題的解決辦法。

    今天,深度神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺(jué),語(yǔ)音識(shí)別和自然語(yǔ)言處理等許多重要問(wèn)題上取得了出色的表現(xiàn),它們正在被Google,微軟和Facebook等公司大規(guī)模部署。

    如果想要了解更多,可以下載觀看Geoffrey Hinton的課程!

    作者 | James Le

    原文鏈接:

    https://medium.com/@james_aka_yale/the-8-neural-network-architectures-machine-learning-researchers-need-to-learn-2f5c4e61aeeb

    本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
    打開APP,閱讀全文并永久保存 查看更多類似文章
    猜你喜歡
    類似文章
    你不得不了解的8種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)!
    機(jī)器學(xué)習(xí)研究者需要了解的神經(jīng)網(wǎng)絡(luò)架構(gòu)有哪些?
    機(jī)器學(xué)習(xí)研究人員需要了解的8個(gè)神經(jīng)網(wǎng)絡(luò)架構(gòu)(下)
    深度學(xué)習(xí)鼻祖Geoffrey Hinton幫你入門帶你飛
    神經(jīng)網(wǎng)絡(luò)簡(jiǎn)史
    深度學(xué)習(xí)鼻祖Geoffrey Hinton幫你入門帶你飛 | 雷鋒網(wǎng) | 我的OK記
    更多類似文章 >>
    生活服務(wù)
    分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
    綁定賬號(hào)成功
    后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
    如果VIP功能使用有故障,
    可點(diǎn)擊這里聯(lián)系客服!

    聯(lián)系客服