天天看點

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

> Photo by Pietro Jeng on Unsplash

技術說明,花點時間了解徹底改變深度學習方法的瑣碎技術和神經網絡架構

AlexNet卷積神經網絡(CNN)于2012年問世。從那時起,深度卷積神經網絡的使用猛增到了一些機器學習解決方案都利用深度CNN的地步。

本文将介紹引入AlexNet體系結構的研究論文的基本發現和要點。

在本文中,您可以期待找到以下内容:

· 介紹AlexNet的研究論文的細目

· AlexNet體系結構的插圖

· AlexNet的内層組成表

· 各種技術的解釋,例如辍學,資料增強,規範化等等。

各個級别的機器學習和深度學習從業人員都可以遵循本文介紹的内容。

介紹

AlexNet卷積神經網絡架構在論文"使用深度卷積神經網絡進行ImageNet分類"中進行了介紹。 該論文由Ilya Sutskever的Alex Krizhevsky和深度學習的教父Geoffery Hinton撰寫。

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論
Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論
Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

> left: Alex Krizhevsky, Middle: Ilya Sutskever, Right: Geoffery Hinton

該論文的作者旨在展示圖像分類的瑣碎任務,可以使用深度卷積神經網絡,高效的計算資源和通用的CNN實作技術來解決。

本文證明了由5個卷積層和3個完全連接配接的層組成的深度卷積神經網絡可以有效,準确地對圖像進行分類。

深度卷積神經網絡稱為AlexNet,并在ImageNet大規模視覺識别挑戰賽(ILSVRC 2012競賽)中引入,它為深度學習領域開創了先例。

好時機

在引入AlexNet之前,許多傳統的神經網絡和卷積神經網絡在解決諸如MNIST手寫字元資料集之類的資料集上的圖像分類方面表現良好。 但是,為了解決日常生活中物體的一般圖像分類問題,需要更大的資料集以解決圖像中出現的物體的巨大差異。

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

> MNIST Dataset illustration

通過引入大型資料集(如ImageNet)解決了健壯資料集的不足,該大型資料集包含1500萬張高分辨率圖像中的22,000個類。

引入AlexNet之前的另一個限制是計算機資源。

增加網絡的容量意味着增加網絡中的層和神經元的數量。

當時,用于訓練這樣的網絡的計算資源十分匮乏。 但是,引入優化的GPU使得訓練深層正常神經網絡成為可能。 用于訓練AlexNet CNN架構的特定GPU是NVIDIA GTX 580 3GB GPU。

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

> Nvidia GTX 580

AlexNet架構的獨特特征

整流線性機關(ReLU)

為了訓練神經網絡内的神經元,利用Tanh或S形非線性已成為标準做法,這是goto激活函數,可用來對CNN内的内部神經元激活進行模組化。

AlexNet繼續使用整流線性機關,簡稱ReLU。 ReLU由Vinod Nair和Geoffrey E.Hinton在2010年推出。

ReLu可以描述為對先前卷積層的輸出執行的傳遞函數運算。 ReLu的利用可確定神經元内的值保持為正值,但對于負值,則将其限制為零。

使用ReLu的好處是,與其他标準非線性技術相比,由于梯度下降優化以更快的速度發生,是以可以加快訓練過程。

ReLu層的另一個好處是它在網絡内引入了非線性。 它還消除了連續卷積的關聯性。

GPU

在介紹AlexNet神經網絡架構的原始研究論文中,模型的訓練是利用兩個具有3GB記憶體的GTX 580 GPU進行的。

GPU并行化和分布式訓練是當今非常常用的技術。

根據研究論文提供的資訊,該模型在兩個GPU上進行了訓練,其中一半神經元位于一個GPU上,另一半則在另一個GPU的記憶體中。 GPU彼此通信,而無需通過主機。 GPU之間的通信基于層進行限制; 是以,隻有特定的層可以互相通信。

例如,AlexNet網絡第四層的輸入是從目前GPU上第三層特征圖的一半中獲得的,而另一半的其餘部分則是從第二GPU中獲得的。 本文後面将對此進行更好地說明。

本地響應規範化

規範化采用一組資料點,并将它們放置在可比較的基礎或規模上(這是過于簡單的描述)。

CNN中的批次歸一化(BN)是通過将一批輸入資料轉換為平均值為零且标準偏差為1來标準化和歸一化輸入的技術。

許多人熟悉批處理規範化,但是AlexNet體系結構在網絡中使用了另一種規範化方法:本地響應規範化(LRN)。

undefined

在現代CNN架構中,LRN并未得到廣泛利用,因為還有其他更有效的标準化方法。 雖然,仍可以在某些标準的機器學習庫和架構中找到LRN實作,是以請随時進行實驗。

重疊池

CNN中的池化層實質上将資訊封裝在特征圖中的一組像素或值内,并将它們投影到較小尺寸的網格中,同時反映來自原始像素組的一般資訊。

下圖提供了池化的示例,更具體地說是最大池化。 最大池化是子采樣的一種變體,其中子像素的最大像素值落在池化視窗的接收範圍内。

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

> Max Pooling Illustration by Justin Francis at Oriely

在介紹AlexNet CNN架構的論文中,引入并利用了一種不同的合并方法。 重疊池。 在傳統的池化技術中,從池化視窗的一個中心到另一個中心的跨度被定位為確定來自一個池化視窗的值不在後續池化視窗之内。

