現(xiàn)代機(jī)器學(xué)習(xí) 課件 第14章 膠囊網(wǎng)絡(luò)_第1頁
現(xiàn)代機(jī)器學(xué)習(xí) 課件 第14章 膠囊網(wǎng)絡(luò)_第2頁
現(xiàn)代機(jī)器學(xué)習(xí) 課件 第14章 膠囊網(wǎng)絡(luò)_第3頁
現(xiàn)代機(jī)器學(xué)習(xí) 課件 第14章 膠囊網(wǎng)絡(luò)_第4頁
現(xiàn)代機(jī)器學(xué)習(xí) 課件 第14章 膠囊網(wǎng)絡(luò)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第14章膠囊網(wǎng)絡(luò)14.1膠囊網(wǎng)絡(luò)簡介14.2膠囊的定義14.3膠囊網(wǎng)絡(luò)的結(jié)構(gòu)14.4動態(tài)路由算法14.5膠囊網(wǎng)絡(luò)的損失函數(shù)14.6膠囊網(wǎng)絡(luò)典型算法14.7膠囊網(wǎng)絡(luò)的應(yīng)用本章小結(jié)

14.1膠囊網(wǎng)絡(luò)簡介在膠囊網(wǎng)絡(luò)結(jié)構(gòu)中,膠囊是一組神經(jīng)元,其活動向量代表特定類型實體的實例化參數(shù)?;顒酉蛄康拈L度表示實體存在的概率,所以其數(shù)值必須在0到1之間,用向量方向來表示姿勢(位置、大小、方向)、速度、色調(diào)、紋理等姿態(tài)信息。并且膠囊網(wǎng)絡(luò)通過保持向量方向不變,縮小其長度的非線性方法來確保膠囊向量的輸出長度不超過1。相比于卷積神經(jīng)網(wǎng)絡(luò),膠囊網(wǎng)絡(luò)有更好的特征提取能力和泛化能力,適用于小樣本問題。膠囊網(wǎng)絡(luò)以簡單的結(jié)構(gòu)、更少的網(wǎng)絡(luò)層數(shù)達(dá)到了更好的泛化效果。

通過膠囊網(wǎng)絡(luò),詳細(xì)的姿態(tài)信息(如相對位置、旋轉(zhuǎn)、

厚度、傾斜、大小等)被保存。此外,在卷積神經(jīng)網(wǎng)絡(luò)中使用池化操作會丟失很多重要的信息,因為只有最活躍的神經(jīng)元才能被選出來傳遞給下一層,這也是空間信息丟失的原因。例如圖14.1,盡管這看起來并不是一張人臉圖,但它的每一個部分都是正確的。人類很容易認(rèn)識到這不是一張正確的臉,但卷積神經(jīng)網(wǎng)絡(luò)很難判斷這張臉不是真的,因為它只尋找圖像中的特征,而并沒有關(guān)注這些特征的姿態(tài)信息。圖14.1一張錯誤的人臉圖

針對上述卷積神經(jīng)網(wǎng)絡(luò)丟失信息的問題,膠囊網(wǎng)絡(luò)的解決方法是:用向量來表示特征,向量的模表示特征存在的概率,向量的方向表示特征的姿態(tài)信息。膠囊網(wǎng)絡(luò)的工作原理可

以概括為:所有關(guān)于特征狀態(tài)的重要信息都將以向量的形式封裝于膠囊中。

膠囊網(wǎng)絡(luò)的主要優(yōu)勢如下:

(1)膠囊網(wǎng)絡(luò)的引入使模型充分利用空間關(guān)系,將數(shù)據(jù)關(guān)系編碼成活動向量而不是標(biāo)量,其長度和方向分別表示物體存在的概率和物體的姿態(tài)參數(shù)。

(2)膠囊網(wǎng)絡(luò)通常僅由3層網(wǎng)絡(luò)構(gòu)成,顯著降低了網(wǎng)絡(luò)復(fù)雜度,并獲得高精度的分類效果。

(3)實現(xiàn)了一種動態(tài)路由協(xié)議,在兩層之間加強(qiáng)緊密聯(lián)系的膠囊之間的權(quán)重,減小聯(lián)系不緊密的膠囊之間的權(quán)重,通過這種動態(tài)路由來捕獲部分整體關(guān)系。

(4)與CNN輸出標(biāo)量不同,膠囊網(wǎng)絡(luò)輸出活動向量,用向量對實例參數(shù)建模,實現(xiàn)更精細(xì)的特征提取。

14.2膠囊的定義

