论文地址:https://arxiv.org/pdf/1911.11929.pdf
开源代码:https://github.com/WongKinYiu/CrossStagePartialNetworks
作者提出Cross Stage Partial Network (CSPNet)来降低网络架构所需的算力。神经网络的计算量大很大程度上是由于在网络优化过程中出现的重复梯度信息导致的。
作者提出的网络架构可以在降低约20%计算量的情况下维持和原网络架构相同甚至高于原网络架构的准确度。CSPNet这种架构思想可以很方便的应用到像denseNet、ResNet、ResNeXt等结构的CNN网络上。
设计CSPNet的目的是在减少计算量的前提下实现丰富的梯度组合。它的核心思想是将某一阶段的(stage)输入特征图分成两部分,然后经过不同的处理后再合并起来。
CSPNet可以解决以下三个问题:
- 增强CNN的学习能力;
- 移除计算瓶颈,让整个模型的计算量分布更均匀,例如将每个stage的输入特征图分成两部分,只让其中一部分进入到dense layer,就能降低该stage的峰值计算量;
- 降低内存占用,在特征金字塔生成过程中,为了降低内存占用,作者采用跨通道池化技术(cross-channel pooling)来压缩特征图数量。
这篇文章还总结了目前SOTA的网络架构特点。DenseNet通过大量复用特征图来大大降低参数数量和计算量,它将某层之前的所有层的输出作为后续层的输入,这将最大化ca