想象你站在一座森林瞭望塔的脚下,眼前的视线被层层叠叠的树木挡住,只能看清最近一两棵树的树干纹理。当你费力爬上第一层台阶,视野略微开阔,能看到一小片林间空地;继续往上爬,每登高一层,能望见的范围就扩大一圈——从几棵树,到一片树林,最后登顶时整座森林尽收眼底。但与此同时,你再也看不清单棵树的叶脉细节了。 卷积神经网络就像一个爬塔的人:每一层卷积操作,都让网络对输入图像的“视野”扩大一些。而这个视野范围,就是感受野(Receptive Field)——它是卷积网络中每个输出像素所对应的输入图像区域大小。浅层网络看到的是纹理、边缘等局部细节,深层网络看到的则是物体、场景等全局语义。理解感受野,就如同理解瞭望塔的高度如何决定你能看到什么——这正是深度网络进行特征提取与物体识别的关键视角。你只需记住:层数越深,感受野越大;但看得越广,细节越模糊。

岗位关联

学会感受野计算与设计,是你在搭建 CNN 时判断模型看得多远、能识别多大小目标的“视野标尺”,也是选择网络深度、卷积核与步长参数的核心依据。

目录
  1. 可视化演示
  2. 感受野定义
  3. 单层感受野
  4. 多层叠加效应
  5. 感受野计算
  6. 有效感受野
  7. 网络设计应用
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示感受野的核心机制,通过输入/处理/存储/输出四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

感受野:感受野的 感受野的定义与计算 多层卷积的感受野叠加 核心机制可视化 感受野整体架构与关键组件

感受野定义

当你站在瞭望塔最底层,面前只能看见一棵树的树干。这棵“树”就好比输入图像上的一小块像素区域——卷积网络中每个输出像素也是类似地,只能从输入图像的一小片区域获取信息。生物视觉里,视网膜上的每个神经元只响应视野中特定区域的刺激,这个区域就叫“感受野”。深度学习科学家从这个概念获得启发:卷积层的每个输出特征点,同样只“看”得到输入图像上的局部区域。

将视野映射到网络里,感受野的精确定义是:输出特征图上某个像素点,对应回输入图像上的区域大小。比如一个 3×3 的卷积核滑过输入图像,输出的每个像素事实上只与输入中相邻的 9 个像素有关,这 9 个像素围成的方块,就是这个输出像素的感受野。这也正是卷积网络“局部连接”特性最直观的体现——每个神经元不是看全图,而是专注于自己负责的小片区域。

这种局部观察的方式在早期特征提取中非常高效。想象森林瞭望塔的底部管理员,他不需要看清整座森林,只需要看清自己眼前那棵树是否有病虫害;同样的道理,浅层卷积网络只需要关注局部像素的纹理、颜色和边缘方向,就能提取出基础视觉特征。感受野定义了我们理解网络行为的坐标轴:输出特征图上的每一个点,都可以追溯到输入图像上一块明确的区域。

这不难联想到生活中:你在班级里第一次见新同桌,你的“视野半径”可能只有桌面上的一亩三分;而班主任走进教室巡视全班时,他的视野覆盖整间教室。对于卷积网络来说,感受野就是“每个人能看到多大的教室”,它决定了模型是从局部细节出发,还是从全局语义出发理解一张图片。

单层感受野

瞭望塔的每一级台阶都有固定的高度差——它的材质、尺寸就像卷积核的大小。站在第一级台阶上,你能看到的范围完全由这个台阶的高度决定。对应到网络里,单层卷积的感受野直接由卷积核尺寸决定:一个 K×K 的卷积核,输出像素的感受野就是 K×K。

假设我们用 3×3 的卷积核对一张图像做卷积。卷积核滑动到某个位置时,输出特征图上的一个像素,是对输入图像中 3×3 邻域内所有像素加权求和的结果。因此这个输出像素的感受野就是 3×3。如果换成 5×5 的卷积核,输出像素就能看到输入中 5×5 的区域,感受野随之扩大到 5×5。直观理解:核越大,一次能“抓取”的局部信息越多,视野越宽。

单层感受野的计算简单直观:

单层卷积感知范围虽小,但它是所有高层语义的基础。就好比瞭望塔的第一级台阶虽然只能让你看到最近一棵树的花纹,但这花纹是判断树种的重要线索。在卷积网络的第一层,模型也只能看到最局部的边缘与颜色信息,这些信息逐层组合,才能慢慢拼出完整的物体轮廓。

