在美术馆里欣赏《清明上河图》,画面中上百个微小人物各有姿态,你想看清最角落里商贩的挑担。你拿起第一把放大镜,只能看清巴掌大的一块画面;不甘心,又叠上第二把,视野立刻往外扩了一圈;叠的镜片越多,你能看到的画布范围越大,直至整段街景收入眼底。这种「透过层层镜片最终望见的原始画面范围」,正是卷积神经网络里贯穿始终的核心概念——感受野(Receptive Field)。学会精确计算它,你就能像经验老到的装裱师,只看一眼镜片数量与规格,便算出能望见多大画幅,从而为不同尺度的画作挑选合适的观察工具。本篇文章将带你从直觉到公式,完整掌握感受野的计算方法,并学会将它用于目标检测和网络设计的实战决策。
对 AI 从业者而言,感受野计算是 CNN 架构设计的基本功:无论做目标检测的 anchor 设计、规划网络深度,还是构建特征金字塔,都依赖这一把「视野标尺」。掌握它,你就能从「玄学调参」走向「精确建模」。
可视化演示
展示CNN感受野逐层增长过程、递推公式推导和步幅对感受野扩展的影响。交互切换增长视图、公式视图和步幅视图。
本节配有交互动效(进入视口后自动加载,约 3KB)。
感受野逐层增长 卷积层扩大感受野 池化层跳跃增长 深层rf达37像素 rf_l=rf_(l-1)+(k_l-1)*j_l 感受野随网络深度逐层递增
感受野概念
你拿起第一把放大镜对准画布,镜片边缘圈出来的那一片画面,就是你的「第一层视野」。如果这片镜片是 3 厘米见方,你恰好能看清一个巴掌大的商贩摊位。在卷积神经网络里,输入图图像就是这张画布,第一层卷积核的大小(记为 $k$)决定了它覆盖输入图像的哪一区域。
这个区域——一个输出神经元在输入图像上能够「看见」的像素范围——就是感受野。由于卷积是一种局部连接操作,每个神经元只跟输入上的一小块区域相连,这与全连接网络(每个神经元看见整张图)形成鲜明对比。第一层卷积核大小为 $k$,则第一层感受野就是 $k \times k$。
但卷积网络真正的威力,在于「层层叠加」:第二层的神经元会把第一层相邻多个神经元的输出拼在一起看,于是它的视野扩展到了第一层视野之外。每堆叠一层,视野就往外多探出「半圈」。就像叠放大镜时,每片新镜片都在旧视野的基础上,再向外多框住一圈画布——这就是感受野逐层扩张的基本直觉。
- 第 1 层感受野 $r_1$它表示第一个卷积层输出神经元在原始输入图像上覆盖的边长。$r_1 \times r_1$ 就是视野的完整面积。
- 卷积核大小 $k_1$第 1 层的卷积核边长。卷积核有多大,第一层神经元直接连接的输入区域就有多大。
递推公式推导
叠放大镜时有个规律:每叠一片新镜片,「新视野 = 旧视野 + 新镜片的边缘外扩量」。如果新镜片自身很大,外扩量就大;如果之前叠过的镜片改变了放大倍数,这个外扩量还得按放大倍数换算成画布上的真实距离。卷积网络中的视野扩张,遵循同样的递推逻辑。
第 $i$ 层卷积核大小为 $k_i$,它会在上一层感受野的基础上向外各扩展 $(k_i - 1)/2$ 个「当前层的像素」。关键问题是:当前层的 1 个像素,折合成输入图像上是多大距离?答案是由此前所有层步长的乘积决定,这个乘积叫累积步长(也叫有效步长)。若前面各层步长为 $s_1, s_2, \dots, s_{i-1}$,则累积步长为 $\prod_{j=1}^{i-1} s_j$。
于是得到感受野递推公式:当前层感受野 = 上一层感受野 + 本层核外扩量 × 累积步长。以两层 $3 \times 3$ 卷积为例:第一层感受野为 3,第二层 $k=3$、前面累积步长为 1,则 $r_2 = 3 + 2 \times 1 = 5$。若之后接一个步长为 2 的 $3 \times 3$ 卷积,累积步长变为 2,第三层感受野 $r_3 = 5 + 2 \times 2 = 9$——视野扩张速度陡然加快。
- 当前层感受野 $r_{i}$这是我们要求的目标——第 $i$ 层输出神经元在输入图像上的视野边长。
- 上一层感受野 $r_{i-1}$递推的起点,视野是在上一层的范围上继续向外扩展的,而不是从零开始。
- 核外扩量 $(k_i - 1)$一个大小为 $k_i$ 的卷积核,相对于「正中心一个像素」想外探出的宽度。比如 $k=3$ 时外扩 2,$k=5$ 时外扩 4。
- 累积步长 $\prod_{j=1}^{i-1}s_j$把本层之前的每一步下采样倍数乘起来。它把「本层的一个像素步长」换算成输入图像上的真实距离,决定了外扩量的放大倍率。
步长与填充
同样规格的放大镜,如果观察时你每次把镜片挪得更远(步长更大),虽然单次看清的局部没变,但扫过画布的速度变快了,下一层能拼出的整体范围也更大——代价是中间的某些细节被跳过了。这与卷积中步长(stride)的作用完全一致。
步长并不改变当前层神经元「看自己那一下」的视野大小——那仍由卷积核决定。它真正改变的是之后所有层的视野扩张速度:因为步长增大了累积步长,后续每层的外扩量都被放大。例如一个 $3 \times 3$ 卷积若步长为 2,本层感受野仍是 3,但累积步长从 1 跳变到 2,下一层每外扩 1 个像素,折合输入图像上是 2 个像素的距离。这就是「步长累积效应」——步长大一次,后面所有层都受益。
填充(padding)则扮演着画框外白边的角色:它让画布边缘处的笔触也能被均匀扫描到,不改变视野的「直径」,只改变输出特征图的尺寸。计算感受野时,padding 不会进入递推公式,但规划网络时,合适的 padding 能保证边缘目标不丢失定位信息。有效步长的计算则非常简单:逐层累乘所有层的步长即可。
- 累积步长 $S_{acc,i}$第 $i$ 层之后,输入图像上一个像素等价于第 $i$ 层输出上的多少个像素跨度。
- 累乘符号 $\prod_{j=1}^{i} s_j$把第 1 层到第 $i$ 层所有步长连乘。任何一层出现 $s=2$,累积步长就翻倍,后续感受野外扩全部乘上这个倍数。
- 步长 $s_j$第 $j$ 层的滑动步长。$s=1$ 是「逐寸挪镜」,$s=2$ 是「跳格扫画」。
膨胀卷积与池化
有些放大镜带「变焦环」:转一格焦距,中央依旧清晰,但镜片边缘似乎在「撑开」,能跳过一些画面直接望见更远处——这就是膨胀卷积(空洞卷积)。它的膨胀率 $d$ 让卷积核在输入上每隔 $d-1$ 个像素才采样一次,等效于把一个 $k \times k$ 的核「撑大」成 $(k-1)d + 1$ 的大小。
膨胀卷积在不增加参数的前提下,大幅加快感受野扩张。比如一个膨胀率 $d=2$ 的 $3 \times 3$ 卷积,等效卷积核是 $5 \times 5$,外扩量从 2 变成 4。将膨胀率代入递推公式,便得到它的视野贡献。池化则是更粗暴的「广角镜」:把窗口内的最大值或平均值浓缩成一个代表值,等价于一个步长为池化窗口大小的特殊采样层,同样会翻倍累积步长,加速后续视野扩张。
实践中常把多个不同膨胀率的空洞卷积串联(膨胀率逐层递增),让网络同时获得「看清细节的小视野」和「把握全局的大视野」。这条策略广泛用于语义分割等需要大感受野但不想丢分辨率的任务。
- 膨胀后的外扩量 $(k_i - 1) \times d_i$卷积核被膨胀率撑大后,向外探出的总宽度等于原始外扩量乘以膨胀率。
- 膨胀率 $d_i$第 $i$ 层卷积的采样间隔。$d=1$ 是普通卷积,$d=2$ 表示每隔一个像素采样一次,等效核变大。
- 等效卷积核边长 $(k_i - 1) \times d_i + 1$把膨胀后的核还原成一个普通核的边长,例如 $3 \times 3$ 核取 $d=2$ 则等效 $5 \times 5$。
- 累积步长乘积与普通递推公式一致,膨胀带来的外扩同样受前面下采样倍数的放大。
跳跃连接影响
放大镜叠到第五层时,边缘的颜料隔着太多镜片已经糊成一片。机智的观察者会直接移开所有镜片,用裸眼瞟一眼原画——这一眼看到的范围小,但轮廓清晰——再把它与放大镜看到的大范围画面「叠」在一起理解。这就是残差网络(ResNet)的跳跃连接:主路径经过多层卷积得到大感受野,捷径直接把浅层的小感受野信息原样送过来,二者相加。
很多人误以为跳跃连接「扩大了感受野」,需要澄清:残差块输出的理论感受野上限,仍由主路径中最深的卷积链条决定——捷径感受到的范围更小,取并集后大小仍是主路径那个较大的值。跳跃连接真正的贡献,是显著提升有效感受野:梯度与信息可以通过捷径从小范围路径直达深层,让「对输出真正有影响力的输入像素」分布得更饱满、更均匀,同时改善梯度传播,缓解深层网络难以训练的问题。
- 输出感受野 $r_{out}$残差块最终输出神经元的视野范围,等于两条路径覆盖区域的并集大小。
- 主路径感受野 $r_{main}$经过多层卷积变换后的大视野。通常 $3 \times 3$ 卷积堆几层,这条路就负责撑开理论感受野的上限。
- 捷径感受野 $r_{skip}$捷径分支没有卷积或只有很浅的变换,感受到的范围与残差块输入相同,通常比主路径小得多。
- 取最大值 $\max(\cdot)$并集的数值近似。因为 $r_{main} \ge r_{skip}$,理论值取主路径即可;但梯度和信息分布因两条路径相加而更均匀。
可视化方法
怎么验证你叠的镜片真的「看全」了?一个巧妙的办法:把一滴颜料滴在最终观察点上,再逆着镜片的路径往回洒,看画布上哪些地方被染了色——被染色的区域就是有效感受野,颜色越深的地方贡献越大。这就是「单位脉冲反向传播」可视化法。
具体做法是:在输出特征图的某个位置置一个 1、其余置 0,把它作为梯度反向传播到输入层,得到一张贡献热力图。热力图上非零的区域就是理论感受野的范围,而数值的大小分布则揭示有效感受野:通常呈现中心高、边缘低的高斯状分布,因为卷积层层加权下,靠近中心的像素对最终输出贡献更大。
这个可视化方法给了两个实用经验:其一,有效感受野半径通常只有理论感受野的 1/3 到 1/2,边缘像素贡献趋近于零,相当于「名义上能看到、实际上看不清」;其二,堆叠更多卷积虽然扩大理论值,但边缘贡献仍然很弱,所以想真正利用大视野,需要配合膨胀卷积或注意力机制来「压实」贡献分布。
- 有效感受野 $r_{erf}$对最终输出真正有非平凡贡献的输入区域半径,是可视化热力图中高亮部分的大小。
- 比例系数 $0.3 \sim 0.5$由大量实验得到的经验区间。不同网络结构略有差异,但都显著小于 1,提醒我们理论感受野被高估了。
- 理论感受野 $r_{theory}$用递推公式算出的最大视野范围,即热力图中非零区域的总边长。
目标检测应用
装裱师要根据画作尺寸挑选观察工具:看小幅扇面用低倍镜组,看十米长卷得配大口径广角镜。目标检测的设计者面临同样的选择——不同尺寸的目标,需要不同尺度的感受野来匹配:小目标需要相对较小的感受野以保持定位精度,大目标则需要足够大的感受野来聚合上下文。
最典型的应用是 anchor 尺寸设计:如果 anchor 远大于感受野,网络根本「没看见」那么多信息,回归框就成了瞎猜;如果 anchor 远小于感受野,网络又会被过多背景干扰。经验法则是让 anchor 边长落在该层感受野的 1/4 到 1/2 之间,并尽量居于感受野中心——那里贡献最大。以此为据,SSD、YOLO 等模型都会为不同下采样层配不同尺寸的 anchor,实现多尺度检测。
另一个应用是网络深度规划:在目标检测骨干网络中,通过感受野递推公式反推「要覆盖某个尺度的目标需要多少层卷积」,避免盲目加深。特征金字塔(FPN)的构建同样依赖这个工具:浅层特征感受野小、适合检测小目标,深层特征感受野大、适合检测大目标,每一层输出的 anchor 必须与当前特征层的感受野对齐,检测器才能「各司其职」。
- anchor 边长 $a_{anchor}$目标检测中预先设定的候选框尺寸。它应当与目标真实尺寸接近,并与所在特征层的视野匹配。
- 该层感受野 $r_{layer}$当前特征层神经元能看到的输入区域大小。anchor 不要超出这个视野的实心区域。
- 经验系数 $\alpha$取 0.25 到 0.5,即 anchor 设为感受野的 1/4 到 1/2,保证目标主体落在贡献最集中的中心地带。
AI 应用场景
Anchor 尺寸与感受野匹配优化
阶段:模型设计 / 锚框生成
解决的问题:在目标检测中,YOLO、Faster R-CNN 等模型如果 anchor 尺寸与特征层感受野不匹配,会出现大量「看得见却框不准」的失败检测——anchor 太大时网络没看到完整的物体信息,太小时又被背景淹没。用感受野递推公式为每一层特征图精确计算视野范围,再据此设定 anchor 的边长区间,可将小目标召回率稳定提升。
具体案例:某自动驾驶团队在检测远处行人(平均 20×40 像素)时,原 anchor 设为 64×64,检测率很低。他们先算出浅层 P2 特征(下采样 4 倍,感受野约 48×48),再将小尺寸 anchor 从 32×32 调整为 16×32,并限制 anchor 中心落在感受野中心区域,漏检率下降约 18%。
骨干网络深度规划
阶段:特征提取网络结构设计
解决的问题:设计分类或检测骨干网络时,盲目堆叠 3×3 卷积会让参数量和延迟飙升,但感受野增长缓慢(每层仅 +2)。借助递推公式,可以在设计阶段反推「达到目标视野需要多少层、哪些位置需要下采样或膨胀卷积」,避免「深而不广」的无效网络。
具体案例:某移动端模型需要在 CPU 上跑到 30 FPS,同时保证对 80×80 以上目标有足够上下文。工程师用感受野计算器枚举出「4 层 3×3 + 在第 3 层插入 stride=2」的结构,在参数量不变的前提下将最终感受野从 9 扩到 17,精度提升 2.3 个点。
特征金字塔各层尺度对齐
阶段:多尺度特征融合 / 检测头设计
解决的问题:特征金字塔(FPN)中每一层特征要负责特定尺度的目标,若各层感受野与负责尺度的目标尺寸错位,会出现「大目标在浅层检测但视野不够」或「小目标在深层检测但已被下采样抹掉」的结构性矛盾。逐层计算感受野后,可精确对齐各层 anchor 的范围。
具体案例:在 COCO 数据集上,某检测器原先 P3-P7 层均用相同 anchor 集合。按感受野逐层计算后,P3 层(感受野约 32)只分配 8-16 像素的小 anchor,P5 层(感受野约 128)分配 32-64 的中 anchor,P7 层(感受野约 512)分配 128-256 的大 anchor,mAP 提升 3.1。
Python 演示
class ReceptiveFieldCalculator: """计算 CNN 各层感受野与有效步长的工具类""" def __init__(self): self.layers = [] self.rf_list = [1.0] self.stride_list = [1.0] def add_layer(self, kernel, stride=1, dilation=1): self.layers.append( {"kernel": kernel, "stride": stride, "dilation": dilation} ) def compute(self): rf = 1.0 acc_stride = 1.0 self.rf_list = [1.0] self.stride_list = [1.0] for layer in self.layers: eff_kernel = (layer["kernel"] - 1) * layer["dilation"] + 1 rf = rf + (eff_kernel - 1) * acc_stride acc_stride = acc_stride * layer["stride"] self.rf_list.append(rf) self.stride_list.append(acc_stride) return self.rf_list def summary(self): rfs = self.compute() rows = [] for i, layer in enumerate(self.layers): eff_kernel = (layer["kernel"] - 1) * layer["dilation"] + 1 rows.append( "第{}层: k={}, s={}, d={} -> 感受野 {}x{}".format( i + 1, layer["kernel"], layer["stride"], layer["dilation"], int(rfs[i + 1]), int(rfs[i + 1]), ) ) return "\n".join(rows) if __name__ == "__main__": calc = ReceptiveFieldCalculator() calc.add_layer(3, 1, 1) calc.add_layer(3, 1, 1) calc.add_layer(3, 2, 1) calc.add_layer(3, 1, 1) calc.add_layer(3, 1, 1) print("五层卷积网络逐层感受野:") print(calc.summary()) print("逐层感受野:", [int(r) for r in calc.rf_list]) print("逐层有效步长:", [int(s) for s in calc.stride_list])
def add_layer(self, kernel, stride=1, dilation=1)注册一层卷积的配置,把网络结构逐层「登记在册」。eff_kernel = (layer["kernel"] - 1) * layer["dilation"] + 1计算膨胀卷积的等效核大小,是膨胀率进入公式的入口。rf = rf + (eff_kernel - 1) * acc_stride核心递推:当前视野 = 旧视野 + 核外扩量 × 累积步长。acc_stride = acc_stride * layer["stride"]累积步长逐层相乘,任何一次下采样都会放大后续所有层的外扩。if __name__ == "__main__":可执行入口,直接运行即可看到五层网络的逐层感受野输出。
常见误区
误区给卷积加 padding 会扩大神经元的视野,因为输入图像的边缘被补了一圈,看起来「能看到更多」。
正解padding 只是在画框外围加白边,用于控制输出尺寸和保留边缘信息,它不会改变感受野递推公式中的任何一项——感受野只与卷积核大小、膨胀率和累积步长有关。真正意义上的「多看」要靠更大的核、更深的层或更大的步长。
为何常见:大家容易把「输出特征图尺寸变化的直觉」和「感受野计算」混为一谈,以为输入多了几圈像素,视野就大了。
误区两层 3×3 卷积的感受野是 5×5,所以它和一层 5×5 卷积在任何方面都一样。
正解感受野数值相同,但两层 3×3 引入了非线性激活,表达能力更强、参数量更少(18 对 25),且中间层能形成更丰富的特征层次。它们只是「视野大小」一致,不是「看到的画质」一致。
为何常见:初学感受野时容易把这个「视野数值」当成卷积的全部,忽略了非线性变换和参数效率这些同样重要的维度。
误区ResNet 加了跳跃连接,网络的感受野一定比没加时更大,所以残差结构的主要作用是扩大视野。
正解残差块的捷径路径感受野比主路径小,两条路径合并后理论感受野等于主路径的值,并未被「额外放大」。跳跃连接真正提升的是有效感受野——让梯度和信息从小路径直达深层,使贡献分布更饱满、训练更稳定。
为何常见:人们观察到残差网络在深网络里效果更好,便直觉归因于「视野变大了」,忽略了有效感受野与理论感受野的区别。
误区设计检测网络时,感受野越大越好,因为能看到的上下文更多,检测自然更准。
正解感受野需与目标尺度匹配。小目标在过大的感受野中只占很小一块,周围背景会严重干扰分类与回归;反之大目标在小感受野中看不到全貌。合理的做法是像 FPN 那样让不同层各司其职,每层感受野对齐对应尺度的 anchor。
为何常见:因为「看得越多越好」符合日常直觉,但检测任务的本质是「看对地方」,而非盲目看广。
面试题
Q1. 在卷积神经网络中,感受野的定义是什么?
- A.卷积核覆盖的像素总数
- B.神经元响应的输入图像区域← 正确答案
- C.卷积核尺寸的数值大小
- D.输出特征图的宽高大小
答案:B。感受野是输出特征图上某个神经元在原始输入图像上能「看到」的区域大小。A 描述的是卷积核覆盖总量,C 只是核的尺寸,D 是输出图的尺寸,均与感受野定义不符。就像放大镜框住的画布范围,而不是镜片本身的刻度。
Q2. 连续两个步长为 1 的 3×3 卷积,最终感受野最大可达多少?
- A.3×3 像素范围
- B.5×5 像素范围← 正确答案
- C.6×6 像素范围
- D.9×9 像素范围
答案:B。第一层 3×3 卷积的感受野为 3;第二层 3×3 卷积的核外扩量为 2,累积步长为 1,因此 $r = 3 + 2 \times 1 = 5$。等价于叠两片放大镜,每片向外多框一圈,视野从 3 扩到 5。
Q3. 步长为 2 的 3×3 卷积后,再接步长 1 的 3×3 卷积,最终感受野最接近多少?
- A.7×7 像素范围← 正确答案
- B.8×8 像素范围
- C.9×9 像素范围
- D.10×10 像素范围
答案:A。第一层 3×3 卷积后感受野为 3,累积步长变为 2;第二层 3×3 的外扩量为 2,但需乘以累积步长 2,因此 $r = 3 + 2 \times 2 = 7$。步长像挪镜片的间距,间距越大,后续视野扩张越快。
Q4. 膨胀率 d=2 的 3×3 空洞卷积,其等效卷积核大小是多少?
- A.4×4 像素范围
- B.5×5 像素范围← 正确答案
- C.6×6 像素范围
- D.7×7 像素范围
答案:B。等效卷积核公式为 $(k-1) \times d + 1$,代入 $k=3, d=2$ 得 $(3-1) \times 2 + 1 = 5$。膨胀率像变焦环,把镜片撑大但不增加镜片数量,让视野跳得更远。
Q5. 3×3 最大池化(步长 2)对后续感受野的扩张效果,等价于哪种操作?
- A.步长为 1 的 3×3 卷积
- B.步长为 2 的 3×3 卷积← 正确答案
- C.步长为 2 的 2×2 卷积
- D.步长为 1 的 2×2 卷积
答案:B。池化窗口为 3、步长为 2,它会将累积步长乘以 2,同时池化本身不改变当前感受野数值(取最大值不算外扩),后续层的外扩量都会被放大两倍。这相当于一个步长为 2 的 3×3 卷积对视野扩张的贡献。
Q6. 关于 padding 对感受野和输出尺寸的影响,下列说法正确的是?
- A.Padding 不改变感受野大小← 正确答案
- B.Padding 会扩大感受野数值
- C.Padding 影响输出特征图尺寸← 正确答案
- D.Padding 改变有效步长数值
答案:AC。padding 在输入外围补零,不影响递推公式中的核外扩量与累积步长,因此感受野数值不变;但它会改变输出特征图的高宽(通常保持尺寸不缩小)。B 和 D 都把 padding 误当成了影响视野扩张的参数。
Q7. 关于跳跃连接(残差结构)对感受野的影响,下列说法正确的是?
- A.理论感受野上限由主路径决定← 正确答案
- B.跳跃连接直接扩大理论感受野
- C.跳跃连接提升了有效感受野← 正确答案
- D.捷径分支感受到的视野更小← 正确答案
答案:ACD。残差块的输出是主路径与捷径相加,理论感受野取并集后仍是主路径那个较大的值,因此 B 错、A 对。捷径路径感受野较小(D 对),但它让梯度和信息直达深层,使输入贡献分布更饱满,即有效感受野提升(C 对)。
Q8. 设计目标检测 anchor 时,anchor 尺寸与感受野的关系应如何把握?
- A.让 anchor 大于感受野范围
- B.让 anchor 匹配感受野尺度← 正确答案
- C.让 anchor 小于感受野即可
- D.让 anchor 与感受野无关
答案:B。anchor 应落在感受野的实心区域,通常取边长约为感受野的 1/4 到 1/2。过大会让网络「没看见」完整目标,过小则被背景干扰。B 的「匹配」正体现了按视野尺度配置工具的思想。
Q9. 有效感受野显著小于理论感受野,可能的原因包括哪些?
- A.中心像素对输出的贡献权重更高← 正确答案
- B.边缘像素信息被逐层卷积稀释← 正确答案
- C.ReLU 激活函数会直接改变感受野
- D.卷积核权重分布不均匀导致边缘衰减← 正确答案
答案:ABD。有效感受野呈中心高、边缘低的高斯状,是因为中心像素经过的路径更短、贡献保留更多(A),边缘像素信息被层层加权稀释(B),且核权重并非均匀(D)。ReLU 只是非线性门控,不改变像素贡献的空间分布,C 错。
Q10. 一个网络由膨胀率 d 依次为 1、2、3、4 的四层 3×3 卷积串联(所有步长为 1),最终感受野约为多少?
- A.9×9 像素范围
- B.13×13 像素范围
- C.17×17 像素范围
- D.21×21 像素范围← 正确答案
答案:D。四层等效核分别为 3、5、7、9,外扩量依次为 2、4、6、8,累积步长始终为 1,因此 $r = 1 + 2 + 4 + 6 + 8 = 21$。膨胀率递增强的网络能以很小的参数量获得超大视野,像逐级换大号的变焦镜。