Traditional Pooling Methods

要想真正的理解Global Average Pooling,首先要了解深度网络中常见的pooling方式,以及全连接层。

众所周知CNN网络中常见结构是:卷积、池化和激活。卷积层是CNN网络的核心,激活函数帮助网络获得非线性特征,而池化的作用则体现在降采样:保留显著特征、降低特征维度,增大kernel的感受野。深度网络越往后面越能捕捉到物体的语义信息,这种语义信息是建立在较大的感受野基础上。已古人的例子来做解释,想必大家都知道盲人摸象这个成语的来历,每个盲人只能触摸到大象的一部分,也就是只能获得local response,基于这些local response,盲人们很难猜对他们到底在摸什么。即使是一个明眼人,眼睛紧贴这大象后背看,也很难猜到看的是什么。这个例子告诉我们局部信息很难提供更高层的语义信息,因此对feature map降维,进而增大后面各层kernel的感受野是一件很重要的事情。另外一点值得注意:pooling也可以提供一些旋转不变性。


Fully Connected layer

很长一段时间以来,全连接网络一直是CNN分类网络的标配结构。一般在全连接后会有激活函数来做分类,假设这个激活函数是一个多分类softmax,那么全连接网络的作用就是将最后一层卷积得到的feature map stretch成向量,对这个向量做乘法,最终降低其维度,然后输入到softmax层中得到对应的每个类别的得分。

全连接层如此的重要,以至于全连接层过多的参数重要到会造成过拟合,所以也会有一些方法专门用来解决过拟合,比如dropout。

在NIN(Network in Network) 这篇论文中提出了全局平均池化的概念,究竟他和之前的全连接层有什么区别呢?

全连接存在的问题:参数量过大,降低了训练的速度,且很容易过拟合

全连接层将卷积层展开成向量之后不还是要针对每个feature map进行分类,而GAP的思路就是将上述两个过程合二为一,一起做了。如图所示:

由此就可以比较直观地说明了。这两者合二为一的过程我们可以探索到GAP的真正意义是:对整个网路在结构上做正则化防止过拟合。其直接剔除了全连接层中黑箱的特征,直接赋予了每个channel实际的内别意义。

实践证明其效果还是比较可观的,同时GAP可以实现任意图像大小的输入。但是值得我们注意的是,使用gap可能会造成收敛速度减慢。

参见https://blog.csdn.net/yimingsilence/article/details/79227668

global average pooling 与 average pooling 的差别就在 "global" 这一个字眼上。global 与 local 在字面上都是用来形容 pooling 窗口区域的。 local 是取 feature map 的一个子区域求平均值,然后滑动这个子区域; global 显然就是对整个 feature map 求平均值了。

Global Average Pooling全局平均池化的一点理解相关推荐

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

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

  2. Lesson 16.1016.1116.1216.13 卷积层的参数量计算,1x1卷积核分组卷积与深度可分离卷积全连接层 nn.Sequential全局平均池化,NiN网络复现

    二 架构对参数量/计算量的影响 在自建架构的时候,除了模型效果之外,我们还需要关注模型整体的计算效率.深度学习模型天生就需要大量数据进行训练,因此每次训练中的参数量和计算量就格外关键,因此在设计卷积网 ...

  3. GAP(全局平均池化层)操作

    转载的文章链接: 为什么使用全局平均池化层? 关于 global average pooling https://blog.csdn.net/qq_23304241/article/details/8 ...

  4. 全局平均池化能否完美代替全连接?

    全局平均池化能否完美代替全连接? 参考链接:https://www.cnblogs.com/hutao722/p/10008581.html 一.什么是全局平均池化?    全局平均池化(GAP)通过 ...

  5. Pytorch之经典神经网络CNN(七) —— GoogLeNet(InceptionV1)(Bottleneck)(全局平均池化GAP)(1*1卷积)(多尺度)(flower花卉数据集)

    2014年 Google提出的 是和VGG同年出现的,在ILSVRC(ImageNet) 2014中获得冠军,vgg屈居第二 GoogLeNet也称Inception V1.之所以叫GoogLeNet ...

  6. 全局平均池化(Global Average Pooling)

    出处:Lin M, Chen Q, Yan S. Network in network[J]. arXiv preprint arXiv:1312.4400, 2013. 定义:将特征图所有像素值相加 ...

  7. Global Average Pooling对全连接层的可替代性分析(转)

    版权声明:本文为williamyi原创,未经许可禁止转载或直接挪作他用! https://blog.csdn.net/williamyi96/article/details/77530995 在NIN ...

  8. Global average Pooling解析

    这个概念出自于 network in network 主要是用来解决全连接的问题,其主要是是将最后一层的特征图进行整张图的一个均值池化,形成一个特征点,将这些特征点组成最后的特征向量,进行softma ...

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

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

最新文章

  1. iOS开发之--TableViewCell重用机制避免重复显示问题
  2. pcb天线和纯铜天线_一种2.4GHz水平极化全向天线设计
  3. ORA-38301:can not perform DDL/DML over objects in Recycle Bin
  4. 服务器虚拟主机划分,服务器划分虚拟主机教程
  5. 3 SAP STMS跨服务器传请求号
  6. 前端需要了解的nginx(2)
  7. Ajax进入ERROR的部分条件总结
  8. C++开源矩阵计算工具——Eigen的简单用法(一)
  9. Atcoder Yahoo Programming Contest 2019 简要题解
  10. 在HTML5中,用getCurrentPosition()获取用户的当前位置
  11. 手动构建redis集群
  12. 图像局部特征(十六)--SimpleBlobDetector
  13. OkHttpClient源码分析(四)—— CacheInterceptor
  14. com口驱动_四足机器人FOC驱动器篇1:Odrive Moco接口板套件介绍
  15. 【飞行器】基于matlab GUI四旋翼飞行器飞行模拟【含Matlab源码 1183期】
  16. 无软驱免F6在联想R510-G6-1U服务器上安装win 2003企业版的经历
  17. MySQL 数据库命名规范.PDF
  18. HDU-5773 The All-purpose Zero(LIS变形)
  19. 好看的皮囊 · 也是大自然的杰作 · 全球高质量 · 美图 · 集中营 · 美女 · 2017-08-23期...
  20. 在Mac系统下配置端口映射

热门文章

  1. 三星的新Galaxy Note 20阵容比手机更轻薄
  2. 芯片应用于鸿蒙新闻,海思新款麒麟芯片量产,应用于汽车场景,联合鸿蒙OS助力北汽极狐...
  3. 我的苹果开发帐号(公司型)成功申请经历——不用传真营业执照、免费获取邓白氏编码
  4. 【Arduino学习】06.L293D驱动5V直流电机
  5. 【大数据】Spark与Flink的优劣
  6. 1141 PAT Ranking of Institutions (PAT甲级)
  7. python运行mcmc为何老出错_为什么我的metropolis算法(mcmc)的python实现这么慢?
  8. 《300分钟搞定算法面试》学习笔记
  9. RelativeSource={RelativeSource TemplatedParent}
  10. contextmenustrip(ContextMenuStrip添加不了)