计算原理
问题定义
考虑一个包含 $L$ 层的全卷积网络(FCN),定义特征图 $f_l \in \mathbb{R}^{h_l \times w_l \times d_l}$ 表示第 $l$ 层的输出,其中 $h_l$、$w_l$ 和 $d_l$ 分别表示高度、宽度和深度。输入图像记为 $f_0$,最终输出特征图对应 $f_L$。
每层 $l$ 的空间配置由四个参数定义:
- $k_l$:卷积核尺寸(正整数)
- $s_l$:步长(正整数)
- $p_l$:输入特征图左侧填充量(非负整数)
- $q_l$:输入特征图右侧填充量(非负整数)
单路径网络计算
感受野大小计算
定义 $r_l$ 为最终输出特征图 $f_L$ 相对于特征图 $f_l$ 的感受野大小。通过递推关系可得:
$$r_{l-1} = s_l \cdot r_l + (k_l - s_l)$$
闭合形式解为:
$$r_0 = \sum_{l=1}^{L} \left( (k_l - 1) \prod_{i=1}^{l-1} s_i \right) + 1$$
感受野区域定位
对于输出特征 $f_L(i,j)$,需要定位其在输入图像中的感受野区域。定义 $u_l$ 和 $v_l$ 分别为感受野区域在 $f_l$ 中的左右边界坐标(零索引)。
递推关系为: $$\begin{aligned} u_{l-1} &= -p_l + u_l \cdot s_l \ v_{l-1} &= -p_l + v_l \cdot s_l + k_l - 1 \end{aligned}$$
闭合形式解为: $$\begin{aligned} u_0 &= u_L \prod_{i=1}^{L} s_i - \sum_{l=1}^{L} p_l \prod_{i=1}^{l-1} s_i \ v_0 &= v_L \prod_{i=1}^{L} s_i - \sum_{l=1}^{L} (1 + p_l - k_l) \prod_{i=1}^{l-1} s_i \end{aligned}$$
有效步长与有效填充
定义有效步长 $S_l = \prod_{i=l+1}^{L} s_i$ 和有效填充 $P_l = \sum_{m=l+1}^{L} p_m \prod_{i=l+1}^{m-1} s_i$,可简化为:
$$u_0 = -P_0 + u_L \cdot S_0$$
感受野中心点坐标为:
$$c_0 = u_L \cdot S_0 - \sum_{l=1}^{L} \left( p_l - \frac{k_l - 1}{2} \right) \prod_{i=1}^{l-1} s_i$$
多路径网络计算
现代网络架构(如ResNet、Inception)包含多路径计算图,需要特殊处理对齐问题。算法复杂度为 $O(|E| + |L|)$,通过拓扑排序和动态更新实现高效计算。
对齐条件要求所有路径满足: $$\begin{aligned} S_l^{(i)} &= S_l^{(j)} \ -P_l^{(i)} + \left( r_l^{(i)} - \frac{1}{2} \right) &= -P_l^{(j)} + \left( r_l^{(j)} - \frac{1}{2} \right) \end{aligned}$$
现代网络感受野分析
通过开源库计算典型架构的感受野参数:
网络模型 | 感受野大小 | 有效步长 | 有效填充 | 发布年份 |
---|---|---|---|---|
AlexNet | 195 | 32 | 64 | 2014 |
VGG-16 | 212 | 32 | 90 | 2014 |
MobileNetV1 | 315 | 32 | 126 | 2017 |
ResNet-50 | 483 | 32 | 239 | 2015 |
InceptionV2 | 699 | 32 | 318 | 2015 |
ResNet-101 | 1027 | 32 | 511 | 2015 |
InceptionV3 | 1311 | 32 | 618 | 2015 |
ResNet-152 | 1507 | 32 | 751 | 2015 |
InceptionV4 | 2071 | 32 | 998 | 2016 |
Inception-ResNetV2 | 3039 | 32 | 1482 | 2016 |
分析表明:
- 网络演进过程中感受野持续增大,最新网络可覆盖整个输入图像
- 分类精度与感受野大小呈对数关系,大感受野对高级识别任务必要但收益递减
- MobileNet等高效架构能以较小计算代价获得大感受野
特殊操作处理
- 空洞卷积:将核尺寸替换为 $\alpha(k-1)+1$
- 上采样:视为局部操作,核尺寸等于参与计算的输入特征数
- 可分离卷积:感受野特性与等效普通卷积相同
- 批归一化:推理时不改变感受野,训练时感受野为整个输入图像
开源实现
提供与TensorFlow集成的开源库,支持自动计算各种模型的感受野参数,避免手动计算错误。