天天看點

論文筆記:ImageNet Classification with Deep Convolutional Neural NetworksImageNet Classification with Deep Convolutional Neural Networks

ImageNet Classification with Deep Convolutional Neural Networks

概要

提出了深度卷積神經網絡模型Alexnet,用于對ImageNet圖像資料集進行分類。在2012年ILSVRC分類比賽取得top-5錯誤率15.3%獲得冠軍。

  • 基于ImageNet訓練了卷積神經網絡,獲得了當時為止最好的分類結果
  • 實作了基于GPU優化的卷積和其他計算,用于訓練CNN
  • 引入了一些新的用于提高CNN表現及減少過拟合的技術

資料集

ImageNet是一個包含約22000個類的約1500萬張标記圖像的資料集。ILSVRC比賽使用ImageNet的子資料集,包含約1000個類。

預處理:将所有圖像處理為256x256,若圖像為長方形,則将短邊變換為256長邊取中間區域。

網絡結構

整個網絡包括5層卷積層和3層全連接配接層,其中使用了一些當時的新技術。

ReLU

文章提出了新的激活函數ReLU:

論文筆記:ImageNet Classification with Deep Convolutional Neural NetworksImageNet Classification with Deep Convolutional Neural Networks

對于深度卷積神經網絡,使用ReLU的訓練速度遠遠快于tanh。

論文筆記:ImageNet Classification with Deep Convolutional Neural NetworksImageNet Classification with Deep Convolutional Neural Networks

多GPU訓練

當時的GTX580GPU隻有3GB記憶體,大大限制了可訓練的網絡大小。

文章将網絡拆分在了兩個GPU上進行訓練,将top-1和top-5錯誤率降低了1.7%和1.2%。

LRN

文章提出了局部響應歸一化LRN:

論文筆記:ImageNet Classification with Deep Convolutional Neural NetworksImageNet Classification with Deep Convolutional Neural Networks

其中ax,yi表示(x,y)位置上第i個kernel的計算結果。

網絡再一些特定層的ReLU激活函數後采用了LRN,參數:k=2,n=5,α=10-4,β=0.75,将top-1和top-5錯誤率降低了1.4%和1.2%。

重疊池化

網絡使用了大小為3x3,步長為2的池化層,使得池化時有重疊部分,将top-1和top-5錯誤率降低了0.4%和0.3%。

整體結構

論文筆記:ImageNet Classification with Deep Convolutional Neural NetworksImageNet Classification with Deep Convolutional Neural Networks

第1個卷積層對224x224x3的圖像使用96個11x11x3,步長為4的卷積核進行卷積(圖中分為兩行是指拆分在兩個GPU上計算)。第2個卷積層為256個5x5x48的卷積核,第3個卷積層使用384個3x3x256的卷積核,第4個卷積層為384個3x3x192,第5層256個3x3x192。全連接配接層每層有4096個神經元,最後輸出為1000個。

減少過拟合

資料增強

對于256x256的圖像,随機選取其中的224x224圖像及其水準翻轉後的圖像作為訓練資料,使得訓練資料量擴大了2048倍,大大減少了過拟合。預測時取被測圖像四個角和中間的224x224圖像,計算結果的平均值。

另一個方法是交換圖像RGB通道的強度。文章先對RGB像素值作主成分分析,然後對每張訓練圖像的像素值,加上主成分乘對應特征值和均值為1,标準差0.1的随機值的積:

論文筆記:ImageNet Classification with Deep Convolutional Neural NetworksImageNet Classification with Deep Convolutional Neural Networks

這種方法可以降低top-1錯誤率1%。

dropout

dropout以一定機率将神經元設定為0,使之不參與計算。即對每個輸入神經網絡的結構都不同,但權重共享。在測試時所有神經元都使用,但輸出乘0.5。這種方法可以有效減少過拟合。

訓練細節

訓練使用随機梯度下降,每個batch128個樣本,學習率0.0005。

權值初始化采用均值為0,标準差為0.01的高斯分布,第2/4/5卷積層和全連接配接層的偏置為1,其餘為0。

結果

在ILSVRC-2010資料集上網絡取得了top-1和top-5錯誤率37.5%和17.0%。

論文筆記:ImageNet Classification with Deep Convolutional Neural NetworksImageNet Classification with Deep Convolutional Neural Networks

繼續閱讀