M3-098M3: Deep Learning FoundationsConvolution & Vision FoundationsEasy
Mastery:

Convolution & Vision Foundations: 解释感受野(receptive field)的递归计算。

📐 Mathematical Definition
rout=rin+(k−1)⋅∏i<lsi;jump=∏isir_{out}=r_{in}+(k-1)\cdot\prod_{i<l}s_i;\qquad \text{jump}=\prod_i s_i
⚡ Executive Summary
Core Concept: 每层感受野按 r_out=r_in+(k−1)·∏(前面 stride) 递推;stride 使感受野按累积乘积放大。

📌 Key Takeaways

  • •
    第 l 层感受野 = 前层感受野 + (k−1)×前面所有 stride 的乘积
  • •
    stride 会成倍放大后续每层的感受野增量
  • •
    有效感受野 < 理论感受野(近似高斯、中心权重更大)

📐 Mathematical Derivations

数学机理:<strong>感受野</strong>是输出特征图上一个点'能看到的'输入区域大小。<strong>递归公式</strong>:设第 l 层的核为 k_l、stride 为 s_l,则 r_l=r_{l−1}+(k_l−1)·∏_{i<l}s_i(其中 ∏_{i<l}s_i 是前面所有层的 stride 累积乘积,称为 'jump' 或 'effective stride')。直觉:每加一层,感受野增加 (k−1) 个'输入像素',但增量被前面所有下采样(stride)放大——因为该层的 1 个像素对应输入上 ∏s_i 个像素。<strong>例</strong>:3 层 3×3 stride 1 的卷积,r 从 1 → 1+2=3 → 3+2=5 → 5+2=7(即 1+L(k−1)=7);若中间有 stride 2,则后续增量翻倍。<strong>有效感受野(ERF)</strong>:Luo 等 (2016) 证明,随机初始化下,输出对输入各像素的<strong>梯度(影响)</strong>近似<strong>高斯分布</strong>——中心像素影响最大、边缘迅速衰减到接近 0;故'理论感受野'(边界)内的很多像素实际上几乎不影响输出,真正有效的是中心区域(约理论值的 1/√L 量级)。这解释了'为什么深层网络的有效感受野增长慢于理论'。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>为什么有效感受野重要</strong>——若有效感受野远小于理论值,则深层网络的'长程依赖'能力被高估;对策是 (a) 用 dilation 扩大感受野、(b) 用注意力(真正的全局交互)、(c) 用更大的核(ConvNeXt 用 7×7)。② <strong>下采样的作用</strong>——stride/pooling 通过放大'jump'来快速扩感受野,是 CNN 高效扩感受野的主要手段(比堆层便宜)。③ <strong>与注意力的对比</strong>——注意力的感受野是<strong>全局</strong>(每 token 看所有 token),但其有效范围受注意力熵影响;CNN 通过层级堆叠'渐进式'扩感受野,二者在'局部到全局'的路径上不同。④ <strong>ResNet 的感受野计算</strong>——ResNet-50 的理论感受野约 483×483(超过输入 224),但因 ERF 效应,实际有效感受野远小;这解释了为何需要 FPN 等结构做多尺度融合。⑤ <strong>计算工具</strong>——可用 pytorch-receptive-field 等库自动计算各层感受野与 jump;也可手动递归。⑥ <strong>面试要点</strong>——被问'感受野怎么算',应给出<strong>递归公式 + 一个具体例子</strong>,并主动提到'有效感受野 < 理论感受野(高斯衰减)'这一细节;后者是区分'背公式'与'真理解'的关键。
⚠️ Common Interview Pitfalls
  • ✕
    只算理论感受野不考虑有效感受野
  • ✕
    忘记 stride 对感受野增量的放大作用
🎯 Interviewer Follow-ups
  • ?
    为什么有效感受野小于理论值?
  • ?
    如何计算一个 ResNet 的感受野?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM3-097: Convolution & Vision Foundations: 计算卷积层的参数量与输出尺寸。📋Back to BankNext →M3-099: Convolution & Vision Foundations: 解释池化与步长卷积的差异与取舍。