《Deep Layer Aggregation》泛读记录

。。@[TOC]

概述

视觉任务理想的特征表示应该包含语义信息和空间信息,这样能更好地分类和定位。这样单独使用一层骨干网络特征层是明显不够的。已有多种网络模型使用组合、聚合的方式(FPN, DenseNet,…),但FPN结构会受浅层特征影响,DenseNet 增加内存消耗。本文关注于如何聚合不同阶段,不同块的特征得到更好的语义和空间信息,提出IDA迭代式深度聚合、HDA分层深度聚合,并在分类,语义分割、检测止比较分析其表现。

DLA 深层聚合
Iterative Deep Aggregation 迭代深度聚合

在这里插入图片描述

图a是没有聚合过程,图b是FPN结构 ,浅层特征对输出影响很大,相当于把网络输出“浅层化”了,这样相当于弱化深层特征的影响。图b是IDA聚合,特征从浅至深,逐渐聚合,相当于更改的FPN结构的Skip connect(不同块间连接)顺序。用公式表示 :
在这里插入图片描述
x 1 , . . . , x n x_1,...,x_n x1,...,xn是骨干网络各特征层。N表示 聚合块。
n > 1 , I ( x 1 , x 2 , x 3 , . . . , x n ) = I ( N ( x 1 , x 2 ) , x 3 , . . . , x n ) = I ( N ( N ( x 1 , x 2 ) , x 3 ) , x 4 , . . . , x n ) n > 1,I(x_1,x_2,x_3,...,x_n) = I(N(x_1,x_2),x_3,...,x_n) =I(N(N(x_1,x_2),x_3),x_4,...,x_n) n>1,I(x1,x2,x3,...,xn)=I(N(x1,x2),x3,...,xn)=I(N(N(x1,x2),x3),x4,...,xn)从式中可以看到,聚合块是迭代使用骨干网络各特征层。

Hierarchical Deep aggregation 分层聚合

图d,e,f均是HDA聚合。IDA聚合了不同阶段的特征,但它还是序列的,HDA还聚合了不同层级特征信息,相当于IDA只是X轴方法上从浅到深聚合特征,而HDA增加了Y轴方向的层级聚合。图e相比图d,将图d骨干网络每两个断开,转而将前一个子树结构的输出下传至骨干网络,这样图d特征信息只能从下往上传播,而图e可以再将上层信息反馈至低层,另外,为了减少聚合节点,可以将同一深的聚合节点(图d蓝框)合并,这就变成图f结构。用公式表示 :
n表示深度,深度从图f左至右,从下至上。
在这里插入图片描述
HDA公式说明
n = 1 , T 1 ( x ) = N ( L 1 1 ( x ) , L 2 1 ( x ) n = 1,T_1(x) = N(L_1^1(x),L_2^1(x) n=1,T1(x)=N(L11(x),L21(x)深度为1对应图f数字1下左边部分,对应网络输入和两个卷积块,网络输出则是聚合节点绿色块输出。
n = 2 , T 2 ( x ) = N ( R 1 2 ( x ) , L 1 2 ( x ) , L 2 2 ( x ) ) , R 1 2 ( x ) = T 1 ( x ) , L 1 2 ( x ) = B ( R 1 2 ( x ) ) = B ( T 1 ( x ) ) , L 2 2 ( x ) = B ( L 1 2 ( x ) ) n = 2, T_2(x) = N(R_1^2(x),L_1^2(x),L_2^2(x)), R_1^2(x) = T_1(x),L_1^2(x) = B(R_1^2(x))=B( T_1(x)),L_2^2(x) = B(L_1^2(x)) n=2,T2(x)=N(R12(x),L12(x),L22(x)),R12(x)=T1(x),L12(x)=B(R12(x))=B(T1(x)),L22(x)=B(L12(x))
深度为2时,对应三个输入,前一个聚合节点输出 T 1 ( x ) T_1(x) T1(x)前一个聚合节点的卷积运算输出 L 1 2 ( x ) = B ( R 1 2 ( x ) ) = B ( T 1 ( x ) ) L_1^2(x) = B(R_1^2(x))=B( T_1(x)) L12(x)=B(R12(x))=B(T1(x)) L 2 2 ( x ) L_2^2(x) L22(x)
n = 3 , T 3 ( x ) = N ( R 2 3 ( x ) , R 1 3 ( x ) , L 1 3 ( x ) , L 2 3 ( x ) ) , R 2 3 ( x ) = T 2 ( x ) n=3, T_3(x) = N(R_2^3(x),R_1^3(x),L_1^3(x), L_2^3(x)),R_2^3(x) = T_2(x) n=3,T3(x)=N(R23(x),R13(x),L13(x),L23(x))R23(x)=T2(x)
R 1 3 ( x ) = T 1 ( R 2 3 ( x ) ) = T 1 ( T 2 ( x ) ) , , L 1 3 ( x ) = B ( R 1 3 ( x ) ) = B ( T 1 ( R 2 3 ( x ) ) ) = B ( T 1 ( T 2 ( x ) ) ) R_1^3(x) = T_1(R_2^3(x))=T_1(T_2(x)),,L_1^3(x)= B(R_1^3(x))=B(T_1(R_2^3(x)))=B(T_1(T_2(x))) R13(x)=T1(R23(x))=T1(T2(x)),,L13(x)=B(R13(x))=B(T1(R23(x)))=B(T1(T2(x)))

深度为3时,网络有四个输入,对应关系如下图,红框是另一个 T 1 ( x ) T_1(x) T1(x)树。

在这里插入图片描述
只需找到对应深度树结构的输入与输出箭头应该就会明白了。

聚合节点

具体运算有两种
在这里插入图片描述
在这里插入图片描述
第二种有类似残差结构,论文指出当深度大于4时有帮助。

DLA

为分类任务和分割任务组合IDA,HDA设计了两个网络模型
在这里插入图片描述上图红框是HDA结构,黄线IDA结构。

在这里插入图片描述

实验

只简单说明下分类网络表现
在这里插入图片描述
与ResNet相比,参数更少,性能更好。与ResneXt相比,表现相近,参数更少。与DenseNet 相比,内存消耗更少,因为DenseNet需要合并之前所有特征,而DLA输入块个数是卷积块个数的对数函数。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值