关于dilated convolution(空洞卷积)感受野的计算

关于感受野的定义请参考:https://www.jianshu.com/p/2b968e7a1715

  • 定义:感受野用来表示网络内部的不同神经元对原图像的感受范围的大小,或者说,convNets(cnn)每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。

 

计算公式:

      从前往后: F后 = (F前 - 1) + k    (F代表感受野的大小,  k代表kernel大小)

      从后往前: F前 = (F后 - 1) + k    (F代表感受野的大小,  k代表kernel大小)

感受野的计算,从前往后,和从后往前,结果都是一样的。 这里给大家展示:

       从前往后:  

                     总共有三层:1,2,3,

                              第一层的感受野为1,

                              第二层的感受野为(1 - 1) + 3 = 3

                              第三层的感受野为(3 - 1) + 3 = 5

       从后往前:  

                     从后往前计算,比较麻烦,这里值计算最后一层,

                               第三层的当前感受野为3,

                               在第二层的感受野为(3 - 1) + 3 = 5   为第三层的感受野

 

 

dilated convolution 感受野的计算:

1~8层,  空洞的大小为{1,1,2,4,8,16,1,1}

论文中提出的是从前往后计算,解释前四个,

1层   3

2层 (3 - 1) + 3 = 5

3层 (5 - 1) + 2×2 + 1)= 9    红色代表空洞  换线部分达标计算空洞卷积核的大小

4层 (9 - 1) + (4*2 + 1)= 17

。。。。。。。

 

我自己手动算了从后往前的计算:

  需要先计算出最后一层,再计算倒数第二层:

  计算最后一层:

       

得到最后一层为67,前面的数字代表层的感受野,局部的

 

倒数第二层的感受野:

  公式  F后 =  (F前 - 1) + K  此时K代表前一层层的空洞卷积的大小   

    F前 = F后 - 1 + 1 

  因此  倒数第二层的感受野为:67 - 1 + 1 = 67

 

倒数第三层的感受野:

     67 -  3 + 1 = 65

倒数第四层的感受野:

    65 - (16*2 + 1) + 1 = 33

。。。。。

 

完毕,错误的地方 还请指正!!!

仅供参考.

 

   

 

 

 

 

### 空洞卷积感受野计算 在卷积神经网络中,空洞卷积通过引入膨胀率(dilation rate)来扩展感受野而不增加参数量或计算复杂度。具体来说,在标准卷积操作的基础上,空洞卷积会在滤波器之间插入一定数量的零值,从而扩大其覆盖范围。 对于单层空洞卷积而言,假设输入张量尺寸为 \( W \times H \),核大小为 \( K \),步幅为 \( S \),填充为 \( P \),以及膨胀率为 \( D \),则该层输出特征图上任意一点对应于输入图像上的感受野宽度可由下述公式得出: \[ R = (K - 1) * D + 1 \] 其中: - \( R \) 表示当前层节点的实际感受野; - \( K \) 是卷积核窗口边长; - \( D \) 则为空洞卷积中的膨胀系数[^2]。 当考虑多层堆叠情况下的总感受野时,则需逐层累加各单独层贡献的部分,并考虑到前一层已经形成的较大感受野会对后续层产生影响。因此,第 l 层的感受野可以表示为: \[ R_l = ((R_{l-1} - 1)*S_{l}+(K_l-1)*D_l+1)-P_l*2 \] 这里, - \( R_l \) 代表第 l 层的感受野; - \( S_l, K_l, D_l, P_l \) 分别指代第 l 层对应的步长、卷积核大小、膨胀因子及时域/空间维度方向上的补零数[^3]。 值得注意的是,随着层数加深,即使保持相同的物理距离不变的情况下,由于前面几层累积起来的巨大视野效应,最终得到的整体感受野也会变得非常大。 ```python def calculate_receptive_field(kernel_size, dilation_rate): """Calculate the receptive field of a dilated convolution layer.""" return (kernel_size - 1) * dilation_rate + 1 ```
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值