SoftPool:基于Softmax加权的池化操作 | 2021新文

2021-02-03 12:30:29 浏览数 (1)

点击上方“AIWalker”,选择“星标”

干货第一时间送达

论文: Refining activation downsampling with SoftPool

  • 论文地址:https://arxiv.org/abs/2101.00440v2
  • 论文代码:https://github.com/alexandrosstergiou/SoftPool

Introduction


  池化层是当今卷积神经网络的基础算子,用于降低特征图的大小以及网络的计算量,能够达成平移不变性以及增大后续卷积的感受域。目前的池化方法大多基于最大池化或平均池化,虽然计算很快内存占用少,但其有很大的提升空间,主要在于更好地维持特征图的重要信息。

  为此,论文提出了SoftPool,基于softmax加强进行特征图的池化操作。从实验结果来看,SoftPool在保持计算和内存高效的情况下,能够很好的保留特征图的重要信息,提升模型的准确率。

SoftPool Downsampling


  定义大小为

Ctimes Htimes W

的特征图

a

的局部区域

R

R

为2D空间区域,大小等同于池化核大小

|R|=k^2

,输出为

tilde{a}_R

,对应的梯度为

Delta tilde{a}_i

Exponential maximum kernels

  SoftPool的核心思想在于softmax的利用,根据特征值非线性地计算区域

R

的特征值权重:

  权重

w_i

能够保证重要特征的传递,区域

R

内的特征值在反向传递时都至少会有预设的最小梯度。在得到权重

w_i

后,通过加权区域

R

内的特征值得到输出:

  SoftPool能够很好地参照区域内的激活值分布,服从一定的概率分布,而基于最大池化和平均池化的方法的输出则是无分布的。

Gradient calculation

  SoftPool是可微的,在反向传播计算时,SoftPool梯度根据前向时的激活值比例进行计算,若梯度过小,将直接赋予预设的非零最小梯度值。

Feature preservation

  下采样的目的是在保持特征表达的同时降低分辨率,如果损失了特征的表达,势必会降低整体网络的性能。而论文通过可视化发现,相对于其它池化操作,SoftPool能够很好的保留特征表达,算是最大池化和平均池化的折中。

Spatio-temporal kernels

  论文提到,CNN网络可以扩展处理3D输入,SoftPool也可以进行对应的适配。假设输入的特征维度为

Ctimes Htimes Wtimes T

T

为时间维度,SoftPool的处理区域则从原来的2D区域加上时间维度。

Experiment


  SSI、Pix Sim和EMD为3种不同的相似度度量方法,这里主要对比特征的丢失以及计算性能。SoftPool虽然加入了softmax加权,但其速度依然很快。在实现时,先对整图计算

e^x

,然后将得到的图特征图与原图进行element-wise相乘,然后进行平均池化。

  多种池化方法的对比。

  多个主干网络上的分类准确率对比。

Discussion


  论文列举了许多池化操作的示意图,从图中可以看到,其实SoftPool和早前提出的LIP很像,都是用到了softmax加权,只是LIP额外加了一个小网络对激活值进行线性变换,这么看来,SoftPool可以算是LIP的一个特例。感觉整体论文的内容以及亮点不够多,另外实验部分的baseline的准确率有点低,不知道作者是怎么得来的。

Conclusion


  SoftPool使用softmax进行加权池化,能够保持特征的表达性并且是可微操作。从性能和准确率来看,SoftPool是目前的常规池化方法的一个不错的替代品。

觉得有用,麻烦给个赞和在看~

0 人点赞