RF=K\displaystyle RF = K
单个卷积层中,输出像素的感受野大小等于卷积核的边长 K。
  1. 变量定义这里 \(RF\) 代表感受野的边长(感受野通常是正方形区域),\(K\) 代表卷积核的边长。例如 3×3 卷积核,\(K=3\)。
    RF\displaystyle RF
  2. 带入数值若采用 3×3 卷积核,则 \(K=3\),代入公式得 \(RF = 3\),即输出像素能看到输入中 3×3 的像素区域。
    RF=3\displaystyle RF = 3
  3. 直观理解输出特征图与输入图之间是“多对一”的映射——多个输入像素共同决定一个输出像素,参与决定这些输入像素的范围就是感受野。
    RF=K⇒输出=输入局部区域加权\displaystyle RF = K \quad \Rightarrow \quad 输出=输入局部区域加权

多层叠加效应

从第一级台阶再往上走一步,你的视线越过了第一排树冠,看到第二排树。每一级台阶都在前一级基础上,向外扩展一圈视野。多层卷积的叠加也是如此:当你堆叠多个卷积层时,后一层的输出像素,事实上能“回溯”到输入图像上更大的区域。

为什么?假设第一层用 3×3 卷积,输出特征图上的每个像素看到了输入的 3×3 区域。再叠一层 3×3 卷积,第二层的输出像素会对第一层输出的 3×3 邻域加权求和——而这 3×3 邻域中的每一个点,本身又包含了输入图像 3×3 区域的信息。两层叠加后,第二层输出像素实际上对应了输入的 5×5 区域。两层 3×3 卷积的感受野,等价于一层 5×5 卷积。依此类推,三层 3×3 卷积等价于一层 7×7 卷积。

这正是卷积网络“深”的奥秘:用小卷积核堆叠,既扩大了感受野,又比直接用大卷积核节省参数量。多层叠加时,感受野的递推关系为:

回到瞭望塔的比喻:每上一层台阶,视野扩大的幅度由台阶的“宽度”(卷积核大小)和上一段的“坡度”(步长)共同决定。如果台阶特别宽(大卷积核),或者楼梯特别陡(大步长),那么每上升一层,你新增的视野范围就更大。这也是为什么有些网络只靠三层 3×3 卷积,就能看到 7×7 的大范围区域——小小台阶堆上去,站得高自然望得远。

RFn=RFn−1+(Kn−1)×sprod\displaystyle RF_{n} = RF_{n-1} + \left( K_{n} - 1 \right) \times s_{prod}
后一层的感受野等于前一层感受野,加上本层卷积核长度减一,再乘以之前所有层步长的乘积。
  1. 初始状态输入层自身视为感受野为 1,即一个像素。\(RF_0 = 1\)。
    RF0=1\displaystyle RF_0 = 1
  2. 每层增量每一层新增的视野贡献为 \((K_{n} - 1) \times s_{prod}\),其中 \(K_n\) 是当前层卷积核大小,\(s_{prod}\) 是之前所有层的步长乘积(若所有步长都是 1,则 \(s_{prod}=1\))。
    ΔRF=(Kn−1)×sprod\displaystyle \Delta RF = \left( K_{n} - 1 \right) \times s_{prod}
  3. 递推累加将前一层感受野与新增视野相加,就能得到当前层感受野。如两层 3×3 卷积步长为 1:\(RF_1 = 1+2 = 3\),\(RF_2 = 3+2 = 5\)。
    RF2=3+2=5\displaystyle RF_2 = 3 + 2 = 5

感受野计算

既然积累视野像爬塔一样有规律可循,规划一条“登山路线”前,我们当然希望能精确算出每一步之后的视野大小。给你任何一组网络结构——卷积核尺寸、步长、层数——都能用统一公式算出每一层的感受野。这个公式就是前文递推关系的完整展开:

这个公式澄清了一个常见困惑:padding(补零)并不改变感受野。补零只是在输入图像周围填充空白像素,它改变的是输出特征图的尺寸,但输出像素仍然只与同样大小的卷积核区域相关。真正影响感受野的只有卷积核大小、步长和层数。就像在瞭望塔周围搭建脚手架的宽度,并不会改变你登高后的视野范围,只有塔的高度和每层阶梯的陡峭程度才真正决定你能看多远。

