【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?

全局池化(Global Pooling) 在经过全局池化后,特征图形状会从[b,c,h,w]变为[b,c,1,1] 阅读详情

这是专栏《AI初识境》的第8篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。

今天来说说深度学习中的池化问题,包含池化的种类,作用机制以及最新的思考。

 作者&编辑 | 言有三

1 池化还要不要了

这一次咱们反着来,说说学术界对池化的最新观点。通常我们认为,池化可以增加网络对于平移的不变性,对于网络的泛化能力的提升是非常关键的。不过,到底能起到多大的正向作用,却是被很多人怀疑的。

首先是Hinton,还记得Hinton提出的Capsule Module吧。他认为池化的使用就是一个大错误,而它有效又反而是一个大灾难。池化固然可以提供一些平移和旋转不变性,但是也破坏了图像中的姿态和空间等信息,对检测分割等高级任务有影响,所以才提出胶囊网络(CapsuleNetwork)。至于这个发展的怎么样了,笔者没有关注,但是从大佬敢于革自己的“本命”这一点,就说明这个问题确实有点严重。

Hinton虽然指出了pooling的坏影响,但是无法否定其好处,那么池化是不是真的能够提升网络的泛化能力呢?

首先站出来好好回答这个问题的是斯坦福大学Eric Kauderer-Abrams的研究【1】,它们通过一个平移敏感图来进行研究。

这个平移敏感图长下面这样,它评估的就是一个网络的输出对于输入的平移的敏感度。

640?wx_fmt=png

上面这个图是这么算的,首先用原图计算预测特征分数,然后用平移过的图计算预测特征分数,最后计算两者的归一化分数,越亮说明越相关。x和y分别就是偏移量,可以看到x,y都接近0的时候越亮,说明越相关,然后就随着距离的增强而降低。

这就是说平移越大之后,对性能的影响越大,毕竟一个网络不可能拥有完全的平移不变性。

在这个基础上,他们就做实验了,结果如下,c表示卷积,p表示pooling,aug表示数据增强,所以这里就是比较pooling和aug对性能的影响,结果表明池化不池化的,好像没有什么用,而数据增强做不做得好,才是关键。结果说明CNN本身没什么平移不变性,是靠数据学来的。

640?wx_fmt=png

上面做了实验,但是没有更深层次地分析,为什么池化就没有用了呢,这可是违反我们的常识的。


DeepMind的研究【2】给出了一个比较有说服力的解答,实验的设置差不多,使用非池化和各种池化的网络结构。

640?wx_fmt=png

总之结论就是:看上面的4个图。(a) 刚开始的时候池化确实有利于提高抗变形能力。(b) 不管池化不池化,模型最后学习完都能获得同样的抗变形能力。(c) 初始化的时候不同的池化方法是有差异的。(d) 学习完之后不管什么池化方法效果都差不多。


那总得有个理由吧?他们给出的理由是卷积核本身参数越平滑才越能提高对平移的稳定性,文中在卷积操作后面串接平滑操作,实验对比如下。

640?wx_fmt=png

这也没毛病对吧,卷积核都平滑了,当然就没有那么敏感了。


暂且先总结一下吧:池化什么的不重要了,搞数据增强才是正道。


2 什么是池化

上面都这么说了,接下来说池化略有点尴尬,但是作为知识体系的重要一环,还是有必要讲述。


pooling,小名池化,思想来自于视觉机制,是对信息进行抽象的过程。

640?wx_fmt=gif

上图就是一个池化的示意图,用了一个10*10的卷积核,对20*20的图像分块不重叠的进行了池化,池化之后featuremap为2*2的大小。

pooling有什么用呢?或者说为什么需要pooling呢?原因有几个:

1、增大感受野

所谓感受野,即一个像素对应回原图的区域大小,假如没有pooling,一个3*3,步长为1的卷积,那么输出的一个像素的感受野就是3*3的区域,再加一个stride=1的3*3卷积,则感受野为5*5。

