论文笔记:Learning Feature Pyramids for Human Pose Estimation
文章目录
-
-
0、摘要
-
1、介绍
-
2、相关研究
-
3、框架
-
- 3.1、回顾堆叠沙漏网络
- 3.2、金字塔残差模块(PRMs)
- 3.3、讨论
-
4、训练和推理
-
- 4.1、初始化多分支网络
- 4.2、输出方差累积
-
5、实验
-
- 5.1、人体姿态估计实验
-
- 5.1.1、实现细节
-
5.1.2、实验结果
-
5.1.3、切除实验
-
5.2、在 CIFAR-10 图像分类实验
-
6、总结
-
0、摘要
关节式人体姿态估计是一项有挑战性的视觉任务。这在相机视角变化或者严重缩短引起人体部位尺度变化时非常明显。尽管金字塔方法在推理时被广泛用于处理尺度变化,但是在深度卷积神经网络中学习特征金字塔尚未得到深入研究。作者设计了一个金字塔残差模块(PRMs)来增强 DCNNs 的尺度不变性。 给定输入特征,PRMs 在输入特征的不同尺度上学习卷积核,输入特征在多分支网络中通过不同的降采样比得到。同时,作者发现,采用现有的方法来初始化多分支网络的权重是不可取的。因此,作者为将当前权重初始化方法拓展到多分支网络结构提供了理论推导。
1、介绍
当前有许多基于深度卷积网络的方法,这些方法中,DCNNs 从基于人体大小调整到相似尺度的图像学习人体部位检测器。测试时,用于测试的图像也要调整到和训练图像相同的尺寸。
虽然提供了整个人体的尺寸,身体部位的尺寸可能仍然不一致,这是因为视点变化和人体铰接会导致人与人之间身体形状的不同以及缩短。这使人体部位检测器很难定位人体部位。图 1 表现了严重的缩短,当根据人体尺寸将图像调整到相同大小,图 1(a) 中的手比图 1(b) 中的手更大。因此,图 1(a) 中的手部检测器可能无法可靠地检测图 1(b) 中的手。在 DCNNs 中,尺度变化的问题不仅仅发生在深层的高层次语义上,也存在于浅层的低层特征中。

