作用:1. 實現(xiàn)跨通道的交互和信息整合热鞍;2. 進行卷積核通道數(shù)的降維和升維
詳細介紹:
(作用1)
圖5 多通道+多卷積核做卷積示示意圖书劝。
縮進如圖5损痰,輸入圖像layer m-1有4個通道列粪,同時有2個卷積核w1和w2审磁。對于卷積核w1,先在輸入圖像4個通道分別作卷積岂座,再將4個通道結(jié)果加起來得到w1的卷積輸出态蒂;卷積核w2類似。所以對于某個卷積層费什,無論輸入圖像有多少個通道钾恢,輸出圖像通道數(shù)總是等于卷積核數(shù)量手素!
縮進對多通道圖像做1x1卷積,其實就是將輸入圖像于每個通道乘以卷積系數(shù)后加在一起瘩蚪,即相當(dāng)于把原圖像中本來各個獨立的通道“聯(lián)通”在了一起泉懦。來源:blog
(作用2)
1、1x1的卷積核(可能)引起人們的重視是在NIN的結(jié)構(gòu)中疹瘦,利用MLP代替?zhèn)鹘y(tǒng)的線性卷積核崩哩,從而提高網(wǎng)絡(luò)的表達能力。文中同時利用跨通道的pooling的角度解釋言沐,認為論文中剔除的MLP其實等價于在傳統(tǒng)卷積核后面接cccp層邓嘹,從而實現(xiàn)多個feature map的線性組合,實現(xiàn)跨通道的信息整合险胰。而cccp層是等價于1x1卷積的汹押,因此細看NIN的caffe實現(xiàn),就是在每個傳統(tǒng)卷積后面接了兩個cccp層(其實就是解了兩個1x1卷積層)起便。
2棚贾、進行降維和升維引起人們重視的(可能)是在GoogleNet里。對于每一個inception模塊(如下圖)榆综,原始模塊是左圖鸟悴,右圖中是加入了1x1卷積核進行降維的。
雖然左圖中的卷積核都比較小奖年,但是當(dāng)輸入和輸出的通道數(shù)很大時细诸,乘起來也會使得卷積核參數(shù)變很大,而右圖加入1x1卷積后可以降低輸入的通道數(shù)陋守,卷積核參數(shù)震贵、運算復(fù)雜度也就降下來了。以GoogleNet里的3a模塊為例水评,輸入的feature map是28x28x192猩系,3a模塊中的1x1卷積通道為64, 3x3卷積通道為128, 5x5卷積通道為32,如圖左圖結(jié)構(gòu)中燥,那么卷積核參數(shù)為:1x1x192x64+3x3x192x128 +5x5x192x32.
而右圖對3x3和5x5卷積層前分別加入了通道數(shù)為96和16的1x1卷積層式撼,參數(shù)就成了:1x1x192x64+(1x1x192x96+3x3x96x128)+(1x1x192x16+5x5x16x32)恬吕。整個參數(shù)大約減少了三分之一。
同時,在并行pooling層后面加入1x1卷積核后可以降低輸出的feature map數(shù)量蹬竖,左圖pooling后feature map是不變的俗扇,再加卷積層就得到feature map厕隧,會使輸出的feature map擴大到416企量,如果每個模塊都這樣,網(wǎng)絡(luò)的輸出會越來越大闹伪。而右圖在pooling后面加入了通道為32的1x1卷積沪铭,使得輸出的feature map數(shù)降到了256.
GoogleNet利用1x1的卷積降維后壮池,得到了更為緊湊的網(wǎng)絡(luò)結(jié)構(gòu),雖然總共22層杀怠,但是參數(shù)數(shù)量卻只有8層的AlexNet的十二分之一(當(dāng)然很大一部分原因可能是去掉了全連接層)椰憋。
近來十分熱門的MSRA同樣也利用了1x1卷積,并且是在3x3卷積層的前后都使用了赔退,不僅進行了降維橙依,還進行了升維,使得卷積層的輸入和輸出的通道數(shù)都見笑离钝,參數(shù)數(shù)量進一步減小票编,如下圖所示褪储。
具體參見:caffe cn