介绍一篇发表2022在年第36届神经信息处理系统会议(NeurIPS)论文,题目是non-deep-networks该论文讨论了在安全关键系统中延迟的重要性,并探讨了构建高性能的“非深度”神经网络的可能性
一、首先我们来了解一下背景
- 故事
- 安全关键系统中延迟的重要性毋庸置疑。对于需要实时预测的系统,如高速自动驾驶汽车,在非常短的时间窗口内做出反应是确保安全性的关键。由于深度神经网络(DNNs)是许多智能系统的核心,因此考虑DNNs的延迟是至关重要的。
- 在DNN中,最低可达到的延迟是d/f,其中d是网络的深度,f是处理器的频率。尽管在通用处理器(如GPU)上很难实现这个极限,但对于实际应用,可以构建定制芯片以接近理论延迟。这种延迟限制也适用于具有大量FLOPs或带宽的未来硬件。
- 在这种情况下,只能通过减少深度或增加频率来改善延迟。然而,值得探讨的是是否可以通过“非深度”神经网络实现高性能。
- 论文还探讨了领域内的相关工作。
- 灵感来自于,Zagoruyko和Komodakis的Wide Residual Networks,该工作表明通过增加通道数可以在限制深度的同时,提高性能。作者从这些工作中获得启发,并通过在深度为10左右的范围内实现高性能来推动研究前沿。
- 存在丰富的研究文献分析了深度在神经网络中的重要性。
- 先前的研究主要关注线性顺序结构的浅层网络。
- 本文采用并行分支、VGG风格模块和Skip-Squeeze-and-Excitation等技术来降低深度并保持高性能。
- 在扩展神经网络方面,通过增加分支数量、宽度和分辨率来有效地扩展ParNet,同时保持较低的深度。
- 论文提出了一种名为ParNet(Parallel Networks)的架构,通过使用并行子网络而不是顺序堆叠层来减少网络的深度。这种方法在保持高性能的同时降低了网络的深度。作者展示了ParNet的有效性,并在多个基准数据集上取得了令人瞩目的结果。
- 论文首次展示了一个仅有12层深度的分类网络在ImageNet上可以达到超过80%的top-1准确率,在CIFAR10上达到96%的准确率,在CIFAR100上达到81%的准确率。此外,作者还展示了一个具有低深度(12层)骨干网络在MS-COCO上可以达到48%的平均精度(AP)。这些结果表明,通过并行子结构,即使在较低的深度下,也可以实现高性能的非深度网络。
- 论文还讨论了ParNet的扩展规则,即如何通过增加宽度、分辨率和分支数量来有效扩展网络,同时保持深度不变。作者观察到,随着计算吞吐量的增加,ParNet的性能也在不断提高。这意味着在保持较低深度和低延迟的情况下,可以实现更高的性能。
- 贡献
- 首先,我们首次表明,深度仅为 12 的神经网络可以在具有竞争力的基准测试中实现高性能
- 其次,我们展示了如何利用并行分支、VGG 风格块和 Skip-Squeeze-and-Excitation 等不同架构选择来降低深度,同时保持高性能。
- 第三,我们研究了 ParNet 的扩展规则,并演示了在深度不变的情况下如何有效扩展。
- 首先,我们首次表明,深度仅为 12 的神经网络可以在具有竞争力的基准测试中实现高性能
- 总结起来,该论文提出了一种构建高性能非深度神经网络的新方法,并深入探讨了在安全关键系统中深度、性能和延迟之间的权衡。通过实验证明,在特定条件下,通过使用并行子结构,可以实现令人满意的性能,同时降低网络的深度,从而减少延迟。论文还讨论了与深度有关的其他问题,并对未来的研究方向进行了展望。
二、整个框架的实现方法
- 图1展示了不同模型的 ImageNet Top-1精度与深度的关系。图2展示了ParNet和ParNet块的示意图。
- 并行子网络(Parallel Subnetworks):传统的深度神经网络是将各个层按顺序堆叠在一起的,而ParNet采用了并行子网络的设计。
- 相比于串行结构,通过并行子网络可以有效地减少网络的深度,同时保持高性能。
- 这种并行结构的设计使得仅具有12层深度的网络在ImageNet数据集上能够达到超过80%的top-1准确率,在CIFAR10和CIFAR100数据集上的准确率分别达到96%和81%。这是首次展示了在如此低的深度下实现如此高的性能。
- VGG风格块(VGG-style Blocks):
- 相比于ResNet风格的块,论文中发现VGG风格的块更适合用于减少网络的深度。VGG风格块具有更少的层级,可以在减少深度的同时保持高性能。
- 但是训练 VGG 风格网络比训练 ResNet 风格网络更困难(He 等人,2016a),怎么解决?
- 使用了来自 RepVGG Ding 等人(2021 年)的 "结构重参数化"(structural reparameterization)。
- Skip-Squeeze-and-Excitation(SSE):为了增加网络的感受野而不增加深度,论文引入了一种变体的Squeeze-and-Excitation(SE)模块,称为Skip-Squeeze-and-Excitation。这个模块通过跳过一些层级来增加网络的感受野,从而提高了网络的性能。
- 和旧的有什么区别?
- 这个模块通过跳过一些层级来增加网络的感受野,从而提高了网络的性能。
- 和旧的有什么区别?
- 缩放规则(Scaling Rules):论文还研究了ParNet的缩放规则。
- 研究表明,通过增加宽度、分辨率和子网络的数量,可以有效地扩展ParNet的规模,同时保持网络的低深度。
- 实验结果显示,ParNet的性能随着计算吞吐量的增加而提高,这意味着通过进一步增加计算量,可以在保持低深度(约为10)和低延迟的情况下实现更高的性能。
三、对于框架的评估
- 数据集选择:作者在评估ParNet的性能时使用了几个常用的计算机视觉数据集,包括ImageNet、CIFAR10、CIFAR100和MS-COCO。这些数据集广泛用于评估图像分类和目标检测任务的性能。
- 训练设置:对于图像分类任务,作者使用了标准的训练配置,包括随机水平翻转、随机裁剪和颜色增强等数据增强技术。对于目标检测任务,作者使用了基于单阶段检测器的ParNet作为骨干网络,并进行了端到端的训练。
- 性能指标:作者使用了常用的性能指标来评估ParNet的性能。对于图像分类任务,使用top-1准确率作为评估指标。对于目标检测任务,使用平均精度(AP)作为评估指标。
- 与现有模型的比较:为了评估ParNet的性能,作者将其与其他已有的深度网络模型进行了比较。论文中提到了一些先前的模型,包括ResNet、Wide Residual Networks等。通过与这些模型的性能进行比较,可以评估ParNet在低深度下的性能优势。
- 缩放规则的验证:为了验证ParNet的缩放规则,作者对不同的缩放参数进行了实验,如增加宽度、分辨率和子网络的数量。通过比较不同参数设置下的性能,可以验证缩放规则的有效性。
- 实验结果和分析:作者通过实验结果对ParNet的性能进行了详细分析,包括不同深度下的准确率、参数数量的比较、不同缩放参数的性能变化等。同时,作者还对ParNet在不同数据集上的表现进行了比较和讨论,以展示其在图像分类和目标检测任务中的性能优势。
- 图像分类任务(ImageNet、CIFAR10和CIFAR100):
- 使用ParNet,仅具有12层深度的网络在ImageNet数据集上实现了超过80%的top-1准确率。
- 在CIFAR10数据集上,同样的12层深度的网络达到了96%的准确率。
- 在CIFAR100数据集上,12层深度的网络实现了81%的准确率。
- 目标检测任务(MS-COCO):
- 使用ParNet作为骨干网络,具有低深度(12层)的网络实现了48%的平均精度(AP)。
- 图像分类任务(ImageNet、CIFAR10和CIFAR100):
四、应用、拓展、不足之处
- 这个框架可以很广泛的应用,
- 作者将提出的ParNet架构应用于图像分类和目标检测任务,并取得了令人满意的性能。该架构在ImageNet、CIFAR10和CIFAR100等数据集上都取得了较高的准确率。此外,对于目标检测任务,在MS-COCO数据集上,仅具有深度为12的骨干网络的ParNet也取得了不错的平均准确率。
- 拓展
- 论文提到了一些拓展和改进ParNet的潜在方向。首先,作者指出ParNet可以通过增加宽度、分辨率和分支数量来进行有效扩展,同时保持较低的深度。这意味着通过增加计算能力,可以进一步提高性能,同时仍保持较低的深度和低延迟。
- 此外,论文还提到了一些可能的改进方向。例如,结合其他架构选择和技术,如ResNet风格的块,在进一步减少深度的同时保持高性能。另一个可能的方向是进一步研究并优化ParNet的规模化规则,以实现更好的性能和可扩展性。
- 然而,论文也指出了ParNet的一些局限性。尽管ParNet在深度较小的情况下表现出了很好的性能,但它仍然需要更多的研究和实验来验证其在更复杂任务和更大规模数据集上的适用性。此外,论文中也没有深入探讨ParNet相对于其他深度网络的优势和劣势,以及在实际应用中的可行性和可靠性。比如在审议过程中,就被编辑提及深度虽然降低,但是参数量却没有减少,以至于性能提升不佳。