其他分享
首页 > 其他分享> > 【阅读笔记】Refining activation downsampling with SoftPool

【阅读笔记】Refining activation downsampling with SoftPool

作者:互联网

1. Introduction         本文提出了一种快速、高效的池化方法SoftPool,Softpool可以以指数加权方式累加激活。与一系列其他池化方法相比,SoftPool在下采样激活映射中保留了更多的信息,可以获得更好的分类精度。在ImageNet上,对于一系列流行的CNN架构,用SoftPool替换原来的池化操作可以带来1-2%的一致性精度提升。 2. Related Work         Average Pooling:区域平均值。

 

        

 

 

 

 

3. SoftPool Downsampling

        考虑activation map中的 local region,其维数为C×H×W,通道数为C,通道高度为H,通道宽度为W。为了简化符号这里省略通道维数,并假设R是与考虑的二维空间区域的激活相对应的索引集。对于大小为k×k的池化kernel定义|R|=k^2。池化操作的输出为,对应的梯度用表示。该方法以自然指数(e)为基础,保证了较大的激活值对输出的影响较大。SoftPool是可微的,所有在局部邻域内的激活在反向传播期间将被分配至少一个最小梯度值。这与使用最大池化的方法相反。SoftPool利用激活区域内的最大近似R。每一个指数为的激活应用一个权重,该权重计算为该激活的自然指数与邻域R内所有激活的自然指数之和的比值:

                                              

权重与相应的激活值一起用作非线性变换。较高的激活比较低的激活占更多的主导地位。SoftPool操作的输出值是通过对内核邻域R内所有加权激活的标准求和得到的:

                                                   

与其他基于最大池化和平均池化的方法相比,使用区域的softmax产生归一化结果,其概率分布与每个激活值相对于核区域的邻近激活值成比例。这与最大激活值选择或对内核区域的所有激活取平均形成了直接对比,而内核区域的输出激活是没有规则化的。因此是可微的。

 

在训练的更新阶段,所有网络参数的梯度都是根据在上一层计算的误差导数进行更新的。当在整个网络体系结构中反向传播时,这会创建一个更新链。在SoftPool中,梯度更新与前向传播过程中计算的权重成比例。这对应于较小激活的梯度更新小于实质性激活的梯度更新。

Softmaxmax或随机池化不同,Softmax是可微的。因此,在反向传播期间,一个最小的非零权值将被分配给一个核区域内的每一个激活。这样就可以计算出该区域每一次激活的梯度。在SoftPool实现中使用了给定精度级别有限范围的可能值,保留了softmax的可微性质,通过给定每个类型使用的比特数分配一个较低的算术限制。这可以防止算术下溢。也为内核值和最终求和中使用的生成的激活值实现了这种机制。

4. Experimental Results 该图展示了使用不同池化进行的下采样,可发现SoftPool有更好的效果。

直接在Backbone的基础上把池化方法替换为SotfPool,效果有明显的提升。

SoftPool池化层的替代精度是各种池化方法的最高精度。 

 

 

标签:downsampling,梯度,SoftPool,Pooling,区域,池化,Refining,激活
来源: https://blog.csdn.net/wangchao710/article/details/120255757