为了增强 DCNNs 对视觉模式尺度变化的鲁棒性,作者设计了金字塔残差模块(PRMs),用于显式学习卷积核建立特征金字塔。给定输入特征,金字塔残差模块通过不同的采样比获取不同尺度的特征。然后利用卷积学习不同尺度特征的滤波器。过滤后的特征被上采样到相同的分辨率,将它们加在一起用于后续处理。金字塔残差模块可作为 DCNNs 的构建块,用于学习网络不同层次的特征金字塔。
使用分支是设计网络的趋势,比如,用于分类的 Inception 模型和 ResNets,用于语义分割的 ASPP-nets,用于人体姿态估计的 CPM 和 Stacked~ Hourglass~Networks,在这些网络中,一层的输入源于多个其他层,或者一层的输出用于多个层的输入。金字塔残差模块也有分支。作者观察到现存的权重初始化方案,比如,MSR、Xavier 方法不适用于有分支的层。因此作者对现有的权重初始化方案进行了拓展,并给出了网络参数初始化应该考虑分支数的理论推导。作者也展示了另一个问题,残差单元输出的方差随着深度的增加而累积。这是由于恒等映射引起的。
因为 Hourglass 网络,也称为卷积-反卷积结构,适用于姿态估计,目标检测,和像素级任务,作者使用它作为实验的基本结构。作者观察到,将残差单元用于 Hourglass 有一个问题:当两个残差单元输出相加时,输出方差几乎加倍,这给优化带来了困难,作者提出了简单高效,可忽略附加参数的方法来解决这一问题。
主要贡献为以下三点:
- 提出金字塔残差模块,仅增加微小的复杂度,学习 DCNNs 特征金字塔来增加深度模型的尺度不变性
- 发现包含多输入或输出层分支的 DCNNs 的初始化问题,并提出可用于多网络结构(inception,ResNet)的初始化方案
- 作者观察到,由恒等映射引入的激活方差叠加问题在某些场景下可能是有害的,例如在 Hourglass 结构中,将由恒等映射实现的多残差单元的输出相加。本文提出简单而有效的方法来解决这一问题
2、相关研究
人体姿态估计
图结构和环结构曾被广泛用于对人体部位的空间关系建模。这些方法都是基于手工设计的特征,比如 HOG,并且它们的性能严重依赖于图像金字塔。最近,基于深度学习的方法兴起,DeepPose 是首先尝试使用 DCNNs 进行人体姿态估计的方法之一。它直接对人体部位坐标进行回归,但是,图像到位置的映射很难直接学习。因此,之后的研究将部位位置建模为置信图中的高斯峰值,并用全卷积网络预测置信图。为了达到更高的精度,常对图像金字塔进行多尺度测试,产生多尺度特征表示。本文的方法是对图像金字塔的补充。
另一方面,为了学习具有强尺度不变性的模型,有人提出多分支网络在图像金字塔的三个尺度下进行训练,然而,当使用图像金字塔进行训练时,计算和内存随着尺度的数量线性增加。相比之下,金字塔残差模块用相对较小的计算和内存成本,提供一个高效的学习多尺度特征的方法。
多分支 DCNNs
和传统普通网络不同(如 AlexNet、VGG-net)多分支网络性能更优。在分类任务中,inception 模型是最成功的多分支网络之一。每个模块的输入首先通过 1\times1 卷积映射到低维,然后通过一组具有不同大小的卷积核进行变换,以捕获各种上下文信息,并通过级联进行组合。ResNet 可以被看作是有一个恒等映射分支的双分支网络。ResNeXt 是 ResNet 的一个扩展,其所有分支共享相同的拓扑。隐式学习的变换通过求和来聚合。作者使用多分支网络来探索另一种可能性:学习多尺度特征。
近来,姿态估计,目标检测和分割的方法使用多层的特征进行预测。作者的方法是对这些研究的补充。例如,采用 Hourglass 作为基本结构,用金字塔残差模块(PRM)取代其从单一尺度学习特征的原始残差单元。
权重初始化
良好的初始化是训练深度模型的必要条件。Hinton 和 Salakhutdinov 采用逐层预训练策略训练一个深度自编码器。Krizhevsky 等人通过从具有零均值和 0.01 标准差的高斯分布中抽取样本来初始化每层的权重。然而,由于梯度的不稳定性,它很难训练出很深的网络。Xavier 提供了一个理论上合理的权重方差估计。它假设权重被初始化为接近于零,因此像 Sigmoid 和 Tanh 这样的非线性激活可以被视为线性函数。这种假设不适用于整流器激活。因此,He 等人为整流器提出了一个初始化方案。但是以上所有方案均是从只有一个分支的普通网络推导而来。作者提出了多分支网络初始化方案。
3、框架
图 2 为网络框架的概述。作者采用高度模块化的堆叠沙漏网络作为研究 学习人体姿态估计的 特征金字塔的基本网络。网络的构建块是金字塔残差模块(PRM)。