假如我们在每一个卷积中间加上3*3的pooling呢?很明显感受野迅速增大,这就是pooling的一大用处。感受野的增加对于模型的能力的提升是必要的,正所谓“一叶障目则不见泰山也”。

2、平移不变性

我们希望目标的些许位置的移动,能得到相同的结果。因为pooling不断地抽象了区域的特征而不关心位置,所以pooling一定程度上增加了平移不变性。

3、降低优化难度和参数

我们可以用步长大于1的卷积来替代池化,但是池化每个特征通道单独做降采样,与基于卷积的降采样相比,不需要参数,更容易优化。全局池化更是可以大大降低模型的参数量和优化工作量。

3 池化有哪些

1、平均池化和最大池化

640?wx_fmt=png

640?wx_fmt=png

这是我们最熟悉的,通常认为如果选取区域均值(mean pooling),往往能保留整体数据的特征,较好的突出背景信息;如果选取区域最大值(max pooling),则能更好保留纹理特征。

2、stochastic pooling/mixed pooling

stochastic pooling对feature map中的元素按照其概率值大小随机选择,元素被选中的概率与其数值大小正相关,这就是一种正则化的操作了。mixed pooling就是在max/average pooling中进行随机选择。

3、Data Driven/Detail-Preserving Pooling

上面的这些方法都是手动设计,而现在深度学习各个领域其实都是往自动化的方向发展。

我们前面也说过,从激活函数到归一化都开始研究数据驱动的方案,池化也是如此,每一张图片都可以学习到最适合自己的池化方式。

此外还有一些变种如weighted max pooling,Lp pooling,generalization max pooling就不再提了,还有global pooling。

4 总结

带步长的卷积虽然不需要池化,却没有了灵活的激活机制。平均池化稳扎稳打,却丢失了细节。最大池化克服了平均池化的缺点,却打断了梯度回传。


最终发现,池化也还是要学的好,所谓随机应变,盖莫如此。另外,如何选择好用于池化的区域,也是一门学问。



参考文献


[1] Kaudererabrams E. Quantifying Translation-Invariance in Convolutional Neural Networks.[J]. arXiv: Computer Vision and Pattern Recognition, 2018.

[2] Ruderman A, Rabinowitz N C, Morcos A S, et al. Pooling is neither necessary nor sufficient for appropriate deformation stability in CNNs[J]. arXiv: Computer Vision and Pattern Recognition, 2018.


2019年有三AI培养计划已经开始,一个季度一期。

2019年有三AI“春季”划,给我一个荣耀,还你一生荣耀

总结

深度学习理论部分快要结束了,看似平常朗朗上口的东西,其实背后蕴含着非常多可以思考的东西,唯有多想多做才能不浮于表面。

下一期预告:深度学习中的正则化

转载文章请后台联系

侵权必究

更多请关注知乎专栏《有三AI学院》

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

想要变身”AI专家“,就戳戳手指关注我们吧

别忘了点“好看”支持作者噢  ??? 

全局平均池化(Global Average Pooling) 最近看论文,看到了全局平均池化,之间见过这东西,但是没有仔细了解,今天学习一下,并记录下来,方便以后查阅。 阅读详情

相关推荐

深度学习之全局池化(“global pooling”)、全局平局池化(“global avg pooling”)、全局最大池化(“global max pooling)

参考:https://blog.youkuaiyun.com/JNingWei/article/details/80064451(全局池化) https://blog.youkuaiyun.com/williamyi96/article/details/77530995(Global Average Pooling对全连接层的可替代性分析) https://blog.c...

棉花糖的博客 1万+

全局平均池化为什么有效

思想: 对于输出的每一个通道的特征图的所有像素计算一个平均值,经过全局平均池化之后就得到一个 维度==类别数 的特征向量,然后直接输入到softmax层 作用: 代替全连接层,可接受任意尺寸的图像 优点: 1)可以更好的将类别与最后一个卷积层的特征图对应起来(每一个通道对应一种类别,这样每一张特征图都可以看成是该类别对应的类别置信图) 2)降低参数量,全局平均池化层没有参数,可防止在该层过拟合 3)整合了全局空间信息,对于输入图片的spatial translation更加鲁棒 疑惑: 全局池化是放在最.

