Dilated Convolution 扩张卷积和 Group Convolution 分组卷积

你好,该博客已经更新,请转移到 HERE

 

扩张卷积也有人说是空洞卷积,都行。思想非常简单,随着网络的层数越来越多,parameters越来越多,并且maxpooling本身的限制(比如四次maxpooling,那么理论上16x16的图就到了1x1,空间信息全部丢失)

Dilated Convolution 扩张卷积和 Group Convolution 分组卷积_第1张图片

Dilated Convolution 就此出现,他可以扩大网络的感受野,如图,stride = 1,kernel size = 3, padding =1 ,这样子感受野一下子就从3x3到了6x6,并且扩张后信息很均匀(保留了一部分空间特征)。

(a) 普通卷积,1-dilated convolution,卷积核的感受野为3×3=9 
(b) 扩张卷积,2-dilated convolution,卷积核的感受野为7×7=49

(c) 扩张卷积,4-dilated convolution,卷积核的感受野为15x15=225

Dilated Convolution 扩张卷积和 Group Convolution 分组卷积_第2张图片

注意上图,红点组成的是卷积核,那么平常的卷积核可以看作 1-dilated convolution 。不管x -dilated convolution,参数并没有改变,感受野(receptive field)增加了。但是也带来了问题。

The Gridding Effect

假设我们仅仅多次叠加 dilation rate 2 的 3 x 3 kernel 的话,则会出现这个问题,dense prediction 就不是很友好。

Dilated Convolution 扩张卷积和 Group Convolution 分组卷积_第3张图片

当然,还有其他一些网络固有的问题


Group Convolution 分组卷积

 

Dilated Convolution 扩张卷积和 Group Convolution 分组卷积_第4张图片

其实思想也比较简单,类似算法学的分治法。

我们算一算 上图计算本身的参数, 为了直观考虑,H=64, W=64, C_IN=128, kernel size=3 ,C_OUT=256

parameters =  3x3x128x256

假设分组了,分8组

parameters = 3x3x128x32

那么相当于(图中c2/8,不是8,不小心画错了,把他的channel分成八组

Dilated Convolution 扩张卷积和 Group Convolution 分组卷积_第5张图片

最后把他们concatenate,这样子就可以并行了。

 

reference:

https://www.jianshu.com/p/f743bd9041b3

你可能感兴趣的:(deep,learning)