卷积神经网络(CNN)中感受野的计算问题

感受野

在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上每个像素点在原始图像上映射的区域大小,这里的原始图像是指网络的输入图像,是经过预处理(如resize,warp,crop)后的图像。

神经元之所以无法对原始图像的所有信息进行感知,是因为在卷积神经网络中普遍使用卷积层和pooling层,在层与层之间均为局部连接。

神经元感受野的值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含更为全局,语义层次更高的特征;相反,值越小则表示其所包含的特征越趋向局部和细节。因此感受野的值可以用来大致判断每一层的抽象层次.

总而言之,我们感受野就额是要求神经网络中间某一层的输出特征图上的一个元素所在原图上的覆盖大小.

感受野的计算

如下图所示的原始图像,经过kernel_size=3, stride=2的Conv1,kernel_size=2, stride=1的Conv2后,输出特征图大小为2×2,很明显,原始图像的每个单元的感受野为1,Conv1的每个单元的感受野为3,而由于Conv2的每个单元都是由范围的Conv1构成,因此回溯到原始图像,每个单元能够看到大小的区域范围。

卷积神经网络(CNN)中感受野的计算问题-图片1

那么卷积神经网络的每一层感受野应该如何计算呢?很明显,深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系,而涉及到这两个参数的有卷积层和pooling层。我们用分别kn,sn,rn表示第n层的kernel_size,stride,receptive_field,通过对n-1层输出特征图的kn×kn个感受野为rn−1的特征单元卷积得到的n层输出特征单元最大的感受野为rn−1×kn,但在对n-1层输入特征图进行卷积时,经常会由于sn−1小于kn−1而存在重叠,因此要减去个重叠部分(kn=2存在一个重叠部分,kn=3存在两个重叠部分)。

重叠的部分怎么算呢?显然重叠的部分一定是与你的stride的有关的,如果你的stride很大,显然是不会有重合,所以,越小重合越多.(注意:这里计算的是在原图上的重合)

显然,kn−sn表示的是一次重合的多少。如果要计算在原图上的重合,则

(kn−sn)×rn−1

是不是很简单啊,由此我们可以知道要求第n层输出的感受野,就要知道前一层n-1的感受野,以及本层的kernel和stride大小,这是一个不断递推的过程.

对于卷积神经网络,其感受野计算有如下规律:

卷积神经网络(CNN)中感受野的计算问题-图片2

或者写为:

卷积神经网络(CNN)中感受野的计算问题-图片3

卷积神经网络(CNN)中感受野的计算问题-图片4

另一种计算卷积核的方法——逆向法

从当前层开始计算,慢慢往上计算:

RF=(RF−1)∗stride kernelsize

卷积神经网络(CNN)中感受野的计算问题-图片5

如何增加感受野

在深度学习中,对具体的任务有时需要增加感受野来提高性能,比如在人体姿态估计中,大的感受野对学习长距离的空间位置关系(long-range spatial relationship),建立内隐空间模型(implicit spatial model)有帮助,因此也要知道增大感受野的手段。

根据以上说的感受野的计算,也可以分析出,增加层数、增大strides,增加fsize即卷积滤波器的大小都可以增加感受野的大小。

在看CPM(Convolutional Pose Machines) 时,作者做了一个简单的总结:

Large receptive fields can be achieved either by pooling at the expense of precision, increasing the kernel size of the convolutional filters at the expense of increasing the number of parameters, or by increasing the number of convolutional layers at the risk often countering vanishing gradients during training.

总结一下共三种方法:

  • 增加pooling层,但是会降低准确性(pooling过程中造成了信息损失)
  • 增大卷积核的kernel size,但是会增加参数(卷积层的参数计算参考[2])
  • 增加卷积层的个数,但是会面临梯度消失的问题(梯度消失参考[3])

CPM中作者用的增加卷积层个数的方法来增加感受野,但是他用多阶段训练的方式并引入中间层监督的方法来解决梯度消失的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/268441.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.11_黑马数据结构与算法笔记Java

