Alex在2012年提出的alexnet網路結構模型引爆了神經網路的應用熱潮,並贏得了2012屆影像辨識大賽的冠軍,使得CNN成為在影像分類上的核心演算法模型。
AlexNet該模型一共分為八層,5個卷積層,以及3個全連接層,在每一個卷積層中包含了激勵函數RELU以及局部響應歸一化(LRN)處理,然後在經過降採樣(pool處理)。 (建議學習:web前端視訊教學)
第一層:卷積層1,輸入為224×224×3224 \times 224 \ times 3224×224×3的圖像,卷積核的數量為96,論文中兩片GPU分別計算48個核; 卷積核的大小為11×11×311 \times 11 \times 311×11×3; stride = 4, stride表示的是步長, pad = 0, 表示不擴充邊緣;
卷積後的圖形大小是怎麼樣的呢?
wide = (224 + 2 * padding - kernel_size) / stride + 1 = 54<br/>height = (224 + 2 * padding - kernel_size) / stride + 1 = 54<br/>dimention = 96<br/>
然後進行(Local Response Normalized), 後面跟著池化pool_size = (3, 3), stride = 2, pad = 0 最終得到第一層卷積的feature map
第二層:卷積層2, 輸入為上一層卷積的feature map, 卷積的個數為256個,論文中的兩個GPU分別有128個卷積核。卷積核的大小為:5×5×485 \times 5 \times 485×5×48; pad = 2, stride = 1; 然後做LRN, 最後max_pooling, pool_size = (3, 3), stride = 2;
第三層:卷積3, 輸入為第二層的輸出,卷積核數為384, kernel_size = (3×3×2563 \times 3 \times 2563 ×3×256), padding = 1, 第三層沒有做LRN和Pool
#第四層:卷積4, 輸入為第三層的輸出,卷積核個數為384, kernel_size = (3×33 \times 33×3), padding = 1, 和第三層一樣,沒有LRN和Pool
##第五層:卷積5 , 輸入為第四層的輸出,卷積核數為256, kernel_size = (3×33 \times 33×3), padding = 1。然後直接進行max_pooling, pool_size = (3, 3), stride = 2;
第6,7,8層是全連接層,每一層的神經元的數為4096,最終輸出softmax為1000,因為上面介紹過,ImageNet這個比賽的分類個數為1000。全連接層中使用了RELU和Dropout。
以上是alexnet網路結構詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!