1. 程式人生 > >【深度學習】1x1卷積的作用

【深度學習】1x1卷積的作用

1x1卷積最初引起研究者的重視應該是在Network in Network這篇文章裡,後面在GoogLeNet和ResNet中都使用了1x1卷積,那麼1x1卷積到底有什麼用呢?

我認為主要作用有三點:

1. 實現跨通道的資訊互動和整合。1x1卷積核只有一個引數,當它作用在多通道的feature map上時,相當於不同通道上的一個線性組合,實際上就是加起來再乘以一個係數,但是這樣輸出的feature map就是多個通道的整合資訊了,能夠使網路提取的特徵更加豐富。

2. feature map通道數上的降維。降維這個作用在GoogLeNet和ResNet能夠很好的體現。舉個例子:假設輸入的特徵維度為100x100x128,卷積核大小為5x5(stride=1,padding=2),通道數為256,則經過卷積後輸出的特徵維度為100x100x256,卷積引數量為128x5x5x256=819200。此時在5x5卷積前使用一個64通道的1x1卷積,最終的輸出特徵維度依然是100x100x256,但是此時的卷積引數量為128x1x1x64 + 64x5x5x256=417792,大約減少一半的引數量。

3. 增加非線性對映次數。1x1卷積後通常加一個非線性啟用函式,使網路提取更加具有判別資訊的特徵,同時網路也能做的越來越深。