Deep Layer Aggregation笔记

论文地址:https://arxiv.org/pdf/1707.06484.pdf
github地址:https://github.com/ucbdrive/dla

摘要:
提出了对特征图的compounding和aggregation可以改善特征图中是什么(what)和在哪里(where)的推断。(读者理解:在CBAM中,作者通过注意力机制,也是对what和where的研究。)
所以如何最好地aggregate layers或者block,值得我们去研究。作者提出了的深度聚合(aggregate)结构,通过迭代(iteratively)方式和层次(hierarchically)结构合并特征层级结构,有更高的准确率和更少的参数。

Introduction
提高准确度的三个通常方面:more nonlinearity, greater capacity, larger receptive。矛盾点在于,这回提高优化和计算的难度。这也显示了更深的层横沟提取过呢更多的语义信息和全局特征,但这都不表示最终的层就是任何任务的最后表征。所以在深度一定的前提下,我们需要探索aggregation,通过聚合提高精度。

作者提出了两种结构:
iterative deep aggregation (IDA) :专注于分辨率和范围,通过基础的层级结构来改善分辨率并逐步聚合(aggregate)范围(读者:感受野)。
hierarchical deep aggregation (HDA):专注于融合模块和通道,通过汇聚自己的树状结构连接层次结构,通过交叉和融合不同的阶段来聚合不同水平(读者:不同感受野)的表征。

结果:
对resnet,resnext等基础模型在大规模数据的图像分类,finegrained识别,语义分割边缘检测等,我们的结果在性能,参数数量,内存使用上都有提升。

related work(值得一看,介绍了不同模型的特点)

Deep Layer Aggregation
我们称一个聚合为深,如果它是组合的,非线性的,且(the earliest aggregated layer pass through multiple aggregations)Deep Layer Aggregation笔记
图c展示了IDA的结构。聚合开始于最深,更深,更大的尺度。通过这种方式,浅层特征在通过不同聚合阶段传播时得到细化。
aggregate的顺序可以通过公式来表示,其中N是聚合点。
Deep Layer Aggregation笔记
Hierarchical Deep Aggregation
可以通过图d来展示HDA的结构。分层深度聚合合并树中的块和阶段以保留和组合特征通道。通过HDA将较浅和较深的层组合在一起,以学习跨越更多特征层次结构的更丰富的组合。虽然IDA有效地结合了阶段,但它不足以融合网络的许多块,因为它仍然只是顺序的。HDA为了提高效率,只聚合相同深度的节点。Deep Layer Aggregation笔记
将两者结合起来的网络:Deep Layer Aggregation笔记
Deep layer aggregation可以学到更好的提取全部的语义信息和空间信息。同时加入了迭代连接和分层连接,迭代连接加入相邻阶段去逐步加深,同时对表征的空间细化。层次结构通过树结构跨越stage能够更好的传播特征和梯度。

残差连接的效果:在实验中,发现当HDA(大于4个level)很深的时候,残差连接是有效的。当很小的层次,他可能对网络有伤害。
当不适用残差连接:
Deep Layer Aggregation笔记
当使用残差连接:
Deep Layer Aggregation笔记

Deep Layer Aggregation笔记
后面一堆实验说明效果好