【计算机视觉】Pooling层的作用以及如何进行反向传播

news/2024/11/22 19:09:34/

问题

CNN网络在反向传播中需要逐层向前求梯度,然而pooling层没有可学习的参数,那它是如何进行反向传播的呢?

此外,CNN中为什么要加pooling层,它的作用是什么?

Pooling层

CNN一般采用average pooling或max pooling来进行池化操作,而池化操作会改变feature map的大小,例如大小为64×64的feature map使用2×2的步长池化后,feature map大小为32×32。因此,这会使得在反向传播中,pooling层的梯度无法与前一层相对应。

那怎么解决这个问题呢?其实也很简单,可以理解为就是pooling操作的一个逆过程,把一个像素的梯度传递给4个像素,保证传递的loss(或梯度)总和不变。下面分别来看average pooling和max pooling的反向传播操作过程。

average pooling

average pooling在前向传播中,就是把一个patch中的值取平均传递给下一层的一个像素。因此,在反向传播中,就是把某个像素的值平均分成 n 份分配给上一层。(!!注意这里是分成 n 份,而不是将该元素的值复制 n 份,不然会使得loss之和变为原来的 n 倍,造成梯度爆炸。)


http://www.ppmy.cn/news/11238.html

相关文章

Esp8266+TFT太空人天气时钟

开源项目,只对动手能力有要求,有现成程序 b站演示视频: https://www.bilibili.com/video/BV1ND4y1W7oS/?spm_id_from333.999.0.0 效果图 模块和接线方法 使用ESP8266-12F模块,4M空间。OLED使用1.3寸IPS 240*240点阵彩屏,ST7789…

接口协议之抓包分析 TCP 协议

TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。环境准备对接口测试工具进行分类,可以如下几类:网络嗅探工具:tcpdump,wireshark代理工具:fiddler,charles&#xf…

盘点| 能够实现小程序开发提效的框架/工具有这些

近年来,为了研发效率的提升,技术高频革新,开发者们纷纷表示:“好是好,就是快学不动了!”。开发者们在不断学习新语言、框架、工具等内容的同时,也在担心所学是否真正有用。而小程序其实能够帮助…

Elasticsearch:运用 Go 语言实现 Elasticsearch 搜索 - 8.x

在我之前的文章 “Elasticsearch:Go 客户端简介 - 8.x”,我对 Elasticsearch golang 客户端做了一个简单的介绍。在今天的这篇文章中,我将详细介绍如何使用这个客户端来一步一步地连接到 Elasticsearch,进而创建索引,搜…

杰卡德相似度(Jaccard)详解及在UserCF中的应用

1、杰卡德相似度(Jaccard) 这个是衡量两个集合的相似度一种指标。 两个集合A和B的交集元素在A,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)表示 另一种表示的方法: jaccard系数衡量维度相似性 jaccard系数很…

Java调用WebService接口之利用hutool工具包实现

最近要对接金蝶财务系统,对方提供了一个webService接口。而且测试接口地址还是内网的,每改一处代码都要部署堡垒机去测试,光是一个登录接口就花了我两天时间很是无语(主要是接口文档地址不会看) 接口的地址大就是这种…

计算机专业实训报告总结

在日新月异的计算机行业里,计算机应用专业的学生参加实习是有着极其重要的意义的。今天给你介绍的是计算机专业实训报告总结,希望对大家有所帮助。 随着计算机技术的发展,在 Inter 飞速发展的今天,互联网成为人们快速获取、发布和…

Java基础知识复习

文章目录复习1. Java编译和运行2. Java运行环境3. Java注释4. Java中的打印5. 数据类型整形浮点型字符类型字节类型布尔类型数据类型转换强制类型转换隐式类型转换小结6. 变量命名规范7. 运算符算数运算符逻辑运算符移位运算符关系运算符8. switch9. 方法方法的重载可变参数变程…