林小北 · 5 天前

Dual Path Networks论文笔记

转载自:知乎
作者:林小北

Dual Path Networks是ILSVRC 2017 定位组的冠军,很好地探索了ResNet和DenseNet的联系,并把二者结合起来。最近在看CSPNet的时候,感觉有必要重温此文,考虑到原文写的比较晦涩,这里稍加记录,便于记忆和以后理解。

  • 核心论点一:DenseNet可以看作是Higher Order RNN的形式。

如果把网络结构中的第k层理解成为是时间尺度上的第k个时间,DenseNet可以写入如下形式


image.png

所以写成二者某种意义上是等价的,更详细的解释可以参考王乃岩老师的这篇博客[\[1\]](#ref_1)。下面给出了Dense到Higher Order RNN的图解。

核心论点二:ResNet是DenseNet的一种特殊形式,ResNet更加擅长复用特征,DenseNet更加擅长发掘特征。
上面给出了DenseNet的Higher Order RNN的表达式,当上式的 的时候,可以证明二者是等价的。用 表示第 层的输入,此时有

image.png

这样就是我们熟悉的ResNet的结构了。ResNet同样可以表示成为Higher Order RNN,如下图

image.png

Dual Path Net:ResNet +DenseNet
DPN把ResNet和DenseNet的优点结合起来,给ResNet加上了薄薄的DenseNet结构,保持了二者复用特征+挖掘特征的能力,同时避免了像原始DenseNet那样臃肿的结构。

image.png

之后,原文给了一个从ResNet、DenseNet到DPN的演化图,却没有好好解释这个图的变化由来,这里再记一下自己的理解。

图(a) 是典型的ResNet,不多说。
图(b) 是DenseNet,变粗的部分就是新的网络层的特征,不断与之前的特征concate,注意有多个1x1卷积核。同一个颜色的卷积核代表的是同一个尺度的1x1卷积核,比如,绿色的1x1卷积核代表了是指对第一层的特征进行1x1卷积。而带下划线的1x1卷积核则是为了对concate后的特征进行维度上的整理。
图(c)是对DenseNet的一个改动,假设所有相同颜色的1x1卷积核是共享的,那么图(b) 就可以整理成为图(c)的格式。图(c)的左半部分是DenseNet,右半部分是ResNet。回忆在核心论点一中,提到concate是可以等价成为相加的,所以在图(b)中绿色1x1卷积核、桔色1x1卷积核分别对第一层特征、新特征处理后,再concate进行后面的操作,也就等价于图(c)中右边通道中二者相加。
图(d)是提出的DPN,一方面,这个网络结构可以直接从DPN的定义公式得到;另一方面,可以发现,只要把图(c) 里面的1x1卷积核拆分、整理、变形,也可以得到图(d)的结构。
图(e)则是把图(d)的每个block中每个通道的第一个1x1卷积核合并的结果,更加简洁。

  • 效果:

由于DPN的网络更加合理,所以网络参数比起DenseNet和ReNeXt都大幅下降,见下表:

分类效果对比中如下:

检测&分割效果对比如下:

推荐阅读

1 阅读 224
推荐阅读
0 条评论
关注数
2
内容数
11
尽量用简单的话把论文讲明白
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
Arm中国学堂公众号
关注Arm中国学堂
实时获取免费 Arm 教学资源信息
Arm中国招聘公众号
关注Arm中国招聘
实时获取 Arm 中国职位信息