3.1、回顾堆叠沙漏网络
Hourglass 网络旨在以前馈的方式捕获每个尺度上的信息。首先通过下采样特征图进行自底向上的处理,然后通过对组合了底层更高分辨率特征的特征图进行上采样实现自顶向下的处理,如图 2(b)。多次重复自底向上,自顶向下的处理建立堆叠沙漏网络,在每一堆的后端添加中间监督。
使用残差单元作为 Hourglass 网络的构建块只能捕捉一个尺度上的视觉模式或语义。作者使用金字塔残差模块捕捉多尺度视觉模式和语义。
3.2、金字塔残差模块(PRMs)
PRM 显式学习不同分辨率输入特征的卷积核。x^{(l)} 和 W^{(l)} 分别为第 l 层的输入和卷积核。PRM 可以被表示为:
\mathbf{x}^{(l+1)}=\mathbf{x}^{(l)}+\mathcal{P}\left(\mathbf{x}^{(l)} ; \mathbf{W}^{(l)}\right)\tag1
其中,\mathcal{P}\left(\mathbf{x}^{(l)} ; \mathbf{W}^{(l)}\right) 是特征金字塔,可被分解为:
\mathcal{P}\left(\mathbf{x}^{(l)} ; \mathbf{W}^{(l)}\right)=g\left(\sum_{c=1}^{C} f_{c}\left(\mathbf{x}^{(l)} ; \mathbf{w}_{f_{c}}^{(l)}\right) ; \mathbf{w}_{g}^{(l)}\right)+f_{0}\left(\mathbf{x}^{(l)} ; \mathbf{w}_{f_{0}}^{(l)}\right)\tag2
C 表示金字塔层的数量,f(\cdot) 是第 c 金字塔层的变换,W^{(l)}=\left\{\mathbf{w}_{f_{c}}^{(l)}, \mathbf{w}_{g}^{(l)}\right\}_{c=0}^{C} 是参数的集合。f(\cdot) 变换的输出被加在一起,进一步由卷积核 g(\cdot) 求卷积。金字塔残差模块如图 3 所示。为了减少计算和空间复杂度,每个 f_c(\cdot) 被设计为瓶颈结构。如图 3 中,通过 1\times1 卷积减少特征维度,然后通过 3×3 卷积在一组降采样输入特征上计算新特征。最后,所有新特征上采样到相同维度并将它们加在一起。

