卷积神经网络中,经常采用池化操作,一般都会在卷积层后面接一个池化操作。近些年,比较主流的ImageNet的分类算法模型都是使用max pooling,很少使用average Pooling,这对我们平时设计模型时有着比较重要的参考作用。

一、max pooling(最大池化):即对邻域内特征点取最大
优缺点:能很好的保留纹理特征,一般现在都用max pooling而很少用average

正向传播:取邻域内最大,并记住最大值的索引位置,以方便反向传播

反向传播:将特征值填充到正向传播中,值最大的索引位置,其他位置补0

二、 mean pooling平均池化):即对邻域内特征点只求平均

优缺点:能很好的保留背景,但容易使得图片变模糊

正向传播:邻域内取平均


反向传播:特征值根据领域大小被平均,然后传给每个索引位置

通常来说,max pooling 的效果更好,虽然max pooling和average都对数据做了下采样,但是max pooling感觉更像是做了特征选择,选出了分类辨识度更好的特征,提供了非线性。

根据相关理论,特征提取的误差主要来自两个方面:

  1. 领域大小受限造成的估计值方差增大
  2. 卷积层参数误差造成的估计值的偏移

一般来说:
average pooling能减小第1种误差,更多的保留图像的背景信息;
max pooling能减小第2种误差,更多的保留纹理信息。

average pooling更强调对整体特征信息进行一层下采样,在减少参数维度的贡献上更大一点,更多的体现在信息的完整传递这个维度上,在一个很大很有代表性的模型中,比如说DenseNet中的模块之间的连接大多采用average pooling,在减少维度的同时,更有利信息传递到下一个模块进行特征提取。

average pooling在全局平均池化操作中应用也比较广,在ResNet和Inception结构中最后一层都使用了平均池化。有的时候在模型接近分类器的末端使用全局平均池化还可以代替Flatten操作,使输入数据变成一位向量。

max pooling和average pooling的使用性能对于我们设计卷积网络还是很有用的,虽然池化操作对于整体精度提升效果也不大,但是在减参,控制过拟合以及提高模型性能,节约计算力上的作用还是很明显的,所以池化操作时卷积设计上不可缺少的一个操作。

不当之处,请各位指出

注:

Stochastic-pooling(随机池化):只需对feature map中的元素按照其概率值大小随机选择,即元素值大的被选中的概率也大。而不像max pooling那样,永远只取那个最大值元素。

在区域内,将左图的数值进行归一化处理,即 1/(1+2+3+4)=0.1;2/10=0.2;3/10=0.3;4/10=0.4

接着按照概率值来随机选择,一般情况概率大的,容易被选择到,比如选择到了概率值为0.3的时候,那么(1,2,3,4)池化之后的值为3。使用stochastic pooling时(即test过程),其推理过程也很简单,对矩阵区域求加权平均即可,比如上面图中,池化输出值为:10.1+20.2+30.3+40.4=3。在反向传播求导时,只需保留前向传播已经记录被选中节点的位置的值,其它值都为0,这和max-pooling的反向传播非常类似,具体可以参见上面的max-pooling反向传播原理。

优点:方法简单,泛化能力更强(带有随机性)

global average pooling(全局平均池化):全局平均池化一般是用来替换全连接层。在分类网络中,全连接层几乎成了标配,在最后几层,feature maps会被reshape成向量,接着对这个向量做乘法,最终降低其维度,然后输入到softmax层中得到对应的每个类别的得分,过多的全连接层,不仅会使得网络参数变多,也会产生过拟合现象,针对过拟合现象,全连接层一般会搭配dropout操作。而全局平均池化则直接把整幅feature maps(它的个数等于类别个数)进行平均池化,然后输入到softmax层中得到对应的每个类别的得分。在反向传播求导时,它的参数更新和mean-pooling(平均池化)很类似,可以参考上面的内容。

优点:大幅度减少网络参数(对于分类网络,全连接的参数占了很大比列),同时理所当然的减少了过拟合现象。赋予了输出feature maps的每个通道类别意义,剔除了全连接黑箱操作。

参考:

知乎:
https://www.zhihu.com/question/23437871

https://blog.csdn.net/u012193416/article/details/79432668

https://blog.csdn.net/qq_24502469/article/details/105119579

