文章目錄
- 前言
- AlexNet
- 一、網絡的背景
- 二、網絡結構
- 三、網絡的創新
- 3.1 首次使用GPU訓練網絡
- 3.2 使用Relu激活函數
- 3.2.1 sigmoid激活函數和tanh激活函數
- 3.2.1.1 sigmoid激活函數
- 3.2.1.2 tanh激活函數
- 3.3 Relu激活函數
- 3.4 使用LRN局部響應歸一化(已棄用)
- 3.4.1 LRN的定義與起源
- 3.4.2 局部歸一化的動機——側抑制思想
- 3.4.3 LRN的主要思想及操作過程
- 3.4.4 LRN的公式及參數說明
- 3.4.5 LRN的現狀
- 3.5 在全連接層加入Dropout
- 3.5.1 AlexNet中Dropout的使用情況
- 3.5.2 Dropout解決過擬合的原因
- 四、代碼示例
- 總結
前言
在當今蓬勃發展的圖像分類領域,深度學習正以前所未有的速度推動著技術的進步。而在眾多深度學習網絡中,AlexNet宛如一顆璀璨的明星,閃耀著里程碑式的光芒。ImageNet大規模視覺挑戰賽(ILSVRC)作為該領域研究進展的重要標桿,見證了無數網絡的角逐與競爭。2012年,AlexNet憑借其卓越的性能在ILSVRC大賽中脫穎而出,以高出第二名10%的顯著優勢奪冠,將圖像分類的準確率從傳統的70%多大幅提升到80%多,引發了深度學習的浪潮。本文將深入剖析AlexNet網絡,從其誕生背景入手,詳細介紹其網絡結構,并著重探討它在多個方面的創新之處,帶您領略這一經典網絡的獨特魅力和深遠影響。
AlexNet
一、網絡的背景
在圖像分類領域,ImageNet大規模視覺挑戰賽(ILSVRC,即 ImageNet Large Scale Visual Recognition Challenge)是深度學習在圖像分類任務研究方面進展的標桿。
AlexNet網絡參加了 ILSVRC 2012 年大賽,以高出第二名 10% 的性能優勢取得冠軍,將傳統 70% 多的準確率提升到 80% 多。它由 2012 年 ImageNet 競賽冠軍獲得者 Hinton 和他的學生 Alex Krizhevsky 設計。之后,更多更深的神經網絡被提出,掀起了一波深度學習的浪潮,是一個具有里程碑意義的網絡。
論文地址:
NIPS-2012-imagenet-classification-with-deep-convolutional-neural-networks-Paper.pdf
二、網絡結構
網絡結構的圖,如下圖所示:
三、網絡的創新
3.1 首次使用GPU訓練網絡
AlexNet首次運用CUDA加速深度卷積網絡訓練,借助GPU強大的并行計算能力處理神經網絡訓練中的大量矩陣運算。訓練采用兩塊GTX 580 GPU,但單塊GTX 580僅有3GB顯存,限制了可訓練網絡的最大規模。為此,作者將AlexNet分布于兩個GPU上,讓每個GPU顯存存儲一半神經元的參數。
由于GPU之間通信便捷,可直接互相訪問顯存,無需經過主機內存,因此多塊GPU同時使用十分高效。此外,AlexNet在設計上使GPU之間僅在網絡的部分層進行通信,從而控制了通信帶來的性能損耗。
3.2 使用Relu激活函數
在Relu激活函數被提出前,非線性激活函數主要是sigmoid激活函數和tanh激活函數。因此,在介紹Relu激活函數的優勢前,需要先了解這兩種激活函數。
3.2.1 sigmoid激活函數和tanh激活函數
3.2.1.1 sigmoid激活函數
sigmoid激活函數是一種非常受歡迎的神經網絡激活函數,它將函數的輸入轉換成介于0.0和1.0之間的值,大于1.0的輸入被轉換為1.0,小于0.0的值被截斷為0.0。所有可能輸入對應的函數形狀呈現從0到0.5再到1.0的S形。在很長一段時間里,直到20世紀90年代早期,它是神經網絡的默認激活方式。其表達式為:
s i g m o i d ( x ) = 1 1 + e ? x sigmoid(x)=\frac{1}{1 + e^{-x}} sigmoid(x)=1+e?x1?
sigmoid激活函數的輸出不是零中心的(Zero - centered),這會導致優化的效率十分低下。不過,它天然適合做概率值處理,例如用于LSTM中的門控制。
3.2.1.2 tanh激活函數
tanh激活函數是一種形狀類似的非線性激活函數,輸出值介于 - 1.0和1.0之間。在20世紀90年代后期和21世紀初期,由于使用tanh函數的模型更容易訓練,而且往往具有更好的預測性能,因此tanh函數比sigmoid激活函數更受青睞。其表達式為:
t a n h ( x ) = s i n h x c o s h x = e x ? e ? x e x + e ? x tanh(x)=\frac{sinhx}{coshx}=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} tanh(x)=coshxsinhx?=ex+e?xex?e?x?
3.3 Relu激活函數
Relu激活函數相較于sigmoid激活函數和tanh激活函數具有顯著優勢:
- 計算效率高:sigmoid等函數在計算激活值時需進行指數運算,計算量較大;在反向傳播求誤差梯度時,求導涉及除法,計算量也相對大。而Relu激活函數能大幅節省整個過程的計算量。
- 避免信息丟失:sigmoid激活函數和tanh激活函數在接近飽和區時,函數變換緩慢,導數趨于0,會造成信息丟失,進而無法完成深層網絡的訓練。Relu激活函數則不存在這一問題。
在AlexNet神經網絡中,全部使用Relu作為激活函數。
3.4 使用LRN局部響應歸一化(已棄用)
3.4.1 LRN的定義與起源
LRN(局部響應歸一化)最早在AlexNet中被提出,其目的是對卷積(即ReLU激活函數輸出)的值進行局部歸一化。
3.4.2 局部歸一化的動機——側抑制思想
在神經生物學中,存在“側抑制(lateral inhibition)”的概念,即被激活的神經元會抑制其周圍的神經元。而歸一化的目的也是“抑制”,LRN正是借鑒了“側抑制”的思想來實現局部抑制。當使用ReLU激活函數時,這種局部抑制效果顯著。
3.4.3 LRN的主要思想及操作過程
LRN的主要思想是在神經元輸出的局部范圍內進行歸一化操作。通過這種方式,降低激活值較大的神經元對后續神經元的影響,進而減少梯度消失和梯度爆炸的問題。
具體操作如下:對于每個神經元,LRN會先將其輸出在局部范圍內進行加權平均,接著將加權平均值除以一個尺度因子(通常為2),最后對結果取平方根并減去均值,從而得到歸一化后的輸出。
3.4.4 LRN的公式及參數說明
LRN的公式中涉及以下參數:
- x i , j , k , l x_{i,j,k,l} xi,j,k,l?:輸入張量的元素。
- N N N:通道數。
- n n n:LRN的窗口大小。
- α \alpha α、 β \beta β、 k k k:超參數,用于調整歸一化的強度。
3.4.5 LRN的現狀
由于在2015年,“Very Deep Convolutional Networks for Large - Scale Image Recognition”指出LRN方法作用不大,因此這里不再對其參數進行詳細介紹和舉例,僅需了解它是早期用于歸一化的一種解決方案。目前,后續提出的批量歸一化(Batch Normalization)概念更具說服力,歸一化幾乎都采用BatchNorm方法來實現。
3.5 在全連接層加入Dropout
3.5.1 AlexNet中Dropout的使用情況
- 使用位置:在AlexNet中,最后2個全連接層使用了Dropout。原因是全連接層容易過擬合,而卷積層不容易過擬合。需要注意的是,Dropout并非本論文首次提出。
- 參數設置與實現方式:AlexNet設置的dropout參數為0.5,采用的是 Scale at Training 的 Dropout 實現方式。
- 訓練階段:在前向傳播過程中,隨機將一部分神經元的輸出置為零,以此實現Dropout。
- 測試階段:不再使用Dropout,而是在訓練時的基礎上將權重按照訓練時的概率進行縮放,以保證一致性。
3.5.2 Dropout解決過擬合的原因
- 減少過擬合:在標準神經網絡中,網絡可能過度依賴特定神經元,從而導致對訓練數據的過擬合。Dropout通過隨機丟棄神經元,迫使網絡學習對任何單個神經元變化都更具魯棒性的特征表示,進而減少對訓練數據的過度擬合。
- 取平均的作用:訓練過程中,每次丟棄隨機的神經元,使得每次前向傳播相當于訓練不同的子網絡。測試階段不再進行Dropout,保留所有權重,網絡結構變得完整。這相當于在多個不同子網絡中進行訓練,最終的預測結果是對這些子網絡輸出的平均。這種“綜合取平均”的策略有助于減輕過擬合,因為一些互為反向的擬合會相互抵消。
四、代碼示例
代碼下載:AlexNet.7z
總結
本文圍繞AlexNet這一在圖像分類領域具有里程碑意義的網絡展開了全面且深入的分析。首先介紹了AlexNet的誕生背景,它在2012年ILSVRC大賽中的優異表現為深度學習的發展拉開了新的序幕。接著展示了其網絡結構,讓讀者對該網絡有直觀的認識。隨后重點闡述了AlexNet的創新之處,包括首次使用GPU訓練網絡,借助GPU的并行計算能力高效處理矩陣運算;采用Relu激活函數,克服了傳統sigmoid和tanh激活函數的不足,提高了計算效率并避免信息丟失;提出LRN局部響應歸一化(雖已棄用,但為后續歸一化方法提供了思路);在全連接層加入Dropout,有效解決了過擬合問題。盡管隨著技術的發展,一些方法已被更先進的技術所取代,但AlexNet的創新理念和方法為后續深度學習網絡的發展奠定了堅實的基礎,其在圖像分類領域的貢獻不可磨滅。