精华内容
下载资源
问答
  • 全局平均池化层
    千次阅读
    2019-04-13 20:44:38

    论文:《Network in Network》 
    概述: 
      此论文是2014年的一篇比较厉害的paper,该论文改进了传统的cnn网络使得网络模型参数很少,也为后续的Googlenet和resnet以及目标检测网络中提出的全卷积共享提供了一个很好的开端,小菜也是在学习主流的深层网络模型的论文时发现许多论文中都有提到NIN这篇论文,所以专门挑了时间看了这篇论文,觉得这篇论文的确不错,论文中的网络整体架构如下图所示。 


    论文的创新点:

    提出了抽象能力更高的Mlpconv层
    提出了Global Average Pooling(全局平均池化)层

    Mlpconv层 
     传统的卷积神经网络一般来说是由线性卷积层、池化层、全连接层堆叠起来的网络,卷积层通过线性滤波器进行线性卷积运算,然后在接个非线性激活函数最终生成特征图。而这种卷积滤波器是一种GLM:(Generalized linear model)广义线性模型。然而GLM的抽象能力是比较低水平的。 
      
    抽象:指得到对同一概念的不同变体保持不变的特征。

      一般用CNN进行特征提取时,其实就隐含地假设了特征是线性可分的,可实际问题往往是难以线性可分的。一般来说我们所要提取的特征一般是高度非线性的。在传统的CNN中,也许我们可以用超完备的滤波器,来提取各种潜在的特征。比如我们要提取某个特征,于是我就用了一大堆的滤波器,把所有可能的提取出来,这样就可以把我想要提取的特征也覆盖到,然而这样存在一个缺点,那就是网络太恐怖了,参数太多了。 
      我们知道CNN高层特征其实是低层特征通过某种运算的组合。所以论文就根据这个想法,提出在每个局部感受野中进行更加复杂的运算,提出了对卷积层的改进算法:MLP卷积层。(这里也不知道是否有道理,因为在后面的深层网络没有提出此种说法,还是按照传统的cnn方法使用多个滤波器去学习同一特征的不同变体)。MLP中的激活函数采用的是整流线性单元(即ReLU:max(wx+b,0)。 
    MLP的优点: 
    (1) 非常有效的通用函数近似器 
    (2) 可用BP算法训练,可以完美地融合进CNN 
    (3) 其本身也是一种深度模型,可以特征再利用 
             

    全局平均池化层 
      另一方面,传统的CNN最后一层都是全连接层,参数个数非常之多,容易引起过拟合(如Alexnet),一个CNN模型,大部分的参数都被全连接层给占用了,所以论文提出采用了全局均值池化替代全连接层。与传统的全连接层不同,我们对每个特征图一整张图片进行全局均值池化,这样每张特征图都可以得到一个输出。这样采用均值池化,连参数都省了,可以大大减小网络参数,避免过拟合,另一方面它有一个特点,每张特征图相当于一个输出特征,然后这个特征就表示了我们输出类的特征。 
    全局平均池化的优势: 
    (1) 通过加强特征图与类别的一致性,让卷积结构更简单 
    (2)不需要进行参数优化,所以这一层可以避免过拟合 
    (3)它对空间信息进行了求和,因而对输入的空间变换更具有稳定性

      在采用了微神经网络后,让局部模型有更强的抽象能力,从而让全局平均池化能具有特征图与类别之间的一致性,同时相比传统CNN采用的全连接层,不易过拟合(因为全局平均池化本身就是一种结构性的规则项)(PS:经典CNN容易过拟合,并严重依赖用dropout进行规则化)。
    --------------------- 
    作者:穿越5极限 
    来源:CSDN 
    原文:https://blog.csdn.net/xjz18298268521/article/details/53642711 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    更多相关内容
  • 全局平均池化层(GLP)

    千次阅读 2022-04-01 09:23:02
    全局平均池化层(GAP)在2013年的《Network In Network》(NIN)中首次提出,于是便风靡各种卷积神经网络。为什么它这么受欢迎呢? 一般情况下,卷积层用于提取二维数据如图片、视频等的特征,针对于具体任务(分类...

    一、全局平均池化

    全局平均池化层(GAP)在2013年的《Network In Network》(NIN)中首次提出,于是便风靡各种卷积神经网络。为什么它这么受欢迎呢?

    一般情况下,卷积层用于提取二维数据如图片、视频等的特征,针对于具体任务(分类、回归、图像分割)等,卷积层后续会用到不同类型的网络拿分类问题举例,最简单的方式就是将卷积网络提取出的特征(feature map)输入到softmax全连接层对应不同的类别首先,这里的feature map是二维多通道的数据结构,类似于三个通道(红黄绿)的彩色图片,也就是这里的feature map具有空间上的信息;其次,在GAP被提出之前,常用的方式是将feature map直接拉平成一维向量(下图左),但是GAP不同,是将每个通道的二维图像做平均,最后也就是每个通道对应一个均值(下图右)。

    思想:对于输出的每一个通道的特征图的所有像素计算一个平均值,经过全局平均池化之后就得到一个 维度=C_{in}=类别数 的特征向量,然后直接输入到softmax层 

     如果有一批特征图,其尺寸为 [ B, C, H, W], 经过全局平均池化之后,尺寸变为[B, C, 1, 1]
    也就是说,全局平均池化其实就是对每一个通道图所有像素值求平均值,然后得到一个新的1 * 1的通道图

    可以看到,GAP的设计非常简单直接,但是为什么要这么做呢?或者说GAP区别于全连接的方式有哪些优势呢?

    1. 抑制过拟合。直接拉平做全连接层的方式依然保留了大量的空间信息,假设feature map是32个通道的10*10图像,那么拉平就得到了32*10*10的向量,如果是最后一层是对应两类标签,那么这一层就需要3200*2的权重矩阵,而GAP不同,将空间上的信息直接用均值代替,32个通道GAP之后得到的向量都是32的向量,那么最后一层只需要32*2的权重矩阵。相比之下GAP网络参数会更少,而全连接更容易在大量保留下来的空间信息上面过拟合。
    2. 可解释的雏形。在《NIN》原文当中有这样一句话,GAP相比全连接更加自然地加强了类别和feature map之间的联系,(这个类别指的是分类的类别)因此,feature map可以很容易地解释成categories confidence maps。后半句可能有些难以理解,这块我们在第二节展开来讲。如果之前对Class Activation Mapping (CAM) 有过了解的同学可能会不禁感叹:“这其实就是CAM的核心思想!”
    3. 输入尺寸更加灵活。在第1点的举例里面可以看到feature map经过GAP后的神经网络参数不再与输入图像尺寸的大小有关,也就是输入图像的长宽可以不固定

    除了这些优势,GAP也有个缺点——训练的收敛速度会变慢。

    参考:【机器学习】一文带你深入全局平均池化 - 知乎

     全局平均池化_你吃过卤汁牛肉吗的博客-CSDN博客_全局平均池化

    展开全文
  • GAP(全局平均池化层)操作

    千次阅读 2020-09-15 22:30:48
    为什么使用全局平均池化层? 关于 global average pooling https://blog.csdn.net/qq_23304241/article/details/80292859 在卷积神经网络的初期,卷积层通过池化层(一般是 最大池化)后总是要一个或n个全连接层,...

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

    在卷积神经网络的初期,卷积层通过池化层(一般是 最大池化)后总是要一个或n个全连接层,最后在softmax分类。其特征就是全连接层的参数超多,使模型本身变得非常臃肿。
    之后,有大牛在NIN(Network in Network)论文中提到了使用全局平局池化层代替全连接层的思路,以下是摘录的一部分资料:

    global average poolilng。既然全连接网络可以使feature map的维度减少,进而输入到softmax,但是又会造成过拟合,是不是可以用pooling来代替全连接。
    答案是肯定的,Network in Network工作使用GAP来取代了最后的全连接层,直接实现了降维,更重要的是极大地减少了网络的参数(CNN网络中占比最大的参数其实后面的全连接层)。Global average pooling的结构如下图所示:

    在这里插入图片描述
    由此就可以比较直观地说明了。这两者合二为一的过程我们可以探索到GAP的真正意义是:对整个网路在结构上做正则化防止过拟合。其直接剔除了全连接层中黑箱的特征,直接赋予了每个channel实际的内别意义。
    实践证明其效果还是比较可观的,同时GAP可以实现任意图像大小的输入。但是值得我们注意的是,使用gap可能会造成收敛速度减慢。
    但是,全局平均池化层比较全连接层,为什么会收敛速度变慢,它们对模型的训练有什么差异呢?我没有找到相关的文章的介绍。以下是发挥我自己的想象(很有可能是错误的)来理解的几个点:
    1.全连接层结构的模型,对于训练学习的过程,可能压力更多的在全连接层。就是说,卷积的特征学习的低级一些,没有关系,全连接不断学习调整参数,一样能很好的分类。
    此处是完全猜测,没有道理。
    2.全局平均池化层代替全连接层的模型,学习训练的压力全部前导到卷积层。卷积的特征学习相较来说要更为"高级"一些。(因此收敛速度变慢?)
    为什么这么想呢?我的理解是,全局平均池化较全连接层,应该会淡化不同特征间的相对位置的组合关系(“全局”的概念即如此)。因此,卷积训练出来的特征应该更加“高级”。
    3. 以上的两个观点联合起来,可以推导出,全局平均池化层代替全连接层虽然有好处,但是不利于迁移学习。因为参数较为“固化”在卷积的诸层网络中。增加新的分类,那就意味着相当数量的卷积特征要做调整。而全连接层模型则可以更好的迁移学习,因为它的参数很大一部分调整在全连接层,迁移的时候卷积层可能也会调整,但是相对来讲要小的多了。
    这3点完全是我个人的理解,希望有大牛留言批评指正。

    global average pooling 与 average pooling 的差别就在 “global” 这一个字眼上。global与 local 在字面上都是用来形容 pooling 窗口区域的。 local 是取 feature map 的一个子区域求平均值,然后滑动这个子区域; global 显然就是对整个 feature map 求平均值了。
    因此,global average pooling 的最后输出结果仍然是 10 个 feature map,而不是一个,只不过每个feature map 只剩下一个像素罢了。这个像素就是求得的平均值。 官方 prototxt 文件 里写了。网络进行到最后一个average pooling 层的时候,feature map 就剩下了 10 个,每个大小是 8 * 8。顺其自然地作者就把pooling 窗口设成了 8 个像素,意会为 global average pooling 。可见,global averagepooling 就是窗口放大到整个 feature map 的 average pooling 。

    每个讲到全局池化的都会说GAP就是把avg pooling的窗口大小设置成feature map的大小,这虽然是正确的,但这并不是GAP内涵的全部。GAP的意义是对整个网络从结构上做正则化防止过拟合。既要参数少避免全连接带来的过拟合风险,又要能达到全连接一样的转换功能,怎么做呢?直接从feature map的通道上下手,如果我们最终有1000类,那么最后一层卷积输出的feature map就只有1000个channel,然后对这个feature map应用全局池化,输出长度为1000的向量,这就相当于剔除了全连接层黑箱子操作的特征,直接赋予了每个channel实际的类别意义。

    展开全文
  • 一、GAP的提出 1、来源:Network in Network 论文作者提出GAP:用于正则化、减少参数量,替代网络中最后一层全连接网络 ...三、GAP与GMP(全局最大池化层)比较 在生成CAM图时,即物体定位方面,GAP...

    一、GAP的提出

    1、来源:Network in Network   

    论文作者提出GAP:用于正则化、减少参数量,替代网络中最后一层全连接网络

     2、原理

    具体可以参考链接2

     

    二、GAP在图像中物体定位上的应用

     

    在论文Learning Deep Features for Discriminative Localization

    首次提出用GAP定位图像中的物体。

     

     

     

    三、GAP与GMP(全局最大池化层)比较

    在生成CAM图时,即物体定位方面,GAP效果好于GMP。因为最后一层卷积层map上某个(x,y)值最大,不能代表物体在(x,y)相关区域。使用平均值更好一点。

    参考:

    1、深度学习论文笔记(可解释性)——CAM与Grad-CAM_菜到怀疑人生的博客-CSDN博客_grad-cam

     

    2、 全局平均池化_你吃过卤汁牛肉吗的博客-CSDN博客_全局平均池化

     

    3、【池化选择】全局最大池化和全局平均池化的实验分析_JianqiuChen的博客-CSDN博客_全局平均池化和全局最大池化

     

    展开全文
  • 为什么使用全局平均池化层

    千次阅读 2021-03-14 23:44:21
    为什么使用全局平均池化层? 1、全连接层: 、全连接网络可以使feature map的维度减少,进而输入到softmax 、全连接层的参数超多 、会造成过拟合 、模型本身变得非常臃肿 2、全局平均池化层(global average poolilng...
  • 在卷积神经网络的最后,往往会出现一两全连接,全连接一般会把卷积输出的二维特征图转化成一维的一个向量,全连接的每一个节点都与上一每个节点连接,是把前一的输出特征都综合起来,所以该的权值参数是...
  • GAP全局平均池化层替代全连接

    千次阅读 2019-07-20 11:27:40
    下面的文章研究了GAP和全连接的区别,以及能否做到真正的全连接的研究 截取一部分说明下GAP的作用:  简单来说,就是在卷积层之后,用GAP替代FC全连接。有两个有点:一是GAP在特征图与最终的分类间转换更加...
  • 在该例子中,使用了全局平均池化层来代替传统的全连接层,使用了3个卷积层的同卷积网络,滤波器为5x5,每个卷积层后面跟有一个步长2x2的池化层,滤波器大小为2x2,最后一个池化层为全局平均池化层,输出后为batch_...
  • 全局平均池化(global-average-pooling)顾名思义就是整个特征图求一个平均值,把张量从WxHxN变到1x1xN。 平均池化(average-pooling)就是在特征图上从给定的区域中求平均值,变化后的特征图大小与池化区域大小选取...
  • 全局平均池化

    2021-03-08 17:23:37
    如果要预测K个类别,在卷积特征抽取部分的最后一卷积层,就会生成K个特征图,然后通过全局平均池化就可以得到 K个1×1的特征图,将这些1×1的特征图输入到softmax layer之后,每一个输出结果代表着这K个类别的概率...
  • 假设最终分为n类,那么最后一卷积层的输出channnel应该为10,全局平均池化对这10个feature map,累加取平均,得到十个数字,将10个数字送入softmax,得到10个概率。 优点 GAP直接赋予了最后一feature map...
  • 一 实例描述使用全局平均池化层来代替传统的全连接层,使用了3个卷积层的同卷积操作,滤波器为5*5,每个卷积层后面都会跟个步长为2*2的池化层,滤波器为2*2。2层的卷积加池后是输出为10个通道卷积层,然后对这10个...
  • 思想: 对于输出的每一个通道的特征图的所有像素计算一...2)降低参数量,全局平均池化层没有参数,可防止在该层过拟合 3)整合了全局空间信息,对于输入图片的spatial translation更加鲁棒 疑惑: 全局池化是放在最.
  • 现在所有的博客上面,大部分并没有这个功能的实现,或者大部分没有使用pytorch去实现全局平均池化这个功能。所以这篇博客就是用pytorch来实现全局平均池化这个功能。 首先全局平均池化的目的是提取每一张特征图的...
  • 为什么使用全局平均池化层? 二、需要解决的问题如下: 1.全连接层的作用是什么? 全连接层的作用主要包含以下三点: 全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷...
  • 全局平均池化英文名为:global average pooling简称为GAP 其具体实现过程在原文 << Network In Network >> 中为: 可以看出其是将矩阵中的 [w,h] ,进行平均池化变为一个单元。也即进行Flattrn和FC。其...
  • 全局平均池化和全连接

    千次阅读 2019-07-17 16:03:32
    全局平均池化:https://www.cnblogs.com/ywheunji/p/10476719.html 比较:http://www.mamicode.com/info-detail-2299459.html
  • tensorflow 实现全局平均池化

    千次阅读 2020-09-18 22:50:29
    有两种方法 一方法,这里用的tf.nn。可以用tf.layers代替。 p05 = tf.nn.avg_pool2d(conv10,ksize=[1,conv10.get_shape().as_list()[1],conv10.get_shape().as_list()[1],1],strides=[1,1,1,1],padding=VALID',...
  • 全局平均池化能否完美代替全连接? 参考链接:https://www.cnblogs.com/hutao722/p/10008581.html 一.什么是全局平均池化?    全局平均池化(GAP)通过池化操作把多维矩阵转化为特征向量,以顶替全连接(FC)。 ...
  • 下面举个例子,假如最后的一的数据是10个6*6的特征图,global average pooling是将每一张特征图计算所有像素点的均值,输出一个数据值。 即对于每一的6x6=36个像素点,计算这36个像素点的均值(最大值),由于...
  • 综述:最大池化,平均池化,全局最大池化和全局平均池化?区别原来是这样
  • 全局平均池化(GAP)代替全连接

    千次阅读 2020-09-03 14:52:10
    参考博文: https://blog.csdn.net/u012426298/article/details/81813963 https://blog.csdn.net/oppo62258801/article/details/77930246
  • 全局平均池化(Global Average Pooling)

    万次阅读 多人点赞 2019-02-12 17:22:13
    出处:Lin M, Chen Q, Yan S. Network in network[J]....目的:替代全连接 效果:减少参数数量,减少计算量,减少过拟合 思路:如下图所示。假设最终分成10类,则最后卷积层应该包含10个滤波器(即输...
  • 全局平均平均池化就是对最后一卷积的特征图,每个通道求整个特征图的均值。如下图所示: 然后再接一全连接,因为全局池化后的值相当于一像素,所以最后的全连接其实就成了一个加权相加的操作。这种结构比起直接...
  • AlexNet和VGG模型最后都是有三个全连接(FC),而Inception_v1用全局平均池化的方法代替全连接融合学到的深度特征,这种方法可以显著提升在小样本情况下模型的预测分类能力!只有一个分类的全连接(我是二...
  • 版权声明:本文为CSDN博主「qyhyzard」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 ... 利用现有的pooling API实现全局平均池化的效果。...也就是说,全局平均池化...
  • 主要是用来解决全连接的问题,其主要是是将最后一的特征图进行整张图的一个均值池化,形成一个特征点,将这些特征点组成最后的特征向量 进行softmax中进行计算。举个栗子,假如,最后的一的数据是1000个224*224...
  • 假设最终分成10类,则最后卷积层应该包含10个滤波器(即输出10个特征图),然后按照全局池化平均定义,分别对每个特征图,累加所有像素值并求平均,最后得到10个数值,将这10个数值输入到softmax中,得到10个概率值...
  • 1.ResNet直接使用stride=2的卷积做下采样,并且用global average pool替换了全连接。 GAP的真正意义是:对整个网路在结构上做正则化防止过拟合。但是值得我们注意的是,使用gap可能会造成收敛速度减慢。用一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,870
精华内容 5,148
关键字:

全局平均池化层