ImageNet Classification with Deep Convolutional Neural Networks

1. 數據集ImageNet

  • 數據特徵:15 million張,22000類,分辨率高且多樣
  • 預處理:降採樣到256× 256固定分辨率,對矩形邊框的圖像,先讓短邊縮小到256,然後剪裁出中心的256× 256的部分。使用中心化的原始RGB像素,即每張圖片剪掉訓練集中所有像素點的均值。

2. 結構

1. ReLU 非線性

tanhlogistic函數都是飽和非線性激活函數,梯度下降的速度明顯慢於ReLU非飽和非線性激活函數。

2. 多GPU並行

  • 多個GPU可以不用經過主機的內存而直接相互讀取對方的內存。
  • 在兩個GPU上各放置一半的神經元,並且只在特定的層進行通信。相對於MCDNN來說,兩個GPU上的網絡並不是獨立的。

3. 局部響應歸一化

  • ReLU不需要將輸入歸一化來防止激活函數飽和
  • 如果一個訓練樣本產生了一個正值輸入到ReLU,對應的神經元就進行了學習。
  • 在特定的層使用局部歸一化的方法幫助泛化。將某個濾波器在一個位置上對特徵圖卷積的結果,除以上下相鄰的幾個濾波器在同一個位置上卷積結果之和。歸一化作用爲,在使用不同濾波器卷積結果中,較大的卷積結果會產生競爭。

4. 重疊池化

池化窗口爲3× 3,步長爲2,重疊了一行或一列。這樣可以略微減少過擬合。

5. 總體結構

  • 8層 5個卷積層,3個全連接層。
  • 2,4,5卷積層只連接同一GPU中之前層的特徵圖,3卷積層連接2卷積層2個GPU中所有特徵圖。全連接層也是連接2個GPU中所有神經元。
  • 局部歸一化只在1、2兩個卷積層。
  • 重疊最大池化只在1、2兩個卷積層歸一化之後和在5卷積層之後。
  • 卷積層和全連接層所有激活函數都使用ReLU。
操作 結果
輸入訓練集 (batchSize,3,224,224)
卷積層(96,3,11,11)stride(4,4)無pad (batchSize,96,54,54)
歸一化和最大池化(3,3)stride(2,2) (batchSize,96,27,27)
卷積層(256,96,5,5)stride(1,1)無pad (batchSize,256,23,23)
歸一化最大池化(3,3)stride(2,2) (batchSize,256,11,11)
卷積層(384,256,3,3)stride(1,1)pad(1,1) (batchSize,384,11,11)
卷積層(384,384,3,3)stride(1,1)pad(1,1) (batchSize,384,11,11)
卷積層(256,384,3,3)stride(1,1)pad(1,1) (batchSize,256,11,11)
最大池化(3,3)stride(2,2) (batchSize,1024,5,5)
展開 (batchSize,1024× 5× 5 = 25600)
全連接層(25600,4096) (batchSize,4096)
全連接層(4096,4096) (batchSize,4096)
softmax層(4096,1000) (batchSize,1000)

3. 減少過擬合

1. 數據集人工擴充

使用保留標籤的變換方法,使用計算量小的方法可以不用將變換後的數據保存在磁盤上。

  1. 圖片平移和水平翻轉,提取 256× 256圖片中的224× 224的區域和其水平翻轉,可以將數據集增大32× 32× 2 = 2048倍。測試的時候選用4個角落和中心的5個區域以及水平翻轉對應的區域,一共10個區域,在softmax層對10個預測結果取平均。
  2. 改變訓練圖片RGB通道的強度,對訓練集中所有圖片每個像素位置上的RGB三個通道值構成的N× 3維矩陣做PCA,即得到3× 3協方差矩陣的主特徵值,在每張訓練圖片該像素位置上RGB通道分別加上大小正比於特徵值乘以N(0,0.1) 高斯隨機數的值。隨機數只在數據集重新使用的時候再次生成。這樣做保證了物體對於光強和顏色的不變性。

2. Dropout模型組合

將不同的模型的預測進行組合的代價太高。使用dropout模型組合,就是把隱層神經元輸出以0.5概率置零,該神經元不參與前向和反向傳播。每次輸入數據模型都會有不同的結構,而所有的權重都是共享的。測試的時候使用所有的神經元但是把它們的輸出乘以0.5。
這樣減少了神經元複雜的互適應關係,能夠學習到更魯棒的特徵。
在前兩個全連接層使用dropout 0.5

3. 細節

  • batch size=128
  • momentum=0.9
  • weight decay=0.0005
  • 全部權重初始化爲0均值0.01標準差高斯分佈,2、4、5卷積層和全連接層偏置爲1,1和3卷積層偏置爲0。
  • 學習率在驗證誤差停止降低的時候除以10,除以3次之後停止訓練。
發佈了57 篇原創文章 · 獲贊 41 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章