RFn=1+∑i=1n((Ki−1)∏j=1i−1sj)\displaystyle RF_{n} = 1 + \sum_{i=1}^{n} \left( \left( K_{i} - 1 \right) \prod_{j=1}^{i-1} s_{j} \right)
第 \(n\) 层输出像素的感受野 = 1 加上所有层各自贡献的 (卷积核-1) 乘以该层之前所有步长的乘积之和。
  1. 基准起点输入图像的单个像素看作最原始的感受野,初始值为 1。公式的开头 \(1\) 就是这个起点。
    RFn=1+⋯\displaystyle RF_{n} = 1 + \cdots
  2. 单层贡献第 \(i\) 层对感受野的贡献为 \((K_{i} - 1)\)。这里的 \(K_{i}\) 是第 \(i\) 层卷积核边长,减 1 表示该层在前后位置上“往外扩”的格数。
    (Ki−1)\displaystyle \left( K_{i} - 1 \right)
  3. 步长放大层前面的步长乘积 \(\prod_{j=1}^{i-1} s_{j}\) 把该层贡献放大。一旦前面出现过 stride=2,后面每一层贡献的视野都要翻倍增长。
    ∏j=1i−1sj\displaystyle \prod_{j=1}^{i-1} s_{j}
  4. 求和累加将所有层的贡献(从第 1 层到第 \(n\) 层)累加起来,再加上初始的 1,就得到了最终感受野。例如两层 3×3 卷积步长都为 2:第一层贡献 \(2\times1=2\),第二层贡献 \(2\times2=4\),最终 \(RF = 1+2+4 = 7\)。
    RF=1+2+4=7\displaystyle RF = 1 + 2 + 4 = 7

有效感受野

站在瞭望塔顶端,虽然理论上你能看到整片森林,但你的视觉注意力并不均匀——正前方视野最清晰,余光边缘只有模糊的轮廓。卷积网络也有同样的特性:虽然理论上输出像素能回溯到输入中一大片区域,但不同位置的输入像素对输出的影响权重并不相同,中心区域贡献最大,越往边缘的像素贡献越小。这个实际有效的部分,称为有效感受野。

实验和理论都表明,有效感受野的权重分布近似服从高斯分布——中心权重最高,向外平滑衰减。设想输入图像中心有一个亮点,经过多层卷积后,这个亮点的信息会扩散到输出特征图的多个像素上,但集中在输出中心附近;同理,输出中心像素受输入中心区域的影响远大于输入边缘。数学上,权重随距离的衰减可以表示为:

有效感受野的存在,意味着理论感受野并不等于“有效利用”的感受野。就像瞭望塔上看森林,你虽然能看到整片森林,但真正能分辨出树叶细节的区域只有正前方的一片。在设计网络时,如果误以为理论感受野覆盖了目标物体,就草率断定模型能感知它,往往会导致模型在真实场景中“视而不见”——尤其对于图像边缘的小物体,它们可能落在有效感受野的衰减区域之外,特征被严重稀释。

w(d)=exp⁡(−d22σ2)\displaystyle w(d) = \exp\left(-\frac{d^{2}}{2\sigma^{2}}\right)
距离输出像素对应位置 \(d\) 远的输入像素,其对输出的贡献权重按高斯曲线指数衰减——中心附近的像素最重要。
  1. 距离变量\(d\) 表示某个输入像素距离感受野中心的距离,单位是像素个数。例如紧挨中心点的像素 \(d=1\),边缘的像素 \(d\) 很大。
    d=(x−xc)2+(y−yc)2\displaystyle d = \sqrt{(x - x_c)^2 + (y - y_c)^2}
  2. 衰减指数\(d^2\) 除以 \(2\sigma^2\) 后取负指数。\(\sigma\) 控制衰减速度,\(\sigma\) 越大,曲线越平缓,有效感受野越大;\(\sigma\) 越小,曲线越尖,只有中心极小区域起作用。
    −d22σ2\displaystyle -\frac{d^{2}}{2\sigma^{2}}
  3. 权重计算对指数部分取 \(\exp\) 后得到权重 \(w(d)\)。当 \(d=0\) 时 \(w=1\),权重最大;当 \(d=2\sigma\) 时 \(w \approx 0.135\),权重已经很小,意味着实际高权重区域通常只有理论感受野的 60%~80% 左右。
    w(2σ)=e−2≈0.135\displaystyle w(2\sigma) = e^{-2} \approx 0.135

