Tommy Huang
1 min readMar 16, 2019

--

因為如果前一層feature map數量是1000個,直接用3*3 conv算計算量太大,所以會先採用1*1conv降低feature map數,然後在用3*3 conv計算,這樣計算量才會低,在大部分的人都會採用這種技巧。比如inception的其中一條路就是這樣,因為一個inception會走三到四條分支,因為不知道用1*1conv,3*3conv還是5*5conv好,乾脆都去做,最後在concat起來,讓網路自己去學那個大小的kernel map比較重要,但5*5conv計算量很大,如果餵進來的feature map數很大不做降維,整體網路會非常慢。

當然除了降維,也有不少用來升維度,比如mobilenetv2的bottleneck結構,為了解決depthwise conv特徵量的不足,利用1*1conv先將feature map數增加特徵,然後在做depthwise conv,在用1*1conv將feature map做訊息整合在輸出給下一層使用。

--

--

Tommy Huang
Tommy Huang

Written by Tommy Huang

怕老了忘記這些吃飯的知識,開始寫文章記錄機器/深度學習相關內容。Medium現在有打賞功能(每篇文章最後面都有連結),如果覺得寫的文章不錯,也可以Donate給個Tipping吧。黃志勝 Chih-Sheng Huang (Tommy), mail: chih.sheng.huang821@gmail.com

No responses yet