news 2026/6/6 23:52:46

了解卷积反向传播算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
了解卷积反向传播算法

目录

一、前言

二、为什么需要反向传播

三、卷积层训练的本质

四、卷积前向传播回顾

五、反向传播要解决什么问题

六、卷积反向传播核心思想

七、理解卷积核梯度

八、卷积核更新过程

九、输入层梯度如何计算

十、为什么卷积核要旋转180度

十一、多通道卷积反向传播

十二、多卷积核梯度计算

十三、池化层如何反向传播

十四、平均池化反向传播

十五、卷积反向传播完整流程

十六、PyTorch自动求导示例

十七、验证参数更新

十八、为什么CNN能够自动学习边缘检测

十九、面试高频问题

卷积层中的参数是什么?

卷积核如何更新?

卷积反向传播核心是什么?

输入梯度如何计算?

最大池化如何回传梯度?

为什么需要反向传播?

二十、总结


在前面的文章中,我们已经学习了:

感知器 神经网络 梯度下降 反向传播算法 二维卷积 多通道卷积 池化层

我们知道:

CNN之所以能够识别图像 本质上是因为能够不断学习卷积核参数

那么问题来了:

卷积核中的参数 究竟是如何更新的? 卷积层如何参与反向传播? 卷积神经网络如何知道卷积核该往哪个方向调整?

答案就是:

卷积反向传播(Convolution Backpropagation)

它是整个 CNN 训练过程的核心。

本文将系统讲解:

卷积层训练过程 卷积前向传播 卷积反向传播原理 梯度如何计算 卷积核如何更新 多通道卷积梯度计算 PyTorch自动求导实现

二、为什么需要反向传播

神经网络训练过程:

目标:

让预测结果 越来越接近真实值

例如:

真实标签: 1

模型预测:

0.3

误差:

0.7

此时需要:

调整卷积核参数

让预测结果变得更准确。


三、卷积层训练的本质

假设输入图像:

1 2 3 4 5 6 7 8 9

卷积核:

1 0 0 1

前向传播:

输入矩阵 × 卷积核 ↓ 特征图

此时:

卷积核中的数字 实际上就是模型参数

例如:

1 0 0 1

训练过程就是不断调整:

卷积核权重

使损失函数最小。


四、卷积前向传播回顾

输入:

1 2 3 4 5 6 7 8 9

卷积核:

1 0 0 1

第一次卷积:

1×1 + 2×0 +4×0 +5×1

结果:

6

最终得到:

6 8 12 14

这就是:

前向传播

五、反向传播要解决什么问题

训练时我们已经知道:

损失函数 Loss

例如:

Loss = 10

此时需要计算:

Loss 对卷积核参数的影响

即:

∂Loss/∂W

含义:

卷积核参数变化一点点 损失会变化多少

这就是:

梯度

六、卷积反向传播核心思想

反向传播核心:

链式法则(Chain Rule)

公式:

∂Loss/∂W = ∂Loss/∂Output × ∂Output/∂W

理解:

损失对输出的影响 × 输出对权重的影响

即可得到:

损失对权重的影响

七、理解卷积核梯度

假设:

输入:

1 2 3 4

卷积核:

w1 w2 w3 w4

卷积结果:

Output = 1*w1 +2*w2 +3*w3 +4*w4

如果:

Loss对Output梯度 = 2

则:

∂Loss/∂w1 = 2 × 1 =2

同理:

∂Loss/∂w2 = 2 × 2 =4

∂Loss/∂w3 = 2 × 3 =6

∂Loss/∂w4 = 2 × 4 =8

因此:

梯度矩阵 = 2 4 6 8

可以发现:

输入值越大 产生的梯度越大

八、卷积核更新过程

梯度已经得到:

2 4 6 8

学习率:

0.01

更新公式:

Wnew = Wold - LearningRate × Gradient

例如:

1 - 0.01×2 = 0.98

更新后:

卷积核变成 0.98 ...

如此不断迭代。


九、输入层梯度如何计算

不仅卷积核需要梯度。

输入也需要梯度。

原因:

上一层网络 还需要继续反向传播

计算方式:

输入梯度 = 输出梯度 与旋转180度卷积核再次卷积

示意:

flowchart LR 输出梯度 --> 旋转卷积核 --> 输入梯度

因此:

卷积既出现在前向传播 也出现在反向传播

十、为什么卷积核要旋转180度

假设卷积核:

1 2 3 4

旋转后:

4 3 2 1

这是卷积数学定义决定的。

在推导过程中:

输入梯度 = 误差图 与翻转卷积核卷积

因此:

反向传播时 需要卷积核翻转

十一、多通道卷积反向传播

前面讲过:

RGB图片:

R G B

对应:

3个输入通道

卷积核:

3 × 3 × 3

结构:

反向传播时:

每个通道分别计算梯度 最后累加

十二、多卷积核梯度计算

假设:

16个卷积核

则:

产生16张特征图

反向传播时:

16张误差图

分别计算:

每个卷积核梯度

因此:

卷积核越多 计算量越大

十三、池化层如何反向传播