网络设计应用

不同的观察任务需要不同的瞭望塔高度:如果一个生态学家想观察树冠上的昆虫,站在塔顶反而看不清小虫;如果他想评估整片森林的健康状况,塔顶视角则必不可少。卷积网络设计同理,感受野需要与任务目标匹配,并不是越大越好。

小目标检测是感受野设计的经典场景。航拍图像中的车辆、行人只占几十个像素,如果网络的下采样倍数过大、感受野过宽,小目标的特征会在多层卷积后“稀释”到几乎消失。有效的做法是使用特征金字塔(FPN),让浅层大分辨率特征图(小感受野)负责检测小目标,深层小分辨率特征图(大感受野)负责检测大目标。语义分割中则相反,我们希望每个像素的分类能参考足够的全局上下文,因此常使用空洞卷积来快速扩大感受野。空洞卷积在不增加参数和计算量的情况下,通过插入空洞来扩大感知范围,其感受野计算公式为:

在网络选型时,感受野是一个重要的决策依据。VGG 用三层 3×3 替代一层 7×7,在相同感受野下显著降低参数;ResNet 通过残差连接让深层网络的感受野稳定增长而不会退化;检测网络通常保留多个尺度的特征层,让不同大小的目标各得其所。感受野的概念贯穿着现代 CNN 架构设计的方方面面:你设计的每个卷积核、步长和层数,实际上都在为模型量身定制一座观景塔——塔的高度,必须刚好让你看清想看的风景。

RFdilated=(K−1)×d+1\displaystyle RF_{dilated} = (K - 1) \times d + 1
空洞卷积中,膨胀率为 \(d\) 的卷积核,等效于把普通卷积核的相邻间距拉开 \(d\) 倍,感受野随之线性增大。
  1. 基础展开普通 3×3 卷积的感受野是 3。当膨胀率 \(d=2\) 时,卷积核上的每个采样点间距拉开为 2 个像素,等效覆盖范围变成 \(5\times5\)。公式中 \((K - 1) \times d\) 计算的就是展开后的等效范围。
    (3−1)×2=4\displaystyle (3 - 1) \times 2 = 4
  2. 加上中心等效范围加 1,得到最终感受野。例如 \(d=2\) 的 3×3 空洞卷积感受野为 \(4+1=5\);\(d=3\) 时感受野为 \(7\)。
    RFdilated=4+1=5\displaystyle RF_{dilated} = 4 + 1 = 5

AI 应用场景

小目标检测中的特征金字塔设计

阶段:模型架构设计

解决的问题:传统目标检测网络经过多层卷积后,感受野不断增大,小目标(如航拍车辆、远处行人)的特征在深层特征图上只剩一两个像素,信息大量丢失。通过理解感受野与层数的关系,我们知道浅层特征图感受野小、分辨率高,适合保留小目标细节。FPN(特征金字塔网络)正是利用这一原理,将深层语义信息与浅层高分辨率信息融合,让不同大小目标的特征都能被有效利用。

具体案例:在无人机航拍车辆检测中,一辆小汽车在 608×608 的输入图上仅占 20×20 像素。设计网络时,工程师将 FPN 的输出层选在 stride=8 的特征图(感受野约 30×30),使得小车的特征集中在有效感受野中心区域,检测精度提升了 15% 以上。若直接使用 stride=32 的深层特征(感受野已超过 200×200),小车特征会被大幅稀释,几乎无法检出。

语义分割中的空洞卷积感受野调节

阶段:特征提取与感受野控制

解决的问题:语义分割需要为每个像素分类,既要保持高分辨率,又需要足够大的感受野来理解上下文。传统做法通过连续池化扩大感受野,但牺牲了分辨率。空洞卷积在相同计算量下,通过调节膨胀率精确控制感受野,让分割模型在不丢失空间细节的前提下整合全局信息。

具体案例:DeepLab 系列模型使用 ASPP(空洞空间金字塔池化),在同一层特征图上并行使用膨胀率分别为 1、6、12、18 的空洞卷积,得到四个不同感受野的上下文特征,再融合预测。在 Cityscapes 街道场景分割中,这一设计让模型既能看清细小的交通标志(小感受野),又能理解整条街道的布局(大感受野)。

