news 2026/6/8 2:48:17

计算机视觉 第一周:卷积基础知识(四)池化操作与卷积中的反向传播

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机视觉 第一周:卷积基础知识(四)池化操作与卷积中的反向传播

周为第四课的第一周内容,这一课所有内容的中心只有一个:计算机视觉。应用在深度学习里,就是专门用来进行图学习的模型和技术,是在之前全连接基础上的“特化”,也是相关专业里的一个重要研究大类。

这一整节课都存在大量需要反复理解的内容和机器学习、数学基础。 因此我会尽可能的补足基础,用比喻和实例来演示每个部分,从而帮助理解。

本篇的内容关于池化操作与卷积中的反向传播,是对本周内容的最后补完,本篇之后,我们就可以对卷积神经网络的基本组件与传播过程有一个较完整的认知。

1. 池化层(pooling layer)

除去卷积层和全连接层,池化层也是卷积神经网络的一大基石,不要被这个名字吓到,它的原理反而是最简单的。

常见的池化分为两种:最大池化和平均池化。

使用方法并不难,我们直接摆出来:

最大池化:不计算,直接使用窗口最大值作为结果的卷积操作。

平均池化:用窗口所有像素的平均值作为结果的卷积操作。

先来看最大池化,我们通过课程里的例子补充一些细节:

image.png

现在我们知道了最大池化怎么用了,问题紧接着就来了,这个操作是用来干嘛的? 我们继续:

image.png

你可能发现了一个 bug :那万一重要特征反而是被一堆大像素包围的小像素呢?这样不是反而把最重要的特征扔了吗?

平均池化可以缓解这种现象:

image.png

实际上,池化最大的作用就是在卷积神经网络中减少特征图的空间尺寸来降低计算复杂度,同时保留特征信息。

而对于怎么池化更好更合适,还是要在具体任务中不断尝试。

此外,对于输出特征图的大小计算,卷积的输出公式在这里仍然适用:

输出尺寸

注:向下取整

而对于多通道的池化处理,也和卷积核的逻辑相同,确保和输入图像的通道数相等。

最后强调一点:你会发现,池化层只有人工设置的超参数,没有任何参与传播的参数,在其之后通常也不单独设置激活函数。

下面我们来看一个完整卷积神经网络的传播过程。

2. 卷积神经网络的反向传播

现在,我们先看一个加入了池化层的完整卷积网络,补充一些细节:

image.png

另外一点要强调的是,和全连接网络相通,就是尽量让激活数(每次应用激活函数的元素数量)保持较平稳的下降趋势。 避免出现”50000→1“这种断崖式下降。

现在我们就来看看这个网络的完整传播过程。

image.png

很显然,列举出传播过程后,问题紧接着就来了:当梯度到达卷积层的时候,我们是如何根据不确定数量的像素梯度更新确定数量的卷积核的呢?

我们详细展开一下标红部分:

image.png

了解了逆展平和池化层传递参数后,就来到了最关键的部分:卷积核和偏置如何根据有空间结构的梯度更新? 继续向下。

image.png

没错,因为输出特征图中的每一个像素都是由卷积核与输入图像的区域运算后再加上偏置得到的,那么就代表反向传播计算得到输出中每一个像素的梯度都和 9 个卷积核参数与 1个偏置常量相关。

知道了这个,如何更新就已经呼之欲出了:

image.png

不写复杂的公式,用一句话来概括就是:某个参数的最终梯度 = 它对所有受影响的输出像素的偏导数之和。

如果你忘了偏导和梯度的概念,他们第一次出现在这里:梯度下降法

这就是卷积层的反向传播过程,继续反向传播也是同样的道理。

最后,我们总结一下卷积层本身。

3.卷积层的特点

这一点的内容就更偏向理论了,相比全连接层,卷积层有两个突出的特点,我们称之为参数共享和稀疏连接。

来简单介绍一下,不涉及太多具体应用,就不详细展开了。

