【模型解读】pooling去哪儿了?

3D 池化(MaxPool3D) 和 3D(Conv3d) 卷积详解 3D 池化(MaxPool3D) 和 3D(Conv3d) 卷积详解 池化和卷积的过程是类似的,只是池化没有权重,相比起来更容易说明计算的过程。这里从 3D 池化开始详细接受 MaxPool3D 和 Conv3d 的过程,并尝试通过 2D 和 1D 的池化来实现 3D 池化的过程。 3D (池化或者卷积)相比 2D 增加了一个维度,但是大致过程依然和 2D 类似,所以在看 3D 之前应该确保已经清楚 2D 的过程了,如果对 2D 不熟悉的朋友,可以参考 动图详细讲解 LeNet-5 网络结构,里面有动图演示 阅读详情

文章首发于微信公众号《与有三学AI》

【模型解读】pooling去哪儿了?

这是深度学习模型解读第5篇,本篇我们将介绍深度学习模型中的pooling。

作者&编辑 | 言有三

 

01 概述

相信大家都记得,LeNet5,AlexNet,Vgg系列的核心思想,是convolution+pooling的核心结构。

 

但是,不知道从何时开始,pooling没了,对,就是没了。这是mobilenet【1】可视化后的部分结构图,懒得去画block图了。

 

如今大部分情况下,pooling就出现在网络的最后,或者一些需要concat/add不同通道的block里面,为何?本文从3个方面来说说。

 

02 pooling是什么

pooling,小名池化。

 

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

pooling有什么用呢?或者说为什么需要pooling呢?

原因有几个:

(1) 增大感受野

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

 

依次,再多一个卷积,则为7*7,如果想看到224*224的全图,大家可以算算需要多少卷积层。

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

(2) 平移不变性

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

(3) 容易优化,pooling是每个featuremap单独做降采样,与基于卷积的降采样相比,不需要参数,更容易优化。

 

03 如何去除pooling

那pooling是必要的吗?答案已经很明了了,不需要。文【2】做了详细的实验,在cifar,imagenet等多个数据集上实验结果表明,完全没有必要。因为我们可以用步长大于1的卷积来替代。

当步长不为1时,降采样的速度将变快。

当stride,也就是步长等于2,上面的5*5一次卷积后就为2*2了。这其实还减轻了重叠的卷积操作,通过卷积来学习了降采样,看起来好处还是不少的。

实验结果也佐证了这一点。

 

 

上面就是作者的实验结果,all-cnn-c相比convpool-cnn-c,就是在同等卷积层的基础上,去掉了pooling,结果B和C系列模型效果都是提升的,关于A,B,C系列具体细节大家可以参考文章。

总之,不管是文献的研究结果,以及大家的实际使用经验,都已经完全使用带步长的卷积替换掉了pooling这一降采用的操作。

 

04pooling没用了吗?

答案是有,因为pooling相对于带步长的卷积操作,毕竟减少了计算量,所以对于很多需要concat/add featuremap通道的小模型,pooling仍然可以以小搏大。比如下面的shufflenet的block。

 

不过总的来说,pooling,走好。

 

参考文献

【1】Howard A G, Zhu M, Chen B, et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications[J]. 2017.

【2】Springenberg J T, Dosovitskiy A, Brox T, et al. Striving for Simplicity: The All Convolutional Net[J]. Eprint Arxiv, 2014.

【3】Zhang X, Zhou X, Lin M, et al. ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices[J]. 2017.

 

同时,在我的知乎专栏也会开始同步更新这个模块,欢迎来交流

https://zhuanlan.zhihu.com/c_151876233

注:部分图片来自网络

—END—

转载请留言,侵权必究

本系列的完整目录:

【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构

【模型解读】network in network中的1*1卷积,你懂了吗

【模型解读】GoogLeNet中的inception结构,你看懂了吗

【模型解读】说说移动端基准模型MobileNets

【模型解读】pooling去哪儿了?

【模型解读】resnet中的残差连接,你确定真的看懂了?

【模型解读】“不正经”的卷积神经网络

【模型解读】“全连接”的卷积网络,有什么好?

【模型解读】从“局部连接”回到“全连接”的神经网络

【模型解读】深度学习网络只能有一个输入吗

【模型解读】从2D卷积到3D卷积,都有什么不一样

【模型解读】浅析RNN到LSTM

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI!

 

 

python attention机制_Attention机制在问答系统中的应用--attentive pooling networks Attention机制在时序模型中的应用,已经被证明能够提升模型的性能。本文参考《Attentive pooling Networks》,该论文以时序模型输出状态设计Attention为基线(QA_LSTM_ATTENTION),提出了一种同时对问题和答案进行特征加权的Attention设计方案。本文实现了论文中基于LSTM网络结构的Attention设计,即AP-BILSTM。传统的Attent... 阅读详情

相关推荐

论文解读|CVPR 2020|无公式解读|Strip Pooling:Rethinking Spatial Pooling for Scene Parsing

