【超越200层ResNet】颜水成团队 CVPR 新架构,提速300%

简介:

本文意在为您简要解读最近在 arXiv 上一篇最新的文章 《双通道网络》(Dual Path Networks),原作者已经将源码公开到了 GitHub。


在论文中,作者分析并证明了 ResNet 与 DenseNet 之间的重要联系:Densely Connected Network Family 里包含 Residual Network Family。作者分析了两者各自的优缺点,并基于分析所得结论,提出了一类新的网络拓补结构:双通道网络(Dual Path Network Family)。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


论文地址:https://arxiv.org/pdf/1707.01629.pdf

ResNet 实际属于  DenseNet


DenseNet 是由[1] 提出的一类不同于 ResNet 的网络结构。ResNet 将输出与输入相加,形成一个残差结构;而 DenseNet 却是将输出与输入相并联——相并联,相并联(重要的事情说 3 遍),实现每一层都能直接得到之前所有层的输出。


下图中, (a/b) 展示了两种网络。请注意两者的区别,将 DenseNet 理解为一种有很多残差连接的 ResNet 是非常错误的理解。


文中作者发现,Residual Networks 其实就是 Densely Connected Networks 的一种特例。这里我们通过分析网络结构简要证明下:


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


上图中,假设实线箭头代表一次变换(本例中指含激活函数的卷积),若 (b) 中绿色箭头代表的函数相同,那么我们就可以通过添加一个残差通道(residual path)保留中间计算结果,将其化简为 (c)。而 (c) 的形式恰恰就是一个残差网络的形式(棕色点线)。


也就是说,一个 DenseNet 可以通过共享参数的方式,退化为 ResNet。ResNet 实际上就是 DenseNet 在跨层参数共享时候的特例


本文认为:


1)ResNet 通过这种跨层参数共享和保留中间特征的方式,可以有效的降低特征上冗余度,重复利用已有特征,但缺点在于难以利用高层信息再发掘底层特征;


2)DenseNet 每一层都重新在之前所有层的输出中重新提取有用信息,可以有效地利用高层信息再次发掘底层新特征,但其却存在特征上的冗余。


双通路网络 DPN:结合残差网络和 Densenet 两者优点


那么,一个很自然的想法就是结合这两类网络拓补结构,实现优缺点互补。于是,文章提出了一类全新的双通道网络结构:Dual Path Network(DPNs)。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

DPN 具体网络结构


需要注意的是,与 Residual Network Family 和 Densely Connected Network Family一样,Dual Path Network Family 也将存在诸多变种,其内部链接并不局限于下图中的 “1x1->3x3->1x1” 这种形式。


其核心思想是,将残差通道和 densely connected path 相融合,实现优缺互补,其重点不在于细节部分是如何设定的。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


上图中,(e) 以 (d) 为例,展示了实际使用中的一种 DPN。简单来讲,就是基于现有的残差网络,将最后的 1x1 输出切分为两路,一路加到 residual path 上去,一路并到 densely connected path 上去。(这里请注意与 PyramidNets [2] 的本质区别。)


本文分别在“图像分类”,“物体检测”和“物体分割”三大任务上对 DPN 进行了验证。在 ImageNet 1000 类分类任务中的性能如表 2 所示:


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


注意,这里的FLOPs是理论值,实际效率不同于理论值。MXNet 在 concat layer 和 split layer 那里还有待对 DPN 进行特殊优化,减少不必要的内存拷贝等操作。


但即便如此,在实测中: DPN-98 也显著提高了训练速度,降低内存占用,并保持更高的准确率。即便是最佳单模型 DPN-131 也并没有增加很多计算量和内存开销,完全可以直接作为其他任务的基础网络来使用。相较之前的最佳单模型 Very Deep PolyNet,DPN-131 实际训练速度提升约 300%。


下图给出了在单节点,4 块 K80(K80 为双GPU)下的实测结果:


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


DPN 在 PASCAL VOC 上的“物体检测”和“物体分割”对比实验结果如下表所示:


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


篇幅所限,感兴趣的老师同学请查看原文。


总结


构建高性能、低资源占用的网络结构一直是深度学习里一个重要的研究方向。正如残差网络 (ResNet) 所展现的,一个有效的网络拓补结构,不仅能全面提高“图像识别”任务中准确性,更能通过直接替换底层网络的方式受益“图像生成”、“检测”、“分割”、“美化”等等诸多应用。


在 DPN 这篇文章中,作者分析探讨了现在最受欢迎的两种网络结构,并提出了其独特的见解:认为 ResNet 是 DenseNet 在参数跨层共享时的特例。基于这一结论,作者进一步提出了一类高性能、低资源占用的全新网络拓补结构 Dual Path Networks,DPN 有效地融合了现有网络,实现了优势互补,其性能在“图像识别”、“图像检测”和“图像分割”这三大任务中均得到了验证,各项指标得到了显著提升。相信近期将能在更多的工作和报道中看到双通道网络的身影。


文章转自新智元公众号,原文链接

相关文章
|
机器学习/深度学习 人工智能 PyTorch
|
14天前
|
存储 算法 安全
微信团队分享:来看看微信十年前的IM消息收发架构,你做到了吗
好的架构是迭代出来的,却也少不了良好的设计,本文将带大家回顾微信背后最初的也是最核心的IM消息收发技术架构,愿各位读者能从中获得启发。
36 1
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
中山大学团队使用端到端图生成架构进行分子图编辑的逆合成预测
中山大学团队使用端到端图生成架构进行分子图编辑的逆合成预测
129 0
|
11月前
|
监控 安全 架构师
「企业安全架构」EA874:安全架构团队
「企业安全架构」EA874:安全架构团队
|
11月前
|
存储 数据管理 大数据
「企业微服务架构」怎么弥合不同微服务团队之间的差距
「企业微服务架构」怎么弥合不同微服务团队之间的差距
|
11月前
|
数据采集 机器学习/深度学习 设计模式
卷麻了! nnUNet 研究团队重磅新作 | MedNeXt: 新一代分割架构之王,刷新多项榜单记录!
卷麻了! nnUNet 研究团队重磅新作 | MedNeXt: 新一代分割架构之王,刷新多项榜单记录!
556 0
|
11月前
|
机器学习/深度学习 编解码 人工智能
阿里团队新作 | AFFormer:利用图像频率信息构建轻量化Transformer语义分割架构
阿里团队新作 | AFFormer:利用图像频率信息构建轻量化Transformer语义分割架构
370 0
|
运维 监控 架构师
漫谈“架构团队”之组织架构(下)
漫谈“架构团队”之组织架构(下)
196 0
漫谈“架构团队”之组织架构(下)
|
运维 架构师 安全
漫谈“架构团队”之组织架构(上)
漫谈“架构团队”之组织架构(上)
389 0
漫谈“架构团队”之组织架构(上)
|
运维 架构师 NoSQL
从 Etsy 团队看敏捷架构的设计(3)
从 Etsy 团队看敏捷架构的设计(3)
188 0
从 Etsy 团队看敏捷架构的设计(3)