全局平均池化


一、作用和优点

首次提出全局平均池化概念的论文是:Network In Network, 作用和优点都讲的很清楚。
在这里插入图片描述:
在这里插入图片描述

  1. 作用:
    如果要预测K个类别,在卷积特征抽取部分的最后一层卷积层,就会生成K个特征图,然后通过全局平均池化就可以得到 K个1×1的特征图,将这些1×1的特征图输入到softmax layer之后,每一个输出结果代表着这K个类别的概率(或置信度 confidence),起到取代全连接层的效果。
  2. 优点:
    - 和全连接层相比,使用全局平均池化技术,对于建立特征图和类别之间的关系,是一种更朴素的卷积结构选择。
    - 全局平均池化层不需要参数,避免在该层产生过拟合。
    - 全局平均池化对空间信息进行求和,对输入的空间变化的鲁棒性更强。

二、Tensorflow实现

有两种方法:

一方法,这里用的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',name='GAP')

二方法

 p05 = tf.reduce_mean(conv10, [1, 2], keep_dims=True, name='GAP')

我更喜欢第一种,在量化模型时候,第二种可能会报错。不去深究原因,只能说tf某些东西做的还不成熟,比如pruning模块里面。


参考文献

[1]tensorflow 实现全局平均池化
[2]pytorch 学习 | 全局平均池化 global average pooling 实现 和作用优点解析
[3]全局平均池化(Global Average Pooling)
[4]Network In Network

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值