DPN网络

DPN

DPN(Dual Path Networks)是一种网络结构,它结合了DensNet和ResNetXt两种思想的优点。这种结构的目的是通过不同的路径来利用神经网络的不同特性,从而提高模型的效率和性能。

  • DenseNet 的特点是其稠密连接路径,使得网络能够在不同层级之间持续地探索新的特征。这种连接方式允许网络在不增加参数的情况下学习到更丰富的特征表示。
  • ResNeXt(残差分组卷积)则是通过残差路径实现特征的复用,这有助于减少模型的大小和复杂度。

DPN的设计思想在于融合这两种思想,通过两个并行的路径来进行信息传递:

  1. 一条路径是通过DenseNet的方式,即通过稠密连接路径,这样可以持续地探索新的特征。
  2. 另一条路径是通过ResNeXt的方式,即通过残差路径,可以实现特征的复用。

此外,DPN使用了分组卷积来降低计算量,并且可以在不改变原有网络结构的前提下,提升性能,使其适合用于检测和分割任务作为新的Backbone网络。

DPN就是在ResNeXt和DenseNet的基础上,融合这两个网络的核心思想而成,论文原文见附录。

主要创新点

  • DPN的Dual Path(双路)结构结合了ResNeXt(残差分组卷积)和DenseNet(稠密连接)两种思想。即可以利用残差网络的跳跃连接对特征进行复用,又可以利用密集连接路径持续探索新特征。
  • 使用了分组卷积,降低了计算量。
  • 性能超越ResNeXt和DenseNet,可以做检测分割任务新BackBone。

DPN网络结构

DPN的网络结构如Table1所示:

可以看到DPN的网络结构和ResNeXt的网络结构很类似。最开始是一个7×7卷积层,接着就是一个最大池化层,再然后是四个stage,再接一个全局平均池化以及全连接层,最后是softmax层。整体结构是这样,重点就在每个stage具体是怎么变化的了,接下来我们就一起来理解一下。

上面说了DPN网络就是把ResNeXt和DenseNet融合成1个网络,因此这里首先介绍一下这篇论文是如何表达ResNeXt和DenseNet的,具体如Figure2所示:

  • 其中Figure2(a)就是ResNeXt的一部分,其中(a)的左边这个矩形的小凸起 部分就代表每个残差模块输入输出,对于一个输入x,分两条路走,一条是x本身,即残差模块中的跳跃连接,而另一条就是经过1x1卷积+3x3卷积+1x1卷积(即瓶颈结构),然后把这两条路获得结果做一个求和即可,也即是文中的+符号,得到下一个残差模块的输入。
  • 而Figure2(b)是DenseNet的一部分,其中(b)左边的多边形凸起 代表每个密集连接模块输入输出,对于输入x只有一条路,即经过几层卷积之后和x做一个通道合并(concat),得到的输出又是下一个密集连接模块的输入,这样每一个密集连接模块的输入都在不断累加,可以看到这个多边形越来越宽。
  • Figure2(c)通过在(b)中的模块之间共享相同输出的第一个1x1卷积,密集连接模块退化成了残差模块,虚线圈起来的部分就是残差模块。
  • Figure2(d)是双路径体系结构(DPN),将同一层上ResNet的输出和DenseNet的输出按元素相加,再整体做卷积,然后将结果按原先通道分配的情况来分割又各分给残差模块和密集连接模块来连接,既有按元素相加又有通道相加,这就是DPN的双路径。
  • Figure2(e)实际上和Figure2(d)是工程等价的,其中~表示分割操作,+表示元素级加法。一个模块中先连接,然后整体做卷积,再分开,分开之后残差模块的和残差模块相连,密集连接模块和密集连接模块相连,连完之后得到新的特征层。这一块完成后再做些卷积、pooling等,然后继续作为下一个模块的输入。

需要注意的一点是,上面的所有的3x3卷积都是分组卷积,所以DPN是ResNeXt和DenseNet的结合,而不是ResNet。

https://arxiv.org/pdf/1707.01629.pdf

相关推荐
茶杯6755 小时前
GraphRAG产品赋能企业智能升级:创邻科技知寰Hybrid RAG的四大核心应用场景深度解析
人工智能·科技·graphrag产品
少林and叔叔5 小时前
基于yolov5.7.0的人工智能算法的下载、开发环境搭建(pycharm)与运行测试
人工智能·pytorch·python·yolo·目标检测·pycharm
kuan_li_lyg5 小时前
笛卡尔坐标机器人控制的虚拟前向动力学模型
人工智能·stm32·机器人·机械臂·动力学·运动学·导纳控制
合作小小程序员小小店5 小时前
旧版本附近停车场推荐系统demo,基于python+flask+协同推荐(基于用户信息推荐),开发语言python,数据库mysql,
人工智能·python·flask·sklearn·推荐算法
却道天凉_好个秋5 小时前
OpenCV(十四):绘制直线
人工智能·opencv·计算机视觉
动能小子ohhh5 小时前
Langchain从零开始到应用落地案例[AI智能助手]【3】---使用Paddle-OCR识别优化可识别图片进行解析回答
人工智能·python·pycharm·langchain·ocr·paddle·1024程序员节
IT_陈寒5 小时前
Vue 3.4性能优化实战:5个鲜为人知的Composition API技巧让打包体积减少40%
前端·人工智能·后端
数据与人工智能律师6 小时前
数据淘金时代的法治罗盘:合法收集、使用与变现数据的边界与智慧
大数据·网络·人工智能·云计算·区块链
王哈哈^_^6 小时前
【数据集】【YOLO】【目标检测】建筑垃圾数据集 4256 张,YOLO建筑垃圾识别算法实战训推教程。
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·数据集
牛奶还是纯的好6 小时前
双目测距实战4-自标定
人工智能·3d视觉