1:ImageNet Classification with Deep Convolutional Neural Networks
這里寫鏈接內容ImageNet Classification with Deep Convolutional Neural Networks
在看caffe教程中example/ImageNet 時,看這篇文章,了解該網絡結構,各個layer在網絡中的設置和作用。
一、ImageNet介紹
ImageNet由15 million 有標簽的高分辨率圖像組成,有大約22,000個類別。
開始于2010年的ILSVRC(ImageNet Large-Scale Visual Recognition Challenge),使用ImageNet的子集,每個類大約1000張圖像,共1000個類別。
本文中大約使用1.2million個訓練圖片,50,000個驗證圖片和150,000個測試圖像。ILSVRC-2010是唯一一個提供測試集標簽的ILSVRC。
二、網絡結構
一共有8層,5個卷積層和3個全連接層,最后一層是一個1000way 的softmax。由于網絡較大,用兩個GPU進行訓練。
從圖中可看到:2,4,5層只和貯存在當前GPU中的先前層進行鏈接,而第3層和第2層所有的kernel map鏈接。
Response-normalization layers follow: 第1,2卷積層。
Max pooling layers: follow前兩個response-normlization layer 和第5個卷積層。
ReLU:被應用在每一層后面
三、關鍵的部分
1、ReLU
rectified linear unit(ReLU) 非線性修正
f(x)=max(0,x)
使用這個函數替代傳統的tanh或者sigmoid,能夠加快收斂速度。
2、LRN
Local response normalization
ReLU計算后不是0的(被激活)neuron,可以開始計算LRN.
論文中給的公式:
這就是caffe教程中的Across-Chanels(default)的方式。另外還有,within-chanel方式(一個channel中以該點為中心的n*n的區域,進行上述類似的規范化計算)。
達到類似Lateral inhibition(側抑制)的作用。
側抑制:指的是某神經元的活動引起另一個神經元的興奮性下降。側抑制具有生物意義,因此它增加了物體邊沿的對比度,從而使機體容易區分一個物體和另一個物體的邊沿。
能夠降低識別錯誤率
3、Overlapping pooling
傳統的pooling是不重疊的,這里是在彼此有重疊的塊中進行pooling。
作用:能有效降低識別錯誤率,而且不易產生擬合。
四、減少擬合的方法
1、數據增廣
(1)平移和水平翻轉
從256*256的image中隨機抽取224*224的塊,并對他們進行水平翻轉。
水平翻轉:fg=im(:,end:-1:1,:)
(2)改變rgb通道的灰度值
在整個ImageNet 訓練集上對灰度值進行PCA
Ix,y代表三通道的像素向量,對Ix,y進行如下量化:
2、 dropout
設置每個隱藏單元設為0的概率為0.5,被dropout的點不參與向前向后計算,因此相當于是訓練了多個模型。減少了神經元間的依賴。
總結
以上是生活随笔為你收集整理的1:ImageNet Classification with Deep Convolutional Neural Networks的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe 练习1:training L
- 下一篇: Linux 下安装matlab2014a