膠囊作為一組神經(jīng)元,其輸出向量表示了特定物體的實例化參數(shù)。向量的長度代表了物體存在的概率,方向表示了實例化參數(shù)。同一層級的膠囊通過變換矩陣預(yù)測更高級別膠囊的實例化參數(shù)。因為膠囊是用一組向量來代替神經(jīng)網(wǎng)絡(luò)中的單個神經(jīng)元的,因此,膠囊網(wǎng)絡(luò)中的每一層神經(jīng)網(wǎng)絡(luò)都包含幾個基本的膠囊單元,它們與上層網(wǎng)絡(luò)中的膠囊交互傳遞信息。

一個膠囊的輸出是一個向量,同一層的膠囊通過轉(zhuǎn)換矩陣對更高級膠囊的實例化參數(shù)進(jìn)行預(yù)測。當(dāng)多個預(yù)測一致時,一個更高級別的膠囊就會被激活。這種“協(xié)議路由”比最大池化這種非常原始的路由形式有效得多,因為最大池化僅關(guān)注下一層中最活躍的特征而忽略其余特征。

一般來說,神經(jīng)網(wǎng)絡(luò)隱藏層中的所有數(shù)據(jù)都稱為網(wǎng)絡(luò)的神經(jīng)元。在卷積神經(jīng)網(wǎng)絡(luò)中,這些神經(jīng)元以特征圖的形式參與運(yùn)算,通過對輸入圖像進(jìn)行卷積得到特征圖。多個特征圖

形成一個隱藏層,通過卷積運(yùn)算,可以從較淺的隱藏層得到較深的隱藏層。

深、淺隱藏層之間的關(guān)系通過卷積運(yùn)算確定,由卷積算子“滑動”到每個完整的特征圖中完成。因此可以說深隱藏層與淺隱藏層之間的關(guān)系是靜態(tài)聯(lián)系。而膠囊網(wǎng)絡(luò)可以看成是卷積神經(jīng)網(wǎng)絡(luò)的一個變種。在膠囊網(wǎng)絡(luò)中,將一個膠囊定義為一組神經(jīng)元,這些神經(jīng)元可以是一個向量,也可以是一個矩陣。多個膠囊構(gòu)成一個隱藏層,兩個隱藏層之間的關(guān)系由動態(tài)路由算法確定。與卷積神經(jīng)網(wǎng)絡(luò)隱藏層的特征映射不同,膠囊的組成是靈活的。動態(tài)路由算法不通過模板計算,而是計算兩個隱藏層中每個膠囊之間的關(guān)系。動態(tài)路由算法實現(xiàn)了深、淺隱藏層之間的動態(tài)連接,使模型能夠自動選擇更有效的膠囊,提高了模型的性能。

14.3膠囊網(wǎng)絡(luò)的結(jié)構(gòu)

以MNIST數(shù)據(jù)集為例,如圖14.2和圖14.3所示,整個結(jié)構(gòu)分為兩部分:編碼器和解碼器。編碼器用于獲取圖像輸入,旨在從數(shù)據(jù)中提取有助于分類任務(wù)的相關(guān)特征,提供最準(zhǔn)確和有用的信息,提高網(wǎng)絡(luò)的可靠性。解碼器用于改進(jìn)網(wǎng)絡(luò)參數(shù)的微調(diào)過程。編碼器分為三個部分:普通卷積層、初級膠囊層、密集膠囊層。圖14.2膠囊網(wǎng)絡(luò)的編碼器圖14.3膠囊網(wǎng)絡(luò)的解碼器

普通卷積層L1:是模型的第一層,用來準(zhǔn)備數(shù)據(jù),其目標(biāo)是將輸入數(shù)據(jù)排列成輸入到后續(xù)膠囊層的特征,應(yīng)用卷積濾波器,然后進(jìn)行批歸一化處理,利用整流線性單元

(RectifiedLinearUnit,ReLU)激活函數(shù)得到輸出特征立方體。

初級膠囊層L2:輸入為L1層的輸出,由若干個膠囊組成,每個膠囊由若干個膠囊單元組成。膠囊輸出激活向量,使其能探測到類別特征及特征的各種變化,使得網(wǎng)絡(luò)具有等變化特性。這些輸出向量提供了一種更通用的數(shù)據(jù)結(jié)構(gòu),每個向量代表輸入數(shù)據(jù)的不同特征,使得數(shù)據(jù)的附加細(xì)節(jié)(例如方向、顏色或相對位置)等詳細(xì)信息可以被保存,這是膠囊網(wǎng)絡(luò)不同于標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)模型的地方。用輸出向量的方向代表實例參數(shù),模代表尋找的類別特征包含在輸入數(shù)據(jù)中的概率。使用非線性squashing函數(shù)(后面介紹)將激活向量的模壓縮至0到1之間,同時保持激活向量的方向不變。