weixin_56184890的博客 3963

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

  Traditional Pooling Methods 要想真正的理解Global Average Pooling,首先要了解深度网络中常见的pooling方式,以及全连接层。 众所周知CNN网络中常见结构是:卷积、池化和激活。卷积层是CNN网络的核心,激活函数帮助网络获得非线性特征,而池化的作用则体现在降采样:保留显著特征、降低特征维度,增大kernel的感受野。深度网络越往后面越能捕...

qq_23304241的博客 5万+

全局池化层

全局池化层:global average pooling 作用:替代全连接层,减少参数量,主要是用来解决全连接的问题,其主要是是将最后一层的特征图进行整张图的一个均值池化,形成一个特征点,将这些特征点组成最后的特征向量,进行softmax中进行计算。 ...

weixin_43795765的博客 2422

什么是全局平均池化,全局最大池化

下面举个例子,假如最后的一层的数据是10个6*6的特征图,global average pooling是将每一张特征图计算所有像素点的均值,输出一个数据值。 即对于每一层的6x6=36个像素点,计算这36个像素点的均值(最大值),由于共有10层,所以共得到10个数据。 这样10 个特征图就会输出10个数据点,将这些数据点组成一个1*10的向量的话,就成为一个特征向量,就可以送入到softmax的分类中计算。 ...

thequitesunshine007的博客 1万+

rv1126 读取sensor输入,输出到屏幕显示【RK_MPI API接口】

rv1126 libdrm VO

学习记录 1万+

神经网络:池化层知识点

池化层的作用是对感受野内的特征进行选择,提取区域内最具代表性的特征,能够有效地减少输出特征数量,进而减少模型参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling),它们分别提取感受野内最大、平均与总和的特征值作为输出,最常用的是最大池化和平均池化。

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 3041

VFH避障/局部路径规划算法

VFH避障/局部路径规划算法 本文章是我看《The Vector Field Histogram-Fast Obstacle Avoidance for Mobile Robots》论文时候的笔记,感兴趣的欢迎去看原论文。 VFH中有一些概念是从其他算法中借鉴过来的,并且VFH算法本身就是对VFF(Virtural Force Field)的一种改进,其中有很多的相似之处。所以按照原论文的思路,先介绍由CMU提出的Certainty Grid算法中的一些概念,再介绍一下势场法中的一些概念,接着介绍一下VFF

qq_41845878的博客 8120

深度学习_深度学习基础知识_全局平均池化(Global Average Pooling)

全局平均平均池化就是对最后一层卷积的特征图,每个通道求整个特征图的均值。如下图所示: 然后再接一层全连接,因为全局池化后的值相当于一像素,所以最后的全连接其实就成了一个加权相加的操作。这种结构比起直接的全连接更加直观,并且泛化性能更好。如下图所示: 总结: 降低参数量。 减少过拟合(正则化),增加泛化能力。 ...

Rocky Ding相信人工智能、数据科学、商业逻辑、金融工具、终身成长以及顺应时代的潮流会赋予我们超能力。 3806

彩票预测的可能性与算法分析

彩票作为一种以随机数为基础的赌博形式,吸引了大量希望一夜暴富的参与者。尽管许多人希望通过某种方式预测彩票结果,以增加中奖几率,但彩票预测的可能性依然是一个充满争议和误解的话题。本文将探讨彩票是否能够预测的理论依据,分析可能的预测算法,并解释这些算法为何在实际应用中难以奏效。

m0_38012434的博客 2万+

手把手教你用HiNet实现图像隐藏:可逆神经网络实战指南(附代码)

