FlyAI资讯:CNN一定需要池化层吗?

Qt + Robot Interface实现上位机和发那科机器人通信 摘要: 本文详细介绍了FANUC机器人的RobotInterface模块开发流程,包括环境配置、通信连接和上位机开发等内容,并提供了数值寄存器、位置寄存器和当前位置的读写代码等示例。适用于自动化行业有通讯需求的上位机开发人员,保姆教程,超详细版,新手也可以根据示例开发自己的通信程序。 阅读详情

在这里插入图片描述
摘要: 在现有的网络结构设计指导下,似乎卷积层后跟一个池化层下采样,已经是一个准则。我们重新思考了现有SOTA网络,并得出结论最大池化层是能被卷积层给替代。我们设计了一系列小网络,并提出了一种新的「反卷积方法」来 …

人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。

这是一篇ICLR2015的论文,文章针对现有网络设计,探索了「较大池化层是否能被卷积层给完全替代」。作者在 CIFAR10/100 数据集上设计了一系列对比实验,从而得出可以在不损失精度下,将较大池化层替换成卷积层的结论。

  1. 前言
    在现有的网络结构设计指导下,似乎卷积层后跟一个池化层下采样,已经是一个准则。我们重新思考了现有SOTA网络,并得出结论较大池化层是能被卷积层给替代。我们设计了一系列小网络,并提出了一种新的「反卷积方法」来去可视化CNN学习到的特征

  2. 模型描述
    为了理解池化层和卷积层为什么有效,我们返回到公式里面 我们令 「f为特征图」,W, H, N分别是特征图的「宽,高,通道数」对于一般的池化窗口为K的p范数下采样,我们有
    在这里插入图片描述
    而对于一般的卷积层,我们需要设定一个权重,进行相乘,并将多个通道结果进行相加。最后再通过激活函数进行激活,形式如下
    在这里插入图片描述「θ代表的是卷积核权重」, 从1到N求和,「代表是对多个特征图的卷积窗口进行求和」

这里有个细节需要强调下:「池化层是分别对每张特征图做池化/P范数操作」而卷积层在多通道情况下,「是通过相加各个特征图来进行特征融合」

因此在比较这两个公式后,论文里也说到:「池化层可以看作是一种 特征级别上的卷积,其激活函数为对应的p范数」

分析完上述公式后,作者假定了池化层有效的几个因素
「P范数形式能增加CNN的平移不变性」,这里存疑我后续会解释
池化层的下采样,能为后续的卷积操作「提供更大的感受野」
池化层仅仅是在特征图上操作,不会带来额外的参数,「因此有助于整个网络优化过程」

我们假设第二点是提升CNN性能的关键。我们有以下两个选择来替代池化层
去除掉池化层,将卷积层的步长变为2。这种方法参数量与此前一致
用步长为2的池化层,来替代池化层。由于引入新的卷积层,参数量会适当增加

考虑到3x3卷积叠加能达到5x5卷积的感受野,减少大量参数,我们也将其加入到实验对比。因此我们的网络设计如下

2.1 补充P范数
P范数定义如下

即求「某个范围内x的P次方和」,最后「再开P次方」

那「如果是平均池化」,我们可以看作是P=1的范数下采样,前面需要乘上一个系数 「K分之一」

