AlexNet論文總結
論文鏈接://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
Q1:解決了什麼?
-
目前主要利用機器學習來解決目標識別任務;
機器學習可以通過「擴充數據集」、「強化訓練模型」、「充實預防過擬合的手段」等多種技巧去提高訓練性能。
-
之前機器學習所使用的數據集太小,只能完成簡單的識別任務,但是實際場景中識別任務要複雜得多,因此需要更加大型的數據集去訓練;
-
直到最近出現了符合條件的大型數據集(如LabelMe、ImageNet),但是之前的方法都是針對小型數據集的,因此需要更加強大的方法模型來訓練大型數據集;
於是,CNN模型閃亮登場!
-
本文提出的AlexNet模型,正是對傳統CNN進行改善來訓練大型數據集ImageNet,實現將 ImageNet LSVRC-2010 競賽中的120萬張高解析度影像分為1000個不同的類別,使得深度學習開始在各個領域大顯身手,為後續優秀的網路的提出奠定基礎(後面的ImageNet冠軍都是用CNN來做的)。
Q2:怎麼解決的?
1、網路結構
- 5層卷積層+3層全連接層:
- 第2、4、5層卷積層中的內核僅連接到前一層中位於同於同一GPU上的特徵圖;
- 第3層卷積層中的內核與前一層中所有的特徵圖相連接。
- 各卷積層的完整操作:
- 第1層、第2層卷積層的完整操作:Conv→LRN→MaxPooling→ReLU;
- 第3層、第4層卷積層的完整操作:Conv→ReLU;
- 第5層卷積層的完整操作:Conv→MaxPooling→ReLU。
2、創新點
1)非飽和激活函數
使用了非飽和激活函數ReLU,有效防止了梯度消失。
關於非飽和激活函數的解釋://blog.csdn.net/qq_40824311/article/details/103017760
2)多個GPU並行訓練
採用了2塊GPU進行訓練,每個GPU負責一半的神經元,2個GPU只在第3層卷積層進行通訊。有效降低了top-1 error和top-5 error。
3)LRN(局部響應標準化)
採用了LRN(局部相應標準化),使AlexNet的top-1和top-5錯誤率分別降低了1.4%和1.2%;
局部響應標準化:有助於提升AlexNet的泛化能力,這種方法受真實神經側抑制(later inhibition)
的啟發。
側抑制:一個細胞分化為不同細胞時,它會對周圍
的細胞產生抑制訊號,組織它們向相同方向分化,最終表現為細胞分化命運的不同。
LRN對局部神經元的活動創建競爭機制,使得響應較大的值變得相對更大,並抑制其他回饋較小的神經元,增強了模型的泛化能力。
LRN公式:$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}} $
註:\(a_{x,y}^{i}\)表示第i個通道第x行,第y列對應像素的具體值
4)帶重疊的池化
採用了「帶重疊的池化(overlapping pooling)」(即令池化步長<池化窗口邊長),不易產生過擬合。
5)數據集增強
利用「圖片平移&水平翻轉」和「改變RGB色差」,實現數據集增強。
6)引入「Dropout失活」
利用dropout(失活率=0.5),有效預防了過擬合。
Dropout介紹://www.jianshu.com/p/21d4c64fb8b5