深度是深度神经网络的关键,但更多的深度意味着更多的序列计算和更多的延迟。这就引出了一个问题——是否有可能构建高性能的「非深度」神经网络?
近日,普林斯顿大学和英特尔实验室的一项研究证明了这一观点的可行性。该研究使用并行子网络而不是一层又一层地堆叠,这有助于在保持高性能的同时有效地减少深度。
论文地址:https://arxiv.org/abs/2110.07641
通过利用并行子结构,该研究首次表明深度仅为 12 的网络可在 ImageNet 上实现超过 80%、在 CIFAR10 上实现超过 96%、在 CIFAR100 上实现 81% 的 top-1 准确率。该研究还表明,具有低深度主干网络的模型可以在 MS-COCO 上达到 48% 的 AP 指标。研究者分析了该设计的扩展规则,并展示了如何在不改变网络深度的情况下提高性能。最后,研究者提供了关于如何使用非深度网络来构建低延迟识别系统的概念证明。
方法
该研究提出了一种深度较低但仍能在多项基准上实现高性能的网络架构 ParNet,ParNet 由处理不同分辨率特征的并行子结构组成。这些并行子结构称为流(stream),来自不同流的特征在网络的后期融合,融合的特征用于下游任务。图 2a 提供了 ParNet 的示意图。
ͼ 2
ParNet Block
ParNet 中使用了 VGG 风格的 block(Simonyan & Zisserman,2015)。为了探究非深度网络是否可以实现高性能,该研究通过实验发现 VGG 风格 block 比 ResNet 风格 block 更合适(如下表 8 所示)。一般来说,训练 VGG 风格的网络比 ResNet 更难(He 等,2016a)。但是最近的一些工作表明,使用「结构重参数化」方法(Ding 等,2021),会让 VGG 风格 block 更容易训练。
训练期间,该研究在 3×3 卷积 block 上使用多个分支。训练完成后,多个分支可以融合为一个 3×3 的卷积 block。因此,最终得到一个仅由 3×3 block 和非线性组成的简单网络。block 的这种重参数化或融合(fusion)有助于减少推理期间的延迟。
降采样和融合 block
除了输入和输出大小相同的 RepVGG-SSE block 之外,ParNet 还包含降采样(downsampling)和融合 block。降采样 block 降低了分辨率并增加了宽度以实现多尺度(multi-scale)处理,而融合 block 将来自多个分辨率的信息组合。在降采样 block 中,没有残差连接(skip connection);相反,该研究添加了一个与卷积层并行的单层 SE 模块。
此外,该研究在 1×1 卷积分支中添加了 2D 平均池化。融合 block 和降采样 block 类似,但还包含一个额外的串联(concatenation)层。由于串联,融合 block 的输入通道数是降采样 block 的两倍。为了减少参数量,该研究的降采样和融合 block 的设计如下图所示。
网络架构
图 2a 展示了用于 ImageNet 数据集的 ParNet 模型示意图。初始层由一系列降采样块组成,降采样 block 2、3 和 4 的输出分别馈送到流 1、2 和 3。研究者发现 3 是给定参数预算的最佳流数(如表 10 所示)。每个流由一系列不同分辨率处理特征的 RepVGG-SSE block 组成。然后来自不同流的特征由融合 block 使用串联进行融合。最后,输出被传递到深度为 11 的降采样 block。与 RepVGG(Ding 等, 2021)类似,该研究对最后一个降采样层使用更大的宽度。