深度学习中的global averaging pooling 的认识和理解

概念出处

原文链接这个概念最开始来自于这篇论文。global averaging pooling简称为GAP,所以下文用GAP来代替,如果下文有解释不清楚或者有误的地方,还望指正。

深度学习中的global averaging pooling 的认识和理解_第1张图片

Connected Layer和GAP的联系

Connected Layer是CNN分类网络的重要组成部分,而且基本上全连接层之后会加上激活函数(activation function)进行分类,而且全连接层的作用是将最后一层卷积得到的feature map stretch变为向量,而且对这个向量进行降第维度,最终输入到激活函数,得到每个类别的得分。

首先对于CNN卷积神经网络大家可能有一个初步的了解,而且最后一层基本为全连接层,但是在这篇文章里面开始打算运用GAP来代替,原因如下

首先,connected layer 具有较多的参数,而且最后一层输出比较重要,使得整个模型过拟合的可能性较高
第二,GAP层没有参数用于优化,在一定程度上减少或避免了过拟合。
第三,GAP通过将feature map和分类问题中的类别之间进行对应,效果比Fully Connected Layer更好

global average pooling 与average pooling 的差别

主要区别是在pooling窗口区域大小,GAP对于整个feature map进行取平均,average pooling在feature map中的一个子区域取平均值。而且在这个子区域里面滑动。(这一点有点不理解滑动是什么意思)

GAP的意义和作用

  1. 对网络进行正则化处理,GAP层没有参数用于优化,在一定程度上减少或避免了过拟合
    2.== 对通道进行处理==,即为最后GAP输出的依旧跟Connected Layers一致,最后有几个分类,GAP最后全局池化的结果也为几个类别。而且直接赋予了每个channel的实际意义。
  2. GAP通过将feature map和分类问题中的类别之间进行对应,效果比Fully Connected Layer更好

参考

深度学习|Global Average Pooling
关于global average pooling理解和介绍

你可能感兴趣的:(深度学习,神经网络,人工智能)