网络结构可视化与可解释性分析

阶段:模型分析与调试

解决的问题:训练好的 CNN 像一个“黑箱”,工程师难以判断模型究竟在看图像的哪个区域。通过计算各层感受野,可以精确定位每个特征图的输入来源,进而分析模型决策的依据,排查模型是否依赖了错误的上下文。

具体案例:在医学影像分类任务中,工程师发现模型诊断肺炎时,实际依赖的是图像角落的医院标识而非肺部纹理——这正是因为深层特征图的感受野覆盖了图片的大部分区域,模型偷学了无关特征。通过感受野分析配合注意力可视化,团队发现了这一问题,改用浅层特征图进行分类,模型准确率显著提升且具备可解释性。

Python 演示

python55 行
# -*- coding: utf-8 -*-"""感受野计算器:根据网络层配置计算每层输出特征的感受野""" def compute_receptive_field(layers):    """计算卷积神经网络各层输出特征的感受野     参数:        layers: 列表,每个元素为 (kernel_size, stride)    返回:        各层对应的感受野大小列表    """    rfs = []    rf = 1    stride_product = 1    for idx, (kernel, stride) in enumerate(layers):        # 当前层感受野 = 前一层感受野 + (kernel - 1) * stride_product        rf = rf + (kernel - 1) * stride_product        rfs.append(rf)        # 更新步长乘积,供后续层使用        stride_product *= stride    return rfs  def print_design(name, layers):    """打印一种网络设计的感受野"""    rfs = compute_receptive_field(layers)    print(f"--- {name} ---")    print(f"网络结构: {layers}")    for i, rf in enumerate(rfs):        print(f"第 {i+1} 层输出 → 感受野: {rf}×{rf}")    print()  if __name__ == "__main__":    # 设计1: 两层 3×3 卷积,stride=1    design1 = [(3, 1), (3, 1)]    print_design("设计1: 两层3×3卷积", design1)     # 设计2: 三层 3×3 卷积,stride=1 (VGG风格)    design2 = [(3, 1), (3, 1), (3, 1)]    print_design("设计2: 三层3×3卷积", design2)     # 设计3: 带步长的网络    design3 = [(3, 1), (3, 2), (3, 1)]    print_design("设计3: 含stride=2的卷积", design3)     # 设计4: 空洞卷积等效感受野    design4 = [(3, 1), (5, 1)]    print_design("设计4: 3×3 + 5×5", design4)     # 比较: 三层3×3 vs 单层7×7    rf_vgg = compute_receptive_field([(3, 1), (3, 1), (3, 1)])[-1]    rf_big = compute_receptive_field([(7, 1)])[-1]    print(f"三层3×3 感受野: {rf_vgg},单层7×7 感受野: {rf_big}")    print(f"两者感受野相同,但三层3×3参数量仅为单层7×7的 {3*9}/{49} = {3*9/49:.2f}")
目的:通过一个可复用的感受野计算函数,直观比较不同卷积网络设计的感受野大小,理解小卷积核堆叠与大卷积核的等价关系。
  1. rf = rf + (kernel - 1) * stride_product核心递推公式:每层新增视野等于卷积核减一乘以之前所有步长的乘积。
  2. stride_product *= stride关键中间量:所有历史步长的累积乘积,它会放大后面每一层的感受野贡献。
  3. rfs.append(rf)记录每一层的感受野,方便打印出逐层增长的视野曲线。
  4. compute_receptive_field([(3, 1), (3, 1)])[-1]取最后一项得到最终感受野,验证两层 3×3 卷积的感受野为 5。
  5. 3*9/49参数量对比:三层 3×3 卷积共 27 个参数,单层 7×7 需要 49 个参数,可见小核堆叠在保持感受野的同时更节省参数。

常见误区

误区“网络越深感受野越大,模型看得越全,效果肯定越好。我设计网络时直接把层数堆到最深,感受野覆盖整个输入图像,应该能识别一切物体吧?”

正解感受野并非越大越好。感受野过大时,输出特征图上单个像素的语义变得过于全局化,小目标的细节特征被大幅稀释;同时有效感受野只集中在中心,边缘区域的大量理论感受野实际贡献微弱,造成计算浪费。就像站在塔顶虽然能看到整片森林,却看不清树冠上的一只小虫——如果任务是找虫子,低矮的塔反而更合适。实际设计中,感受野应匹配目标物体在输入图像中的典型尺寸。