输入特征金字塔的生成
DCNNs 广泛使用 Max-pooling 或 average-pooling 来减小特征图的分辨率,并对平移不变性进行编码。但是池化通过至少为 2 的整数因子降低分辨率过快而且粗略,这无法温和地生成金字塔。为了获取不同分辨率的输入特征图,作者采用分数最大池来近似生成传统图像金字塔时使用的平滑和下采样过程。第 c 层金字塔的下采样比计算为:
s_{c}=2^{-M \frac{c}{C}}, \quad c=0, \cdots, C, M \geq1\tag3
其中,s_{c} \in\left[2^{-M}, 1\right] 表示与输入特征比较的相对分辨率。比如,当 c=0 输出和输入有相同的分辨率。当 M=1,c=C 时,输出分辨率为输入分辨率的一半。实验中,设置 M=1,C=4,这时金字塔最小的分辨率为输入分辨率的一半。
3.3、讨论
CNN 通用的 PRM
PRM 是一种通用的模块,可用作多种 CNN 框架的构建块,比如 Hourglass 网络,Wide~Residual~Nets 以及 ResNeXt。
金字塔结构的变体
除了使用图 3(a-b) 所示的分数 max-pooling,卷积和上采样来学习特征金字塔,也可以使用如图 3(c)(PRM-D) 所示的空洞卷积来计算金字塔。金字塔中的特征和也可以由级联取代,如图 3(b)(PRM-C) 所示。作者在实验中讨论了这些变体的性能,图 3(b)(PRM-B) 具有与其他变体相当的性能,同时保持相对较少的参数和较小的计算复杂性。
权重共享
为生成特征金字塔,传统的方法通常在图像金字塔的不同层使用相同的手工滤波器,比如 HOG。这个处理对应于在金字塔 f_c(\cdot) 的不同层共享权重 W_{f_c}^{(l)},这能够极大地减少参数数量。
复杂度
Hourglass 网络的残差单元有 256 维输入和输出,这里减小到 128 维。作者对原始尺度的分支(即方程 2 中的 f_0)采用这个结构。由于分辨率较小的特征包含相对少的信息,因此为尺度更小的分支设计更少的特征通道。例如,给定一个具有 5 个分支的的 PRM,尺度较小的分支(即方程 2 中的 f_1 到 f_4)有 28 个特征通道,与残差单元相比,在参数和 GFLOPs 方面,增加的复杂度仅约为 10\%。
4、训练和推理
使用置信图来表示人体关节位置。GT 位置表示为 \mathbf{z}=\left\{\mathbf{z}_{k}\right\}_{k=1}^{K},其中,\mathbf{z}_{k}=\left(x_{k}, y_{k}\right) 表示第 k 个人体关节在图像中的位置。GT 置信图服从均值为 \mathbf z_k,方差为 \Sigma 的高斯分布:
\mathbf{S}_{k}(\mathbf{p}) \sim \mathcal{N}\left(\mathbf{z}_{k}, \mathbf{\Sigma}\right)\tag4
其中,\mathbf{p} \in R^{2} 表示位置,\Sigma 通常被设为单位矩阵 \mathbf{I}。每一个 hourglass 网络的堆为 K 个人体关节预测 K 个置信图,即 \hat{\mathbf{S}}=\left\{\hat{\mathbf{S}}_{k}\right\}_{k=1}^{K}。每个堆的后端关联一个损失,定义为平方误差
\mathcal{L}=\frac{1}{2} \sum_{n=1}^{N} \sum_{k=1}^{K}\left\|\mathbf{S}_{k}-\hat{\mathbf{S}}_{k}\right\|^{2}\tag5
其中,N 是样本数量。
推理阶段,从最后一个沙漏堆生成的预测置信图中,通过获取最大置信度的位置,来获取预测的人体关节位置 \hat{\mathbf z}_k。
\hat{\mathbf{z}}_{k}=\underset{\mathbf{p}}{\arg \max } \hat{\mathbf{S}}_{k}(\mathbf{p}), \quad k=1, \cdots, K\tag6
4.1、初始化多分支网络
初始化对于训练非常深的网络必不可少,特别是对于密集预测任务,其中 BN 效率较低,因为全卷积网络的内存消耗较大,导致小的 minibatch。当前的权重初始化方法都是在无分支的普通网络的假设下设计的。PRM 有多个分支,并不满足这一假设。因此作者讨论了如何为添加多分支的网络推导适当的初始化方法。
前向传播
通常多分支网络可以用输入输出分支的数量来表征。图 4(a) 表示第 l 层有 C_i^{(l)} 个输入分支以及一个输出分支。图 4(b) 表示第 l 层有一个输入分支以及 C_o^{(l)} 个输出分支。

