AlexNet架構(gòu)的獨(dú)特特征
整流線性單位(ReLU)
為了訓(xùn)練神經(jīng)網(wǎng)絡(luò)內(nèi)的神經(jīng)元,利用Tanh或S形非線性已成為標(biāo)準(zhǔn)做法,這是goto激活函數(shù),可用來(lái)對(duì)CNN內(nèi)的內(nèi)部神經(jīng)元激活進(jìn)行建模。
AlexNet繼續(xù)使用整流線性單位,簡(jiǎn)稱ReLU。 ReLU由Vinod Nair和Geoffrey E.Hinton在2010年推出。
ReLu可以描述為對(duì)先前卷積層的輸出執(zhí)行的傳遞函數(shù)運(yùn)算。 ReLu的利用可確保神經(jīng)元內(nèi)的值保持為正值,但對(duì)于負(fù)值,則將其限制為零。
使用ReLu的好處是,與其他標(biāo)準(zhǔn)非線性技術(shù)相比,由于梯度下降優(yōu)化以更快的速度發(fā)生,因此可以加快訓(xùn)練過(guò)程。
ReLu層的另一個(gè)好處是它在網(wǎng)絡(luò)內(nèi)引入了非線性。 它還消除了連續(xù)卷積的關(guān)聯(lián)性。
在介紹AlexNet神經(jīng)網(wǎng)絡(luò)架構(gòu)的原始研究論文中,模型的訓(xùn)練是利用兩個(gè)具有3GB內(nèi)存的GTX 580 GPU進(jìn)行的。
GPU并行化和分布式訓(xùn)練是當(dāng)今非常常用的技術(shù)。
根據(jù)研究論文提供的信息,該模型在兩個(gè)GPU上進(jìn)行了訓(xùn)練,其中一半神經(jīng)元位于一個(gè)GPU上,另一半則在另一個(gè)GPU的內(nèi)存中。 GPU彼此通信,而無(wú)需通過(guò)主機(jī)。 GPU之間的通信基于層進(jìn)行限制; 因此,只有特定的層可以相互通信。
例如,AlexNet網(wǎng)絡(luò)第四層的輸入是從當(dāng)前GPU上第三層特征圖的一半中獲得的,而另一半的其余部分則是從第二GPU中獲得的。 本文后面將對(duì)此進(jìn)行更好地說(shuō)明。
本地響應(yīng)規(guī)范化
規(guī)范化采用一組數(shù)據(jù)點(diǎn),并將它們放置在可比較的基礎(chǔ)或規(guī)模上(這是過(guò)于簡(jiǎn)單的描述)。
CNN中的批次歸一化(BN)是通過(guò)將一批輸入數(shù)據(jù)轉(zhuǎn)換為平均值為零且標(biāo)準(zhǔn)偏差為1來(lái)標(biāo)準(zhǔn)化和歸一化輸入的技術(shù)。
許多人熟悉批處理規(guī)范化,但是AlexNet體系結(jié)構(gòu)在網(wǎng)絡(luò)中使用了另一種規(guī)范化方法:本地響應(yīng)規(guī)范化(LRN)。
undefined
在現(xiàn)代CNN架構(gòu)中,LRN并未得到廣泛利用,因?yàn)檫€有其他更有效的標(biāo)準(zhǔn)化方法。 雖然,仍可以在某些標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)庫(kù)和框架中找到LRN實(shí)現(xiàn),因此請(qǐng)隨時(shí)進(jìn)行實(shí)驗(yàn)。
重疊池
CNN中的池化層實(shí)質(zhì)上將信息封裝在特征圖中的一組像素或值內(nèi),并將它們投影到較小尺寸的網(wǎng)格中,同時(shí)反映來(lái)自原始像素組的一般信息。
下圖提供了池化的示例,更具體地說(shuō)是最大池化。 最大池化是子采樣的一種變體,其中子像素的最大像素值落在池化窗口的接收范圍內(nèi)。
》 Max Pooling Illustration by Justin Francis at Oriely
在介紹AlexNet CNN架構(gòu)的論文中,引入并利用了一種不同的合并方法。 重疊池。 在傳統(tǒng)的池化技術(shù)中,從池化窗口的一個(gè)中心到另一個(gè)中心的跨度被定位為確保來(lái)自一個(gè)池化窗口的值不在后續(xù)池化窗口之內(nèi)。
與傳統(tǒng)的池化方法相比,重疊池使用的步幅小于池化窗口的尺寸。 這意味著后續(xù)合并窗口的輸出封裝了已被合并多次的像素/值中的信息。 很難看出這樣做的好處,但是根據(jù)論文的發(fā)現(xiàn),重疊池降低了模型在訓(xùn)練期間過(guò)擬合的能力。
數(shù)據(jù)擴(kuò)充
減少過(guò)度適應(yīng)網(wǎng)絡(luò)機(jī)會(huì)的另一種標(biāo)準(zhǔn)方法是通過(guò)數(shù)據(jù)增強(qiáng)。 通過(guò)人為地?cái)U(kuò)充數(shù)據(jù)集,您可以增加訓(xùn)練數(shù)據(jù)的數(shù)量,從而增加了網(wǎng)絡(luò)在訓(xùn)練階段所暴露的數(shù)據(jù)量。
圖像的增強(qiáng)通常以變換,平移,縮放,裁剪,翻轉(zhuǎn)等形式出現(xiàn)。
在訓(xùn)練階段,人為地放大了AlexNet原始論文中用于訓(xùn)練網(wǎng)絡(luò)的圖像。 所使用的增強(qiáng)技術(shù)是裁剪和更改圖像中像素的強(qiáng)度。
將訓(xùn)練集中的圖像從其256 x 256維度中隨機(jī)裁剪,以獲得新的224 x 224裁剪圖像。
增強(qiáng)為何起作用?
事實(shí)證明,隨機(jī)執(zhí)行對(duì)訓(xùn)練集的擴(kuò)充可以顯著降低訓(xùn)練期間網(wǎng)絡(luò)過(guò)度擬合的可能性。
增強(qiáng)圖像只是從原始訓(xùn)練圖像的內(nèi)容中得出的,那么增強(qiáng)為何如此有效?
簡(jiǎn)單來(lái)說(shuō),數(shù)據(jù)擴(kuò)充可增加數(shù)據(jù)集中的不變性,而無(wú)需采購(gòu)新數(shù)據(jù)。 網(wǎng)絡(luò)能夠很好地泛化到看不見(jiàn)的數(shù)據(jù)集的能力也有所提高。
讓我們舉一個(gè)非常真實(shí)的例子; “生產(chǎn)”環(huán)境中的圖像可能并不完美,有些圖像可能傾斜,模糊或僅包含一些基本特征。 因此,針對(duì)包括訓(xùn)練數(shù)據(jù)的更健壯變化的數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò)將使訓(xùn)練后的網(wǎng)絡(luò)在生產(chǎn)環(huán)境中能夠更成功地對(duì)圖像進(jìn)行分類。
Dropout
Dropout是許多深度學(xué)習(xí)從業(yè)人員熟悉的術(shù)語(yǔ)。 Dropout是一種用于減少模型過(guò)擬合潛力的技術(shù)。
Dropout技術(shù)是通過(guò)向CNN層內(nèi)的神經(jīng)元激活添加概率因子來(lái)實(shí)現(xiàn)的。 該概率因子向神經(jīng)元指示了在當(dāng)前前饋步驟期間以及在反向傳播過(guò)程中被激活的機(jī)會(huì)。
Dropout是有用的,因?yàn)樗股窠?jīng)元能夠減少對(duì)相鄰神經(jīng)元的依賴。 因此,每個(gè)神經(jīng)元都會(huì)學(xué)習(xí)更多有用的功能。
在AlexNet架構(gòu)中,前兩個(gè)完全連接的層使用了dropout技術(shù)。
使用丟失技術(shù)的缺點(diǎn)之一是,它增加了網(wǎng)絡(luò)收斂所需的時(shí)間。
雖然,利用Dropout的優(yōu)勢(shì)遠(yuǎn)遠(yuǎn)超過(guò)了它的劣勢(shì)。
AlexNet體系結(jié)構(gòu)
在本節(jié)中,我們將了解AlexNet網(wǎng)絡(luò)的內(nèi)部組成。 我們將重點(diǎn)關(guān)注與圖層相關(guān)的信息,并細(xì)分每個(gè)重要圖層的內(nèi)部屬性。
AlexNet CNN體系結(jié)構(gòu)由8層組成,其中包括5個(gè)conv層和3個(gè)完全連接的層。 卷積層中的一些是卷積層,池化層和規(guī)范化層的組合。
AlexNet是第一個(gè)采用具有連續(xù)卷積層(轉(zhuǎn)換層3、4和5)的體系結(jié)構(gòu)。
網(wǎng)絡(luò)中的最終完全連接層包含softmax激活函數(shù),該函數(shù)提供一個(gè)向量,表示1000個(gè)類別上的概率分布。
Softmax激活功能
利用Softmax激活來(lái)得出輸入向量?jī)?nèi)一組數(shù)字的概率分布。 softmax激活函數(shù)的輸出是一個(gè)向量,其中它的一組值表示發(fā)生類或事件的概率。 向量中的值總計(jì)為1。
除了最后一個(gè)完全連接的層之外,ReLU激活功能還應(yīng)用于網(wǎng)絡(luò)中包含的其余層。
》 Simplified AlexNet Neural Network Multi GPU Architecture
由于該模型是在兩個(gè)GTX 580 GPU上訓(xùn)練的,因此上面的AlexNet網(wǎng)絡(luò)的圖示分為兩個(gè)分區(qū)。 盡管網(wǎng)絡(luò)跨兩個(gè)GPU進(jìn)行了劃分,但是從圖中可以看出,在conv3,F(xiàn)C6,F(xiàn)C7和FC8層中可以看到一些交叉的GPU通信。
下表是網(wǎng)絡(luò)中各層的某些特征和屬性的細(xì)分。
》 AlexNet architecture properties table
在原始紙張中,輸入層的尺寸據(jù)說(shuō)為224 x 224 x 3,但是在上方的表格中,輸入層的輸入尺寸為227 x 227 x 3,差異是由于存在一些 在實(shí)際的網(wǎng)絡(luò)培訓(xùn)期間發(fā)生的未提及的填充,未包含在發(fā)表的論文中。
評(píng)論
查看更多