当前位置: 首页 > news >正文

全局池化(Global Pooling)

普通池化操作看这里:最大池化(Max Pooling)和平均池化(Average Pooling)

全局池化(Global Pooling) 是一种特殊的池化方法,主要包括:

  • 全局平均池化(Global Average Pooling, GAP)
  • 全局最大池化(Global Max Pooling, GMP)

在这里插入图片描述

在经过全局池化后,特征图形状会从[b,c,h,w]变为[b,c,1,1]

1. 全局平均池化(Global Average Pooling, GAP)

与普通的池化操作不同,GAP不再使用局部窗口,而是直接对整个特征图的空间维度进行池化,使每个通道输出一个值。 这种操作可以将特征图从三维(height x width x channels)转化为一维向量(1 x 1 x channels),便于后续的全连接层进行分类或其他任务。

在这里插入图片描述

计算方式

如果特征图的某个通道为 3x3,数值如下:

1  2  3
4  5  6
7  8  9

那么经过 GAP 操作后,这个通道的输出就是 (1+2+3+4+5+6+7+8+9) / 9 = 5

2. 全局最大池化(Global Max Pooling, GMP)

全局最大池化会在每个通道中取最大值,作为该通道的特征。

同样,对于形状 [batch_size, channels, height, width] 的特征图,经过 GMP 后的输出形状为 [batch_size, channels, 1, 1][batch_size, channels]

计算方式:

对于一个特征图通道的 3x3 窗口:

1  2  3
4  5  6
7  8  9

GMP 操作会输出 9,即这个窗口中的最大值。

3. 全局池化的作用和优势

  • 减少参数:相比使用全连接层,全局池化能极大地减少参数数量,使模型更加轻量,减少过拟合风险。

  • 位置不变性全局池化关注整个通道的整体特征,而不局限于特定位置,有利于提取全局特征。

  • 避免过拟合:由于没有全连接层带来的大量参数,全局池化特别适合处理小数据集,提高模型泛化能力。

  • 减少计算量:特别适合在移动设备上进行轻量级模型的部署。

4. 全局池化在 CNN 中的应用

在 CNN 中,全局池化常被用于分类任务的最后一层。在提取完空间特征之后,利用全局池化生成每个通道的全局特征,再接一个全连接层或直接用于分类。


http://www.mrgr.cn/news/68243.html

相关文章:

  • 深度学习基础练习:从pytorch API出发复现LSTM与LSTMP
  • 跨域问题以及使用vscode的LiveServer插件跨域访问
  • Ethernet 系列(8)-- 基础学习::ARP
  • Vector和ArrayList
  • 舜宇光学科技入职测评:北森商业推理40分钟28题真题解析、网盘资料下载、答题技巧
  • 吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.11
  • css基础:底部固定,导航栏浮动在顶部
  • MyBatis项目的创建和增删查改操作
  • Python中的多线程效率分析
  • metrics
  • 数据库数据恢复—通过拼接数据库碎片恢复 SQL Server 数据库
  • 计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
  • spark-本地模式的配置和简单使用
  • MQTT应用实例:Air780E模组AT指令的实践!
  • vue2 关闭 Uncaught error 的全屏提示
  • LabVIEW实验室液压制动系统
  • 【Unity】ScriptableObject的应用和3D物体跟随鼠标移动:鼠标放置物体在场景中
  • 无惧任天堂的法律威胁:Switch模拟器Ryujinx v1.2.72版发布
  • C#编程基础:静态成员与实例成员的区别及访问方式
  • 27系统日志查看
  • 【含开题报告+项目源码+免费部署】基于SSM的医院挂号住院系统的设计与实现
  • nginx中location模块中的root指令和alias指令区别
  • MQTT从入门到精通之 MQTT 客户端编程
  • LabVIEW程序员在工作中常见的挑战
  • 华为Mate70前瞻,鸿蒙NEXT正式版蓄势待发,国产系统迎来关键一战
  • 【CentOS】中的Firewalld:全面介绍与实战应用(上)