前向传播过程中,C_i^{(l)} 影响第 l 层的输出的方差,但是 C_o^{(l)} 不影响。假设第 l 层有 C_i^{(l)} 个输入分支,有 C_o^{(l)} 个输出分支。C_i^{(l)} 个输入向量 \left\{\mathbf{x}_{c}^{(l)} | c=1, \ldots, C_{i}^{(l)}\right\}。以全连接层为例,响应计算如下:
\mathbf{y}^{(l)}=\mathbf{W}^{(l)} \sum_{c=1}^{C_{i}^{(l)}} \mathbf{x}_{c}^{(l)}+\mathbf{b}^{(l)}\tag7
\mathbf{x}^{(l+1)}=f\left(\mathbf{y}^{(l)}\right)\tag8
其中,f(\cdot) 是非线性激活函数。
假设 \mathbf{W}^{(l)} 和 \mathbf{x}^{(l)} 均为独立同分布,并且它们相互独立。分别表示 y^{(l)}、x^{(l)} 和 w^{(l)} 为 \mathbf{y}^{(l)}、\mathbf{x}^{(l)} 和 \mathbf{W}^{(l)} 的元素。
\operatorname{Var}\left[y^{(l)}\right]=C_{i}^{(l)} n_{i}^{(l)} \operatorname{Var}\left[w^{(l)} x^{(l)}\right]\tag9
其中,n_i^{(l)} 为 \mathbf{x}_c^{(l)},(c = 1, \ldots, C_{i}^{(i)})中元素的数量。假设 w^{(l)} 均值为 0。上述独立变量乘积的方差如下:
\begin{aligned} \operatorname{Var}\left[y^{(l)}\right]&=C_{i}^{(l)} n_{i}^{(l)} \operatorname{Var}\left[w^{(l)}\right] \mathrm{E}\left[\left(x^{(l)}\right)^{2}\right] \\ &=\alpha C_{i}^{(l)} n_{i}^{(l)} \operatorname{Var}\left[w^{(l)}\right] \operatorname{Var}\left[y^{(l-1)}\right] \end{aligned}
其中 \alpha 取决于方程 8 中的激活函数。ReLu 对应 \alpha=0.5,Tanh 和 Sigmoid 对应 \alpha=1。为了使不同层 l 的输出 y^{(l)} 的方差近似相等,应该满足以下条件:
\alpha C_{i}^{(l)} n_{i}^{(l)} \operatorname{Var}\left[w^{(l)}\right]=1\tag{10}
因此初始化时,合适的 {W}^{(l)} 的方差应该为 1/\left(\alpha C_{i}^{(l)} n_{i}^{(l)}\right)。
反向传播
定义 \frac{\partial \mathcal{L}}{\partial \mathbf{x}^{(l)}} 和 \frac{\partial \mathcal{L}}{\partial \mathbf{y}^{(l)}},反向传播过程中梯度通过链式法则计算:
\Delta \mathbf{x}^{(l)}=\sum_{c=1}^{C_{o}^{(l)}} \mathbf{W}^{(l) T} \Delta \mathbf{y}^{(l)}\tag{11}
\Delta \mathbf{y}^{(l)}=f^{\prime}\left(\mathbf{y}^{(l)}\right) \Delta \mathbf{x}^{(l+1)}\tag{12}
假设 w^{(l)} 及 \Delta y^{(l)} 独立同分布,并且相互独立。当 w^{(l)} 以零均值初始化并且以小幅度对称时,\Delta x^{(l)} 具有零均值。让 n_{o}^{(l)} 表示输出神经元的数量。可以得到:
\operatorname{Var}\left[\Delta x^{(l)}\right]=C_{o}^{(l)} n_{o}^{(l)} \operatorname{Var}\left[w^{(l)}\right] \operatorname{Var}\left[\Delta y^{(l)}\right]\tag{13}
定义 \mathrm{E}\left(f^{\prime}\left(y^{(l)}\right)\right)=\alpha,对于 ReLU 有 \alpha=0.5,对于 Tanh 和 Sigmoid 有 \alpha=1。进一步假设 f^{\prime}\left(y^{(l)}\right) 和 \Delta x^{(l)} 相互独立,根据等式 12 有,\mathrm{E}\left[\Delta \mathbf{y}^{(l)}\right]=\alpha \mathrm{E}\left[\Delta \mathbf{x}^{(l+1)}\right]。然后可以推导出,\operatorname{Var}\left[\Delta y^{(l)}\right]=\mathrm{E}\left[\left(\Delta y^{(l)}\right)^{2}\right]=\alpha \operatorname{Var}\left[x^{(l+1)}\right],因此,根据等式 13,可以得出:
\operatorname{Var}\left[\Delta x^{(l)}\right]=\alpha C_{o}^{(l)} n_{o}^{(l)} \operatorname{Var}\left[w^{(l)}\right] \operatorname{Var}\left[\Delta x^{(l+1)}\right] . . \quad\tag{14}
为了确保 \operatorname{Var}\left[\Delta x^{(l)}\right]=\operatorname{Var}\left[\Delta x^{(l+1)}\right],必须满足 \operatorname{Var}\left[w^{(l)}\right]=1 /\left(\alpha C_{o}^{(l)} n_{o}^{(l)}\right)。
在很多情况下,C_{i}^{(l)} n_{i}^{(l)} \neq C_{o}^{(l)} n_{o}^{(l)}。前向和反向约束之间折衷:
\operatorname{Var}\left[w^{(l)}\right]=\frac{1}{\alpha^{2}\left(C_{i}^{(l)} n_{i}^{(l)}+C_{o}^{(l)} n_{o}^{(l)}\right)}, \quad \forall l.\tag{15}
特例
对于单输入单输出网络,等式 15 中 C_{i}^{(l)}=C_{o}^{(l)}=1。这种情况下,(15) 中的结果退化为 Tanh 和 Sigmoid 的结论以及 ReLU 的结论。
一般情况
一般情况下,网络的 C_{i}^{(l)} \neq 1 并且 C_{o}^{(l)} \neq 1,因此初始化参数时,应该考虑输入分支和输出分支的数量。特别地,如果几个多分支层堆在一起,没有其他操作(比如,BN、卷积、ReLU 等等),使用 Xavier 或者 MSR 初始化时,输出方差大约增加 \prod_{l} C_{i}^{(l)} 倍。
4.2、输出方差累积
残差学习允许通过恒等映射来训练极其深层的神经网络。但这也是其缺点的根源:随着网络的加深,恒等映射使响应的方差不断增加,这会增加优化的困难。
残差单元的响应计算如下:
\mathbf{x}^{(l+1)}=\mathbf{x}^{(l)}+\mathcal{F}\left(\mathbf{x}^{(l)} ; \mathbf{W}^{(l)}\right)\tag{16}
其中,f 定义了残差函数,即有着三个卷积的瓶颈结构(1\times1\rightarrow3\times3\rightarrow1\times1)。假设 \mathbf{x}^{(l)} 和 \mathcal{F}\left(\mathbf{x}^{(l)} ; \mathbf{W}^{(l)}\right) 不相关,残差单元响应的方差为:
\begin{aligned} \operatorname{Var}\left[\mathbf{x}^{(l+1)}\right] &=\operatorname{Var}\left[\mathbf{x}^{(l)}\right]+\operatorname{Var}\left[\mathcal{F}\left(\mathbf{x}^{(l+1)} ; \mathbf{W}^{(l)}\right)\right] \\ &>\operatorname{Var}\left[\mathbf{x}^{(l)}\right] \end{aligned}\tag{17}
其中,\operatorname{Var}\left[\mathcal{F}\left(\mathbf{x}^{(l+1)} ; \mathbf{W}^{(l)}\right)\right] 为正数。
当特征图的分辨率减小或者特征通道的维数增加时,使用卷积层代替恒等映射。这使网络能够将响应的方差设为小值,避免响应方差太大,如图 5 所示。

