Backbone:深层聚合网络:Deep Layer Aggregation(DLA)

Backbone:Deep Layer Aggregation(深层聚合网络,DLA)

论文网址:https://arxiv.org/abs/1707.06484
论文代码(pytorch):https://github.com/ucbdrive/dla
参考博客:Deep Layer Aggregation----------论文理解

0. 摘要

  • DLA是一种融合深层网络backbone结构。
  • 通过更深层次的融合可以更好的聚合不同层的信息。
  • 深层聚合结构以迭代分层方式合并特征层次结构,使网络具有更高的准确性和更少的参数。

1. 简介

  • DLA2种结构:迭代聚合(IDA)和分层聚合(HDA)
  • IDA集中融合分辨率和范围
  • HDA集中融合所有模块和通道的特征

2.国内外现状

  • Densely connected networks (DenseNets)是语义融合的代表,通过跳跃连接所有的层来获得更好的聚合特征和误差。
  • Feature pyramid networks (FPNs) 是空间融合的代表,通过自上而下和侧边连接来补偿分辨率和标准化金字塔型的层级特征语义。
    Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第1张图片

3. DLA:Deep Layer Aggregation

  • 论文集中研究有效聚合深度、分辨率和尺寸的结构。

3.1 IDA:Iterative Deep Aggregation

  • 深层阶段的语义信息很丰富但是空间上比较粗糙。将低层阶段通过跳跃连接到高层阶段来融合尺寸和分辨率。

Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第2张图片

  • a与b是已存在的网络结构,c就是迭代层聚合,可以很直观的感受到它的网络结构中关于迭代的思想:聚合从最浅,最小的尺度开始,然后迭代地合并更深,更大的尺度。c借鉴了b中的跳层连接,但通过修改解决了b中最浅层的部分会对最终结果产生最深远影响的问题。
  • IDA函数为I,各层为x1; …; xn,聚合结点为N,公式表示:
    在这里插入图片描述

3.2 HDA:Hierarchical Deep Aggregation

  • IDA仅仅通过融合阶段是远远不够的,因为它还是顺序的。
  • HDA通过融合在树形中块和阶段来保存并且结合特征通道。通过HDA将较浅和较深的层组合在一起,以学习跨越更多特征层次结构的更丰富的组合。
  • 通过将聚合节点的输出作为下一个子树的输入反馈到主干中,来代替仅将中间聚合路由到树的上方。
  • 图2中d通过一种树状结构块分层次进行聚合,通过不同的深度更好的跨越了不同层级的特征。e和f通过改变d的中间聚合部分对于网络的影响以及在同样深度条件下结合比较成功的聚合方式来提高效率,f 就是作者提出的分层层聚合的结构
  • HDA函数Tn,深度是n,函数定义如下:
    在这里插入图片描述
    其中N是聚合结点,R和L定义为:
    Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第3张图片
    其中B代表一个卷积块(convolutional block)。

3.3 聚合元素

(1)聚合结点

  • 聚合节点的作用是融合压缩输入。聚合节点学着去选择并且处理重要的信息保证在输出中保持相同的维度。
  • IDA一直都是二进制的,HDA节点具有可变数量的参数,具体取决于树的深度。
  • 分类网络中,我们使用1x1卷积作为聚合结点;在语义分割中,我们添加了更多级别的迭代深度聚合来插入特征,在这种情况下使用3×3卷积
  • 聚合结点N定义为:
    在这里插入图片描述
    其中σ是非线性激活,wi 和 b 是卷积的权值和偏置。
  • 网络加入残差连接(residual connections),N公式为:
    在这里插入图片描述

(2)块和阶段(Blocks and Stages)

  • 深层融合是一个比较普遍的架构因为它可以和任何一个骨干网络兼容(如ResNet,ResNeXT,Densenet等)。
  • 实验中我们使用到了三种不同的残差块:
    a)Basic blocks(即ResNet)将堆叠卷积与恒等映射跳过连接相结合;
    b)Bottleneck blocks通过1x1卷积降维;
    c)Split blocks(即ResNeXT)通过将通道分组为多个单独的路径(称为拆分的基数)来使功能多样化。
  • 将bottleneck和split neck的输出和中间通道数量之比减少一半,基数设置为32。

4 应用

4.1 分类网络

  • 分类网络例如ResNet 和ResNeXT都是阶段性的网络,每一个阶段都有多个残差网络组成,阶段之间通过下采样获得特征图。整个网络有32倍的降采样,最后通过对输出进行softmax得分,进而分类。
  • 本文中,在阶段之间用IDA,在每个阶段内部使用HDA。在各个阶段之间通过池化进行下采样。

Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第4张图片
Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第5张图片

4.2 密集预测网络(语义分割)

  • 在语义分割中,我们需要通过聚合来融合局部和全局信息。在该部分中我们利用插值和IDA的进一步增强来达到任务的必要输出分辨率。
  • 插值IDA通过投影和上采样增加深度和分辨率,如图4所示。在网络优化期间共同学习所有投影和上采样参数。
  • 首先对3-6阶段的输出控制为32通道;然后对每个阶段都插值到与2阶段相同的分辨率;
  • 最后迭代性的融合这些阶段的信息以便获得高级和低级更深层次的融合。

Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第6张图片

5 实验

Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第7张图片
Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第8张图片
Backbone:深层聚合网络:Deep Layer Aggregation(DLA)_第9张图片

你可能感兴趣的:(论文笔记,backbone.js,深度学习,卷积神经网络)