参数共享: 不同于全连接层对每个输入特征有单独的权重,卷积层的输入图像共享卷积核和偏置参数。 原因是卷积核的适用性,我们可以用边缘检测卷积核检测左上角的竖直边缘,也可以用同样的卷积核检测右下角的竖直边缘。

稀疏连接: 不同于全连接层的输出和每个输入都有关,卷积层输出特征图中的每个像素只和产生他的几个像素有关。 原因是图像的局部性,要找猫耳朵,只要看耳朵那一块就行了。

4. 总结

概念 原理 比喻

池化层(最大池化、平均池化) 通过窗口取最大值或平均值,减少特征图空间尺寸,降低计算量,同时保留关键特征;无参与训练的参数。 “把照片压缩成缩略图”:不用每个像素都看清,只保留轮廓和显著信息。

池化层的尺寸计算 与卷积相同使用

;通道数保持不变。 “裁剪图片”:窗口大小、步幅决定裁剪后的尺寸。

卷积层反向传播 输出每个像素的梯度都会对应卷积核全部参数;卷积核梯度是所有相关输出像素偏导的总和;偏置梯度是所有输出像素梯度的求和。 “每个菜被客人打了几分,后厨每个厨师要根据这些评分回溯自己哪一步影响了结果。”

参数共享 同一个卷积核扫描整个图像,因此所有位置使用同一组权重;大大减少参数量。 “同一个模具印图案”:不论纸放哪里,模具都是同一个。

稀疏连接 卷积核只与局部区域相乘,一个输出像素只依赖输入的一小块,而非整张图。 “你只需要看猫脸附近就能判断有没有耳朵,而不是看整张照片。”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 18:42:08

云服务器系统优化:释放算力潜能的关键举措

云服务器的性能不仅取决于硬件配置,更离不开系统层面的优化。在硬件配置日益同质化的今天,系统优化已成为云服务厂商提升核心竞争力的关键抓手。云服务器系统优化是一项贯穿硬件、操作系统、虚拟化层、应用层的全链路工作,通过对各层的协同优…

作者头像 李华
网站建设 2026/6/5 21:28:42

鸿蒙PC UI控件库 - Label 基础标签详解

视频演示地址: https://www.bilibili.com/video/BV1jomdBBE4H/ 📋 目录 概述特性快速开始API 参考使用示例主题配置最佳实践常见问题总结 概述 Label 是控件库中的基础标签组件,支持多种尺寸、颜色、图标等功能,适用于状态标…

作者头像 李华
网站建设 2026/6/7 8:03:34

分享一个vscode的todo插件(todo Tree 包含使用

TodoTree插件是一款高效的任务管理工具,用户可通过插件商店下载安装。该插件以树状结构展示文件列表,支持使用Ctrl/快捷键快速添加注释,输入"TODO"即可标记待办事项。安装后能直观查看和管理代码中的任务标记,提升开发效…

作者头像 李华
网站建设 2026/6/6 17:06:12

踩坑记:DBeaver连接GBase 8S时“编码转换失败”的终极解决

本文由真实问题排查过程整理,适用于使用 DBeaver 连接 GBase 8s 遇到 java.sql.SQLException: 数据库地点信息不匹配 的开发者。问题现象 在 DBeaver 中使用官方 JDBC 驱动连接 image_analysis_db 时,只要 SQL 中包含中文,例如: I…

作者头像 李华
网站建设 2026/6/5 21:16:13

Java反射机制:原理、应用与最佳实践

在Java开发中,反射机制是一项核心且强大的技术,它允许程序在运行时获取类的信息、操作对象的属性和方法,甚至动态创建对象。本文将从原理、应用场景到最佳实践,全面解析Java反射机制,帮助开发者灵活运用这一技术。一、…

作者头像 李华
网站建设 2026/6/4 3:02:48

ReAct+LangGraph:构建大模型智能体的完整指南(含代码示例)

简介 本文详细介绍了如何使用LangGraph框架构建ReAct智能体,分为硬编码和基于大语言模型两种实现方式。ReAct框架通过"推理行动"的循环流程,使智能体能思考并解决问题。LangGraph允许将智能体行为定义为"图"结构,支持复杂…

作者头像 李华