最大池化:

1 3 5 6

输出:

6

反向传播时:

梯度只传给最大值位置

即:

0 0 0 1

误差:

仅回传给6

十四、平均池化反向传播

输入:

1 3 5 7

输出:

4

反向传播:

梯度平均分配

例如:

误差 = 4

则:

1 1 1 1

每个位置获得:

4 / 4 =1

十五、卷积反向传播完整流程

整个训练过程:

循环执行:

前向传播 ↓ 计算损失 ↓ 反向传播 ↓ 更新参数

最终收敛。


十六、PyTorch自动求导示例

创建卷积层:

import torch import torch.nn as nn conv = nn.Conv2d( in_channels=1, out_channels=1, kernel_size=3 )

输入:

x = torch.randn( 1, 1, 5, 5, requires_grad=True )

前向传播:

y = conv(x) loss = y.sum()

反向传播:

loss.backward()

查看卷积核梯度:

print(conv.weight.grad)

输出:

卷积核梯度矩阵

十七、验证参数更新

优化器:

optimizer = torch.optim.SGD( conv.parameters(), lr=0.01 )

训练:

optimizer.zero_grad() loss.backward() optimizer.step()

其中:

step() 负责更新卷积核

本质:

W = W - η × Gradient

十八、为什么CNN能够自动学习边缘检测

训练初期:

卷积核随机初始化

例如:

0.12 -0.34 0.22

经过:

数万次反向传播

逐渐变成:

边缘检测核 纹理检测核 轮廓检测核

因此:

CNN无需人工设计特征

能够:

自动学习图像特征

十九、面试高频问题

卷积层中的参数是什么?

卷积核权重

卷积核如何更新?

梯度下降 反向传播

卷积反向传播核心是什么?

链式法则

输入梯度如何计算?

误差图 与翻转卷积核卷积

最大池化如何回传梯度?

仅回传给最大值位置

为什么需要反向传播?

计算梯度 更新参数 降低损失函数

二十、总结

卷积神经网络训练的核心在于:

前向传播 ↓ 计算损失 ↓ 反向传播 ↓ 计算梯度 ↓ 更新卷积核

其中:

卷积层负责提取特征 池化层负责压缩特征 反向传播负责学习特征

整个流程可以概括为:

输入图像 ↓ 卷积 ↓ 池化 ↓ 预测结果 ↓ 计算损失 ↓ 反向传播 ↓ 更新卷积核 ↓ 持续优化

可以说:

如果卷积层是 CNN 的“眼睛”,那么反向传播就是 CNN 的“学习能力”。正是因为卷积反向传播算法的存在,卷积核才能从随机数字逐渐演化成边缘检测器、纹理检测器和高级语义特征提取器,最终让 CNN 拥有强大的图像识别能力。

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

5分钟掌握BilibiliDown:跨平台B站视频下载终极指南

5分钟掌握BilibiliDown:跨平台B站视频下载终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/B…

作者头像 李华
网站建设 2026/6/6 23:48:18

Nios II开发全流程疑难杂症排查指南:从硬件设计到软件调试

1. 项目概述 在FPGA开发领域,Altera(现Intel)的Nios II软核处理器是一个极其灵活且强大的工具,它允许我们在FPGA内部构建一个完整的片上系统。然而,从硬件设计到软件调试,这条路上布满了各种“坑”。无论是…

作者头像 李华
网站建设 2026/6/6 23:47:45

上海徐汇区新高一语文补课班文学拓展 | 作文提升、阅读高分

新高一语文告别初中浅层字词识记与短篇记叙文写作,转向整本书研读、思辨类现代文阅读、议论文高分写作与古文深度赏析,徐汇坐拥南模、位育、市二、徐汇中学等多所市重点,校内月考、分班考着重文学素养拓展与读写综合能力,不少学生…

作者头像 李华
网站建设 2026/6/6 23:46:20

SQLite 使用 UUID 主键风险大!UUID7 能否解决排序难题?

2026 年 6 月 5 日 在数据库中,用随机 UUID 作主键很常见。不过,随机 UUID(如 UUID4)有个已知缺点,其无序性会让聚集索引产生大量额外分页操作,因为是随机将行插入 B 树,还得重新平衡。本文能帮…

作者头像 李华
网站建设 2026/6/6 23:42:54

cas:120550-35-8,Biotin-PEG3-PFP,生物素-三聚乙二醇-五氟苯酚酯

描述Biotin-PEG3-PFP 是一种胺反应性生物偶联试剂,由生物素、PEG3间隔臂和PFP活性酯三部分组成,用于蛋白质生物素化标记。基本信息中文名:生物素-三聚乙二醇-五氟苯酚酯 英文名:Biotin-PEG3-PFP CAS号:120550-35-8 分子…

作者头像 李华
网站建设 2026/6/6 23:42:10

开发提效神器:用快马AI一键生成阿里云盘核心上传与秒传代码

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请生成一个具备高效文件上传功能的模块代码。核心需求:1、使用JavaScript实现文件分片功能,将大文件切割成指定大小(如2MB)的块。2、…

作者头像 李华