全局平均池化(Global Average Pooling)

这篇具有很好参考价值的文章主要介绍了全局平均池化(Global Average Pooling)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近看论文,看到了全局平均池化,之间见过这东西,但是没有仔细了解,今天学习一下,并记录下来,方便以后查阅。

概念概述

出处:Lin M, Chen Q, Yan S. Network in network[J]. arXiv preprint arXiv:1312.4400, 2013.

定义:将特征图所有像素值相加求平局,得到一个数值,即用该数值表示对应特征图。

目的:替代全连接层

效果:减少参数数量,减少计算量,减少过拟合

思路:如下图所示。假设最终分成10类,则最后卷积层应该包含10个滤波器(即输出10个特征图),然后按照全局池化平均定义,分别对每个特征图,累加所有像素值并求平均,最后得到10个数值,将这10个数值输入到softmax层中,得到10个概率值,即这张图片属于每个类别的概率值。

全局平均池化,深度学习,深度学习,人工智能
全局平均池化,深度学习,深度学习,人工智能

原文这样描述全局平均值池化:

全局平均池化,深度学习,深度学习,人工智能

作用:如果要预测K个类别,在卷积特征抽取部分的最后一层卷积层,就会生成K个特征图,然后通过全局平均池化就可以得到 K个1×1的特征图,将这些1×1的特征图输入到softmax layer之后,每一个输出结果代表着这K个类别的概率(或置信度 confidence),起到取代全连接层的效果。
优点

  • 和全连接层相比,使用全局平均池化技术,对于建立特征图和类别之间的关系,是一种更朴素的卷积结构选择。
  • 全局平均池化层不需要参数,避免在该层产生过拟合。
  • 全局平均池化对空间信息进行求和,对输入的空间变化的鲁棒性更强。

torch实现

import torch
a = torch.rand([4,3,4,4])
a.size()

输出:

torch.Size([4, 3, 4, 4])
b = torch.nn.functional.adaptive_avg_pool2d(a, (1,1))  # 自适应池化,指定池化输出尺寸为 1 * 1
b.size()

输出:

torch.Size([4, 3, 1, 1])

参考资料

Global Average Pooling Layers for Object Localization

Comparison of the fully connected layer and global average pooling layer.

全局平均池化(Global Average Pooling)

pytorch 学习 | 全局平均池化 global average pooling 实现 和作用优点解析文章来源地址https://www.toymoban.com/news/detail-793777.html

到了这里,关于全局平均池化(Global Average Pooling)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【人工智能】— 深度神经网络、卷积神经网络(CNN)、多卷积核、全连接、池化

    Pre-training + Fine-tuning Pre-training(预训练) : 监督逐层训练是多隐层网络训练的有效手段, 每次训练一层隐层结点, 训练时将上一层隐层结点的输出作为输入, 而本层隐结点的输出作为下一层隐结点的输入, 这称为”预训练”. Fine-tuning(微调) : 在预训练全部完成后, 再对整个网络进行

    2024年02月10日
    浏览(44)
  • 如何解决linux系统平均负载高(load average)

    问题现象 两个案例都是:系统平均负载高,但cpu,内存,磁盘io都正常 什么是系统平均负载 平均负载是指单位时间内,系统处于 可运行状态 和 不可中断状态 的平均进程数,也就是 平均活跃进程数 ,它和CPU使用率并没有直接关系。 可运行状态的进程,是指正在使用CPU或者

    2023年04月08日
    浏览(40)
  • MATLAB知识点:mean : 计算平均值(mean/average value)

    ​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自第3章 3.4.1节 假设向量 ,即向量y有n个元素,那么它的平均值等于. 在MATLAB中,mean函数可以用来计算

    2024年04月09日
    浏览(77)
  • 【深度学习】神经网络和深度学习--卷积和池化的作用

    深度学习通常指训练大型深度的神经网络的过程。 与传统的神经网络模型相比,深度学习模型在结构上与之非常相似; 不同的是,深度学习模型的“深度”更大,“深度”的体现就是神经网络层数多,神经网络每一层的结点数多。 本章介绍两种深度神经网络——卷积神经网

    2024年02月16日
    浏览(50)
  • 第二章第14节:EXCEL :计算Excel求平均函数函数AVERAGE 、AVERAGEIF、AVERAGEIFS函数

    它们分别是AVERAGE 、AVERAGEIF、AVERAGEIFS函数, 它们的区别是:AVERAGE是直接求平均值; AVERAGEIF单条件求平均值; AVERAGEIFS多个条件求平均值。 求出所有参数的算术平均值。如果某个单元格是空的或包含文本,它将不用于计算平均数。如果单元格数值为0,将参于计算平均数 。 【

    2024年01月23日
    浏览(48)
  • linux top命令中 cpu 利用率/mem 使用率与load average平均负载计算方式

    top 命令是 Linux 上一个常用的系统监控工具,它经常用来监控 Linux 的系统状态,是常用的性能分析工具,能够显示较全的系统资源信息,包括系统负载,CPU 利用分布情况,内存使用,进程资源占用情况等。 如下示例: 这里主要看进程的 CPU%, MEM% 和 load averge 字段。 该字段指

    2024年02月03日
    浏览(53)
  • 机器学习&&深度学习——注意力提示、注意力池化(核回归)

    👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习深度学习——常见循环神经网络结构(RNN、LSTM、GRU) 📚订阅专栏:机器学习深度学习 希望文章对你们有所帮助 之前讲过的CNN和RNN模型,容易发现的一个点是,他们并没有刻意的、主观的

    2024年02月13日
    浏览(40)
  • 深度学习基本理论下篇:(梯度下降/卷积/池化/归一化/AlexNet/归一化/Dropout/卷积核)、深度学习面试

    深度学习面试必备 1:(MLP/激活函数/softmax/损失函数/梯度/梯度下降/学习率/反向传播/深度学习面试 深度学习面试必备 2:(梯度下降/卷积/池化/归一化/AlexNet/归一化/Dropout/卷积核/深度学习面试 深度学习面试必备 3 :物体检测(Anchor base/NMS/softmax/损失函数/BCE/CE/zip) Momentum、

    2024年02月12日
    浏览(49)
  • 深度学习记录--指数加权平均

    如何对杂乱的数据进行拟合? 通过指数加权平均可以把数据图近似拟合成一条曲线 公式: 其中表示第t个平均数,表示第t-1个平均数,表示第t个数据,表示变化参数 下图为拟合结果() 当参数变化时,拟合结果也会发生变化 例子:  时,近似取10个数据平均值(红色曲线)  时

    2024年01月23日
    浏览(33)
  • Pytorch平均池化nn.AvgPool2d()使用记录

    【pytorch官方文档】 :https://pytorch.org/docs/stable/generated/torch.nn.AvgPool2d.html?highlight=avgpool2d#torch.nn.AvgPool2d 在由多通道组成的输入特征中进行2D平均池化计算 假设输入特征为S,输出特征为D 情况一 ceil_mode=False, count_include_pad=True(计算时包含零填充) 计算过程: 输出形状= floor[(3 - 3

    2023年04月19日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包