【深度学习】global pooling (全局池化)

今天看SPPNet论文时,看到“global pooling”一词,不是很明白是啥概念。上网查了一下定义,在StackOverflow
上找到了答案:
这里写图片描述

具体回答如下:
这里写图片描述

说白了,“global pooling”就是pooling的 滑窗size 和整张feature map的size一样大。这样,每个 W × H × C W\times H\times C W×H×C 的feature map输入就会被转化为 1 × 1 × C 1\times 1\times C 1×1×C 输出。因此,其实也 等同于每个位置权重都为 1 / ( W × H ) 1/(W\times H) 1/(W×H) 的 FC层操作

等同于输入一个tensor,输出一根vector。

“global pooling”在滑窗内的具体pooling方法可以是任意的,所以就会被细分为“global avg pooling”、“global max pooling”等。

由于传统的pooling太过粗暴,操作复杂,目前业界已经逐渐放弃了对pooling的使用。替代方案 如下:

  • 采用 Global Pooling 以简化计算;

  • 增大conv的 stride 以免去附加的pooling操作。

tf实现

由于输入tensor的shape为[n, h, w, c],那么直接对第1、2维(h、w)用tf.reduce_mean求均值即可:

net = tf.reduce_mean(net, [1, 2], name='global_pool', keep_dims=True)

[1] What does global pooling do?
[2] Global average Pooling
[3] How do I do global average pooling in TensorFlow?
[4] tf.reduce_mean实现global average pooling(全局均值池化)

  • 39
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值