0.GAP是什么
GAP就是global average pooling,全局平均池化。
1.GAP的用途
替换掉密集的全连接层,减小参数量,减小模型大小,同时防止过拟合
2.GAP工作原理
gap的工作原理在众多网络优化算法中算是好理解的,一张图看懂。
2.0浅析GAP工作原理
图源:
https://www.jianshu.com/p/510072fc9c62
“global pooling”就是pooling的 滑窗size 和整张feature map的size一样大。这样,每个 W×H×C的feature map输入就会被转化为 1×1×C输出。
说白了,就是FC层之前的最后一张feature map里,每个通道只 “浓缩” 出一个值就行了。浓缩的方式分为取最大(global max pooling)和取平均(global average pooling)两种,GAP就是后者,在每个图上取所有元素的平均。
2.1.不采用GAP可能出现的问题
B站这个视频讲的比较直观,以下截图出自于此:
https://www.bilibili.com/video/av90135326/
如果采用一堆全连接层加在conv和pooling屁股后面是这样的:
缺点:
(1)模型的参数量很大,很难移植到受内存约束的应用场景上(FPGA,树