本文中,我會根據下大家image classification常用的cnn模型,針對cifar10(for 物體識別),mnist(for 字元識別)& ImageNet(for 物體識別)做一個model 總結。
本文不講coding(coding請見Convolution Neural Network (CNN) 原理與實現篇) 本文不涉及公司內部資料,純公開資料匯總
好,本文就從資料集說起,對資料集不熟悉的小夥伴請先去瞭解下這3個資料集,下面我們針對每個資料集畫出其通用模型。
===================================
1. Cifar10
60000張32*32彩色圖,10類,每類5000張用於training,1000張用於testing,通常做object recognition/classification。
模型:(上面寫的數字是該層節點數)
2. Mnist
黑白圖,手寫體,60000training,10000testing,已做好croping,28*28,用作classification。
LeNet模型:
3. ImageNet
10w類,每類約1000張彩色圖的大規模資料集 ,需要註冊下載。從10年起每年都有imagenet的競賽,分為detection, classification & localization. 14年的比賽結果和方法見這裡。
3.1 2012 AlexNet
模型:
但是裡面細節我一直沒搞過,今天就任性了一把,把每一層列出來了大小及其對應操作。自認為看上去不如上圖清晰,但是會對每一步的操作有更加深入的瞭解。。。
此圖從下往上看,最下方是輸入data(注意上圖中224是錯的,這裡crop後的image實際上是227*227的)。
PS: crop 為將圖片進行四個邊界crop+中心crop
每一層data格式(batch size, # feature map, height of feature, width of feature)
每一次convolution(conv)的格式(#output feature,#conv feature map,kernel height,kernel width)
這裡我們看到了最後fc8(第8層,fully connect)接的是LABEL,這是一個loss層,多類分類,採用softmax loss做為loss function。這是訓練時候最佳化參數定的,那測試的時候怎麼搞。
——
測試的時候,最後的特徵fc8接一層probability,傳回型別為softmax的機率,哪個最高結果就評定為哪一類。
如果做全域系統測評,可以再在後面加一層accuracy層,傳回型別為ACCURACY.
3.2 2014 GoogLeNet
2014 ImageNet classification & Detection的冠軍,22層網路。。。給跪了,感興趣的同學去看paper裡的結構吧,這裡我截圖截不下來了。。。
另外,給幾個參考:
1. 初學者玩玩:可以用線上ConvNet試一下
2. DIY Deep learning Architecture
3. 其實最好的reference還是paper + code啦,上面的architecture可以參考caffe中example/imagenet的prototxt。
from: http://blog.csdn.net/abcjennifer/article/details/42493493