Dual Path Networks

标签: 深度卷积神经网络
967人阅读 评论(0) 收藏 举报
分类:

《Dual Path Networks》

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

我认为文章最大的贡献是为ResNet和DenseNet找到了一个形式统一的数学表达。

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

1. ResNet, DenseNet and Higher Order RNN

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

如式(1),\(h^t\) 表示 \(t\) 时刻的隐层状态;索引 \(k\) 表示当前时刻; \(x^t\) 表示 \(t\) 时刻的输入; \(f_t^k(\cdot)\) 表示特征提取; \(g^k\) 表示对提取特征做输出前的变换。

当假设 \(\forall t,k,\quad f_{t}^k(\cdot) = f_t(\cdot)\)时, 我们可以对上式做进一步的形式上的变换:用 \(r^k\) 表示中间结果,并令 \(r^0=0\)

其中, \(\phi^k(\cdot)=f_k(g^k(\cdot)\)。

(1)Higher Order RNN

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

\(\forall t,k,\quad f_{k-t}^k(\cdot) = f_t(\cdot)\)

\(\forall k, \quad g^k(\cdot)=g(\cdot)\)

(2)ResNet

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

\(\forall t,k,\quad f_{k-t}^k(\cdot) = f_t(\cdot)\) 但 \(g^k\)不共享。

(3)DenseNet

对于DenseNet, 每一时刻(即每一个mini-block)都有其独有的参数,即不要求任意时刻\(f_t^k(\cdot)\)保持不变。 于是,我们可以认为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的实现形式,其中 \(\wr\) 表示拆分;

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

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

这里写图片描述

查看评论

Dual Path Networks

《Dual Path Networks》一篇讲如何设计网络结构的文章,大体上整合了ResNet和 DenseNet的优点: - ResNet: 侧重于特征的再利用(因为整合特征采用的是加和操作) ...
  • shuzfan
  • shuzfan
  • 2017年10月18日 16:31
  • 967

YOLO算法的Caffe实现

YOLO算法有多种实现版本,论文中的作者的实现是在darknet框架下,可以参考链接:点击打开链接,darknet上已经更新到YOLO V2版本了。 这里主要讲Caffe版本的YOLO实现,主要采用y...
  • u014380165
  • u014380165
  • 2017年05月19日 19:02
  • 10359

Dual Path Networks

在本项研究工作中,我们提出了一种用于图像分类的简单、高效和模块化的双路径网络(Dual Path Network /DPN),该神经网络内部连接路径采用了一种新的拓扑结构。通过在HORNN(highe...
  • buaalei
  • buaalei
  • 2017年07月31日 12:35
  • 883

解读Dual Path Networks(DPN,原创)

Dual Path Networks,论文链接:https://arxiv.org/pdf/1707.01629.pdf ResNet和DenseNet是近几年两种比较热门的网络结构,ResNe...
  • docrazy5351
  • docrazy5351
  • 2018年01月07日 10:30
  • 140

Faster R-CNN 的Caffe实现

Faster R-CNN是一种object detection算法,这里记录下Faster R-CNN的Caffe实现。 git地址:https://github.com/rbgirshick/py...
  • u014380165
  • u014380165
  • 2017年05月24日 19:49
  • 6399

SSD(single shot multibox detector)算法及Caffe代码详解

这篇博客主要介绍SSD算法,该算法是最近一年比较优秀的object detection算法,主要特点在于采用了特征融合。 论文:SSD single shot multibox detector ...
  • u014380165
  • u014380165
  • 2017年05月31日 22:55
  • 24343

《Dual Path Networks》笔记

(这篇论文是最新的网络结构的论文,故下载下来学习一下) 1 论文出处:image2017多项冠军,目前挂在arxiv上面 2 主要思路: 现在的网络结构,有resnet结构的,两个通路然后把fe...
  • SCUTlihaoyu
  • SCUTlihaoyu
  • 2017年07月21日 14:32
  • 739

caffe-master 之 mnist

本教程尽量详细,大多步骤都有图,如果运行出错,请先对照自己的文件是否和图上的一样,包括标点啊,空格啊,斜杠,反斜杠啊之类的小细节。第一步:   官网下载mnist数据 http://yann.lecu...
  • yangpan011
  • yangpan011
  • 2018年03月25日 14:51
  • 13

Dual Path Networks

作者发现ResNet可以使得特征重用,DenseNet可以探索新的特征。二这两个作用对网络学习好的表达很重要。所以论文将2着结合起来。 结构如下图: 首先将输入预分为俩部分。将所有输入通过1X...
  • sunyao_123
  • sunyao_123
  • 2018年03月31日 15:19
  • 20

OHEM算法的Caffe实现

这篇博文介绍如何用OHEM算法训练数据和测试数据。因为OHEM算法是对Fast RCNN的改造,所以Caffe代码的编译和Fast(er) RCNN基本类似。OHEM算法及Caffe代码的讲解可以参考...
  • u014380165
  • u014380165
  • 2017年06月13日 22:46
  • 1797
    个人资料
    持之以恒
    等级:
    访问量: 77万+
    积分: 7534
    排名: 3606