这个术语涉及的领域众多(所有介绍请查看文末的参考文献),此处主要讨论卷积神经网络(CNNs)中receptive field的概念。
当从CV中看到Receptive Field这个术语时,翻译说是“感受野”,仔细想想这个“野”字是个形容词,似乎有些欠妥当,所以我个人想译成“感受域”,如此可能更能理解些。但不管哪个词,把它当成一个区域,或是一个视野大小就行了;至于翻译问题,暂且不管!
一、Receptive Field定义
The receptive field is defined as the size of the region in the input that produces the feature.
也就是说,感受野的大小,等同于卷积核的大小;在feature map中,每个像素点的输入数据的选取,也是根据感受野的大小来取的;这个卷积核就像1个视野范围,把整张图从左到右,从上至下看了一遍。
二、单层的例子
如图1,左边浅红色的为输入,为32*32*3(高*宽*通道数)的RGB图像;里面深红色部分,代表卷积操作,宽高为5*5;右边蓝色部分,是卷积层的一个神经元(卷积运算的输出);蓝色里面的一个长方体,代表feature map的某个像素点(含多个通道)。
在这个例子中,receptive field的大小为多少?由于这个卷积核的大小为5*5,那么在计算下层每个像素点时,都需要5*5的数据,那么receptive field的大小为5*5。
![igure 1. receptive feild](https://i-blog.csdnimg.cn/blog_migrate/1b73fed533fe84f6d6d8b741f5286e5f.png)
receptive field这个概念,不仅有高宽的属性,还有深度的属性!
如此以来,不同的感受野所消耗的"权值"(train parameters)数量也是不同的。在本例子中,需要消耗的权值数为5*5*3=75。
三、追根溯源
The LeNet paper introduced the first use case of the utilization of the convolutional neural network for character recognition. It also introduced the idea and implementation of local receptive fields within CNN.
四、经验之说
当使用卷积遍历某个图片时,感受野过大或过小都是不合适的。
- 若目标相对感受野过小,那训练参数只有少部分是对应于训练目标的,则在测试环节,也很难检测出类似的目标;
- 若目标相对感受野过大,那训练的参数都是对应于整个对象的局部信息,是不够利于检测
大小目标的。
所以对于感受野的大小选择,还是应当适当选取。
而关于这节的“经验”,我还是想寻其根本原因,咎于时间原因,暂不作深入调查!如若有读者有研究,很开心你能提供这块的支撑材料,共同为CNN的基础概念建设做贡献,谢谢。
五、参考文献
1. receptive field - wikipedia
2. Understand Local Receptive Fields In Convolutional Neural Networks