密集膠囊層L3:與L2之間通過動態(tài)路由連接,按指定路線在兩層的膠囊之間傳輸信息。兩層的膠囊之間存在一些高度相似的連接,動態(tài)路由算法還通過加強(qiáng)這樣的連接,并刪除弱連接來捕捉數(shù)據(jù)關(guān)系。L2層膠囊將其輸出乘上權(quán)重矩陣來計算預(yù)測向量。如果預(yù)測向量與L3層膠囊的輸出具有較大的積,則通過自頂向下的反饋,實現(xiàn)增加此膠囊與L3層膠囊的耦合系數(shù),減小其他膠囊耦合系數(shù)的效果。動態(tài)路由算法模擬了人類大腦中負(fù)責(zé)視覺感知和理解的神經(jīng)元之間的分層通信,具體步驟見14.4節(jié)。

相比于編碼器,解碼器的目的是改進(jìn)網(wǎng)絡(luò)參數(shù)的微調(diào)過程。解碼器以編碼器的輸出為輸入,通過若干個全連接層生成與原圖尺寸相同的特征圖。解碼器用于指導(dǎo)網(wǎng)絡(luò)參數(shù)的微

調(diào),如圖14.4所示是膠囊網(wǎng)絡(luò)的解碼器重建的MNIST數(shù)據(jù)。由圖可以看出,解碼器保留了輸入數(shù)據(jù)中重要的細(xì)節(jié)。圖14.4膠囊網(wǎng)絡(luò)的解碼器生成的MNIST數(shù)據(jù)

14.4動態(tài)路由算法

在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)里,一個神經(jīng)元一般會進(jìn)行如下的標(biāo)量操作:(1)輸入標(biāo)量并對標(biāo)量加權(quán);(2)對加權(quán)后的標(biāo)量求和;(3)對上一步的加權(quán)求和結(jié)果進(jìn)行非線性變換,生成新標(biāo)量。

其中,cij是由動態(tài)路由迭代過程確定的耦合系數(shù),且膠囊i與第l+1層中所有膠囊之間的耦合系數(shù)總和為1。cij通過對bij進(jìn)行“routingsoftmax計算”來確定,即

其中,bij是膠囊i應(yīng)耦合到膠囊j的對數(shù)先驗概率,其初始值為0。圖14.5動態(tài)路由算法

14.5膠囊網(wǎng)絡(luò)的損失函數(shù)

14.5.1編碼器的損失函數(shù)編碼器的最后一層密集膠囊層的主要目標(biāo)是獲得與圖像類別數(shù)nclasses相同個數(shù)的活動向量vi,i=1,2,…,nclasses。因此對于每個輸入數(shù)據(jù)集,可通過膠囊網(wǎng)絡(luò)均獲得一組nclasses個活動向量,其中vi是第i類的膠囊,‖vi‖是預(yù)測輸入數(shù)據(jù)屬于第i類的概率。網(wǎng)絡(luò)的損失可以用如下?lián)p失函數(shù)來計算:

14.5.2解碼器的損失函數(shù)

解碼器網(wǎng)絡(luò)由幾個全連接層組合而成,重建損失用來鼓勵膠囊對輸入數(shù)據(jù)的實例化參數(shù)進(jìn)行編碼。損失函數(shù)如下:

其中:X代表膠囊網(wǎng)絡(luò)的原始輸入數(shù)據(jù);X'代表解碼器重建的數(shù)據(jù)。

綜上,膠囊網(wǎng)絡(luò)的損失函數(shù)是

其中,θ是正則化因子,用于平衡兩個損失度量之間的權(quán)重。為了給重建損失分配適當(dāng)?shù)臋?quán)重,θ一般設(shè)置:θ=0.0005·nclasses。

14.6膠囊網(wǎng)絡(luò)典型算法

14.6.1CapsuleGAN生成對抗網(wǎng)絡(luò)主要用于建模圖像數(shù)據(jù)和相關(guān)屬性的分布,以及其他基于圖像的應(yīng)用,如圖像到圖像翻譯和由文字描述生成圖像。生成器和判別器通常被建模為依據(jù)DCGAN指導(dǎo)的深層卷積神經(jīng)網(wǎng)絡(luò)。受到膠囊網(wǎng)絡(luò)在CNN方面的優(yōu)越表現(xiàn)驅(qū)動,CapsuleGAN設(shè)計了在生成對抗網(wǎng)絡(luò)判別器中使用膠囊層替代卷積層的框架,膠囊網(wǎng)絡(luò)在此處執(zhí)行的是二分類任務(wù)。

