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

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

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

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

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

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. 总结

概念 原理 比喻

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

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

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

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

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

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

http://www.cnnetsun.cn/news/64357.html

相关文章:

  • 【商城系统】
  • 商城系统的开发语言选择
  • 电脑配置路由,如何选择最适合的方案?
  • 哪些企业适合适用黄金专线宽带?
  • 计算机毕业设计springboot基于spring+vue的在线考试系统 基于 Spring Boot 和 Vue.js 的在线考试平台设计与实现 Spring Boot + Vue 技术栈构建的在线
  • Docker网络【20251215】003篇
  • 一张学术海报10分钟搞定:PPT手把手攻略+97套免抠素材随领
  • 【论文辅导 | 一对一辅导】大小论文双通关:开题报告+SCI投稿一次讲透,导师没点破的门道我们拆解给你
  • Flink学习笔记:多流 Join
  • AI产品经理必读:构建智能交互系统的终极指南!
  • 谷歌浏览器性能面板使用指南
  • 警惕绿色积分陷阱!一分钟揭秘消费骗局
  • 13、CentOS网络管理全攻略
  • 技术实践:用大模型平台重构医疗数据分析Pipeline
  • 智元AGIBOT荣登具身智能机器人技术研发排行榜TOP1
  • Gitee vs GitHub 2025深度评测:国产代码托管平台的崛起与超越
  • JVM 安全与沙箱深度解析
  • t-SNE快速降维算法详解与实现
  • Python编程入门从零开始掌握基础语法一
  • 20、BusyBox:嵌入式系统的强大工具
  • python 生成psd文件
  • 25、Linux内核调试全攻略:挑战与解决方案
  • 30、Linux移植与实时性:从定制平台到实时系统的深入解析
  • 【界面案例】火语言RPA读取Excel文件,循环写入界面表格
  • 【JAVA进阶】鸿蒙开发与SpringBoot深度融合:从接口设计到服务部署全解析
  • [C#][winform]基于yolov11的水下目标检测系统C#源码+onnx模型+评估指标曲线+精美GUI界面
  • 【睿擎派】云端一体,多种通信协议构建机械臂运动控制系统
  • 4.1用户空间RTOSAPI
  • 11、嵌入式Linux开发:内核日志存储、追踪系统与设备树管理
  • 17、Yocto项目软件层与应用开发全解析