Dual Path Networks

《Dual Path Networks》

一篇讲如何设计网络结构的文章,大体上整合了ResNet和 DenseNet的优点: 
- ResNet: 侧重于特征的再利用(因为整合特征采用的是加和操作) 
- DenseNet: 侧重于新特征的发掘(因为整合特征采用的是拼接操作)

DPN是一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度

论文从数学表达上对ResNet、DenseNet和HORNN的关系进行了表示,经证明,当连接在层中共享时残差网可看作密集连接网络,当权重在各步中共享时密集连接网络是高阶RNN。

在ImagNet-1k数据集上,浅DPN超过了最好的ResNeXt-101(64×4d),具有26%更小的模型尺寸,25%的计算成本和8%的更低的内存消耗

Github项目主页: https://github.com/cypw/DPNs

1. ResNet, DenseNet and Higher Order RNN

本文试图为ResNet 和 DenseNet找到一个形式统一的数学表达。

如式(1),ht 表示 t 时刻的隐层状态;索引 k 表示当前时刻; xt 表示 t 时刻的输入; fkt() 表示特征提取; gk 表示对提取特征做输出前的变换。

当假设 t,k,fkt()=ft()时, 我们可以对上式做进一步的形式上的变换:用 rk 表示中间结果,并令 r0=0

其中, ϕk()=fk(gk()

(1)Higher Order RNN

对于HORNN,所有时刻的权重都是共享的,即 ϕk()保持不变,于是有:

t,k,fkkt()=ft()

k,gk()=g()

(2)ResNet

对于ResNet,显然 ϕk()在每一时刻都是变化的,且 xk=0, k>1,于是总结有:

t,k,fkkt()=ft() 但 gk不共享。

(3)DenseNet

对于DenseNet, 每一时刻(即每一个mini-block)都有其独有的参数,即不要求任意时刻fkt()保持不变。 于是,我们可以认为ResNet是DenseNet的特殊情形。

结合上面的分析,下图中的(a)和(b)说明了ResNet与RNN的关系;下图中的(a)和(c)说明了ResNet与DenseNet的关系。

2. Dual Path Networks

通过上面的分析,我们可以认识到 :

  • ResNet: 侧重于特征的再利用,但不善于发掘新的特征;
  • DenseNet: 侧重于新特征的发掘,但又会产生很多冗余;

为了综合二者的优点,作者设计了DPN网络,其数学形式如下:

显然,式(5)表示DenseNet的形式,侧重于发掘新特征;式(5)表示ResNet的形式,侧重于特征的再利用;式(6)表示二者结合。

下图给出DPN的设计结构:

这里写图片描述

如上图所示,图(a)是残差网络示意图;图(b)是 DenseNet的示意图,其中加下划线的1x1卷积是临时增加的,只为了和(a)在形式上对齐; 图(c)表示当将所有第一个1x1卷积共享后,DenseNet可以退化为残差形式; 图(d)为DPN; 图(e)为DPN的实现形式,其中  表示拆分;

由于DenseNet的Concat操作会加宽feature map,为了减慢增宽速度同时减轻GPU的使用,因此如上图(e)所示:网络结构以ResNet的加和为主体,以DenseNet的拼接为辅助。 同时,为了进一步提高网络表达能力,每个Block的第2个卷积层,采用了group操作。

具体的网络结构如下表所示:(注意下参数量param以及计算量FLOPS的对比:)

这里写图片描述

原文地址:https://www.cnblogs.com/mrxsc/p/7693316.html