CapsuleGAN判別器在結(jié)構(gòu)上與CapsNet模型類似。一般而言,CapsNet具有大量的參數(shù),因為每個膠囊產(chǎn)生一個向量輸出而不是單個標(biāo)量;其次,每個膠囊都有與它上一層的所有膠囊相關(guān)聯(lián)的附加參數(shù),用于對其輸出進(jìn)行預(yù)測。但是,有必要使CapsuleGAN的判別器保持較少的參數(shù)量,原因有兩個:

(1)CapsNet是非常強(qiáng)大的模型,很容易在訓(xùn)練過程中過早地開始對生成器進(jìn)行嚴(yán)厲懲罰,這會導(dǎo)致生成器完全失效或遭受模式崩潰。

(2)動態(tài)路由算法的運(yùn)行速度很慢。

CapsuleGAN判別器的最后一層包含一個膠囊,其長度表示判別器的輸入是真實圖像的概率。由于邊際損失更適合訓(xùn)練CapsNet,因此用邊際損失Lmargin替代傳統(tǒng)的二元交叉熵

損失來訓(xùn)練CapsuleGAN。CapsuleGAN的目標(biāo)函數(shù)為

圖14.6所示是用MNIST數(shù)據(jù)集分別訓(xùn)練原始生成對抗網(wǎng)絡(luò)和CapsuleGAN的生成圖像比較。由圖可以看出,CapsuleGAN和標(biāo)準(zhǔn)卷積GAN都能產(chǎn)生質(zhì)量相當(dāng)?shù)那逦鷪D像。然而,使用GAN生成的圖像網(wǎng)格在生成的數(shù)字類別方面似乎多樣性不足。圖14.6隨機(jī)生成的MNIST圖片

14.6.2Deep-Conv-Capsule

1.一維深度膠囊網(wǎng)絡(luò)

如圖14.7所示,第一層是輸入層,將輸入的高光譜圖像應(yīng)用主成分分析降維至m個主成分,并提取每個像素點的光譜向量,第二層和第三層是普通的卷積層(用于獲取非線性的

特征圖),第四層是第一個膠囊層(膠囊層每個通道會輸出多個特征圖,而不是一個特征圖,膠囊內(nèi)部包含多個膠囊單元,特征圖數(shù)量由每個膠囊的膠囊單元個數(shù)決定),第五層是卷積膠囊層,最后是全類膠囊層。第四層和第五層,以及第五層和第六層之間使用前文所述的動態(tài)路由算法連接。由圖14.7可知,一維膠囊網(wǎng)絡(luò)只使用光譜信息。圖14.7一維深度膠囊網(wǎng)絡(luò)結(jié)構(gòu)圖

2.三維深度膠囊網(wǎng)絡(luò)

如圖14.8所示,首先使用EMAP算法降維,并提取每個像素點及其鄰域像素點所組成的空間塊。與一維深度膠囊網(wǎng)絡(luò)類似,三維深度膠囊網(wǎng)絡(luò)也有六層,即輸入層、兩個卷積層和三個連續(xù)的膠囊層。兩個卷積層作為局部特征檢測器,再采用類似于一維深度膠囊網(wǎng)絡(luò)的膠囊層進(jìn)一步提取特征。在最后兩個膠囊層中,使用動態(tài)路由算法來計算卷積膠囊層和膠囊分類層的輸出。與一維深度膠囊網(wǎng)絡(luò)不同,三維深度膠囊網(wǎng)絡(luò)的輸入數(shù)據(jù)由一維光譜信息轉(zhuǎn)變?yōu)槿S空譜信息,由一維卷積運(yùn)算轉(zhuǎn)換為三維卷積運(yùn)算。三維深度膠囊網(wǎng)絡(luò)使用ReLU作為激活函數(shù),同時采用批歸一化算法來緩解過擬合問題,提高分類精度。圖14.8三維深度膠囊網(wǎng)絡(luò)結(jié)構(gòu)圖

14.6.3FasterMS-CapsNet

