目录

前言

感受野计算

一维

二维

有效感受野

直观理解

理论证明

有效感受野

不同激活函数的有效感受野分布不同

训练对有效感受野的影响

其他

如何有效的对抗感知野的高斯分布

思考

anchor与感受野

如何增大感受野

深度学习网络设计中感受野的作用


前言

感受野是卷积神经网络(CNN)重要概念之一,它起源于人类神经系统,后随神经网络模型在计算机视觉(CV)领域的应用引入到计算机视觉领域。在卷积神经网络占领CV领域绝对地位之后,感受野成为CV领域研究中最重要的概念之一。而随着CNN在其他领域,如自然语言处理领域的应用,感受野的概念也不断扩大。

在人类神经系统中,一个感觉神经元的感受野是指这个位置里适当的刺激能够引起该神经元反应的区域。感受野一词主要是指听觉系统、本体感觉系统和视觉系统中神经元的一些性质[1]。在CNN中,感受野通俗的理解是:每一层输出的特征图上的像素点在原始图像上映射的区域大小。它表达的含义是:特征输出受感受野区域内的像素点的影响。


感受野计算

对于CNN的第一个隐藏层,感受野的非常简单,对于自底向上的其他所有隐藏层,感受野的理解会越来越复杂,但满足逐层递推的关系。

一维

下面用简单的一维CNN网络介绍感受野以及感受野大小的计算。下图,只展示CNN的前三个隐藏层,每层卷积核大小kernel=3, stride=1,pad=1

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

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

第三层为7(=5+(3-1)*1*1)

感受野公式:

特别的,输入层:

如果采用空洞卷积:

二维

展示形式和递推计算公式参考[2][3]


有效感受野

参考资料:[4][5]

直观理解

首先,我们从直观上理解一下,感受野范围内的像素对输出的不同影响。

我们以一维展示为例,x41的感受野包括x11~x17,其中x11只能通过x21-x31(1条路径)影响x41;而x13可以通过(x21,x22,x23)~(x31,x32,x33)(6条路径)来影响x41,显然x13与x11对x41的影响相差很大,并且越靠近中间的像素对输出影响越大,图中影响最大的像素是x14(假设卷积核权重均匀分布)。

理论证明

上述结论的理论证明可以参考论文:Understanding the Effective Receptive Field in Deep Convolutional Neural Networks NIPS 2016,论文对有效感受野进行了细致的研究。

论文结论:实际有效的感受野和理论上的感受野差距比较大,实际有效的感受野是一个高斯分布。

验证方法:从输出映射的中心像素向网络反向传播一个梯度,并将所有其他梯度设置为零,检查应用于输入层的梯度。

有效感受野

感受野范围内的像素对于输出的贡献不同,梯度的性质是高斯的,中心像素梯度信号强,离中心越远梯度信号越弱,且衰减是呈指数的,从中间衰减得非常快,这使得理论感知域中的有效部分占比非常小。如图,白色点表示有效感受野(高斯分布)ERF,正方形区域为理论感受野RF。

1、卷积核权值均匀分布(Uniform)高斯分布

2、卷积核随机分布(Random)高斯分布

3、激活函数会改变有效感受野ERF的分布,如图ReLU使部分梯度为0,高斯分布的密度下降

4、添加层使ERF增长,此处需要注意ERF变化和ERF占比的变化:

(1) 第一,ERF随层数增加而增长;

(2) 第二,虽然ERF在增长,但ERF/RF在减小,图中白色区域与正方形的面积比值;

(3) 第三,虽然ERF/RF在减小,但收缩速度放缓,图中10layers到20layers,再到40layers,比值减小的比例基本一致,但层数增加翻倍(10层,20层),表明收缩速度放缓。下图为实验验证的ERF绝对值以及占比的变化趋势

不同激活函数的有效感受野分布不同

训练对有效感受野的影响

训练过程中,ERF扩展到RF的更大部分,说明网络在学习过程中把越来越大的权重放在感受野区域中靠近边缘的像素上。在CamVid中,ERF从100增加到150直径,而理论RF为505 x 505

