感受野receptive fields计算

本文详细介绍了两种计算深度学习网络中卷积层感受野的方法:从顶层到底层(top-down)和从底层到顶层(bottom-up),并通过AlexNet网络的具体参数进行实例演示。文章提供了感受野计算器的在线工具链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1

top to down
在这里插入图片描述
从最顶层往底层算:

RF=1 //最顶层一个1x1feature map
for layer in (top layer To down layer): 
    RF = (RF -1)* stride + kernelSize
//这里还有一个步长:
strides(i) = stride(1) * stride(2) ** stride(i-1)

例如:[kernelSize,stride,padding]
{‘alexnet’: {‘net’:[[11,4,0],[3,2,0],[5,1,2],[3,2,0],[3,1,1],[3,1,1],[3,1,1],[3,2,0]],
‘name’:[‘conv1’,‘pool1’,‘conv2’,‘pool2’,‘conv3’,‘conv4’,‘conv5’,‘pool5’]},

//计算conv2 RF
RF=1//最顶层一个1x1feature map
RF=(RF-1)*1+5=(1-1)*1+5=5
RF=(RF-1)*2+3=(5-1)*2+3=11
RF=(RF-1)*4+11=(11-1)*4+11=51
所以conv2感受野是51,strides=4*2*1=8

方法2

down to top
从底层往顶层算:

RF=第一个conv的kernelSize
for layer in (down layer To top layer): 
strides(i) = stride(1) * stride(2) ** stride(i-1)
    RF = (kernelSize-1)* strides + RF //strides同方法1
    strides(i) = stride(1) * stride(2) ** stride(i-1)

例如:[kernelSize,stride,padding]
{‘alexnet’: {‘net’:[[11,4,0],[3,2,0],[5,1,2],[3,2,0],[3,1,1],[3,1,1],[3,1,1],[3,2,0]],
‘name’:[‘conv1’,‘pool1’,‘conv2’,‘pool2’,‘conv3’,‘conv4’,‘conv5’,‘pool5’]}

           kernelSize(stride)           RF(strides)
conv1            11(4)                    11(4)
pool1            3(2)                 (3-1)*4+11=19(8)
conv2            5(1)                 (5-1)*8+19=51(8)
pool2            3(2)                 (3-1)*8+51=67(8)
 ............

工具

https://fomoro.com/projects/project/receptive-field-calculator#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值