本文提供了一份基于HiNet框架实现图像隐藏的实战指南。通过详细解析可逆神经网络原理,手把手指导环境搭建、模型构建、损失函数设计及训练流程,并附有完整代码。该方法利用单个可逆网络统一隐藏与恢复过程,结合小波变换提升隐蔽性,为信息隐藏应用提供了高效解决方案。

rgv234567的博客 434

【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?​​​​​​​

文章首发于微信公众号《有三AI》 【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么? 这是专栏《AI初识境》的第8篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。 今天来说说深度学习中的池化问题,包含池化的种类,作用机制以及最新的思考。 作者&编辑|言有三 1池化还要不要了 这一次咱们反着来,说说学术界对池化的最新...

hacker_long的专栏 652

围绕国产化操作系统以及人大金仓地理空间库的GIS的解决方案,含超详细部署步骤以及与QGIS,GeoServer,PostGlS Shapefile lmport/Export Manager的连接步骤

人大金仓软件 2.1软件的下载以及授权的相关文件插件 2.2上传至虚拟机 2.3KingbaseES V8R6数据库部署过程 2.3.1创建安装用户 2.3.2赋权 2.3.3.创建安装目录且赋权 2.3.4 准备挂载 2.4kingbase安装方法 2.7postgis安装 3 人大金仓数据库与QGIS的连接 4 人大金仓数据库与PostGlS Shapefile lmport/Export Manager的连接 5 人大金仓数据库与geoserver的连接

挣钱花388的博客 2591

「AI初识境」被Hinton,DeepMind和斯坦福嫌弃的池化到底是什么?

https://www.toutiao.com/a6694763453334159880/ 这是专栏《AI初识境》的第8篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。 今天来说说深度学习中的池化问题,包含池化的种类,作用机制以及最新的思考。 作者&编辑 | 言有三 1 池化还要不要了 这一次咱们反着来,说说学术界对池化的最新观点。通常我们认为,池化可以增...

喜欢打酱油的老鸟 597

SAP ABAP CO核心扩展-为企业定制ZCKM3N物料价格分析增强(CKM3 CKM3N CKM8N)

这篇文章,将为大家讲述物料价格分析扩展增强(ZCKM3N)的方法和原理,并基于CKM3N的视图之一“CV成本组件”,教大家如何一步步实现批量输出多工厂物料的物料价格分析报表。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3987

PyTorch生成式人工智能(25)——基于Transformer实现机器翻译

不同于循环神经网络 (RNN) 按顺序处理数据,Transformer 以并行的方式处理输入数据(例如句子)。这种并行处理提高了效率,但并未使其能够识别输入的顺序。为了解决这个问题,Transformer 向输入的词嵌入中添加了位置编码。这些位置编码是分配给输入序列中每个位置的独特向量,其维度与输入词嵌入对齐。本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer 模型将英语句子转换为法语,深入理解 Transformer 的架构及自注意力机制的运作方式。

盼小辉丶的博客 2788

全局平均池化笔记

例如,在经典的卷积神经网络如ResNet中,GAP被用来替代传统的全连接层,简化了模型结构,并保持或提升了性能。这有效地减少了模型中的参数数量,相比于全连接层,它不需要额外的权重参数,从而减小了模型的复杂度和过拟合的风险。:全局平均池化对特征图的输入位置不敏感,主要关注的是特征的存在与否,而不是其具体位置。:通过对整个特征图进行平均池化,全局平均池化能够整合全局的空间信息,而不仅仅是局部的信息。:在分类任务中,GAP通过将每个类别的特征图聚合成一个数值,使得网络更直接地学习到每个类别的全局特征。

985小菜鸡 1730

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

为什么使用全局平均池化层?

为什么使用全局平均池化层? 1、全连接层: 、全连接网络可以使feature map的维度减少,进而输入到softmax 、全连接层的参数超多 、会造成过拟合 、模型本身变得非常臃肿 2、全局平均池化层(global average poolilng)[GAP]: 、直接实现了降维 、极大地减少了网络的参数 、对整个网路在结构上做正则化防止过拟合,直接赋予了每个channel实际的内别意义 、gap可能会造成收敛速度减慢 3、为什么会收敛速度变慢?以及对模型训练有什么差异? 、全连接层结构的模型对于训练学习