https://blog.csdn.net/u013289254/article/details/99080916

【CV】图像分类中的max pooling和average pooling区别相关推荐

  1. Gem pooling、max pooling、average pooling

    gem时average pooling 的一般化 gem 的公式如下: f(g)=[f1(g)...fk(g)...fK(g)]T=(1∣Xk∣∑xxpk)1pkf^{(g)} = [f_1^{(g) ...

  2. python中np.max与np.maximum的区别

    在使用numpy的时候,我们会遇到取最大的问题,常用的函数有两个:np.max与np.maximum,那么它们的主要区别在哪里呢? np.max(a, axis=None, out=None, kee ...

  3. 全局平均池化(Golbal Average Pooling)与Concatenate层

    转载:全剧平均池化 出处:Lin M, Chen Q, Yan S. Network in network[J]. arXiv preprint arXiv:1312.4400, 2013. 查看全文 ...

  4. Global Average Pooling

    CNN的变种有很多,除了CNN进化史上经典的那几种Net,还有一些网络根据实际问题的不同需求,对其中某些Layer进行修改. 本文的问题源于一篇关于肺部CT的CNN的文章(Shuo Wang, et ...

  5. Global Average Pooling全局平均池化的一点理解

    Traditional Pooling Methods 要想真正的理解Global Average Pooling,首先要了解深度网络中常见的pooling方式,以及全连接层. 众所周知CNN网络中常 ...

  6. Global Average Pooling与FC、Global Max Pooling的比较

    原文 Global Average Pooling(简称GAP,全局池化层)技术最早提出是在这篇论文(第3.2节)中,被认为是可以替代全连接层的一种新技术.在keras发布的经典模型中,可以看到不少模 ...

  7. Vision Transformer在CV任务中的速度如何保证?

    本文作者丨盘子正@知乎    编辑丨极市平台 来源丨https://zhuanlan.zhihu.com/p/569482746 我(盘子正@知乎)的PhD课题是Vision Transformer的 ...

  8. 深度学习方法(十):卷积神经网络结构变化——Maxout Networks,Network In Network,Global Average Pooling

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 最近接下来几篇博文会回到神经网络结构 ...

  9. 深度学习基础系列| Global Average Pooling是否可以替代全连接层?

    Global Average Pooling(简称GAP,全局池化层)技术最早提出是在这篇论文(第3.2节)中,被认为是可以替代全连接层的一种新技术.在keras发布的经典模型中,可以看到不少模型甚至 ...

最新文章

  1. 2016030204 - git和github结合
  2. linux监控命令详解
  3. “模板法”学习类pinterest瀑布流的前端实现
  4. doxygen工具用法
  5. 2.设计模式-桥接模式
  6. 临时修改 macOS 应用的界面语言
  7. c语言表达式4 6的值是,C语言中,为什么指针表达式的值+1.对应的地址值却+4?/为什么两个数组元素的地址相减之差不为地址之差?...
  8. Windows XP英文版安装中文语言包来解决无法显示中文的方法(转载)
  9. 30岁,我从前端转型管理成功了
  10. ffmpeg和JavaCV
  11. Android开发——kotlin语法基础
  12. 关于人工智能的思考--以copilot、openAI为例
  13. PAT甲级 A1030
  14. golang实现稀疏数组(Sparse array)
  15. 三层魔方拼接Get技巧
  16. 智能媒体管理产品文档转换/预览功能介绍(1)---Cloud Native架构
  17. 修改TTF字体美化显示效果【原文转自:http://www.linuxfans.org/】
  18. java web 大并发服务器_计算-服务器最大并发量-http协议请求-以webSphere服务器为例-考虑线程池...
  19. 69. 放下鼠标,离开键盘
  20. 传说中的100句英语可以帮你背7000单词(zt)

热门文章

  1. 导航电子地图一览表-转
  2. hive 中decimal类型
  3. EFI Network......
  4. Ubuntu22.04安装ros(一键搞定)
  5. 其他债券的发行与承销
  6. pppd 中文man页面
  7. iOS - NSTimeInterval变量转换成格式化的日期
  8. category(类目)的用法,NSDate,NSTimeInterval类的使用
  9. zipslack安装方法(安装在ext3上成功运行)(转)
  10. 特步签约林书豪,正式进军篮球领域