其他

stride卷积和dilated卷积都显示出可以扩展ERF

如何有效的对抗感知野的高斯分布

1、权重的初始化:优化权重矩阵最大化有效感知野的大小,使卷积核中心的权值更小,外部的权值更大。如何设置合适实验表明会酵素训练过程,但是注意,不要暴力将卷积核四角之外的值设为0,太多的权重为0会减慢学习速度。

对权重初始化的操作,只是解决了部分问题,有效感受野仍然类似高斯分布。

2、CNN的结构:该方法从基础上解决问题,理论上更好。

(1) 下采样,稀疏连接如dilate conv或者非网格形式的稀疏连接思想能够增大ERF

(2) 注意skip-connection使ERF更小,dropout 并不会改变ERF。

思考

感受野可用于指导深层卷积神经网络的搭建,在论文A practical theory for designing very deep convolutional neural networks中也给出了具体的计算公式,但是需要注意的是这篇论文中所说的感受野只是理论感受野,因此需要结合本文有效感受野的概念和思想进行设计,也就是说理论感受野如果与图像大小相似,那么有效感受野可能会远小于图像大小,可能会因为有效感受野太小,导致网络学习能力不高。

增大感受野需要从两个方面考虑,即如何增大理论感受野,以及如何增大有效感受野。


anchor与感受野

以Fast-RCNN中的RPN为例,我们对比一下理论感受野与有效感受野:

在RPN中,anchor最大为64*8 = 512,使用https://fomoro.com/research/article/receptive-field-calculator#,计算得到理论感受野RF=1335。根据之前的实验推测ERF=RF*1/3=445,即RPN中512×512锚点只有大约445×445个输入数据,略小于锚框,RPN的效果非常好的一点原因是有效感受野与最大的锚点尺寸相近。


如何增大感受野

首先需要说明的是,增大理论感受野,有效感受野也会随之增大,而在理论感受野不变的前提下增大有效感受野,也会提高网络的学习能力。因此,增大感受野需要同时考虑这两个方面。

增大理论感受野方法:下采样+增加网络深度、适度增大卷积核大小

增大有效感受野的方法:权重初始化、空洞卷积等稀疏连接思想


深度学习网络设计中感受野的作用

在网路设计中,我们需要对最顶层特征层的感受野大小进行限制,因为如果感受野过大说明层数过多,网络过拟合的风险会增大,而如果感受野过小,往往学习不到高层的复杂特征,导致网络学习能力较差。

可参考论文:A practical theory for designing very deep convolutional neural networks以及博客


参考资料

[1] https://wiki2.org/en/Receptive_field

[2] https://www.linkedin.com/pulse/receptive-field-effective-rf-how-its-hurting-your-rosenberg/

[3] https://www.cnblogs.com/shine-lee/p/12069176.html

[4] Understanding the Effective Receptive Field in Deep Convolutional Neural Networks

[5] https://zhuanlan.zhihu.com/p/40267131

