[討論] 對於1x1 kernel(convolution)的功用

看板DataScience作者 (硬train一發)時間6年前 (2018/07/24 02:27), 編輯推噓6(607)
留言13則, 7人參與, 6年前最新討論串1/1
1x1 convolution在segmentation中常用上 可以理解為segmentation這種pixel等級的操作, 不希望相鄰pixel間互相影響才採用這種單元而非大的kernel 做convolution 1x1 conv也有用在資訊的壓縮上,將多張的feature map壓成少量feature map 例如network in network 這跟fully connected dense神經元又有點不同,因為fully connected是對同一張feature map每個不同位置的pixel做weighted sum 而1x1 convolution是對同一個位置,不同張feature maps做sum 這是我的理解,大家覺得呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.207.81 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1532370457.A.B8A.html

07/24 07:39, 6年前 , 1F
把fully connected layer的input想像成1*1*c*n,兩個
07/24 07:39, 1F

07/24 07:41, 6年前 , 2F
是等價的。其中,1*1是大小,c是channel數目,n是
07/24 07:41, 2F

07/24 07:41, 6年前 , 3F
data數量。
07/24 07:41, 3F

07/24 11:51, 6年前 , 4F
你是不是在看glow
07/24 11:51, 4F

07/24 14:09, 6年前 , 5F
fully connect是所有feature map所有位置,你文中描述的
07/24 14:09, 5F

07/24 14:09, 6年前 , 6F
比較像是global depth wise convolution之類的的東西
07/24 14:09, 6F

07/24 14:13, 6年前 , 7F
降維 減少運算量 bottleneck conv版fc
07/24 14:13, 7F

07/24 19:53, 6年前 , 8F
個人理解 1x1 conv 就是增加非線性方便擬和 剩下都是其
07/24 19:53, 8F

07/27 09:25, 6年前 , 9F
我的理解是 1*1 conv會對input channel 做線性組合,所
07/27 09:25, 9F

07/27 09:25, 6年前 , 10F
以每一個output channel都是一種input channel線性疊加
07/27 09:25, 10F

07/27 09:25, 6年前 , 11F
組合
07/27 09:25, 11F

08/20 08:57, 6年前 , 12F
如果convolution的kernel size和input size(不包含channel
08/20 08:57, 12F

08/20 08:57, 6年前 , 13F
)一樣那它跟fully connected 等價
08/20 08:57, 13F
文章代碼(AID): #1RLXuPkA (DataScience)
文章代碼(AID): #1RLXuPkA (DataScience)