butiful1的博客 5635

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

全局池化(Global Pooling)在轻量级CNN模型中的关键作用与实践

本文深入探讨了全局池化(Global Pooling)在轻量级CNN模型中的核心作用。通过对比传统全连接层,详细解析了全局平均池化如何大幅减少参数量、防止过拟合并增强模型可解释性,是MobileNet、ShuffleNet等移动端模型实现高效“瘦身”的关键技术。文章还提供了PyTorch实战代码,并展望了其在注意力机制等高级场景中的应用。

weixin_29093017的博客 416

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

卷积神经网络(CNN)的池化层

池化层在卷积神经网络中起着至关重要的作用,通过下采样减少特征图的维度,降低计算复杂度,同时增强模型的鲁棒性。最大池化和平均池化是最常用的池化方式,结合卷积层和激活函数,池化层帮助 CNN 更有效地提取和表示输入数据的特征。使用深度学习框架(如 TensorFlow 和 Keras)可以方便地实现池化层。

嵌入式之斋 805

池化到底有什么用 pooling

部分内容转载自:https://mp.weixin.qq.com/s/sS75fWhgcIW2w2JCbs8YKQ 今天来说说深度学习中的池化问题,包含池化的种类,作用机制以及最新的思考。 1 池化还要不要了 通常我们认为,池化可以增加网络对于平移的不变性,对于网络的泛化能力的提升是非常关键的。不过,到底能起到多大的正向作用,却是被很多人怀疑的。 首先是Hinton,还记得Hinton提出...

qq_20481015的博客 4776

卷积神经网络---池化层

在神经网络中,我们经常会看到池化层,常用的池化操作有四种:mean-pooling(平均池化),max-pooling(最大池化)、Stochastic-pooling(随机池化)和global average pooling(全局平均池化),池化层有一个很明显的作用:减少特征图大小,也就是可以减少计算量和所需显存。 ***mean-pooling(平均池化):***即对邻域内特征点只求平均 优缺点:能很好的保留背景,但容易使得图片变模糊 正向传播:邻域内取平均 反向传播:特征值根据领域大小被平均,然后传

weixin_45698190的博客 4430

计算机视觉面试考点(10)池化

计算机视觉工程师在面试过程中主要考察三个内容:图像处理、机器学习、深度学习。然而,各类资料纷繁复杂,或是简单的知识点罗列,或是有着详细数学推导令人望而生畏的大部头。为了督促自己学习,也为了方便后人,决心将常考必会的知识点以通俗易懂的方式设立专栏进行讲解,努力做到长期更新。此专栏不求甚解,只追求应付一般面试。希望该专栏羽翼渐丰之日,可以为大家免去寻找资料的劳累。每篇介绍一个知识点,没有先后顺序。想了...

嘻嘻哈哈yjy的博客 2459

【图像处理】全局平均池化(Golbal Average Pooling)

定义:将特征图所有像素值相加求平均,得到一个数值,即用该数值表示对应特征图 目的:替代全连接层 效果:减少参数数量,减少计算量,减少过拟合 思路:如下图所示。假设最终分成10类,则最后卷积层应该包含10个滤波器(即输出10个特征图),然后按照全局池化平均定义,分别对每个特征图,累加所有像素值并求平均,最后得到10个数值,将这10个数值输入到softmax中,得到10个概率值,即这张图片属于每个类别...

小苏打的学习博客 4406

全局平均池化(Global average pooling, GAP)

全局平均池化(Global average pooling, GAP)

qq_40734883的博客 3420
上一篇: 创业第一天,有三AI扔出了深度学习的150多篇文章和10多个专栏
下一篇: 【AI-1000问】人脸的4个方向,你还分的清楚吗?
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值