AlexNet網絡具體介紹

1、AlexNet 網絡的創新點

AlexNet是發表在《ImageNet Classification with Deep Convolutional Neural Networks》使用了LSVRC-2010競賽中的數據集並取它的子集,對1000個不同的類進行分類,並取得了歷史性的提高。

1.1、使用了ReLU作爲激活函數

在這裏插入圖片描述
相比sigmoid,tanh,ReLu有一下優點:

  • 1 計算開銷少,論文中提到非飽和非線性變換(Relu)比飽和非線性變換(Sigmoid、tanh)梯度計算的要更快,(飽和是激活函數有界,而非飽和是指無界)
  • 2 訓練收斂速度快,Relu會讓一部分神經元的輸出爲0,這樣就照成了網絡的稀疏性,減少了參數。

激活函數要使用非線性變換,而Relu是一個線性的分段函數,似乎有問題。可以指出,對於每一個樣本ReLU做的是不同線性變換,而對整個樣本集而言着可以理解爲非線性的。

簡單來說,不同訓練樣本中的同樣的特徵,在經過神經網絡學習時,流經的神經元是不一樣的(激活函數值爲0的神經元不會被激活)。這樣,最終的輸出實際上是輸入樣本的非線性變換。

1.2 LRN(局部相應歸一化)

  1. 可以方便後面數據的處理
  2. 可以加快程序的收斂
  3. 保證輸出數據中數值小的值不被吞食
    公式:
    b x , y i = a x , y i / ( k + α j = m a x ( 0 , i n / 2 ) m i n ( N 1 , i + n / 2 ) ( a x , y j ) 2 ) β b_{x,y}^{i}=a_{x,y}^{i}/(k+\alpha\sum_{j=max(0,i-n/2)}^{min(N-1,i+n/2)}(a_{x,y}^{j})^2)^\beta
    其中: α β n k a x , y i i x , y ) N b \alpha、\beta、n、k是超參數、a_{x,y}^{i}表示第i個卷積核,上的(x,y)位置處的值,N是總通道數,b是歸一化結果
    LRN是讓局部響應值大的點,去抑制在局部響應中小的點,來加強特徵對比。在隨後的研究中慢慢地被NP所替代。

1.3 Dropout

  • 防止過擬合
    隨機刪除網絡中某些節點(讓節點出現概率爲0)達到稀疏化網絡結構,提高網絡的泛化能力。

1.4使用了重疊池化層

採用Overlapping Pooling提升了預測精度,同時一定程度上可以緩解過擬合。
正常池化(步長默認爲卷積核大小,s=2,z=22)
重疊池化(s=2,z=3
3)

1.5 並行使用了多GPU訓練

  • 減少網絡的訓練時間
  • 讓訓練大型網絡成爲可以能
    論文講網絡拆分成上下兩部分(1,2,3在不同gpu計算,3,4又整合到一個gpu計算,5,6,7,8又分開計算),網絡一共有8層,5層卷積,3層全連接。
    在這裏插入圖片描述

2、AlexNet網絡結構

在這裏插入圖片描述
箭頭所指即爲這八層(即8種變換),圖中 224 224 3 224*224*3 應該是 227 227 3 227*227*3 論文中說是227
爲了方便,這裏我直接看成在一個GPU上映射,前5層爲卷積層,後3層全連接:

  • 第1 層卷積:
    輸入(227,227,3)—>卷積計算(n=96,s=4,size=(11,11,3),p=0)—>(55,55,96)—>LRN(大小不變)—>max pooling(s=2,size=(3,3))—>(27,27,96)
  • 第2 層卷積:
    輸入(27,27,96)—>卷積計算(n=256,s=1,size=(5,5,96),p=1)—>(27,27,256)—>LRN(大小不變)—>max pooling(s=2,size=(3,3))—>(13,13,256)
  • 第3層卷積:
    輸入(13,13,256)—>卷積計算(n=384,s=1,size=(3,3,256),p=1)—>(13,13,384)—>無 LRN、max pooling
  • 第4層卷積:
    輸入(13,13,384)—>卷積計算(n=384,s=1,size=(3,3,256),p=1)—>(13,13,384)—>無 LRN、max pooling
  • 第5 層卷積:
    輸入(13,13,384)—>卷積計算(n=256,s=1,size=(3,3,384),p=1)—>(13,13,384)—>無 LRN—>max pooling(s=2,size=(3,3))—>(6,6,256)
  • 第6、7、8層全連接神經元個數均爲4096
  • 輸入(9216,1)特徵向量—>(4096,9216)—>(4096,4096)–>(1000,4096)–>(1000,1) softmax損失函數計算
  • 最終輸出(1000,1)一張圖像的所有一千種類可能概率。

上面我對AlexNet網絡筆記,有錯誤地方希望大家指正- -!