逛Paperweekly看到的一篇论文,只用过池化还没看过相关论文。看完也没有太惊艳的感觉,可能池化操作还是不被看好吧。InceptionV4中的Reduction Block也是Maxpooling和卷积层同时使用,GAN为了不丢失信息也是卷积层替代,除了Global average pooling (GAP)这种替代全连接层的操作。

池化

简单的卷积神经网络一般包括卷积层、池化层以及全连接层。池化在其中是一种降采样的过程,主要分为平均池化和最大池化。

常用池化

常见的就是Maxpooling和Meanpooling,容易理解,直接上图。
Maxpooling:
Maxpooling
Meanpooling/Averagepooling:
Meanpooling

池化作用

  • 降采样,降低参数量和计算量。
  • 增大后续层单元的感受野。
  • 降低微弱噪声和畸变的影响

Universal Pooling

提出的通用池化层可以生成任意类型的池化,核心类似注意力机制。
核心:Universal pooling can be considered as a channel-wise local spatial attention module.

The basic idea of universal pooling is to interpret pooling as attention and extend it to the general channelwise local spatial attention. That is, the universal pooling selects pooling weights for each channel and they are trained together with other feature extraction parts.

定义的池化操作的限制:

  1. channel-wise:每个channel分开来训练权重参数 π\pi
  2. 仅池化给定块
  3. 池化不能改变特征的尺度(块内权重之和为1)
    结构
    结构上Block1.1是一个内部神经网络,还是可以使用卷积层、全连接层、批归一化层等进行构建,神经网络的输入是单个特征图,输出为临时特征图,尺寸和输入相同,经过block1.2进行块内(形状由步长决定)的softmax转化为各分块的内部权重π\pi,然后Pooling map和Feature map作点积、块内求和等操作得到池化后的输出。

存在的问题

  1. 池化操作使用较少,特征图的尺度变换基本上由卷积层的stride和padding控制。
  2. 增加了参数量和计算量,附加了一个内部的神经网络,带来了额外的结构设计问题。
  3. 学习MaxPooling这种高度非线性化的函数可能存在困难。

参考

论文地址