Strip Pooling:Rethinking Spatial Pooling for Scene Parsing 条状池化:重新思考场景解析的空间池 Code:源码地址 Paper:论文地址 目录一、摘要二、介绍2.1 带状池化(Strip pooling)2.2本文贡献三、方法3.1 带状池化模块(Strip Pooling Module/SPM)3.2 混合池化模块(Mixed Pooling Module/MPM)3.3 SPNet整体架构四、实验结果4.1ADE20K数据集4.2 citysca

Akita·Wang's Semantic Segmentation 1070

感受野与空洞卷积

空洞卷积英文名为Dilated Convolution或Atrous Convolution,即空洞卷积或者扩张卷积。一般情况下,图片输入到网络中,网络将会对图像做卷积再池化(pooling)的操作,pooling的操作即降低了图像尺寸的同时增大感受野。但由于图像分割预测是pixel-wise的输出,所以将pooling后较小的图像上采样(upsampling)到原始的图像尺寸进行预测一般需要采用反卷积(deconv)操作。

dreamer5z的博客 7419

Hierarchical Bilinear Pooling for Fine-Grained Visual Recognition论文笔记

大概多少

DBG的博客 3643

第五章 卷积神经网络(CNN)

2D卷积核和3D卷积和的区别以及应用: 卷积的三种模式: 设 image的大小是7x7,filter的大小是3x3 1,full mode 橙色部分为image, 蓝色部分为filter。full模式的意思是,从filter和image刚相交开始做卷积,白色部分为填0。filter的运动范围如图所示。 2,same mode 当filter的中心(K)与im...

qq_36955294的博客 1038

LDPC码介绍:基础&编码&译码

本博客介绍了LDPC码的基本原理,其中包括校验矩阵的构造、Tanner 图和编译码的基础知识。

渺小的颗星的博客 4311

RISC-V嵌入式开发实战:手把手教你读懂并修改CH32V103的链接脚本(.ld)

本文深入解析RISC-V嵌入式开发中CH32V103链接脚本(.ld)的编写与优化技巧。从内存布局、段分配到实战调试,详细讲解如何解决程序跑飞、变量异常等典型问题,特别针对RISC-V架构的gp寄存器优化、中断向量表处理等特性提供专业指导,帮助开发者充分利用64KB Flash和20KB RAM资源。

weixin_33704234的博客 176

详解Keras3.0 Layers API: Pooling layers (AveragePooling1D 、AveragePooling2D 、AveragePooling3D)

【代码】详解Keras3.0 Layers API: Pooling layers (AveragePooling1D 、AveragePooling2D 、AveragePooling3D)

lymake的博客 1692

APM无人船测绘实战:从RTK、测深仪到图传的完整系统集成指南

本文提供了一套完整的APM无人船测绘系统集成实战指南。从RTK模块配置、测深仪数据同步到图传系统接入,详细解析了硬件选型、接线、软件参数调试及QGC地面站任务规划的全流程,旨在帮助用户将分散的部件整合为可自主执行水下地形测绘的可靠工具。

rr23456的博客 521

SPP(Spatial Pyramid Pooling)解读

1.为什么会出现SPP结构,其作用是什么? 通过Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition论文可以基本了解其作用和基本结构, 从图中可以看到传统的操作是先将原图crop(裁剪/变换,也就是类似resize操作),直接送入卷积层,然后进入全连接分类。但是每幅图像中目标物体位置和大小难以保...

m0_37799466的博客 1万+

告别降级CUDA!手把手教你为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly + vLLM推理环境

本文详细指导如何为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly和vLLM推理环境,特别针对CUDA 12.8的适配问题提供解决方案。从硬件准备到源码编译,再到模型部署与性能调优,手把手教你构建高效AI推理系统。

weixin_33724046的博客 409

带隙基准源要点

要点: 负反馈>正反馈;电流镜匹配;双极型晶体管匹配;电阻匹配; 经过R0的电流????????????=????????????????−????????????????????????=∆????????????????????i_R0=(〖VBE〗_1-〖VBE〗_2)/R_0 =∆VBE/R_0 经过R1的电流????????????=i_R1= ????????????????????VBE/R_1 零温电流I = ∆????????????????????∆VBE/R_0 +

HI_WALLE的博客 2267

CV计算机视觉(4)——目标检测及Fast-RCNN解读(特征投影,ROI Pooling,ROI Align,Precise ROI Pooling)

文章目录前言一、Fast-RCNN主要技术1.共享卷积计算2.ROI POOLING3.SVM替换成两个FC二、Fast-RCNN总结三、Fast-RCNN缺点四、ROI Pooling的改进1.ROI Align2.Precise ROI Pooling3.三种 ROI Pooling对比 前言 前面讲了两阶段检测的RCNN算法,我们提到它有一个缺陷就是2k个候选区域在测试阶段是存在大量重复的特征提取过程的,为了改进这一点,诞生了Fast-RCNN。 一、Fast-RCNN主要技术 1.共享卷积计算 为

weixin_41761357的博客 1277

Qt Quick (QML) 老年人健康管理

