[优秀参考1]
本文引入了层聚合的概念来描述如何重用来自前一层的信息以更好地提取当前层的特征。典型的例子是DenseNet,然而,在密集连接的阶段内,网络参数的数量相对于层的数量二次增长。这些高度冗余的参数可能多次提取类似的特征,并限制存储新信息的通道数量。
因此本文提出了一种参数少得多的加权递归层聚合(RLA)模块。具体来说,我们使用循环连接来代替密集连接,并实现独立于网络深度的参数计数。从经验上看,RLA模块在计算上是轻量化的,只会稍微增加模型参数和计算成本。
由于近年来cnn深度的快速增长,在设计深度架构时,经常会出现如何通过层有效地传递信息的问题。剩余连接[20,21],或跳过连接,现在是基石组件,作为信息路径,给层直接访问以前的层,并使训练与数百层可行。在深度特征层次结构中,网络学习到的高级特征是建立在更简单的特征之上的,但不一定是在它[17]之前的一层上。这一猜想可以由随机深度训练方法[27]来支持,其中层随机获得访问之前的方法。此外,还发现可以从ResNets中删除整个层,而不影响性能。这一观察结果孵化了DenseNets[28,29]中的密集连接,其中一个阶段的层可以通过完全连接的跳过连接直接访问之前的所有层。
我们引入了层聚合的概念来系统地研究特征重用的网络设计,一个典型的例子是DenseNet。
然而,在一个密集连接的阶段中,网络参数的数量相对于层数呈二次增长。这些高度冗余的参数可以多次提取类似的特征乘以[7],并限制存储新信息的通道数量
这促使我们提出一个非常轻的循环层聚合(RLA)模块,参数少得多。具体来说,我们使用循环连接来代替密集的连接,并实现一个独立于网络深度的参数计数。
①RLA模块保留了层聚合功能,并可以添加到现有的cnn中,以便更好地提取特征。
②展开的rnn可以被看作是非常深的前馈网络,其中所有的隐藏层共享相同的权值。当单独检查时,RLA模块的行为类似于一个以深度CNN层作为输入的展开RNN
由于层聚合背后的关键思想是为当前层提供一个层的历史版本,因此主CNN和RLA模块之间的信息交换是必须的。这导致了RNN的隐藏单元与其输入的连接,这在其他深度架构中是难以观察到的。此外,当我们将信息从主CNN传递到RLA时,我们不使用全局平均池,从而丰富了历史信息并包含了空间信息。
图3给出了一个具有残差连接的CNN块的示例,并在图4的底部提供了图例。它的更新可以被表述为
其中,就是说当前的输入X是
注意机制主要以空间注意和通道注意的形式被纳入CNN。成功的应用包括图像字幕[57,5]、视觉问答[62]、图像分类[52,16]、语义分割[34]、人脸验证[6]和视频帧插值[9]。通道注意力的一个杰出设计是挤压和激励(SE)块
在本文中利用RNN相当于构建了当前层和之前层之间的通道注意力
总结:
本文提出的RLA是和SE一样的模块,用来进行通道关注的
应用在resnet50上提升1个点,并且还会在原有基础上增加少部分参数量