YOLOv4系列backbone-CSPNet: A new backbone that can enhance learning capability of cnn.


前言

YOLOv4中所采用的的backbone


发表

CVPR2020

源代码

https://github.com/WongKinYiu/CrossStagePartialNetworks

论文动机

作者认为推理计算过高的问题是由于网络优化中的梯度信息重复导致的。CSPNet通过将梯度的变化从头到尾地集成到特征图中,在减少了计算量的同时可以保证准确率。

论文贡献与成果

加强CNN学习能力
消除计算瓶颈
降低内存成本

模型方法说明

1.DenseNet与CSPNet模型

在这里插入图片描述
上图是DenseNet的一个阶段,包含 一个dense block和一个transition层,每个dense block由k个dense layers组成,多个dense layers串联,串联后的结果缩为transition层的输入。
在这里插入图片描述
CSPNnet全名为Cross Stage Partial DenseNet,它的每个阶段包含一个partial dense block和一个partial transition layer,在pairial dense block中,将输入的底层特征图分为了两部分,一部分直接连接到终点,另一部分经过一个dense block再与第一部分汇合concatenated。汇合后再经过一个transition layer。

2.DenseNet与CSPNet的前馈传递与权重更新

在DenseNet中,为串联输入输出,因此下一个前馈传递的输入为前一个的输出。
在这里插入图片描述
在反向传播更新权重时,可以看到到大量的梯度信息被重复使用,其中f为权重更新函数,gi为传播到第i个dense layers的梯度。
在这里插入图片描述
在CSPNnet中,将输入的特征图分为了x0’和x0’’两部分,x0’’经过dense block得到xk,经过transition layer得到xT。在与x0’部分相连后得到xU。
在这里插入图片描述
在权重更新时,可以看到两部分都是单独集成的,所以在更新时,两边都不包含属于其他边的重复梯度信息。
在这里插入图片描述
总之,CSPDenseNet保留了DenseNet的特征复用特性的优点,但同时通过截断梯度流,防止了过多的重复梯度信息。这一思想通过设计分层特征融合策略并用于partial transition层来实现。

3.CSPNet各个阶段的目的

Partial Dense Block:
1)增加梯度路径,分割再合并可以将梯度路径的数量变为原来的两倍
在这里插入图片描述
2)平衡各层之间的计算量
3)减少内存
Partial Transition Layer:
最大限度的提高梯度的组合差异,是一种分层特征融合机制,它采用截断梯度流的策略来防止不同层学习重复的梯度信息。

4.EFM机制

待补

5.CSPNet的变体

在这里插入图片描述
CSP(fusion first)是指将两支路生成的特征图进行concatenate ,然后再进行transition操作。如果采用这种策略,将会reused大量的梯度信息。
至于CSP(fusion last)策略,dense block的输出会经过transition层,然后与来自第1部分的特征图做concatenation。如果采用CSP(fusion last)策略,由于梯度流被截断,梯度信息将不会被重用。
在这里插入图片描述

如上图,如果采用CSP(fusion last)策略进行图像分类,计算成本明显下降,但top-1的准确率仅下降0.1%。 另一方面,CSP(fusion first)策略确实有助于计算成本的大幅下降,但top-1的准确率明显下降了1.5%。
从图中可以看出,如果能够有效地减少重复的梯度信息,网络的学习能力将得到很大的提升。

实验

数据集:ImageNet的图像分类数据集
在这里插入图片描述
数据集:MS COCO对象检测数据集
在这里插入图片描述
在这里插入图片描述

实验结果证实,无论是基于ResNet的模型、基于ResNeXt的模型,还是基于DenseNet的模型,当引入CSPNet的概念后,计算负荷至少降低10%,精度要么保持不变,要么提升。

待补


总结

CSPNet同样可以用于ResNet和ReNetX,减少计算量,加强CNN学习能力,降低内存成本。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值