【深度学习概念】感受野相关推荐

  1. 【机器学习】机器学习和深度学习概念入门

    机器学习和深度学习概念入门(上) 作者:谭东  来源:机器学习算法与自然语言处理 目  录 1   人工智能.机器学习.深度学习三者关系 2   什么是人工智能 3  什么是机器学习 4  机器学习之 ...

  2. 前海征信“好信杯”大数据算法竞赛 - HM队【附源码】 原创 2017-06-17 高铭 科赛Kesci 赛题回顾 自2006年Hinton等人提出“深度学习”概念至今,深度学习在海量数据的挖

    前海征信"好信杯"大数据算法竞赛 - H&M队[附源码] 原创 2017-06-17 高铭 科赛Kesci 赛题回顾 自2006年Hinton等人提出"深度学习& ...

  3. 干货丨机器学习和深度学习概念入门

    对于很多初入学习人工智能的学习者来说,对人工智能.机器学习.深度学习的概念和区别还不是很了解,有可能你每天都能听到这个概念,也经常提这个概念,但是你真的懂它们之间的关系吗?那么接下来就给大家从概念和特 ...

  4. [深度学习概念]·声纹识别技术简介

    声纹识别技术简介 声纹识别,也称作说话人识别,是一种通过声音判别说话人身份的技术.从直觉上来说,声纹虽然不像人脸.指纹的个体差异那样直观可见,但由于每个人的声道.口腔和鼻腔也具有个体的差异性,因此反映 ...

  5. 【深度学习】深度学习概念的理解(一)

    [深度学习]深度学习的理解(一) 写在最前面的话:设置[深度学习]栏,主要是为了扫盲深度学习的各个知识点,希望通过这种方式来给自己的基础打扎实,从头开始学习!如果有写得不对的地方,请指正!!!谢谢 深 ...

  6. [深度学习概念]·深度学习中人脸识别开发解析

    深度学习中人脸识别开发解析 目录 人脸识别介绍 人脸识别算法 实战解析 参考文献 人脸识别介绍 人脸识别是什么 人脸识别问题宏观上分为两类:1. 人脸验证(又叫人脸比对)2. 人脸识别. 人脸验证做的 ...

  7. [深度学习概念]·深度学习进行语音识别-简单语音处理

    深度学习进行语音识别-简单语音处理 吴恩达教授曾经预言过,当语音识别的准确度从95%提升到99%的时候,它将成为与电脑交互的首要方式. 下面就让我们来学习与深度学习进行语音室识别吧! 机器学习并不总是 ...

  8. [深度学习概念]·实例分割模型Mask R-CNN详解

    实例分割模型Mask R-CNN详解 基础深度学习的目标检测技术演进解析 本文转载地址 Mask R-CNN是ICCV 2017的best paper,彰显了机器学习计算机视觉领域在2017年的最新成 ...

  9. 深度学习中感受野的概念

    不同层输出的特征图,它们的感受野是不同的,一般情况下,随着下采样次数的增加,感受野在成倍数的放大

  10. 机器学习、深度学习概念术语的理解

    feature learning:也叫 representation learning,表示学习: deep learning:deep structural learning,deep machin ...

最新文章

  1. Vagrant: hostmanager 主机名管理插件
  2. java进销存培训_Java实例学习——企业进销存管理系统(2)
  3. python编程100例头条-今日头条python面试题之编程篇
  4. 我去,JS自执行匿名函数竟然有20几种写法!
  5. BCD码和十六进制的区别【转】
  6. 详解C++ friend关键字
  7. 《TCP/IP路由技术(第二卷)》一1.5 检测与排除EGP故障
  8. CMS-订单系统的分布式事务如何处理
  9. 未来计算机2020500,500kV变电站计算机监控系统的实施策略原稿
  10. 【智能制造】请拿走这份精益培训PPT,不谢!
  11. tortoise-orm 分页码(python)
  12. 缺少微信小程序测试经验?这篇文章带你从0开始
  13. jzojWZK打雪仗【高精】【DP】【卡特兰数】
  14. RFID标签的安全机制——LCAP协议的C++代码实现
  15. for.in for..of..
  16. Android多渠道打包方案
  17. STM32开发 -- W25Q32JV SPI FlASH详解
  18. 【记录踩坑】配置本地访问远程Linux系统服务器的jupyter notebook
  19. Java中的对象类型像引用还是指针,谁是谁非?
  20. 运动控制器激光振镜控制

热门文章

  1. 最简单的可拖拽窗口教程
  2. 智慧用电安全管理系统解决方案
  3. 信息学奥赛一本通 1357:车厢调度(train)
  4. 百度的镜像网站,有意思…………
  5. C#将自定义的时间字符串直接转换为UTC世界协调时间
  6. 行走的Linux——将ubuntu装入移动硬盘
  7. 【板栗糖GIS】DOS—如何在目录文件中批量建立子文件夹
  8. 一篇文章从了解到入门shell
  9. 阿里云CDN介绍以及如何配合OSS使用
  10. 简单的MD5加密解密