SoftPool应用softmax进行加权池化,可能放弃特色的表白性并且是可微操作。从性能和准确率来看,SoftPool是目前的惯例池化办法的一个不错的替代品

起源:晓飞的算法工程笔记 公众号

论文: Refining activation downsampling with SoftPool

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

Introduction


  池化层是当今卷积神经网络的根底算子,用于升高特色图的大小以及网络的计算量,可能达成平移不变性以及增大后续卷积的感触域。目前的池化办法大多基于最大池化或均匀池化,尽管计算很快内存占用少,但其有很大的晋升空间,次要在于更好地维持特色图的重要信息。

  为此,论文提出了SoftPool,基于softmax增强进行特色图的池化操作。从试验后果来看,SoftPool在放弃计算和内存高效的状况下,可能很好的保留特色图的重要信息,晋升模型的准确率。

SoftPool Downsampling


  定义大小为$C\times H\times 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也能够进行对应的适配。假如输出的特色维度为$C\times H\times W\times T$,$T$为工夫维度,SoftPool的解决区域则从原来的2D区域加上工夫维度。

Experiment


[外链图片转存失败,源站可能有防盗链机制,倡议将图片保留下来间接上传(img-uvngvuyN-1651209067982)(https://upload-images.jianshu...)]

  SSI、Pix Sim和EMD为3种不同的类似度度量办法,这里次要比照特色的失落以及计算性能。SoftPool尽管退出了softmax加权,但其速度仍然很快。在实现时,先对整图计算$e^x$,而后将失去的图特色图与原图进行element-wise相乘,而后进行均匀池化。

  多种池化办法的比照。

  多个骨干网络上的分类准确率比照。

Discussion


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

Conclusion


  SoftPool应用softmax进行加权池化,可能放弃特色的表白性并且是可微操作。从性能和准确率来看,SoftPool是目前的惯例池化办法的一个不错的替代品。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】