在沙漏状的结构中,两个残差单元的响应加在一起,方差增加的效果更加明显,如图 6(a) 所示。

假设分支之间不相关,方差增加为:
\begin{aligned} \operatorname{Var}\left[\mathbf{x}^{(l+1)}\right] &=\sum_{i=1}^{2}\left(\operatorname{Var}\left[\mathbf{x}_{i}^{(l)}\right]+\operatorname{Var}\left[\mathcal{F}_{i}\left(\mathbf{x}_{i}^{(l)} ; \mathbf{W}_{i}^{(l)}\right)\right]\right) \\ &>\sum_{i=1}^{2} \operatorname{Var}\left[\mathbf{x}_{i}^{(l)}\right] \end{aligned}\tag{18}
因此,输出方差近乎加倍。随着网络加深,方差将急剧增加。本文中,当两个残差单元的输出相加时,使用一个 1×1 的卷积,前面加上 BN 和 ReLU 来代替恒等映射,如图 6(b) 所示。如图 6(c) 所示,这种简单的替换可以阻止方差爆炸。实验中,作者发现打破方差爆炸也获得了更好的性能。
5、实验
5.1、人体姿态估计实验
实验在两个广泛使用的数据集上进行:
- MPII 人体姿态数据集,包含 25k 张图像,包含 40k 个人体
- LSP 数据集及其扩展训练集,包含 12k 张图像
5.1.1、实现细节
根据标注的人体位置和尺度,输入图像从调整后的图像中裁剪得到,分辨率为 256×256。对于 LSP 测试集,简单地使用图像中心作为人体位置,并根据图像大小估计人体尺度。训练数据通过缩放、旋转、翻转及增加颜色噪声来增强。使用 RMSProp 优化网络,mini-batch 大小为 16,训练 200 代。学习率初始化为 7\times10^{-4},并且在第 150 代下降 10 倍,170 代下降 10倍。测试是在翻转六尺度图像金字塔上进行的。
5.1.2、实验结果
评估度量
在数据集 LSP 上使用 PCK 度量。在 MPII 数据集上使用修改后的 PCK 度量,匹配阈值为头部长度的 50\%。
MPII 人体姿态
结果如表 1 所示,定性结果如图 7 所示。