通过 **Qt SQL** 模块将所有健康数据(用药记录、体检数据等)安全地存储在本地 **SQLite** 数据库中。你想用 **Qt C++** 结合 **Qt Quick** (QML) 来开发一个老年人健康管理软件,主要功能包含 **用药提醒** 和 **健康记录** (使用 `Qt SQL` 存储数据)。* **UI 框架**: Qt Quick (QML) - 用于构建流畅、动态的用户界面。**数据模型类 (models/MedicationReminder.h / .cpp)**

寒寒豆豆软件公司的博客 195

CANN ops-nn Pooling算子解读:CNN模型下采样与特征提取的核心

Mermaid 渲染失败: Parse error on line 2:... A[CANN架构] --> B[算子库(ops)] A --> C[运行时架构说明算子库(ops):包含基础算子实现(如ops-nn中的Pooling),支持Ascend NPU原生指令集运行时(RT):管理计算图执行与内存分配编译器:将AI模型编译为NPU可执行格式,优化算子融合与流水线设计理念CANN采用分层解耦。

Abin 532

74、光谱成像在电子内窥镜及色彩理论中的应用

本文探讨了光谱成像在电子内窥镜中的应用及其与色彩理论的深度融合。通过分析FICE技术、色彩再现模型及胃黏膜光谱测量,展示了光谱信息在提升医学诊断准确性方面的潜力。同时,系统阐述了颜色的物理属性、标准表示方法、同色异谱现象、颜色测量技术(密度法与比色法)以及CIELAB等均匀颜色空间的构建原理。结合流程图与对比表格,梳理了从光信号获取到颜色处理的完整路径,并展望了人工智能与新型视觉模型在未来医疗成像与色彩科学中的发展方向。

g2h3i4j5的博客 154

Vue3 - 完美解决 vite 打包后在本地浏览器直接打开运行,build 打包后双击 index.html 直接以 file 协议运行网站(资源、接口等正常访问,和部署到服务器运行效果一样)

vue3vite怎么支持file协议本地打开,vite打包文件如何支持files协议,支持双击即可打开网页,vue3vite打包后双击本地运行,vue3vite打包后怎么直接在浏览器双击打开访问,vite打包后显示空白,vite如何支持本地file协议打开,vue3vite打包后如何本地查看网站,vue3vite项目打包后本地启动白屏怎么办,vite打包后的代码如何在本地运行,vite+vue3打包在fIle本地index.html打开项目,打包后如何直接打开index.html文件,vue3

🏆 前端领域优质创作者 1万+

Kooky 效率技巧清单:⌘P 快速打开、文件树、右键 Ask AI 等 10 个细节,帮你省掉一半操作

Kooky 是一款专为 AI coding 打造的极简 macOS 终端,主打侧边栏工作区管理、一键启动 AI Agent 和实时活动展示。这份 Kooky 效率技巧清单整理了 10 个实用细节——从 ⌘P 快速打开、侧边栏文件树,到右键 Ask AI、一键切换分支——帮你把重复的切换、复制、粘贴省掉一半,让 AI 编码流程更顺手。 [![Kooky AI 终端通知中心与 Agent 状态总览]

gitblog_00219的博客 1093

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Convolutional Social Pooling for Vehicle Trajectory Prediction

Convolutional Social Pooling for Vehicle Trajectory Prediction

wholetus的博客 216

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

faster rcnn fpn_Faster-RCNN详解和torchvision源码解读(六):roi pooling

FPN提取了分层特征,所以我们使用的是roi aglin而不是roi pooling。但了解roi pooling有助于理解roi aglin。要想充分理解roi pooling 和roi aglin,最好的办法就是自己实现一遍,接下来我们就一步一步实现roi pooling 和roi aglin。前面通过RPN网络我们提取了1000个proposals。我们也提取了整个图片的特征。那propos...

weixin_39834154的博客 261

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

DNN Baseline模型

推荐系统中的Baseline模型通常采用"Embedding+MLP"结构,包含输入层、Embedding层、Pooling层、拼接层和全连接层。Pooling策略对用户历史行为序列处理至关重要,主要分为Sum、Average、Max和Weighted四种方式。Sum Pooling保留行为强度(如淘宝电商场景),Average Pooling关注平均兴趣倾向(如YouTube视频推荐),Weighted Pooling通过Attention机制动态调整权重(如阿里DIN模型)。不同Pooling方式会显著

weixin_40398522的博客 203

Faster RCNN源码解读(3)RoI Pooling

前言 今天讲最后几部分,首先我们一起学习RoI Pooling部分,先让我们看一下原理: 先来看一个问题:对于传统的CNN(如AlexNet和VGG),当网络训练好后输入的图像尺寸必须是固定值,同时网络输出也是固定大小的vector or matrix。如果输入图像大小不定,这个问题就变得比较麻烦。有2种解决办法: 从图像中crop一部分传入网络 将图像warp成需要的大小后传入网络 可以看到无...

weixin_44929101的博客 704
上一篇: 【模型解读】说说移动端基准模型MobileNets
下一篇: 【模型解读】resnet中的残差连接,你确定真的看懂了?
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值