3.3 局部響應歸一化(LRN)
在後續研究中被發現沒啥用
3.4 Overlapping Pooling
- 層疊池化如下圖:
- 進行了層疊池化,相比非層疊池化的model,更可以抵抗過擬合
3.5 總體的架構
- 共8個layer:前五個是卷積層,後三個是全連接層
- 最後一個全連接層作爲input輸入一個1000-維的softmax,得到一個1000維vector,即是其對應1000classes的分佈
- 目標函數:log-損失函數
input規模計算
- 每一層feature map規模的計算:
- filter size = f*f
- stride = s
- padding size = p
- n_l = ([n_(l-1) + 2p - f] / s) + 1
4 對抗overfitting的方法
4.1 數據增強(data augmentation)
<方法1>
- 原數據規模:256*256,現在該圖像上隨意選取224*224的image patches作爲訓練集;
- 同時對數據進行水平的鏡面翻轉
- 意義:增加數據量,使用“造平移”、“造對稱”的方法來抵抗過擬合。其意義是,一隻狗的圖像平移或者鏡面對稱後還是狗。。。
<方法2>
- 改變RGB三通道的intensity。具體改變方法:進行主成分分析(PCA),將找到的主要成分乘以一個乘數。這個乘數抽取自0均值、0.1標準差的高斯分佈
4.2 Dropout
- 每個神經元都有一定的概率(AlexNet爲0.5)被“遺棄”。
- 這樣做的原因:每次訓練,神經網絡的結構都不一樣,這導致神經網絡會去學習更robust的、更可以滿足“shared weights”這一特性的特徵。
- AlexNet只在前兩個FC層使用了dropout(當然,也就是這兩層參數最多)
5. 學習詳情
- learning rate decay:0.0005(LR初始值:0.01)
- batch size:128
- bias的初始化情況
6. 其他
- depth是對於AlexNet極其重要的因素
- 最後一個FC層輸出的feature activation vector可以被視作CNN自己學到的視覺知識。用此可以去表示一張image。兩個image的該vector的歐氏距離較小,則兩張圖片的確是較爲近似