目录 070 栈 链表实现 概念理清:什么时候是指针的指向,什么时候是元素本身? 071 栈 数组实现 072 栈 e01 有效的括号 072 栈 e02 后缀表达式求值 072 栈 e03 中缀表达式转后缀1 072 栈 e03 中缀表达式转后缀2 072 栈 e03 中缀表达式转…

C:算术移位和逻辑移位傻傻分不清楚

1. 算术移位与逻辑移位概念 算术移位指令对带符号数进行移位。 逻辑移位指令对无符号数进行移位。 算术左移、右移,逻辑左移、右移 如图所示 : 这里有一个进位位C,它就是标志寄存器 (即状态寄存器,亦称程序状态字寄…

【pytest】单元测试文件的写法

前言 可怜的宾馆,可怜得像被12月的冷雨淋湿的一条三只腿的黑狗。——《舞舞舞》 \;\\\;\\\; 目录 前言test_1或s_test格式非测试文件pytest.fixture()装饰器pytestselenium test_1或s_test格式 要么 test_前缀 在前,要么 _test后缀 在后! …

【技巧】导出和导入Typecho的文章数据

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 1、要换服务器了,虽然Typecho和Theme都可以重装,但文章数据由于是存在数据库里的,所以需要额外一些操作才行。 2、在进行下面的数据导入导出之前,新服务器…

使用函数计算,数禾如何实现高效的数据处理?

作者|邱鑫鑫,王彬,牟柏旭 公司背景和业务 数禾科技以大数据和技术为驱动,为金融机构提供高效的智能零售金融解决方案,服务银行、信托、消费金融公司、保险、小贷公司等持牌金融机构,业务涵盖消费信贷、小…

遥感深度学习:如何读取TIFF文件和切片成256*256?

01 前言 最近打算认真从头开始学习深度学习和遥感结合的相关内容,主要通过Python进行处理。此前用深度学习进行遥感相关的学习一直都是用 tensorflow3.0 框架,但是考虑很多因素我后面打算换用 Pytorch 进行学习。好在tensorflow我只是浅尝辄止&#xff…

学习深度强化学习---第1部分----RL介绍、基本模型、Gym介绍

文章目录 1.1节 强化学习简介1.2节 强化学习的模型1.3节 Gym介绍 视频所在地址:深度强化学习的理论与实践 经典的强化学习有三种:1、基于动态规划的强化学习、2、基于蒙特卡洛算法的强化学习、3、基于时序差分的强化学习,以上3种方法分为第2、…

错误记录 apt --fixed-broken install

1.报错 E: Unmet dependencies. Try apt --fix-broken install with no packages (or specify a solution). 无法直接运行apt --fix-broken install解决 直接报错 没有输入y那个步骤 无法直接使用 sudo apt-get remove 无法使用 sudo dpkg -r 删除 查了很多解决方式无法…

10.仿简道云公式函数实战-逻辑函数-XOR

1. XOR函数 XOR 函数可返回所有参数的异或值。异或的含义是:两个逻辑值相同,返回 false,两个逻辑值不同,则返回 true。 2. 函数用法 XOR(logical1,logical2, …) 3. 函数示例 如,判断两个答案值是否一致时&#x…

机器学习顶会 NeurIPS 2023 6篇获奖论文速览

噔噔!NeurIPS 2023 今天开奖啦! 防止有些同学不太清楚这个会议,我先简单介绍一下:NeurIPS是机器学习领域的顶级会议,与ICML,ICLR并称为机器学习领域难度最大,水平最高,影响力最强的…

AOP跨模块捕获异常遭CGLIB拦截而继续向上抛出异常

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、BUG详情 1.1 报错信息 1.2 接口响应信息 1.3 全局异常处理器的定义 二、排查过程 三、解决方案 四、总结 前言 最近&…

Web安全之XXE漏洞原理及实践学习

一、原理: XXE漏洞全称即XML外部实体注入漏洞。 攻击者强制XML解析器去访问攻击者指定的资源内容(可能是系统上本地文件亦或是远程系统上的文件),导致可加载恶意外部文件,利用file协议造成文件读取、命令执行、内网端口扫描、攻击内网网站等…