LSP 数据集
表 2 为阈值为 0.2 的 PCK 分数。本文的方法得益于该数据集中出现的大量短缩和极端姿态,如图 7 所示。

5.1.3、切除实验
使用 2 个 Hourglass 网络作为基本模型。
PRM 结构
首先评估 PRM 不同的设计,使用相同数量的分支,每个分支相同的特征通道(如 5 个分支,每个金字塔分支有 28 个特征通道)。使用图 3 的 PRM-A 到 PRM-D 来表示不同的架构。特别地,PRM-A 为不同层的金字塔生成单独的输入特征图,而 PRM-B 为所有层的金字塔使用共享特征图。PRM-C 使用级联而不是加法来组合金字塔生成的特征,这类似于 inception 模型。PRM-D 使用空洞卷积(这也用在 ASPP-net),取代池化来建立金字塔。验证精度如图 8(a) 所示。所有的 PRMs 都比基线模型有更高的精度。作者观察到,PRM-A 到 PRM-D 之间的精度差异是微妙的,尽管 PRM-A/C 中的参数高于 PRM-B/B^*/D (图 8(b)),而且 PRM-A/C/D 的计算复杂度(GFLOPs)高于 PRM-B/B^*。因此,剩余的实验使用 PRM-B^*。注意,增加通道数量以使基线模型具有相似的模型大小,将略微提高性能,但它仍然比本文的方法性能更低。

金字塔尺度
金字塔 C 的尺度从 3 到 5,调整每个尺度下的特征通道来固定模型大小。作者观察到增加尺度通常能够提升性能,如图 9(a-b) 所示。

权重初始化
比较了本文的初始化方法和 Xavier 以及 MSR。训练和验证精度随着 epoch 变化的曲线如图 9(c-d) 所示。本文的初始化方法比其他两种实现了更好的性能。
控制方差爆炸
相比于基线模型,控制方差爆炸取得更好的验证精度。使用金字塔残差模块性能将进一步提升至 88.5~PCKh。
5.2、在 CIFAR-10 图像分类实验
CIFAR-10 数据集包含 50k 训练图像,以及 10k 测试图像,大小为 32\times32 共有 10 类。作者将金字塔分支与 Wide~residual~networks 和 ResNeXt 结合。作者在 Wide~ResNet 和 ResNeXt 的构建模块中添加了四个金字塔分支,其尺度从 0.5 到 1 不等。对于 Wide~ResNet,所有金字塔分支的总宽度等于每个残差模块的输出宽度。对于 ResNeXt,作者简单地将金字塔分支的宽度设置为原始分支相同的宽度。表 3 显示 top-1 测试误差、模型大小和 GFLOPs。本文的模型大小相似甚至更小,实现了更优的性能。

6、总结
本文提出了金字塔残差模块来增加 DCNNs 的尺度不变性。同时提供了初始化多分支网络的方案的推导,并通过实验证明了其可靠性。此外,提出了一种简单而有效的方法来防止在添加多个恒等映射的输出时,响应的方差发生爆炸。作者提出的 PRMs 和多分支网络初始化方案是通用的。
