Alex在2012年提出的alexnet網(wǎng)絡(luò)結(jié)構(gòu)模型引爆了神經(jīng)網(wǎng)絡(luò)的應(yīng)用熱潮,并贏得了2012屆圖像識別大賽的冠軍,使得CNN成為在圖像分類上的核心算法模型。
AlexNet該模型一共分為八層,5個(gè)卷積層,以及3個(gè)全連接層,在每一個(gè)卷積層中包含了激勵(lì)函數(shù)RELU以及局部響應(yīng)歸一化(LRN)處理,然后在經(jīng)過降采樣(pool處理)。 (推薦學(xué)習(xí):web前端視頻教程)
第一層:卷積層1,輸入為 224×224×3224 times 224 times 3224×224×3的圖像,卷積核的數(shù)量為96,論文中兩片GPU分別計(jì)算48個(gè)核; 卷積核的大小為 11×11×311 times 11 times 311×11×3; stride = 4, stride表示的是步長, pad = 0, 表示不擴(kuò)充邊緣;
卷積后的圖形大小是怎樣的呢?
wide = (224 + 2 * padding - kernel_size) / stride + 1 = 54
height = (224 + 2 * padding - kernel_size) / stride + 1 = 54
dimention = 96
然后進(jìn)行 (Local Response Normalized), 后面跟著池化pool_size = (3, 3), stride = 2, pad = 0 最終獲得第一層卷積的feature map
第二層:卷積層2, 輸入為上一層卷積的feature map, 卷積的個(gè)數(shù)為256個(gè),論文中的兩個(gè)GPU分別有128個(gè)卷積核。卷積核的大小為:5×5×485 times 5 times 485×5×48; pad = 2, stride = 1; 然后做 LRN, 最后 max_pooling, pool_size = (3, 3), stride = 2;
第三層:卷積3, 輸入為第二層的輸出,卷積核個(gè)數(shù)為384, kernel_size = (3×3×2563 times 3 times 2563×3×256), padding = 1, 第三層沒有做LRN和Pool
第四層:卷積4, 輸入為第三層的輸出,卷積核個(gè)數(shù)為384, kernel_size = (3×33 times 33×3), padding = 1, 和第三層一樣,沒有LRN和Pool
第五層:卷積5, 輸入為第四層的輸出,卷積核個(gè)數(shù)為256, kernel_size = (3×33 times 33×3), padding = 1。然后直接進(jìn)行max_pooling, pool_size = (3, 3), stride = 2;
第6,7,8層是全連接層,每一層的神經(jīng)元的個(gè)數(shù)為4096,最終輸出softmax為1000,因?yàn)樯厦娼榻B過,ImageNet這個(gè)比賽的分類個(gè)數(shù)為1000。全連接層中使用了RELU和Dropout。