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

相关推荐
爱喝奶茶的企鹅5 分钟前
Ethan独立开发新品速递 | 2025-08-18
人工智能·程序员·开源
七夜zippoe5 分钟前
如何使用 AI 大语言模型解决生活中的实际小事情?
人工智能·语言模型·生活
算家计算15 分钟前
一行命令,玩转所有主流音视频格式!一站式音视频处理工具——FFmpeg本地部署教程
人工智能
AAA修煤气灶刘哥19 分钟前
Java+AI 驱动的体检报告智能解析:从 PDF 提取到数据落地全指南
java·人工智能·后端
AI 嗯啦28 分钟前
SQL详细语法教程(四)约束和多表查询
数据库·人工智能·sql
三块钱079441 分钟前
如何让AI视频模型(如Veo)开口说中文?一个顶级提示词的深度拆解
人工智能
轻松Ai享生活1 小时前
从0-1学习CUDA | week 1
人工智能
蒋星熠1 小时前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构
wayman_he_何大民1 小时前
初始机器学习算法 - 关联分析
前端·人工智能
杭州泽沃电子科技有限公司1 小时前
告别翻山越岭!智能监拍远程守护输电线路安全
运维·人工智能·科技·安全