AlexNet:ImageNet Classification with Deep Convolutional Neural Networks

AlexNet

在這裏插入圖片描述
這個神經網絡有6000萬參數,和650000個神經元,包含5個卷積層(某些卷積層後面帶有池化層)和3個全連接層,最後一個是1000維的softmax。
爲了防止過擬合,使用了dropout的正則化方法。
使用了120萬高分辨率圖像分到1000個不同的類別中。
使用了非飽和的神經元並對卷積操作進行了非常有效的GPU實現。

cnn的前面部分,卷積-激活函數-降採樣-標準化。

數據:

數據處理:
因爲系統要求不變的輸入維度,因此我們將圖像進行下采樣到固定的256*256分辨率。
給定一個矩形圖像,我們首先縮放圖像短邊爲256,然後從結果圖像中裁剪中心的256*256
大小的圖像塊。減去RGB三個通道每個像素點在整個訓練的均值。

訓練數據處理過程:
首先隨機截取224*224大小的圖像,取鏡像(水平翻轉),這樣可以使原數據量增加(256-224)*(256-224)*2 的倍數,(可能有點問題,類比於2*2取1*1,應該是(256-224+1)*(256-224+1)*2)。不然在原來的網絡上容易過擬合,我們就只能使用更小的網絡。

測試圖片處理方式:
抽取圖像4個角和中心的224*224大小的圖像,以及鏡像反轉,共10張圖像,利用softmax進行預測,對所有預測取平均作爲最終的分類結果。

權重初始化方式:
我們用一個均值爲0,標準差爲0.01的高斯分佈初始化了每一層的權重,用常數1初始化了第2,4,5卷積層以及全連接層的神經元偏差。該初始化通過提供帶正輸入的ReLU來加速學習的初級階段。我們在其餘層用常數0初始化神經元偏差。

訓練過程:
AlexNet使用了mini-batch SGD,batch的大小爲128,梯度下降的算法使用了momentum,參數爲0.9,加入了L2正則化,權重衰減,參數爲0.0005.
對所有層都使用相等的學習率,這在整個訓練過程中時手動調整的。
啓發是,驗證誤差在當前學習率不再下降時,就將學習率除以10.
學習率初始化爲0.01,在訓練結束前共減少3次。

相比於前人的進步

1.使用了ReLU代替了Sigmoid,其能更快的訓練,同時解決Sigmoid在訓練較深的網絡中出現的梯度消失問題。
2.成功將dropout應用於實踐,隨機dropout一些神經元,以避免過擬合。
3.在以前的CNN中普遍使用平均池化層,在這使用最大池化層,避免了平均池化層的模糊化的效果,並且步長比池化的核的尺寸小,這樣池化層的輸出之間有重疊,獲得了更多的感受野之間的依賴關係的信息,提升了特徵的豐富性。缺點:增加了計算量,帶來了部分信息的冗餘。
4.提出LRN層,局部響應歸一化,對局部神經元創建了競爭的機制,使得其中響應較大的值變得更大,並抑制反饋較小的。
5.使用了GPU加速神經網絡的訓練。
6.使用數據增強的方法緩解過擬合現象。

架構:

共8層,5層卷積,3層全連接層。
第一層:輸入爲224*224*3的圖像,卷積核的數量爲96,兩片GPU分別計算48個。卷積核的大小爲11*11*3,stride = 4,pad = 0
wide = (224+2*padding - kernel_size)/stride + 1 = 54
然後進行LRN(局部響應歸一化),後面跟着池化pool_size=(3,3)
stride = 2, pad = 0

在這裏插入圖片描述

ReLU
將神經元輸出f建模爲輸入X的函數的標準方式是用f(x) = tanh(x),考慮到梯度下降的訓練時間,這些飽和的非線性比非飽和的非線性f(x)=max(0,x)更慢。

多GPU訓練
因爲單個GPU的內存有限,限制了進行訓練的網絡尺寸。因此將網絡分佈在兩個GPU上,他們可以直接互相讀寫內存,而不需要通過主機內存。
我們採用的並行方案是,基本上每個GPU放置一半的核(神經元),只在某些特定的層上進行GPU通信。例如:第三層的核會將第二層的所有核映射作爲輸入,但是第四層的核只將位於相同GPU的第三層的核映射作爲輸入。連接模式的選擇是一個交叉驗證問題,但這可以讓我們準確的調整通信數量,知道它的計算量在可接受的範圍內。

參數模型佔GPU顯存的一些問題:
一半使用的變量都是單精度浮點型float32,佔4B大小
佔顯存空間的有輸入內容和模型中間變量

參數的顯存佔用:
只有有參數的層纔會有顯存佔用。
有參數的層主要包括:卷積,全連接,bathnorm
無參數的層:大部分激活層,池化層,dropout層

節省顯存的方法:
1:降低batch-size
2:下采樣
3:減少全連接層(一般只留最後一層分類用的全連接)

局部響應歸一化(LRN)
建立局部競爭機制,使局部較大值得到較大的響應,局部的範圍可以通過超參數n進行選擇相鄰的核,定義想要的局部大小,實現了某種形式的橫向抑制。

AlexNet論文翻譯——中英文對照
對AlexNet的論文解讀
AlexNet論文詳解
深入理解AlexNet網絡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章