DH3G游戏资讯网

“非深度网络”12 层打败 50 层,普林斯顿 + 英特尔:更深不一定更好

发表于:2024-04-29 作者:创始人
编辑最后更新 2024年04月29日,"深度"是深度神经网络(DNN)的关键词。但网络越深也就意味着,训练时反向传播的链条更长,推理时顺序计算步骤更多、延迟更高。而深度如果不够,神经网络的性能往往又不好。这就引出了一个问题:是否有可能构建

"深度"是深度神经网络(DNN)的关键词。但网络越深也就意味着,训练时反向传播的链条更长,推理时顺序计算步骤更多、延迟更高。

而深度如果不够,神经网络的性能往往又不好。

这就引出了一个问题:是否有可能构建高性能的"非深度"神经网络?

普林斯顿大学和英特尔最新的论文证明,确实能做到。

他们只用了 12 层网络 ParNet 就在 ImageNet 上达到了接近 SOTA 的性能。

ParNet 在 ImageNet 上准确率超过 80%、在 CIFAR10 上超过 96%、在 CIFAR100 上 top-1 准确率 达到了 81%,另外在 MS-COCO 上实现了 48% 的 AP。

他们是如何在网络这么"浅"的情况下做到的?

并行子网提升性能

ParNet 中的一个关键设计选择是使用并行子网,不是按顺序排列层,而是在并行子网中排列层。

ParNet 由处理不同分辨率特征的并行子结构组成。我们将这些并行子结构称为流(stream)。来自不同流的特征在网络的后期融合,这些融合的特征用于下游任务。

在 ParNet 中,作者使用 VGG 样式的块。但是对于非深度网络来说,只有 3×3 卷积感受野比较有限。

为了解决这个问题,作者构建了一个基于 Squeeze-and-Excitation 设计的 Skip-Squeeze-Excitation (SSE) 层。使用 SSE 模块修改后的 Rep-VGG 称之为 Rep VGG-SSE。

对于 ImageNet 等大规模数据集,非深度网络可能没有足够的非线性,从而限制了其表示能力。因此,作者用 SiLU 激活函数替代了 ReLU。

除了 RepVGG-SSE 块的输入和输出具有相同的大小外,ParNet 还包含下采样和融合块。

模块降低分辨率并增加宽度以实现多尺度处理,而融合块组合来自多个分辨率的信息,有助于减少推理期间的延迟。

为了在小深度下实现高性能,作者通过增加宽度、分辨率和流数量来扩展 ParNet。

作者表示,由于摩尔定律放缓,处理器频率提升空间也有限,因此并行计算有利于神经网络实现更快的推理。而并行结构的非深度网络 ParNet 在这方面具有优势。

实际性能如何

在 ImageNet 数据集上,无论是 Top-1 还是 Top-5 上,ParNet 都接近 SOTA 性能。

在 MS-COCO 任务中,ParNet 在性能最佳的同时,延迟最低。

不过也有人质疑"非深度网络"的实际表现,因为虽然层数少,但网络宽度变大,实际上 ParNet 比更深的 ResNet50 的参数还要多,似乎不太有说服力。

但作者也表示"非深度"网络在多 GPU 下能发挥更大的并行计算优势。

最后,ParNet 的 GitHub 页已经建立,代码将在不久后开源。

参考链接:

[1]https://arxiv.org/abs/2110.07641

[2]https://github.com/imankgoyal/NonDeepNetworks

2022-05-06 13:50:12
0