AlexNet學習與實現
阿新 • • 發佈:2019-01-04
專案地址:https://github.com/zhongqianli/caffe_alexnet
網路
AlexNet包含5 個 Conv 和 3 個 FC,每個卷積後面跟隨max-pooling層。
引入了dropout,用於減輕過擬合。
將具有飽和性的非線性啟用函式tanh換成不存在飽和性的非線性啟用函式ReLU,提升了訓練速度。
網路在兩個GPU上訓練。
提出了局部響應歸一化LRN(可以理解為一種對比度歸一化),一種正則化方法,可以降低測試誤差。
使用了重疊的pooling。
資料增強—減輕過擬合
第一種影象增強
訓練階段:
- 水平映象翻轉。
- 從256x256的影象中隨機裁剪224x224的影象塊。大大增加了訓練集的影象資料。
測試階段:
提取5個224x224的影象塊(四個角落和中心的影象塊),以及它們的水平映象的影象塊,共10個,對預測結果取平均。
第二種影象增強
改變影象RGB通道的強度。
特別地,在訓練集上使用PCA。
dropout
以一定的概率丟棄連線,可以減輕過擬合,但是會增加收斂所需的迭代次數。
因此每次一個輸入準備好的時候,網路採用了一個不同的架構,但是他們是共享權重的。這項技術減輕了神經元之間的協同適應,因此神經元無法依賴於其他神經元。
因此,可以強制學習更多魯棒的特徵。
在測試階段,使用所有的神經元,但是它們的輸出都乘以0.5。