未經(jīng)同意发乔,不得轉(zhuǎn)載
一、1x1卷積核的作用
(1)實(shí)現(xiàn)跨通道的交互和信息整合
使用1x1卷積核雪猪,其實(shí)就是對不同channel間的信息做線性組合的一個變換過程栏尚。比如輸入為3x3x3的feature map,后面添加一個1x1x3只恨,64 channels的卷積核译仗,就變成了3x3x64的feature map,原來的3個channels就可以理解為跨通道線性組合變成了64 channels官觅,這就是通道間的信息交互纵菌。過程如下圖所示:
(2)增加非線性特性
1x1卷積核,利用后接的非線性激活函數(shù)可以在保持feature map尺度不變的前提下大幅增加非線性特性休涤,把網(wǎng)絡(luò)做的很深咱圆。
(3)減少模型參數(shù),降低計(jì)算量
假設(shè)輸入feature map的維度為256維功氨,要求輸出維度也是256維序苏。有以下兩種操作:
- 256維的輸入直接經(jīng)過一個3×3×256的卷積層,輸出一個256維的feature map捷凄,那么參數(shù)量為:
256×3×3×256 = 589824
- 256維的輸入先經(jīng)過一個1×1×64的卷積層忱详,再經(jīng)過一個3×3×64的卷積層,最后經(jīng)過一個1×1×256的卷積層纵势,輸出256維踱阿,參數(shù)量為:
(256×1×1×64)+(64×3×3×64)+(64×1×1×256)= 69632
可以看到管钳,參數(shù)量減少了大約8.5倍钦铁。
二、為什么2個3x3可以代替1個5x5的卷積核
在卷積神經(jīng)網(wǎng)絡(luò)中才漆,一般情況下牛曹,卷積核越大,感受野(receptive field)越大醇滥,看到的圖片信息越多黎比,所獲得的全局特征越好。雖說如此鸳玩,但是大的卷積核會導(dǎo)致計(jì)算量的暴增阅虫,不利于模型深度的增加,計(jì)算性能也會降低不跟。
于是在VGG颓帝、Inception網(wǎng)絡(luò)中,利用兩個3×3卷積核的組合替換一個5×5卷積核,這樣的好處是:
(1)在具有相同感知野的條件下购城,提升了網(wǎng)絡(luò)的深度吕座,在一定程度上提升了神經(jīng)網(wǎng)絡(luò)的效果;
(2)降低了參數(shù)量(從5×5×1 x channels 到 3×3×2 x channels)瘪板。
那么為什么可以這樣來替換呢吴趴?
從卷積的定義可以知道,一張圖像經(jīng)過卷積后的尺寸大小計(jì)算方式為:
(W - F + 2P)/ S + 1
其中侮攀,W是輸入尺寸锣枝,F(xiàn)是卷積核大小,P是填充尺寸魏身,S是步長
那么惊橱,假設(shè)輸入是28x28:
- 使用5x5的卷積核對其卷積,步長(stride)為1箭昵,填充(padding)為0税朴,得到的結(jié)果是:
(28-5 + 0x2) / 1 + 1=24
- 使用2層3x3的卷積核,同樣步長(stride)為1家制,填充(padding)為0
第一層3x3:得到的結(jié)果是(28-3 + 0x2)/ 1 + 1=26
第二層3x3:得到的結(jié)果是(26-3 + 0x2)/ 1 + 1=24
所以最終結(jié)果是2層3x3和1個5x5的卷積核得到的feature map大小是一樣的正林。
同理也能得出三個3x3的卷積核可以替換一個7x7的卷積核。