AlexNet

Imagenet classification with deep convolutional neural networks

AlexNet

Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.

總結

網絡結構是5層卷積和3層全連接,使用不飽和激活函數ReLU加快訓練速度,局部響應標準化LRU可以加快訓練速度增加模型泛化能力,因爲用了不飽和激活函數ReLU,所以不能再加快速度了。重疊池化,不容易過擬合,提升少許性能。本文的減少過擬合是一個重點,使用了隨機裁剪和翻轉,以及PCA改變圖片像素值來作爲數據擴增手段,另外還用了Dropout來減少過擬合。在預測方面,一張256圖片,4角中心取5張,翻轉後變成10張,取模型結果的平均作爲最後的結果。結果在LSVRC-2010和2012上測評,單模型,集成5個模型和預訓練模型。


摘要

ImageNet是一個數據集,有1500萬標記過的高分辨率圖片,22000個類別。

ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)是用ImageNet部分數據集(1000個類別)舉辦的比賽,訓練集120萬張,驗證機5000張,測試集15萬張。有兩個評價指標,top-1,top-5指預測出來概率前5的結果中包括了正確標籤。

ImageNet圖片大小不一,中心裁剪到256大小,使用訓練集的均值對圖片去均值。

引言

現有的方法是用機器學習做目標識別。因爲數據集少,機器學習足夠了,但是現實中的圖片就不一樣了。出現了大規模標註的數據集,LabelMe、ImageNet。

需要有足夠學習能力的模型來學習這麼多圖片的目標。然而現實中那麼多圖片,不都包含在ImageNet中,所以需要學習先驗知識。CNN可以通過改變深度和寬度來增加學習能力,和普通的機器學習神經網絡相比可以學習到圖片的本質,也就是統計的平穩性和像素相關性的局部性,而且參數更少,更容易訓練。

CNN效果好,效率也比較高,但是還是不能用在高分辨率的圖片上。使用高度優化的二維卷積,現在的GPU可以放兩張像ImageNet的圖片。有足夠的圖片可以防止嚴重的過擬合。

在ImageNet子集ILSVRC2010和2012的數據集上訓練模型,在GPU上實現卷積和其他訓練操作。在第3節介紹了一些方法來提高模型性能,減少訓練時間。第4節介紹了一些有效的防止過擬合的方法。

模型受限於GPU,可以通過提高GPU和數據集來獲得更好的效果。

數據集

ImageNet是一個數據集,有1500萬標記過的高分辨率圖片,22000個類別。

ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)是用ImageNet部分數據集(1000個類別)舉辦的比賽,訓練集120萬張,驗證機5000張,測試集15萬張。有兩個評價指標,top-1,top-5指預測出來概率前5的結果中包括了正確標籤。

ImageNet圖片大小不一,中心裁剪到256大小,使用訓練集的均值對圖片去均值。

網絡結構

先介紹一些除了卷積以外的其他特殊的操作。ReLU激活函數,飽和激活函數比不飽和訓練的慢。

飽和激活函數和不飽和激活函數的訓練時間比較

因爲本文主要是減少過擬合,所以沒有展開討論傳統變體激活函數和ReLU的好壞。ReLU激活函數不需要對輸入進行標準化來防止它到飽和區域,因爲只要有正的輸入就可以訓練神經元。但是局部歸一化LRU可以增加泛化能力。

bx,yi=ax,yi/(k+αj=max0,in/2minN1,i+n/2(ax,yj)2)

參數解釋:ax,yi ,x,y是位置,i是卷積覈編號,a是激活函數的輸出。相當於在同一個位置(x, y),不同的map上的激活進行了平滑。n是計算前後多少個卷積的,N是卷積核總數。LRN降低了top-1和top-5,在CIFAR-10上也降低了測試誤差。

LRU原理圖

重疊池化Overlapping Pooling,池化步長爲2,池化面積爲3x3,效果有少許提升,更不容易過擬合。。自己實現的深度學習操作,在2塊GPU上跑程序。

整體結構圖,5層卷積3層全連接,最後一層全連接是1000softmax用於一千分類。損失是最小化多項式邏輯迴歸(交叉熵?),和最大化預測的對數概率等價。

網絡結構

LRU和重疊池化的位置,先通過LRU,再通過重疊池化:

LRU和重疊池化的位置

減小過擬合

1. 數據擴增

水平垂直翻轉,255圖片中隨機裁剪出224,預測的時候在255圖片中4個角和中間取5張,加上水平翻轉的5張,平均10張的概率作爲最後的結果。

[p1,p2,p3][α1λ1,α2λ2,α3λ3]

PCA,RGB是圖片的3個特徵,p是協方差矩陣的特徵向量,λ是特徵值,把計算出來的上式的值加到原像素值上面去。

2. Dropout

通過概率關閉神經元,形成不同的網絡結構(參數共享),有模型集成的作用;因爲不能依靠所有的神經元特徵,減小了模型複雜度,迫使神經元學習更穩定的特徵。測試的時候乘上保留概率。在全連接層的第一、二層使用了dropout。

學習細節

batch大小爲128,使用動量法,動量因子爲0.9,L2正則化方法,權重衰減爲0.0005。

vi+1:=0.9vi0.0005ϵwiϵ(Lw|wi)Di

wi+1:=wi+vi+1

初始化:用(0,1)的高斯分佈來初始化每一層的權重,第2、4、5卷積層的偏置和全連接層隱藏層的參數初始化爲1,其他的初始化爲0。學習率:初始學習率爲0.01,訓練過程中手動調整學習率,在驗證集錯誤率不再提升的時候乘上0.1,減小過3次,在1.2百萬的訓練集上訓練了90個cycles。

結果

ILSVRC-2010的結果:

ILSVRC-2010結果

ILSVRC-2012的結果:

ILSVRC-2012的結果

1 CNN是base-line模型,5 CNN是單獨訓練了5個base-line,然後平均測試結果的概率得到的結果。* 是在ImageNet 2011的數據集(15M圖片,22K類別)上訓練一個6層卷積的CNN,然後finetune到ILSVRC-2012,最後一個是平均2個CNN*和5個CNN得到的結果。

定性評估

從第一層的卷積核可視化中可以看到網絡學到一些特徵,GPU 1上的卷積核在很大程度上與顏色無關,而GPU 2上的卷積核學到了很多顏色信息。

可視化卷積核

另一種探測網絡可視化知識的方式是看最後一層4096維的隱藏層,下圖展示了該層向量相近(歐氏距離小)的幾組圖片。直接計算4096維向量效率太低,可以訓練一個自編碼器來壓縮提高效率。

全連接隱藏層判斷的相似圖片

討論

去掉一層卷積結果會變差,說明深度很重要。爲了簡化實驗,沒有使用預訓練模型和爲了增加網絡規模節省了數據集大小。最終目的是使用很大的卷積網絡來處理圖片序列,而不是單一的圖片。

參考資料

  1. 飽和神經元和不飽和神經元
  2. AlexNet講解的CSDN博客
  3. 局部響應標準化local response normalization
  4. weight decay
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章