
所以,在上圖由4個通道卷積得到2個通道的過程中,參數(shù)的數(shù)目為4×2×2×2個,其中4表示4個通道,第一個2表示生成2個通道,最后的2×2表示卷積核大小。
2.4 Down-pooling
在通過卷積獲得了特征 (features) 之后,下一步我們希望利用這些特征去做分類。理論上講,人們可以用所有提取得到的特征去訓練分類器,例如 softmax 分類器,但這樣做面臨計算量的挑戰(zhàn)。例如:對于一個 96X96 像素的圖像,假設我們已經(jīng)學習得到了400個定義在8X8輸入上的特征,每一個特征和圖像卷積都會得到一個 (96 − 8 + 1) × (96 − 8 + 1) = 7921 維的卷積特征,由于有 400 個特征,所以每個樣例 (example) 都會得到一個 892 × 400 = 3,168,400 維的卷積特征向量。學習一個擁有超過 3 百萬特征輸入的分類器十分不便,并且容易出現(xiàn)過擬合 (over-fitting)。
為了解決這個問題,首先回憶一下,我們之所以決定使用卷積后的特征是因為圖像具有一種“靜態(tài)性”的屬性,這也就意味著在一個圖像區(qū)域有用的特征極有可能在另一個區(qū)域同樣適用。因此,為了描述大的圖像,一個很自然的想法就是對不同位置的特征進行聚合統(tǒng)計,例如,人們可以計算圖像一個區(qū)域上的某個特定特征的平均值 (或最大值)。這些概要統(tǒng)計特征不僅具有低得多的維度 (相比使用所有提取得到的特征),同時還會改善結(jié)果(不容易過擬合)。這種聚合的操作就叫做池化 (pooling),有時也稱為平均池化或者最大池化 (取決于計算池化的方法)。

至此,卷積神經(jīng)網(wǎng)絡的基本結(jié)構(gòu)和原理已經(jīng)闡述完畢。
2.5 多層卷積
在實際應用中,往往使用多層卷積,然后再使用全連接層進行訓練,多層卷積的目的是一層卷積學到的特征往往是局部的,層數(shù)越高,學到的特征就越全局化。
3 ImageNet-2010網(wǎng)絡結(jié)構(gòu)
ImageNet LSVRC是一個圖片分類的比賽,其訓練集包括127W+張圖片,驗證集有5W張圖片,測試集有15W張圖片。本文截取2010年Alex Krizhevsky的CNN結(jié)構(gòu)進行說明,該結(jié)構(gòu)在2010年取得冠軍,top-5錯誤率為15.3%。值得一提的是,在今年的ImageNet LSVRC比賽中,取得冠軍的GoogNet已經(jīng)達到了top-5錯誤率6.67%??梢?,深度學習的提升空間還很巨大。
下圖即為Alex的CNN結(jié)構(gòu)圖。需要注意的是,該模型采用了2-GPU并行結(jié)構(gòu),即第1、2、4、5卷積層都是將模型參數(shù)分為2部分進行訓練的。在這里,更進一步,并行結(jié)構(gòu)分為數(shù)據(jù)并行與模型并行。數(shù)據(jù)并行是指在不同的GPU上,模型結(jié)構(gòu)相同,但將訓練數(shù)據(jù)進行切分,分別訓練得到不同的模型,然后再將模型進行融合。而模型并行則是,將若干層的模型參數(shù)進行切分,不同的GPU上使用相同的數(shù)據(jù)進行訓練,得到的結(jié)果直接連接作為下一層的輸入。

上圖模型的基本參數(shù)為:
輸入:224×224大小的圖片,3通道
第一層卷積:5×5大小的卷積核96個,每個GPU上48個。
第一層max-pooling:2×2的核。
第二層卷積:3×3卷積核256個,每個GPU上128個。
第二層max-pooling:2×2的核。
第三層卷積:與上一層是全連接,3*3的卷積核384個。分到兩個GPU上個192個。
第四層卷積:3×3的卷積核384個,兩個GPU各192個。該層與上一層連接沒有經(jīng)過pooling層。
第五層卷積:3×3的卷積核256個,兩個GPU上個128個。
第五層max-pooling:2×2的核。
第一層全連接:4096維,將第五層max-pooling的輸出連接成為一個一維向量,作為該層的輸入。
第二層全連接:4096維
Softmax層:輸出為1000,輸出的每一維都是圖片屬于該類別的概率。
4 DeepID網(wǎng)絡結(jié)構(gòu)
DeepID網(wǎng)絡結(jié)構(gòu)是香港中文大學的Sun Yi開發(fā)出來用來學習人臉特征的卷積神經(jīng)網(wǎng)絡。每張輸入的人臉被表示為160維的向量,學習到的向量經(jīng)過其他模型進行分類,在人臉驗證試驗上得到了97.45%的正確率,更進一步的,原作者改進了CNN,又得到了99.15%的正確率。
如下圖所示,該結(jié)構(gòu)與ImageNet的具體參數(shù)類似,所以只解釋一下不同的部分吧。