2.2 CNN平移不变性的存疑
具体可以参考下 「证伪:CNN中的图片平移不变性」(https://zhuanlan.zhihu.com/p/38024868)

简单来说,我们下采样因子是固定的,常用的我们都是步长为2的操作,来进行叠加,缩小特征图分辨率

举个例子,1张224x224的图片,经过多次下采样至 7x7,那么整个采样因子就是 32x32。为了保证平移不变性,我需要让物体平移距离是32的整数倍。

换句话说,我相当于将整个图片划分成了32x32个小格子,物体需要落到这个格子里,才能具有不变性。这个概率是

3. 实验
我们在CIFAR10, CIFAR100, ImageNet2012数据集上进行测试

3.1 实验设置
我们在先前的Model C上,又引申出三种模型

第一个模型,将每一层最后一个卷积层步长设置为2,去除掉了池化层
第三个模型,将较大池化层以步长为2的卷积层替代
第二个模型,为了与第三个模型做对比,在保持相同卷积层时,用较大池化层下采样 因为原始的ModelC,已经包含了两次卷积层+一次池化层的结构。所以针对第一个模型就不再多设置一个模型对比

3.2 实验结果
在这里插入图片描述
首先我们来看下Model A,B,C 最主要的区别就是拿3x3卷积来替代大卷积核和部分1x1卷积。事实证明使用3x3卷积替代大卷积核,能得到性能上的提升

再B,C两组中, ALL-CNN都得到了较好的效果。而在A组,池化的效果比Strided的效果更好。「为了保证不是因为参数量增加而引起的,我们也对比了ALL-CNN-A」。事实证明池化操作是能提高网络性能的

后续,我们针对训练过程是否加入图像增广也做了一组实验
在这里插入图片描述
在这两种情况下,网络表现的都比前面的要好很多 我们将这个较佳模型,放到CIFAR100进一步进行测试
在这里插入图片描述
可以看到我们的效果依然很好,超越了前面的网络模型。仅仅被Fractional Pooling超过,但这个模型参数过大,大概50M左右的参数。所以我们的模型表现是十分不错的。

  1. 笔者理解
    在现代的网络设计中,池化层出现的越来越少了。早在几年前,这个问题还是很令人深思的。郑安坤大佬也做过一系列实验「CNN真的需要下采样吗」(https://zhuanlan.zhihu.com/p/94477174),并且后面也探讨了maxpooling。

我也是比较同意文中的观点,因为无论是均值池化层还是较大池化层,都可以对应传统图像处理的一个人为设计的滤波器。如果没有下采样操作,它完全是可以做一个抑制图像噪声的操作在。并且池化层是与多通道之间没有关系的,只是在单一特征图上做。

我会认为在浅层特征图中,空间相关特征比较明显,可以使用池化层。在高维特征图上,特征经过编码后,空间相关不太明显,这时候用卷积层做下采样会比较好。

而且还是需要具体任务具体分析,比如在CVPR2020的Small Big Net

在时间维度上对视频帧应用较大池化来提取特征信息,因此我还是认为池化操作是有其必要性的。


更多关于人工智能的文章,敬请访问:FlyAI-AI竞赛服务平台学习圈学习;同时FlyAI欢迎广大算法工程师在平台发文,获得更多原创奖励。此外,FlyAI竞赛平台提供大量数据型赛题供学习党和竞赛党参与,免费GPU试用,更多大赛经验分享。

cst-python联合仿真的问题解决 cst与python联合仿真出现无法调用CST的问题解决 阅读详情

相关推荐

R语言笔记三:矩阵、数组、列表和数据框

1.矩阵        矩阵是二维的,需要有行和列。向量是一维的。        在R软件中,矩阵是有维数的向量,这里的矩阵元素可以是数值型、字符型或者逻辑型,但是每个元素必须拥有相同的模式,这个和向量一致。 (1)创建矩阵: m <- matrix(1:20,4,5) 行数和列数的分配必须满足分配条件。若分配的行列过大,分配的元素不足够,则报错。 m <-

weixin_44384631的博客 6211

Pytorch----池化层(平均值池化、最大值池化、自适应最大值池化)--入门级小实例(逐行注释)---学习笔记

文章目录最大值池化层平均值池化层自适应平均值池化层代码实现 还是用[上次的小实例] ,这次加入三种池化层做练习。(https://blog.youkuaiyun.com/qq_38737428/article/details/121523145) 我之前以为池化层也叫下采样,但这样说并不严格,只是大家都这么说,我刚知道,其实采样层包含池化层。某种卷积层也叫采样层。 最大值池化层 选择每个小区域的最大值作为特征放到结果矩阵,像下面这样。 maxpool = nn.MaxPool2d(2,stride=2) # 定义池化

深度不学习!!的博客 3万+

Python实战:高效稳定采集微信视频号评论的API爬虫方案

网络爬虫是数据采集领域的核心技术,其原理是通过程序模拟浏览器行为,向目标服务器发送HTTP请求并解析响应数据,从而自动化获取网页或接口中的信息。这项技术的核心价值在于能够高效、批量化地收集公开数据,为市场分析、舆情监控和竞品研究提供数据基础。在社交媒体分析、电商价格监控等应用场景中,爬虫技术尤为重要。针对微信视频号这类动态加载的复杂应用,传统的GUI自动化工具(如影刀RPA)常面临性能瓶颈和风控挑战。本文聚焦于通过Python实现**无感采集**,直接与后端**API接口**交互,构建稳定高效的评论数据采集

weixin_30899023的博客 329

CNN中难点分析--对卷积层(Convolution)与池化层(Pooling)的理解

传统机器学习通过特征工程提取特征,作为Input参数进行输入,从而拟合一个相对合适的w参数,而CNN利用卷积层感知局部特征,然后更高层次对局部进行综合操作,从而得到全局信息,池化层层提取主要特征,从而自动提取特征。 1、池化层的理解 pooling池化的作用则体现在降采样:保留显著特征、降低特征维度,增大kernel的感受野。另外一点值得注意:pooling也可以提供一些旋转不变性。 池化层可对提取到的特征信息进行降维,一方面使特征图变小,简化网络计算复杂度并在一定程度上避免过拟合的出现;一方面进行特征压.

无崖子的博客 1万+

揭秘无人机前沿领域的科技新突破

本文旨在系统性地介绍无人机技术在前沿领域的最新突破,涵盖从基础理论到实际应用的各个方面。我们将重点关注那些正在改变无人机行业面貌的关键技术创新,并分析它们对未来发展的影响。文章首先介绍无人机技术的基础概念和背景,然后深入探讨六个关键领域的技术突破,接着分析实际应用案例,最后展望未来发展趋势。自主导航系统(SLAM):同时定位与地图构建技术,使无人机能在未知环境中自主导航计算机视觉(CV):使无人机能够"看"和理解周围环境的技术5G通信:第五代移动通信技术,提供高速、低延迟的数据传输能源管理。

AI天才研究院 1490

ROS学习【11】-----基于ubuntu16.04上Gazebo机器人环境搭建的传感器仿真(camera、kinect、Lidar),并通过Rviz进行数据显示

ROS学习-----基于ubuntu16.04上Gazebo机器人环境搭建的传感器仿真目录一、Gazebo环境搭建前的准备1、将搭建模型下载到我们的gazebo环境下2、升级我们的gazebo版本二、创建配置launch文件参数的world文件1、进入工程包mbot_gazebo2、创建文件夹worlds3、进入该文件夹4、创建playground.world文件5、创建room.world文件三...

qq_42451251的博客 3608

第六章.卷积神经网络(CNN)—卷积层(Convolution)&池化层(Pooling)

第六章.卷积神经网络(CNN)—卷积层(Convolution)&池化层(Pooling)

weixin_45116749的博客 5101

利用Civil3D装配设计器(SAC)建设高度形状自适应挡土墙

之前的模型都是点线,最后加一个形状,形成面。再根据现场测得的挡土墙的墙脚的点生成中心线(alignment),在中心线的基础上生成在现有地面(existing ground level)的高程(profile)。简单的说,该墙的墙趾啊,墙踵啊,基底下面那个把儿啊,都是随着高度变化的,而高度是随着下面这个高程图变化的。接着出现角度和Y的文本框,角度92,y 值随便写一个,然后重要的是,高程目标选路面(优先于Y值)。意思是P2的高度,也就是路面的高程,减去P10,墙脚高程,再减去墙脚埋进地里的深度0.8m。

测量老覃 的博客 1131

神经网络中的卷积和池化的特点

神经网络中的卷积和池化 卷积层的优点: 池化层的优点: 1、邻域大小受限造成的估计值方差增大。 2、卷积层参数误差造成估计均值的偏移。 一般来说,平均池化可以减少第一种误差,更多的保留图像的背景信息,而最大池化可以降低第二种误差,更多的保留图像的纹理信息。总结一下,池化层优点有: 3、不变性,更关注是否存在某些特征而不是特征具体的位置。可以看作加了一个很强的先验,让学到的特征要能容忍一些的变化。...

justsolow的博客 2250

KBS投稿全流程拆解:从模板准备到条件接收的实战指南

本文详细拆解了KBS期刊投稿的全流程,从模板准备、投稿系统操作到返修策略和条件接收。重点介绍了Cover Letter撰写技巧、Latex模板选择、审稿周期管理以及返修文件的系统准备方法,帮助研究者高效完成KBS投稿并提升接收概率。

weixin_26938645的博客 704

EMB电子机械制动系统和EHB电子液压制动系统控制功能的对比

EMB电子机械制动系统相比EHB液压制动系统具有显著优势:响应速度更快(<100ms)、控制精度更高(±2N·m)、能实现单轮独立控制,支持0.1%级制动力调节。在ABS、ESC等安全功能上表现更优,制动平顺性和NVH性能更好,同时提升能量回收效率15%-20%。特别适合智能驾驶需求,可使AEB等系统响应时间缩短50ms,紧急制动距离减少1米以上。EMB系统完美契合高阶自动驾驶对快速响应和精准控制的要求。

m0_59012156的博客 886

池化层的知识

卷积神经网络的一个重要概念就是池化层,一般是在卷积层之后。池化层对输入做降采样,常用的池化做法是对每个滤波器的输出求最大值,平均值,中位数等。      池化的特点之一就是它输出一个固定大小的矩阵,这对分类问题很有必要。例如,如果你用了100个滤波器,并对每个输出使用最大池化,那么无论滤波器的尺寸是多大,也无论输入数据的维度如何变化,你都将得到一个100维的输出。这让你可以应用不同长度的句

Jack_lyp2017的博客 1万+

回归预测 | MATLAB实现TCN时间卷积神经网络多输入单输出回归预测

回归预测 | MATLAB实现TCN时间卷积神经网络多输入单输出回归预测

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 2492

FlyAI资讯:11 种主要神经网络结构图解

摘要: 随着深度学习的快速发展,人们创建了一整套神经网络结构来解决各种各样的任务和问题。尽管有无数的神经网络结构,这里有十一种对于任何深度学习工程师来说都应该理解的结构,可以分为四大类: 标准网络、循环网络、卷 ... 人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。 图文解读主要的神经...

iFlyAI的博客 480

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

FlyAI资讯:收藏!深度学习必读10篇经典算法论文总结!

前言 目录 前言 1998年:LeNet 2012年:AlexNet 2014年:VGG 2014年:GoogLeNet 2015年:Batch Normalization 2015年:ResNet 2016年:Xception 2017年:MobileNet 2017年:NASNet 2019年:EfficientNet 其他 2014年:SPPNet 2016年:DenseNet 2017年:SENet 2017年:ShuffleNet 2018:Bag of Tri

iFlyAI的博客 947

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

CNN不加池化层可不可以?

在深度学习模型中,如果没有明确添加池化层,通常情况下会使用卷积层的默认设置,这些设置通常是不进行池化的,特别是在使用convolution2dLayer时,默认情况下不会应用池化。 具体来说: 1.convolution2dLayer函数的默认行为是在卷积之后不进行池化,除非你显式地指定'Pooling'选项。 2.如果你...

weixin_41042401的博客 393

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CNN卷积神经网络笔记

来源:CS231n,知乎。 网址: https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit https://study.163.com/course/courseMain.htm?courseId=1003223001 1.卷积神经网络的结构 (1) 数据输入层/ Input layer (2) 卷积

qq_36251574的博客 946

卷积网络池化层

池化层有以下特征。 1.没有要学习的参数 池化层和卷积层不同,没有要学习的参数。池化只是从目标区域中取最 大值(或者平均值),所以不存在要学习的参数。 2.通道数不发生变化 经过池化运算,输入数据和输出数据的通道数不会发生变化。如图7-15 所示,计算是按通道独立进行的。 ...

weixin_44229976的博客 502

别再用平均池化层了,Meta AI把注意力塞到池化层,性能立刻提升0.3

注意力机制这么好用,怎么不把它塞到卷积网络里?最近Meta AI的研究人员提出了一个基于注意力的池化层,仅仅把平均池化层替换掉,就能获得+0.3%的性能提升!Visual Transformer(ViT)作为计算机视觉领域的新兴霸主,已经在各个研究任务中逐渐替换掉了卷积神经网络CNN。 ViT与CNN之间存在着许多不同点,例如ViT的输入是image patch,而非像素;分类任务中,ViT是通过对类标记(clas

机器学习社区 934

下采样层和池化层的关系及其作用

就我目前看到的资料来说,他们的作用似乎没有差别,在这个方面来说池化层可以理解为下采样层,就是一个东西,两个名字而已。 下面就他们在CNN中的位置、方法和作用作简要的说明。 位置 池化或子采样层通常紧跟在CNN中的卷积层之后。 常用方法 最大值池化(max-pooling):对邻域内特征点取最大值。 平均值池化(mean-pooling):对邻域内特征点求平均。 作用 降维,减少网络要...

梅花14的博客 1万+

对空洞卷积的理解

一、空洞卷积: 不用池化层,因为池化在提供更大的感受野的同时,分辨率降低,会导致空间信息丢失,数据丢失。空间卷积可以避免使用down-sampling,并且在相同的计算量的前提下,提供更大的感受野。 设置不同的dilation rate,感受野就会不同,就会有多尺度的信息。 在原始特征f0上进行扩张率为1(普通的卷积)的空洞卷积生成f1,f1的一点相对f0感受野为33 如图,在f1上做2-dilated的3 * 3卷积,生成的f2上的一点相对于f0感受野为7 * 7;若仍用普通3 * 3的卷积,则生成的

方悔读书迟 2869

CNN基本原理以及卷积池化的实现细节

看到很好的CNN解释的文章,博客也很优秀https://www.cnblogs.com/charlotte77/p/7759802.html 1. 神经网络的优势 特征提取的高效性。 即可以省去特征工程的工作,传统机器学习模型的feed in的特征集对结果影响很大。使用过多无用特征容易过拟合,使用不足的特征会欠拟合。特别是图像领域,许多参数的含义不明确,无法通过经验进行筛选...

shulixu的博客 2837

下采样和上采样

1、下采样的作用是什么?通常有哪些方式? 下采样层有两个作用,一是减少计算量,防止过拟合;二是增大感受野,使得后面的卷积核能够学到更加全局的信息。 下采样的方式主要有两种: 1、采用stride为2的池化层,如Max-pooling和Average-pooling,目前通常使用Max-pooling,因为他计算简单而且能够更好的保留纹理特征; 2、采用stride为2的卷积层,下采样的过程是一个信息损失的过程,而池化层是不可学习的,用stride为2的可学习卷积层来代替pooling可以得到更好的效果,

ytusdc的博客 4万+

经典CNN模型及其特点

AlexNet网络(2012年) AlexNet含有五个卷积层,三个池化层和三个全连接层。 特点 1、首次使用非线性激活函数ReLU,验证其在较深的网络中效果远超Sigmoid函数,不仅避免了在较深网络中出现的梯度弥散问题,还加快了网络训练速度。 2、训练中使用Dropout机制随机忽略一部分神经单元,有效避免过拟合。 3、使用最大池化,避免池化导致的糊化效应。 4、灵活运用数据增加策略减少过...

ANDY 2156

【深度学习】卷积与池化

4. 神经网络 网络模型: 4. 1卷积 4.1.1 概念 卷积就是通过卷积核与输入相乘再相加。它可以获取图像的局部特征。因此卷积核也被称为滤波器。 卷积时参数的计算公式: 分类 膨胀卷积(Dilated Convolutions) 引入了膨胀率(dilation rate)。 膨胀率是核中每个值之间的距离。一个膨胀率为2的3x3的核与一个5x5的核有相同的视野,唯一的区别就是3*3的核只有9个参数。 膨胀卷积的好处是在相同的计算成本下,提供了更宽的可视域。膨胀卷积在实时分割领域非常流行。 当

冷芝士鸭的学习笔记 1万+

CNN网络结构——池化层和全连接层

目录池化层为什么引入池化层概述为什么采用最大值方法实现过程全连接层概述全连接转为卷积 池化层 为什么引入池化层 通常,卷积层的超参数设置为:输出特征图的空间尺寸等于输入特征图的空间尺寸。这样如果卷积网络里面只有卷积层,特征图空间尺寸就永远不变。虽然卷积层的超参数数量与特征图空间尺寸无关,但这样会带来一些缺点。 空间尺寸不变,卷积层的运算量会一直很大,非常消耗资源。 卷积网络结构最后是通过全连接层输出分值向量的,如果空间尺寸一直不变,则全连接层的权重数量会非常巨大,导致过拟合。 前面几层的卷积层的输出存

小白一直白 9513
上一篇: FlyAI资讯:强大如GPT-3,1750亿参数也搞不定中国话
下一篇: FlyAI资讯:人工智能的前世今生
iFlyAI
博客等级 码龄9年 238粉丝 134原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值