深度学习中的卷积(conv)和空洞卷积(dilated conv)

原文链接:https://blog.csdn.net/CV_YOU/article/details/81633645

关于常规的卷积和空洞卷积的差别简单解释如下:

1.参数比较: 
构建一个卷积层,最核心的是卷积核的尺寸和stride的大小,而空洞卷积最核心的参数是卷积核尺寸和rate的大小. 
当stride=1时候,和rate=1是一样的效果.

2.功能比较 
那什么时候会有区别呢,就是在多个卷积连用,比如做encode操作时候,步长stride>=2,一直卷积下去,肯定会有信息缺失,做decode操作重构的时候,对于细节的重构肯定会不理想.这种情况就可以通过多个dilated的连用来避免. 


引用知乎上一个讲解:

下面是知乎的解释: 
(a)图对应3x3的1-dilated conv,和普通的卷积操作一样

(b)图对应3x3的2-dilated conv,实际的卷积kernel size还是3x3,但是空洞为1,也就是对于一个7x7的图像patch,只有9个红色的点和3x3的kernel发生卷积操作,其余的点略过。也可以理解为kernel的size为7x7,但是只有图中的9个点的权重不为0,其余都为0。 可以看到虽然kernel size只有3x3,但是这个卷积的感受野已经增大到了7x7(如果考虑到这个2-dilated conv的前一层是一个1-dilated conv的话,那么每个红点就是1-dilated的卷积输出,所以感受野为3x3,所以1-dilated和2-dilated合起来就能达到7x7的conv)

(c)图是4-dilated conv操作,同理跟在两个1-dilated和2-dilated conv的后面,能达到15x15的感受野。对比传统的conv操作,3层3x3的卷积加起来,stride为1的话,只能达到(kernel-1)*layer+1=7的感受野,也就是和层数layer成线性关系,而dilated conv的感受野是指数级的增长。

dilated conv的连接使用,会让感受野指数变大,而且不损失信息,也就是经常看到的一个总结:

     dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。

还有一个更加详细的解读博客:https://blog.csdn.net/silence2015/article/details/79748729 
知乎链接:https://www.zhihu.com/question/54149221

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值