dilated convolution (扩张卷积) 输入输出特征图尺寸大小关系以及 receptive field (感受野) 计算

1. 输入输入出特征图尺寸大小的关系

更多例子可以参考:https://zhuanlan.zhihu.com/p/56940729

带有扩张卷积的输入与输出特征图feature map的大小关系为:

{\color{Purple}W_{2} = \frac{ W_{1} + 2p -d(k-1)-1}{s} + 1 }

其中,p->padding, d->dilation, k->kernel size,如果是常规的卷积,则另d=1即可。上面这个公式非常得有用,需要牢记!这个关系式推导非常简单,抓住整个feature map上可以滑动多少个stride即可得出此关系式。

公式的解释:因为有了dilation,原来k大小的filter变成了d(k-1)+1大小了。

 

2. 感受野的计算

可以参考:https://zhuanlan.zhihu.com/p/28492837 或者参考:https://zhuanlan.zhihu.com/p/40267131

可通过以下公式逐层计算:

r_{n}=r_{n-1} \times k_{n}-\left(r_{n-1}-\prod_{i=1}^{n-1} s_{i}\right) \times\left(k_{n}-1\right) \\ = r_{n-1}+\left(k_{n}-1\right) \prod_{i=1}^{n-1} s_{i}   

其中,若某层是带扩张率的,则计算时,把该层卷积核大小换成:k_{n}^{'}=1 + d(k_{n}-1)

 

因此可以得到更加普遍的递推公式如下:

{\color{Purple} r_{n}= r_{n-1}+ d\left(k_{n}-1\right) \prod_{i=1}^{n-1} s_{i}}

公式归纳思路

归纳过程如下,参考下图 (摘录自:https://zhuanlan.zhihu.com/p/28492837

第n层的感受野 = 第n-1层最大的感受野(stride=kernel时,即无重叠)- 相邻两层重叠的感受野大小 * (kernel - 1)

                          = 第n-1层最大的感受野(stride=kernel时,即无重叠)- (第n-1层的感受野 - 偏移量) * (kernel - 1)

                          = 第n-1层的实际感受野 + (kernel -1 ) * 每一个kernel元素向外扩张的积累偏移量

                           = r_{n-1}+\left(k_{n}-1\right) \prod_{i=1}^{n-1} s_{i}

注意:偏移量和之前所有卷积层的stride的有关(所有stride的乘积)。

另一种公式归纳思路

下图为自己的理解思路,原谅我是灵魂画手....

具体实例

如果有三层CNN,分别为con3⨉3, dilation=1; conv3⨉3, dialation=2; conv3⨉3, dilation=5, 它们的stried=1,则最后一层每个神经元的感受野为17⨉17,画图求解如下:

和用上面的感受野计算公式得到的结果是相同的!求解过程如下:

r1 = 1,

r2 = 1 + 1⨉(3-1)⨉1 = 3,

r3 = 3 + 2⨉(3-1)⨉1 = 7,

r4 = 7 + 5⨉(3-1)⨉1 = 7 + 10 = 17. 

 

另外有一个计算网络感受野的工具,很好用,看这里 点击打开链接

resnet dilated keras 点击打开链接

 

3. 有效感受野

特征的有效感受野(实际起作用的感受野)实际上是远小于理论感受野的。具体请参见:https://zhuanlan.zhihu.com/p/40267131, 这里只作一个阅读摘录。

输入中越靠感受野中间的元素对特征的贡献越大。如下图,虽然X1,1和X3,3都位于第二层特征感受野内,但是二者对最后的特征的影响却大不相同。 

  • 10
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值