为何常见:人们直觉认为“看得越多=越聪明”,忽略了视觉任务中细节与上下文的权衡。深度学习的成功案例也多以“更深更强”为主,导致大家盲目追求大感受野。

误区“我给卷积层加了 padding,输入图像相当于被扩大了,那输出像素对应的输入区域肯定也变大了吧?”

正解这是一个经典误解。padding 只是在输入图像周围补一圈零值像素,输出像素与卷积核作用的相对位置没有变化,感受野大小完全不变(RF 只与卷积核尺寸、步长和层数有关)。padding 改变的是输出特征图的尺寸——它让边缘像素也能参与卷积,起到“保尺寸”的作用。就像在瞭望塔周围搭了一圈脚手架,并不会让你的视野范围变大,你仍然只能看到塔高决定的范围。

为何常见:因为 padding 后输入图像在视觉上确实变大了,初学者容易误以为网络处理范围扩大。加上一些资料中“padding 扩大有效输入”的说法不严谨,进一步加剧了这个误区。

误区“我已经算出了第 5 层的感受野是 30×30,那这层的每个输出像素就用了输入图像 30×30 区域的全部信息,模型应该能感知这个区域内的所有物体。”

正解理论和实验均表明,有效感受野只占理论感受野的一部分——输入像素对输出的贡献从中心到边缘呈高斯分布衰减,边缘像素的权重极低,几乎不参与决策。一个 30×30 的理论感受野,真正高效的往往只有中心 20×20 左右。指望模型精确利用整个理论感受野是不现实的。好比站在塔顶,虽然“视野范围”标称整个森林,但你真正能看清细节的区域只是视野中心的一小片。

为何常见:因为理论感受野计算简单直观,人们习惯性地把它当作模型的真实感知范围,忽略了神经网络权重分布的不均匀性。

误区“想要更大的感受野,就多堆几层卷积嘛,反正网络深度加深总没错,就是慢一点。”

正解堆叠层数只是扩大感受野的手段之一,而且不是最高效的。使用更大的卷积核(如 5×5、7×7)、设置更大的步长(stride=2)、引入池化层、使用空洞卷积等都能扩大感受野。特别是空洞卷积,能在几乎不增加参数量和计算量的情况下线性扩大感受野,是目前分割和检测任务中调节感受野的主流手段。就像爬上瞭望塔不仅可以通过加高塔身,还可以改变每级台阶的高度(步长)或直接换一个更高的塔(大核),方法远不止一种。

为何常见:深度学习的“深度崇拜”让不少人默认加深网络是解决一切感知问题的唯一途径,而对步长、空洞卷积等灵活手段缺乏了解。

面试题

Q1. 卷积神经网络中,“感受野”指的是什么?

单选题 · easy

  • A.卷积核的大小范围
  • B.输出像素对应的输入区域← 正确答案
  • C.输入图像的尺寸大小
  • D.特征图的通道数量

答案:B。感受野的定义是输出特征图上某个像素点对应回输入图像的区域大小。卷积核大小(A)决定单层感受野但不能等同;输入图像尺寸(C)和通道数(D)与感受野没有直接关系。就像瞭望塔上看到一个像素,要知道它实际看到了地面上多大一块面积——这块面积才是感受野。

Q2. 使用一个 3×3 卷积核进行单层卷积,输出像素的感受野是?

单选题 · easy

  • A.1×1 的区域范围
  • B.3×3 的区域范围← 正确答案
  • C.5×5 的区域范围
  • D.9×9 的区域范围

答案:B。单层卷积的感受野等于卷积核尺寸。3×3 卷积核每次滑动覆盖输入中 3×3 的邻域,因此输出像素的感受野就是 3×3。5×5 和 9×9 分别是堆叠两层、四层 3×3 卷积后才有的结果,而非单层的感受野。

Q3. 两个 stride=1 的 3×3 卷积层叠加后,输出像素的感受野是多少?

单选题 · mid

  • A.3×3 的区域范围
  • B.4×4 的区域范围
  • C.5×5 的区域范围← 正确答案
  • D.7×7 的区域范围

