Global Average Pooling对全连接层的可替代性分析
来源:互联网 发布:淘宝卖家花呗开通条件 编辑:程序博客网 时间:2024/06/15 10:02
在NIN(Network in Network) 这篇论文中有很多的思想让人受益匪浅,其中之一就是全局平均池化(Global Average Pooling) 对于全连接层的替代性分析。刚开始由于觉得之后的研究不需要NIN,因此就没去看论文,看了一下其他人的博客,发现关于其原因讲得并不清楚,只说是那么用的。后来实在是受不了了,看了看论文,而且找到了一个较好的讲解,现在算是完全弄懂了。
首先我们来看一下全连接层的缺点:
在AlexNet及其之前的大抵上所有的基于神经网络的机器学习算法都要在卷积层之后添加上全连接层来进行特征的向量化,此外出于神经网络黑盒子的考虑,有时设计几个全连接网络还可以提升卷积神经网络的分类性能,一度成为神经网络使用的标配。
但是,我们同时也注意到,全连接层有一个非常致命的弱点就是参数量过大,特别是与最后一个卷积层相连的全连接层。一方面增加了Training以及testing的计算量,降低了速度;另外一方面参数量过大容易过拟合。虽然使用了类似dropout等手段去处理,但是毕竟dropout是hyper-parameter, 不够优美也不好实践。
那么我们有没有办法将其替代呢?当然有,就是GAP(Global Average Pooling)。
我们要明确以下,全连接层将卷积层展开成向量之后不还是要针对每个feature map进行分类吗,GAP的思路就是将上述两个过程合二为一,一起做了。如图所示:
由此就可以比较直观地说明了。这两者合二为一的过程我们可以探索到GAP的真正意义是:对整个网路在结构上做正则化防止过拟合。其直接剔除了全连接层中黑箱的特征,直接赋予了每个channel实际的内别意义。
实践证明其效果还是比较可观的,同时GAP可以实现任意图像大小的输入。但是值得我们注意的是,使用gap可能会造成收敛速度减慢。
参考资料:
Network In Network
Global average pooling
- Global Average Pooling对全连接层的可替代性分析
- Global average Pooling
- global average pooling
- Global average Pooling
- Global average Pooling
- 深度卷积网络中的Global average Pooling 层
- tensorflow学习:池化层(pooling)和全连接层(dense)
- 对全连接层的深入理解
- 深度学习名词3:global averagepooling&average pooling
- 为什么使用卷积层替代CNN末尾的全连接层
- 为什么使用卷积层替代CNN末尾的全连接层
- 图像分类中的max pooling和average pooling是对特征的什么来操作的,结果是什么?
- 连接池分析 pooling
- 全连接层的作用
- 全连接层的作用
- 全连接层的作用
- 全连接层的实现
- 全连接层的作用
- NLP 科研资料推荐
- 如何像阿里一样开启办公“轻”时代?详解阿里云企业办公解决方案
- HttpClientPOST
- 把数组排成最小的数
- 添加环境变量
- Global Average Pooling对全连接层的可替代性分析
- 一些好的学术文章链接
- spring MVC (3) 自定义视图
- jdk install
- Flink中slot的一点理解
- 79. Word Search
- 在Linux环境下部署Hadoop2.4.1伪分布式
- Java集合系列19之ConcurrentHashMap
- ubuntu源码安装tensorflow