当前位置: 首页 > 科技观察

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

时间:2023-03-13 11:39:32 科技观察

本文经AI新媒体量子位授权转载(公众号ID:QbitAI),转载请联系出处转载。“深度”是深度神经网络(DNN)的关键词。但是网络越深,训练时反向传播链越长,计算步骤顺序越多,推理时延迟越高。而如果深度不够,神经网络的性能往往不好。这就引出了一个问题:是否有可能构建高性能的“非深度”神经网络?普林斯顿大学和英特尔的一篇新论文证明它确实可以做到。他们仅使用12层网络ParNet在ImageNet上实现了接近SOTA的性能。ParNet在ImageNet上的准确率超过80%,在CIFAR10上的准确率超过96%,在CIFAR100上的top-1准确率达到81%。此外,它在MS-COCO上取得了48%的AP。他们是怎么做到这么“浅”的网络的?并行子网提高性能ParNet中的一个关键设计选择是使用并行子网,其中不是按顺序排列层,而是将层排列在并行子网中。ParNet由以不同分辨率处理特征的并行子结构组成。我们将这些并行子结构称为流。来自不同流的特征在网络的后期融合,这些融合的特征用于下游任务。在ParNet中,作者使用VGG样式的块。但对于非深度网络,只有3×3的卷积感受野比较有限。为了解决这个问题,作者基于Squeeze-and-Excitation设计构建了一个Skip-Squeeze-Excitation(SSE)层。使用SSE模块修改后的Rep-VGG称为RepVGG-SSE。对于ImageNet等大规模数据集,非深度网络可能不够非线性,从而限制了它们的表示能力。因此,作者将ReLU替换为SiLU激活函数。除了RepVGG-SSE块的输入和输出具有相同的大小之外,ParNet还包含下采样和融合块。模块降低分辨率并增加宽度以实现多尺度处理,而融合块组合来自多个分辨率的信息,有助于减少推理过程中的延迟。为了在小深度实现高性能,作者通过增加宽度、分辨率和流的数量来扩展ParNet。作者说,并行计算有利于神经网络中更快的推理,因为摩尔定律变慢并且处理器频率增加有限。具有并行结构的非深度网络ParNet在这方面具有优势。实际表现如何在ImageNet数据集上,无论是Top-1还是Top-5,ParNet都接近SOTA的表现。在MS-COCO任务上,ParNet在实现最佳性能的同时实现了最低延迟。但也有人质疑“非深度网络”的实际表现,因为虽然层数少了,但网络宽度变大了。事实上,ParNet比更深的ResNet50有更多的参数,这似乎没有说服力。但作者也表示,“非深度”网络在多GPU下可以发挥更大的并行计算优势。最后,ParNet的GitHub页面已经建立,代码将很快开源。