膠囊網(wǎng)絡(luò)在各種視覺任務(wù)上展示出了強(qiáng)大的性能。然而,傳統(tǒng)的膠囊網(wǎng)絡(luò)的膠囊層存在參數(shù)冗余度高的問題?;诎硕染矸e的快速多尺度膠囊網(wǎng)絡(luò)就基于此問題設(shè)計,并用于高光譜圖像分類。首先,FasterMS-CapsNet算法利用并行卷積設(shè)計了多個不同大小的核來提取深度多尺度特征,并且為了有效地減少參數(shù)冗余,達(dá)到較高的精度,在膠囊層中使用八度卷積(OctaveConvolution,OctConv)代替了傳統(tǒng)卷積,提高了膠囊層的精度。其結(jié)構(gòu)如圖14.9所示。圖14.9快速多尺度膠囊網(wǎng)絡(luò)結(jié)構(gòu)圖

14.6.4MS-CapsNet

膠囊網(wǎng)絡(luò)在圖像分類中取得了明顯的效果,但原始的膠囊網(wǎng)絡(luò)不適用于檢測一些內(nèi)部表征較為復(fù)雜的分類任務(wù),基于此問題,多尺度膠囊網(wǎng)絡(luò)(MS-CapsNet)被提出。該模型對數(shù)據(jù)的處理主要包括兩個階段:第一階段通過多尺度特征提取得到結(jié)構(gòu)信息和語義信息;第二階段將特征的層次編碼到多維初級膠囊中。此外,該方法還提出了一種改進(jìn)的Dropout操作來增強(qiáng)膠囊網(wǎng)絡(luò)的魯棒性。

如圖14.10所示,MS-CapsNet層次較淺,包含了兩個卷積層和一個全連接層。第一層是標(biāo)準(zhǔn)的卷積層,第二層是多尺度′膠囊編碼單元,最后一層是密集膠囊層,輸出所預(yù)測的類別。多尺度膠囊編碼單元和密集膠囊層之間由前文所述的動態(tài)路由算法連接,網(wǎng)絡(luò)的損失函數(shù)和原始膠囊網(wǎng)絡(luò)的邊際損失相同,用來完成多類分類。圖14.10MS-CapsNet結(jié)構(gòu)圖

1.多尺度膠囊編碼單元

膠囊即膠囊網(wǎng)絡(luò)中的一組神經(jīng)元,是一個同時具有方向和長度的向量。膠囊的方向檢測實體的特性,例如方向和位置;膠囊的長度表示實體存在的概率。

如圖14.11所示,多尺度膠囊編碼單元對數(shù)據(jù)的處理包括兩個階段。

通過對三個分支的使用,可得到多維初級膠囊,再通過不同的權(quán)重矩陣計算預(yù)測向量,公式如下:圖14.11多尺度膠囊編碼單元結(jié)構(gòu)

2.膠囊Dropout

Dropout通過使一些隱藏單元失效來緩解網(wǎng)絡(luò)過擬合。在膠囊網(wǎng)絡(luò)中,每個膠囊都是一個向量,Dropout必須丟棄一個向量而不是向量中的一些元素,如圖14.12所示。圖14.12膠囊Dropout

14.7膠囊網(wǎng)絡(luò)的應(yīng)用

14.7.1醫(yī)學(xué)圖像由于計算量的限制,膠囊網(wǎng)絡(luò)模型尚未應(yīng)用于大規(guī)模圖像分類任務(wù)。然而因為其優(yōu)良的性能,膠囊網(wǎng)絡(luò)在小樣本圖像分類中得到了很好的應(yīng)用。腦瘤被認(rèn)為是兒童和成人中最致命和最常見的癌癥之一。因此,在早期確定正確的腦瘤類型對于制定精確的治療方案和預(yù)測患者對所采用治療方案的反應(yīng)具有重要意義。

14.7.2關(guān)系抽取

從一個句子中揭示重疊的多重關(guān)系是一個具有挑戰(zhàn)性的任務(wù)。當(dāng)前大多數(shù)神經(jīng)網(wǎng)絡(luò)模型的工作都繁瑣地假設(shè)每個句子被明確地映射為一個特定的關(guān)系標(biāo)簽,由于關(guān)系的重疊特

征被忽略或很難識別而不能正確處理多個關(guān)系。為了解決這一新問題,基于膠囊網(wǎng)絡(luò)的多標(biāo)記關(guān)系抽取方法被提出。該方法比現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)或遞歸網(wǎng)絡(luò)在識別單個句子中高

度重疊的關(guān)系方面表現(xiàn)得更好。為了更好地對特征進(jìn)行聚類和精確提取關(guān)系,該方法設(shè)計了基于注意機(jī)制的路由算法和滑動邊際損失函數(shù),并將其嵌

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論