解读Dual Path Networks(DPN,原创)

Dual Path Networks,论文链接:https://arxiv.org/pdf/1707.01629.pdf

ResNet和DenseNet是近几年两种比较热门的网络结构,ResNet把输入直接加到(element-wise adding)卷积的输出上,DenseNet则把每一层的输出都拼接(concatenate)到了其后每一层的输入上。在这篇论文中作者用High Order RNN结构(HORNN)把DenseNet和ResNet联系到了一起,证明了DenseNet能从靠前的层级中提取到新的特征,而ResNet本质上是对之前层级中已提取特征的复用。通过把这两种结构的优点结合到一起,就有了最新结构Dual Path Networks(DPN)。

一、原理篇

1、DenseNet和HORNN的联系

High Order RNN(HORNN)就是高阶循环卷积网络,我们可以把HORNN泛化成公式1。这个公式中当前的状态是hk,ht则表示结构中的第t个状态 (t<k),ftk(.)表示从ht中提取和第k个状态有关的特征的过程,xt表示第t个状态的输入数据(明显有x0=h0),gk(.)表示把之前所有的状态汇聚后再用gk(.)处理就得出当前状态hk。如果对于任意k,t,都有ftk(.)=ft(.),gk(.)=g(.),那公式1就是一个普通的HORNN。

公式1

为什么说DenseNet就是个特殊的HORNN呢?DenseNet一个Block可以看成图1的结构,其中的红框部分是对之前各层的输出在特征维度做拼接,然后做1X1卷积。拼接后做1X1卷积可以等效为先在各层的直连线上分别做1X1卷积(每一条直连线上的1X1卷积系数都不同),然后再算术相加。即红框里的结构可以等效为图1下半部分的结构,一个DenseNet的Block就等效于图2的结构(其中fk-1k、fk-2k、fk-3k......都不相同)。这样图2就和公式1完全对应上了,所以说DenseNet是在不满足ftk(.)=ft(.),gk(.)=g(.)时的特殊HORNN。
图1:DenseNet的结构

图2:DenseNet结构

2、DenseNet和ResNet的联系

把公式1做下变形,引入一个中间量rk,再假设对于任意t、k,都有ftk(.)=ft(.),公式1可以变化成公式2的表达式:

公式2

把上面两个表达式组合在一起就有了公式3,其中Φk-1(rk-1)=fk-1(gk-1(.)),明显这是一个残差的表达式:
公式3

因为公式2是在ftk(.)=ft(.)前提下,从公式1得出的,而公式1是DenseNet,所以可以认为ResNet是DenseNet在ftk(.)=ft(.)时的一种特殊表达式。图3是ResNet结构的等效变换,图3下侧的表达形式和公式2的ResNet公式是完全一样的,其中gk(.)就是1x1降维的卷积,fk(.)就是其他卷积部分,从图3看出ResNet中任意层都复用了之前所有层次输出的特征。
图3:ResNet结构

3、DenseNet和ResNet各自的优势

从前面的描述可以看出ResNet复用了前面层已提取过的特征,除去这些直连的复用特征外,真正由卷积提取出来的特征“纯度”就比较高了,基本都是之前没有提取到过的全新特征,所以作者说ResNet提取的特征中冗余度比较低。而DenseNet从图1可以看出fk-1k、fk-2k、fk-3k......都不相同,前面层提取出的特征不再是被后面层简单的复用,而是创造了全新的特征,这种结构后面层用卷积提取到的特征很有可能是前面层已提取过的,所以作者说DenseNet提取的特征冗余度高。一个有高复用率,但冗余度低;一个能创造新特征,但冗余度高,如果把这两种结构结合起来,就能发挥更大的威力,这就有了DPN。

二、结构篇

DPN的表达式如公式4,它结合了DenseNet和ResNet,xk分支代表了DenseNet,yk分支代表了ResNet。

公式4

从ResNet、DenseNet到DPN的结构演进关系见图4和图5,图4(b)DenseNet结构中绿色和红色的1x1卷积就是图2中的fk-1k(·)、fk-2k(·),两个1x1卷积是有独立的系数的,图4(b)在ftk(·)=ft(·)时可以演变成图4(c),图4(c)是满足ftk(·)=ft(·)后的DenseNet结构,也就是ResNet。在图4(b)和图4(c)中可以看到算术相加后有一个1x1卷积(带下划线)在图2中没有出现过,加这个1x1卷积是为了让图4(c)能与图4(a)的ResNet对应上,纯粹是用于证明共享ft(·)后的DenseNet就是个ResNet,并无特殊作用。图5(d)就是DenseNet和ResNet组合在一起的DPN,结构中最后一个1x1卷积的输出分成了两半,一半的特征数和ResNet分支的输入的特征数相同,这样才能和ResNet分支的输入正好相加。
图5(e)是真正使用的DPN结构,和d的区别是DenseNet和ResNet分支共用了第一个1x1卷积。实际应用时3x3卷积使用ResNeXt中的GROUP方式来提升性能;ResNet分支的特征数也会更多点,这样可以减缓DenseNet随着层级加深特征宽度不停加大的问题。图6是几种DPN结构和ResNet结构的比较。
图4:ResNet和DenseNet结构

图5:DPN结构

图6:几种DPN结构

三、测试篇

作者使用了ImageNet 1k数据集来做图像分类测试、用Place365标准数据集来做场景分类测试、用PASCAL VOC数据集来做目标检测和语义分割测试。

1、图像分类测试(image classification)

从图7表格的第一部分可以看出92层的DPN的top-1错误率比101层的ResNeXt(32x4d)的错误率低0.5%,要比161层的DenseNet的错误率低1.5%,FLOPS也比他们要低;从图7表格的第二部分看出98层的DPN的错误率比ResNeXt性能最好的结构ResNeXt-101(64x4d)的错误率还要低,而且FLOPS要少25%,参数量也要少。
作者再把DPN的深度进一步加深到了131层(见图7表格最后一部分),他的错误率比当前性能最好的结构--Very Deep PolyNet还要低,同时参数量也更少,训练速度却要比PolyNet快一倍,作者还比较了各种结构训练时GPU显存的使用量和训练速度,结果见图7下方的三张图,可以看到DPN-98比性能最好的ResNeXt训练时要快15%,现存占用少9%。而性能更好的DPN-131只是比ResNeXt多用了19%的训练时间,就达到了state-of-art的结果。


图7:不同结构的参数量、FLOPS、错误率、训练速度、显存占用量的比较

2、场景分类测试(scene classification)

作者用Place365数据集作场景分类的测试,结果见图8,从结果可以看出DPN-92的准确率要比其他结构都高。


图8:不同结构的显存占用量和准确率比较

3、目标检测测试(object detection)

作者用PASCAL VOC 2007数据集作目标检测的测试,结果用平均准确度(AP)和平均准确度的期望(mAP)两种方式来衡量 ,测试时都用了Fast R-CNN框架,把Fast R-CNN中的ResNet替换成了需要验证的结构,其他部分保持不变。结果见图9,能看出DPN有很大优势。


图9:目标检测测试

4、语义分割测试(semantic segmentation)

语义分割测试用的是PASCAL VOC 2012数据集,用的框架是DeepLab-ASPP-L,图10是测试结果,可以看出DPN-92的mIoU准确度最高。


图10:语义分割测试

总结:从测试结果来看DPN结构无论在图像分类、目标检测还是语义分割领域都有极大的优势,是当前性能比较优秀的图像识别结构。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容