“global pooling”就是pooling的 滑窗size 和整张feature map的size一样大。这样,每个 W×H×C 的feature map输入就会被转化为 1×1×C输出。因此,其实也等同于每个位置权重都为 1/(W×H)的FC层操作。也等同于输入一个tensor,输出一个vector。
“global pooling”在滑窗内的具体pooling方法可以是任意的,所以就会被细分为“global avg pooling”、“global max pooling”等。
由于传统的pooling太过粗暴,操作复杂,目前业界已经逐渐放弃了对pooling的使用。替代方案 如下:
1> 采用 Global Pooling 以简化计算;
2> 增大conv的 stride 以免去附加的pooling操作。
1、全局平均池化
全局平均池化(Global average Pooling)由 M. Lin, Q. Chen, and S. Yan. Network in network. Interna-tional Conference on Learning Representations, 2014.提出来。
所谓的全局就是针对常用的平均池化而言,平均池化会有它的filter size,比如 2 * 2,全局平均池化就没有size,它针对的是
整张feature map
。
解释一下上图:
最后的一层的数据是4个4*4的特征图,global average pooling是将每一张特征图计算所有像素点的均值,输出一个数据值,这样4 个特征图就会输出4个数据点,将这些数据点组成一个1*4的向量的话,就成为一个特征向量,就可以送入到softmax的分类中计算了。
这个过程中仅在计算平均数时涉及乘法,全连接层中的乘法运算就相对未使用全局平均池化减少了很多。
2、全局最大池化
与全局平均池化类似,把均值运算改为取最大值的运算即可。
“
global
pooling
”就是
pooling
的 滑窗size 和整张feature map的size一样大。这样,每个 W × H × C 的feature map输入就会被转化为 1 × 1 × C 1\times 1\times C1×1×C 输出。
参考:深度学习
:
global
pooling
(
全局池化
)
_JNingWei的博客-CSDN博客_
全局池化
基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库)、
Caffe
(深度学习库)、Dlib(机器学习库)、libfacedetection(人脸检测库)、cudnn(gpu加速库)。
用到了一个开源的深度学习模型:VGG model。
最终的效果是很赞的,识别一张人脸的速度是0.039秒,而且最重要的是:精度高啊!!!
CPU:intel i5-4590
reference:https
:
//blog.csdn.net/williamyi96/article/details/77530995
Golbal Average
Pooling
第一次出现在论文Network in Network中,后来又很多工作延续使用了GAP,实验证明:
Global
Average
Pooling
确实可以提高CNN效果。
Traditional
Pooling
Me...
参考:https
:
//blog.csdn.net/JNingWei/article/details/80064451(
全局池化
)
https
:
//blog.csdn.net/williamyi96/article/details/77530995(
Global
Average
Pooling
对全连接层的可替代性分析)
https
:
//blog.c...
https
:
//stats.stackexchange.com/questions/257321/what-is-
global
-max-
pooling
-layer-and-what-is-its-advantage-over-max
pooling
-layer
总的来说,
global
pool 相当于将kernel的尺寸设置为了和input size相同,因此,经过
Global
Pool,...
全局池化
层:
global
average
pooling
作用:替代全连接层,减少参数量,主要是用来解决全连接的问题,其主要是是将最后一层的特征图进行整张图的一个均值池化,形成一个特征点,将这些特征点组成最后的特征向量,进行softmax中进行计算。