答案:C。利用递推公式:第一层感受野为 3,第二层感受野 = 3 + (3-1)×1 = 5。所以两层 3×3 卷积等价于一层 5×5 卷积的感受野。4×4 不符合卷积核尺寸为奇数的感受野扩展规律;7×7 需要三层 3×3 卷积叠加。

Q4. 有效感受野的权重分布近似服从什么规律?

单选题 · mid

  • A.均匀分布无差异
  • B.高斯分布中心高← 正确答案
  • C.泊松分布随机性
  • D.线性分布均匀衰减

答案:B。理论和实验表明,输入像素对输出像素的贡献权重从中心到边缘呈高斯分布衰减,中心区域权重最高,边缘权重趋近于零。均匀分布(A)意味着所有像素权重相同,这与事实不符;泊松分布(C)和线性分布(D)都不是实际观测到的有效感受野形态。

Q5. 下列关于 padding 对感受野影响的说法,正确的是?

单选题 · mid

  • A.padding 会扩大感受野范围
  • B.padding 会缩小感受野范围
  • C.padding 不影响感受野大小← 正确答案
  • D.padding 让感受野翻倍增长

答案:C。padding 只是在输入图像周围补零,改变输出特征图的尺寸,但不改变输出像素与输入区域的对应关系,因此不影响感受野大小。感受野只由卷积核尺寸、步长和层数决定。就像在塔周围加脚手架,不会改变你的视野范围。

Q6. 在卷积网络中,以下哪些操作可以扩大感受野?

多选题 · mid

  • A.增大卷积核的尺寸← 正确答案
  • B.增大卷积的步长← 正确答案
  • C.增加卷积层的数量← 正确答案
  • D.增加卷积通道的数量

答案:ABC。增大卷积核(A)直接增加单层感受野;增大步长(B)会放大后续所有层的感受野贡献;增加层数(C)通过逐层累加扩大感受野。增加通道数量(D)只影响特征表达的宽度,不改变空间视野范围。

Q7. 相同最终感受野下,用三层 3×3 卷积替代单层 7×7 卷积的优势是什么?

单选题 · mid

  • A.感受野变得更大更广
  • B.参数量和计算量更小← 正确答案
  • C.训练收敛速度更快些
  • D.模型更加容易过拟合

答案:B。三层 3×3 卷积共 3×9=27 个参数,单层 7×7 需要 49 个参数,前者参数量和计算量都更小,同时中间层还引入了更多非线性表达能力。两者的感受野相同,因此 A 错误;参数少通常反而更不容易过拟合,C 说法也不具有一致性。

Q8. 关于有效感受野,下列说法正确的是?

多选题 · hard

  • A.中心区域输入权重最高← 正确答案
  • B.边缘信息几乎被忽略← 正确答案
  • C.实际利用可超过理论感受野
  • D.空洞卷积可以调节有效感受野← 正确答案

答案:ABD。有效感受野呈高斯分布,中心区域权重最大(A),边缘权重极低(B),这是普遍规律。实际有效的范围不会超过理论感受野,C 错误。空洞卷积通过膨胀率改变感知范围,同时影响有效感受野的分布(D),是实践中调节有效感受野的重要手段。

Q9. 某网络第一层使用 3×3 卷积 stride=2,第二层使用 3×3 卷积 stride=1,第二层输出感受野为?

单选题 · hard

  • A.5×5 的区域范围
  • B.7×7 的区域范围← 正确答案
  • C.9×9 的区域范围
  • D.11×11 的区域范围

答案:B。套用通用公式:第一层感受野 = 3,此时步长乘积 = 2。第二层感受野 = 3 + (3-1)×2 = 7。可见 stride=2 的第一层将第二层的新增视野放大了 2 倍。若两层 stride 都为 1,感受野只有 5;步长的存在让感受野从 5 扩大到 7。

Q10. 在设计小目标检测网络时,关于感受野的选择正确的是?

多选题 · hard

  • A.感受野应匹配目标尺寸← 正确答案
  • B.浅层特征适合检测小目标← 正确答案
  • C.感受野越大检测越好
  • D.需注意力机制灵活调节← 正确答案

答案:ABD。小目标检测应选择与目标尺寸匹配的感受野(A),浅层特征图分辨率高、感受野小,适合保留小目标细节(B);单纯增大感受野会稀释小目标特征,C 错误;注意力机制可以动态调整有效感受野,使模型聚焦于目标所在区域(D),是目前常用的辅助手段。