为什么引入Global Average Pooling

首先,动机当然是为了 降低模型的参数量,尤其是模型到了后面的输出层这里。

 首先我们来看一下全连接层的缺点:

在AlexNet及其之前的大抵上所有的基于神经网络的机器学习算法都要在卷积层之后添加上全连接层来进行特征的向量化,此外出于神经网络黑盒子的考虑,有时设计几个全连接网络还可以提升卷积神经网络的分类性能,一度成为神经网络使用的标配。

但是,我们同时也注意到,全连接层有一个非常致命的弱点就是参数量过大,特别是与最后一个卷积层相连的全连接层。一方面增加了Training以及testing的计算量,降低了速度;另外一方面参数量过大容易过拟合。虽然使用了类似dropout等手段去处理,但是毕竟dropout是hyper-parameter, 不够优美也不好实践。

那么我们有没有办法将其替代呢?当然有,就是GAP(Global Average Pooling)。

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

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

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

参考资料:
Network In Network

深度学习基础系列(十)| Global Average Pooling是否可以替代全连接层? - 可可心心 - 博客园 

(13条消息)全局平均池化(global-average-pooling)_人工智能_木盏-CSDN博客
https://blog.csdn.net/leviopku/article/details/82805368

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往事如yan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值