與傳統的池化方法相比,重疊池使用的步幅小于池化視窗的尺寸。 這意味着後續合并視窗的輸出封裝了已被合并多次的像素/值中的資訊。 很難看出這樣做的好處,但是根據論文的發現,重疊池降低了模型在訓練期間過拟合的能力。

資料擴充

減少過度适應網絡機會的另一種标準方法是通過資料增強。 通過人為地擴充資料集,您可以增加訓練資料的數量,進而增加了網絡在訓練階段所暴露的資料量。

圖像的增強通常以變換,平移,縮放,裁剪,翻轉等形式出現。

在訓練階段,人為地放大了AlexNet原始論文中用于訓練網絡的圖像。 所使用的增強技術是裁剪和更改圖像中像素的強度。

将訓練集中的圖像從其256 x 256次元中随機裁剪,以獲得新的224 x 224裁剪圖像。

增強為何起作用?

事實證明,随機執行對訓練集的擴充可以顯着降低訓練期間網絡過度拟合的可能性。

增強圖像隻是從原始訓練圖像的内容中得出的,那麼增強為何如此有效?

簡單來說,資料擴充可增加資料集中的不變性,而無需采購新資料。 網絡能夠很好地泛化到看不見的資料集的能力也有所提高。

讓我們舉一個非常真實的例子; "生産"環境中的圖像可能并不完美,有些圖像可能傾斜,模糊或僅包含一些基本特征。 是以,針對包括訓練資料的更健壯變化的資料集訓練網絡将使訓練後的網絡在生産環境中能夠更成功地對圖像進行分類。

Dropout

Dropout是許多深度學習從業人員熟悉的術語。 Dropout是一種用于減少模型過拟合潛力的技術。

Dropout技術是通過向CNN層内的神經元激活添加機率因子來實作的。 該機率因子向神經元訓示了在目前前饋步驟期間以及在反向傳播過程中被激活的機會。

Dropout是有用的,因為它使神經元能夠減少對相鄰神經元的依賴。 是以,每個神經元都會學習更多有用的功能。

在AlexNet架構中,前兩個完全連接配接的層使用了dropout技術。

使用丢失技術的缺點之一是,它增加了網絡收斂所需的時間。

雖然,利用Dropout的優勢遠遠超過了它的劣勢。

AlexNet體系結構

在本節中,我們将了解AlexNet網絡的内部組成。 我們将重點關注與圖層相關的資訊,并細分每個重要圖層的内部屬性。

AlexNet CNN體系結構由8層組成,其中包括5個conv層和3個完全連接配接的層。 卷積層中的一些是卷積層,池化層和規範化層的組合。

AlexNet是第一個采用具有連續卷積層(轉換層3、4和5)的體系結構。

網絡中的最終完全連接配接層包含softmax激活函數,該函數提供一個向量,表示1000個類别上的機率分布。

Softmax激活功能

利用Softmax激活來得出輸入向量内一組數字的機率分布。 softmax激活函數的輸出是一個向量,其中它的一組值表示發生類或事件的機率。 向量中的值總計為1。

除了最後一個完全連接配接的層之外,ReLU激活功能還應用于網絡中包含的其餘層。

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

> Simplified AlexNet Neural Network Multi GPU Architecture

由于該模型是在兩個GTX 580 GPU上訓練的,是以上面的AlexNet網絡的圖示分為兩個分區。 盡管網絡跨兩個GPU進行了劃分,但是從圖中可以看出,在conv3,FC6,FC7和FC8層中可以看到一些交叉的GPU通信。

下表是網絡中各層的某些特征和屬性的細分。

Alexnet_AlexNet帶給了深度學習的世界什麼東西在本文中,您可以期待找到以下内容:介紹好時機AlexNet架構的獨特特征整流線性機關(ReLU)GPU本地響應規範化重疊池資料擴充DropoutAlexNet體系結構Softmax激活功能結論

> AlexNet architecture properties table

在原始紙張中,輸入層的尺寸據說為224 x 224 x 3,但是在上方的表格中,輸入層的輸入尺寸為227 x 227 x 3,差異是由于存在一些 在實際的網絡教育訓練期間發生的未提及的填充,未包含在發表的論文中。

結論

AlexNet的引入和成功改變了深度學習的格局。 在ILSVRC第12屆競賽中取得了驕人的成績之後,接下來幾年獲獎的體系結構都是深度卷積神經網絡。

AlexNet的一種變體以不同的超參數赢得了ILSVRC'13競賽。 2014年,2015年和2016年獲獎的架構是用更深的網絡和更小的卷積核心/過濾器建構的。

了解AlexNet的體系結構非常容易,而且實作起來也更加容易,尤其是使用PyTorch和TensorFlow之類的工具,這些工具在其庫和架構中都包含該體系結構的子產品。

在以後的文章中,我将展示如何使用TensorFlow來實作和利用本文介紹的AlexNet架構。

(本文翻譯自Richmond Alake的文章《What AlexNet Brought To The World Of Deep Learning》,參考:https://towardsdatascience.com/what-alexnet-brought-to-the-world-of-deep-learning-46c7974b46fc)

繼續閱讀