news 2026/4/28 17:11:23

从零学卷积神经网络——梯度下降,反向传播,卷积核权重视觉对比

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零学卷积神经网络——梯度下降,反向传播,卷积核权重视觉对比

很多人在刚接触卷积神经网络时,会被满屏的矩阵数字搞晕。其实,卷积核并不是冰冷的算式,你可以把它想象成一副副“神奇眼镜”。比如这张 7×7 的图像,左上和右下是亮区,其他地方是暗区。现在,我们让它分别戴上五种不同的“眼镜”,看看会发生什么。

场景 S1:卷积核的权重视觉对比

首先是最简单的“单位核”。中心是 1,周围全是 0。它就像白开水一样,图像穿过它,原封不动地输出来。这证明了:卷积核的权重分布,直接控制着信息的去留。

注意看这两个核。当我们把权重设为左边正、右边负时,它会对垂直边界产生剧烈反应,特征图上的亮线清晰可见。反之,上下权重的差异,则能帮我们瞬间捕捉到水平线条。

甚至,我们可以通过平均分配权重来平滑像素,实现“模糊”效果;或者通过强化中心权重来“锐化”边缘。

所以,卷积核的本质就是特征提取器。在真正的 CNN 中,这些权重并不是我们手动填写的,而是通过成千上万次的学习,让电脑自己找到最能看清特征的那组数字。

看到这里你可能会好奇,为什么那一串小小的数字,就能像变魔术一样改变图像? 其实,每一个卷积核都是一个“加权平均器”。它的每一格权重,都代表了它对周围像素的“偏好”。

看这个“单位核”。它中心是 1,周围是 0。这意味着它只看中心像素,完全无视周围。所以,图像穿过它,就像照镜子一样,原封不动。

想要模糊一张图?那就把权重全部设为1,它会把周围 9 个像素的亮度搅匀、抹平。这就好比透过一块磨砂玻璃看世界,锐利的边缘都被“均摊”了。

最巧妙的是这种边缘检测核。比如水平边缘核,它的左边是正数,右边是负数。

想象一下:如果左边很亮,右边很暗,正负抵消后会剩下一个很大的正值,特征图就会亮起;如果左右亮度一样,正负抵消就变成了 0。这就是它能“嗅”到边界的秘密。

至于锐化,则是把中心放大到 8 倍,再减去周围的一圈。只要中心稍微比周围亮一点,这个差距就会被无限放大。

所以,卷积核的权重分布,本质上定义了它对哪种“像素变化”最敏感。

在深度学习中,我们不再手动填写这些数字。成千上万个卷积核会像“进化”一样,自动学出最能看清猫、看清狗、或者看清路标的那组权重组合。不过,细心的朋友可能发现了:刚才 7乘以7 的图经过 3乘以3 的核,输出竟然缩水成了 5乘以5。

在实际搭建网络时,如果我们想控制输出的大小,或者想让卷积核滑动的步子迈得更大一点,该怎么办呢?

接下来,我们就聊聊控制卷积节奏的2个关键参数:Stride(步长)与padding操作

场景 S2:Stride 步长 · 跳格滑动演示

刚才我们看到卷积核在逐行逐列地扫描,但这并不是唯一的“步法”。在卷积神经网络中,有一个关键参数叫 Stride(步长)。它定义了卷积核每次滑动时,“跨”过了多少个像素。

看左边,当 Stride 等于 1 时,卷积核表现得非常耐心。它一格一格地挪动,对图像进行“地毯式搜索”。

这样做的优点是信息保留完整,但代价是输出的特征图依然很大,计算量也随之攀升。

再看右边,当我们将 Stride 设为 2 时,卷积核就开始“跳格子”了。它每次跨过两格,扫描变得非常稀疏。

你可以直观地发现:同样的 5乘以5 输入,Stride等于1 能得到 3乘以3 的输出,而 Stride等于2 只能得到 2乘以2 的结果。

为什么要让它跳着走呢?

步长增大,特征图就会迅速缩小。 这不仅能成倍减少计算量,还能让深层的卷积核拥有更广阔的“感受野”——也就是一眼能看到更大的区域。

这就像是我们在看报纸,Stride等于1 是在读每一个字,而 Stride等于2 则是在快速扫视标题和重点。

但是,细心的你可能发现了:当步长变大,或者卷积核太大时,图像的边缘往往会显得“缩手缩脚”,甚至有些像素根本没被扫到。

为了解决这种边缘信息的丢失,我们需要给图像穿上一层“保护套”。Padding(填充)操作,padding操作我们上期有详细的介绍,这里不再赘述。

场景 S3:输出尺寸公式推导

搞定了卷积的各种“步法”和“眼镜”,现在我们需要回答一个工程上最重要的问题:卷积之后,图像到底会变成多大?

别被这一堆字母吓到,我们用一种最直观的方式,把这个公式“拼”出来。

首先,原始高度是H,如果我们在四周补上一圈零(Padding),那么总长度就变成了 7乘以7,这就是卷积核能活动的总空间。 接着,卷积核本身占了 3乘以3的9个格子。所以,剩下的区域,就是卷积核在空间里真正能“滑动”的范围。

既然是滑动,就得看步长,用滑动范围除以步长,我们就得到了它能走多少步。

最后,别忘了加上它起跑的那个初始位置。看,这就是卷积输出尺寸的万能公式!如果除不尽,我们通常向下取整,丢弃掉那些不够滑动的边缘像素。

让我们快速验证一下:

最基础: 5乘以5 的图,3乘以3 的核,不补零,一步一走,输出就是3乘以3

加 Padding: 还是同样的配置,只要补一圈零(P等于1),输出就奇迹般地回到了 5乘以5,实现了尺寸对齐。大步长: 如果步长设为 2,输出会迅速腰斩。

掌握了单张特征图的计算,你已经踏入了门槛。但在真实的神经网络里,一层卷积往往会同时戴上几十、甚至上百副“眼镜”。

当这些特征图重叠在一起,构成“厚度”时,神经网络又是如何处理的呢?

接下来,我们挑战更高维度——多卷积核并行处理。

场景 S4:多卷积核并行处理

在之前的演示中,我们每次只用了一个卷积核。但在现实的神经网络里,这显然是不够的。

想象一下,如果你想在一张照片里同时找猫的胡须、耳朵的轮廓以及毛发的颜色,一副“眼镜”怎么够用呢?

所以,我们会让图像同时通过多个卷积核。

比如这四个:红色的负责找水平线,绿色的搜寻垂直线,黄色的盯着对角线,而蓝色的则在分析颜色和纹理。它们就像一个专业的“侦查小队”,各司其职。

每个卷积核都会生成一张属于自己的特征图。既然有四个核,我们就得到了四张各具特色的特征图。

关键的一步来了:我们将这四张图按顺序“堆叠”在一起。

原本平面的特征图,现在变成了一个有厚度的“特征立方体”。

记住这个逻辑:卷积核的数量 N,直接决定了输出结果的“深度”或者说“通道数”。

在复杂的网络中,这一层的深度可能是 64,下一层变成 128。这种层层堆叠,让神经网络能够从最简单的线条,逐渐勾勒出复杂的万物。

理论说了那么多,卷积核在实战中到底表现如何?

我们准备了一张包含“十字形”亮区的简单图片。接下来,我们将给它换上四种不同的“卷积眼镜”,看看神经网络眼中的世界是什么样的。

首先是水平边缘检测核。注意看右侧的特征图:它敏锐地捕捉到了十字图案的左右边界,原本的竖线被高亮显示,而横线却因为左右亮度一致而被完全忽略了。

换上垂直边缘检测核,情况正好相反。它只对上下方向的亮度变化有反应,于是横线亮了,竖线消失了。

如果我们想要整个轮廓呢?使用拉普拉斯算子,它能同时放大中心与周围的差异。看!整个十字的边界都被勾勒了出来。

甚至,我们可以用它来做“减法”。高斯模糊核通过加权平均,抹平了所有的尖锐边界,让图像变得平滑柔和。

这就是卷积的神奇之处:同一张原图,乘以不同的权重矩阵,就能提取出截然不同的结构特征。

卷积神经网络正是通过成百上千个这样的核,把一张照片拆解成点、线、面,最终识别出复杂的物体。

看到这里你可能会想,既然这种“矩阵滑动”这么好用,那它和我们之前学过的全连接神经网络(Fully Connected)到底有什么本质区别?

为什么在处理图像时,全连接层会显得笨重不堪,而卷积层却能轻装上阵?卷积到底比传统方法聪明在哪里?接下来,我们进入一场“效率与智慧”的对决:卷积 vs 全连接。

场景 S6:卷积 vs 全连接层

既然卷积能提取特征,那我们以前学过的“全连接层”不行吗?

答案是:理论上行,但实际上……它太笨重了。

看左边。在全连接层里,每一个输出神经元都要和每一个输入像素“握手”。

如果图像只有 6 个像素还好,但如果是 224乘以224 的高清图,这种“每个人都要认识所有人”的模式,会让参数量瞬间爆炸到天文数字。更糟糕的是,它完全无视了图像的空间结构,把画面拆得稀碎。而卷积层则聪明得多,它有两个制胜法宝。

第一,局部感知。每个输出只盯着自己的一亩三分地(局部邻域),不该管的绝不瞎看。

第二,也是最关键的——权重共享。

你发现了吗?无论卷积核滑到哪里,它用的都是同一组权重(也就是刚才说的同一副“眼镜”)。

既然“垂直边缘”在图片左上角是特征,在右下角肯定也是。所以,我们根本不需要为每个位置都训练一套新参数。

结果显而易见:处理同样一张 224乘以224 的图片,全连接层可能需要几十亿个参数,而卷积层只需要一万多个。

少了整整一百万倍的负担! 这就是为什么卷积能让 AI 真正“看清”世界的基石。

我们来拆解一下:一个卷积层到底有多少个需要学习的数字?

首先,每个卷积核的大小是 Cin 乘以K 乘以K

但它要同时处理输入的所有通道 , 接着,我们有 Cout

个这样的卷积核在并行工作。

最后,别忘了给每个输出通道配上一个“偏置项”(Bias)。

把它们组合起来,就得到了这个神奇的公式

来看三个真实的例子:

VGG 第一层: 只有 1792 个参数。即使它要处理整个画面的特征,负担也极其微小。

VGG 深层: 尽管通道数增加到了 256,参数量也才 59万 左右。

全连接层对比: 注意看!仅仅是一个处理 28乘以28 小图的普通全连接层,参数量就瞬间飙升到了 10万 以上。

为什么差距这么大?因为卷积实现了“权重共享”。

同一组参数,既在左上角检测横线,也在右下角检测横线。它不关心特征出现在哪,只关心特征“有没有出现”。这种平移不变性,让卷积层用最少的参数,干了最重的活。

参数虽然省下来了,但问题也随之而来:如果每个卷积核只看

那么一丁点地方,它是怎么知道整张图片里画的是一只大象还是一座大山的?

这就涉及到卷积神经网络中最具哲理的机制。

接下来,我们聊聊“以小见大”的艺术——感受野(Receptive Field)。

场景 S8:感受野(Receptive Field)· 以小见大

之前的视频里我们提到,卷积核每次只看 3乘以3 那么一丁点地方。

那么问题来了:如果每个神经元都只有“鼠目寸光”的视野,神经网络是怎么识别出像大象、汽车这样巨大的物体的呢?

秘密就在于——感受野(Receptive Field)。

看第一层卷积(Layer 1)。这里的每个神经元对应原始图像中 3乘以3 的区域。此时,它的感受野就是 3。它能看清线条,但看不出形状。

精彩的在第二层(Layer 2)。这里的神经元看的是第一层的 3乘以3 区域。

但别忘了,第一层的这 3乘以3 个点,每一个都自带了原始图像的视野。这一叠合,Layer 2 的一个点实际上已经“间接”看到了原始图像中 5乘以5 的范围。

到了第三层,感受野进一步扩大到 7乘以7。

随着网络越深,每个神经元站得更高、看得更远。底层的神经元在看“笔画”,中层的在看“零件”,而高层的神经元已经能俯瞰“全身”了。

如果配合上池化层或大步长卷积,这种视野的扩张速度还会成倍递增。

这就是为什么深层网络能拥有“全局观”,从局部纹理中抽象出复杂的语义信息。

到此为止,我们已经拆解了卷积的所有“生理结构”:眼镜、步法、外壳、视野。

但最后一个终极谜题依然存在:卷积核里的那些数字(权重),到底是怎么“学”出来的?

谁告诉它该去检测边缘,而不是去检测噪音的?

最后一章,我们开启神经网络的“进化论”——反向传播与学习的直觉。

反向传播与学习的直觉

看了这么多卷积操作,你有没有产生过一个疑问:

这些卷积核里密密麻麻的数字,到底是怎么定下来的?是数学家们通宵达旦、一个一个填进去的吗?当然不是。

在卷积神经网络的世界里,参数不是“被设计”出来的,而是通过海量数据,在无数次失败与尝试中“自动学”出来的。而实现这一奇迹的幕后功臣,就是反向传播。

首先,我们要进行一次前向传播。

想象一下,我们把一张猫的照片丢进网络。经过卷积层的提取、ReLU的激活以及全连接层的分类,网络会给出一个它的“猜测”。

比如,它觉得这张图只有 10% 的概率是猫。但我们的真实标签明明写着它是“猫”

这中间的巨大差距,就被记录在损失函数(Loss Function)里。此时的 Loss 就像是一个刺眼的红色警告,告诉网络:“你猜错了!”

光发现错误还不够,我们要追责。这就进入了第二步:反向传播。

这股红色的信号,就是传说中的梯度。

它带着损失函数的命令,从终点逆流而上。它会经过每一层、每一个神经元,告诉它们:

“刚才的预测失误,你负有多少责任?你的权重应该往哪个方向微调,才能让下次的损失变小一点?”

这一连串的数学信号,就像是在黑暗中为权重指明方向的灯塔。

拿到了“责任清单”,也就是梯度后,我们终于可以对卷积核动刀了。

这就是神经网络最核心的修正逻辑:梯度下降更新规则。

我们用当前的权重,减去学习率与梯度的乘积。

这里的学习率 ,就像是步长,决定了我们修正的胆量;而梯度则指明了方向。

减号的存在,确保了我们始终是在往“错误更少”的方向迈进。

如果数学公式让你头疼,我们可以把它想象成一个“下山”的过程。

假设这个山谷就是损失函数,山坡越高,代表 Loss 越大,预测越离谱。

我们的卷积核参数,就像是这颗随机落在山坡上的红色小球。

反向传播计算出的梯度,会告诉小球:“喂,下坡往这边走!”

经过一次次微小的滚动,小球最终会停留在山谷的最底部。

此时,损失达到了最小,我们也终于找到了那组能精准识别图像的最优权重。

让我们最后复盘一下这个天才的设计:

第一步,前向传播,让网络大胆猜测并计算误差;

第二步,反向传播,逆流而上寻找每个权重的“责任”;

第三步,梯度下降,沿着坡度微调权重。

这个过程在训练中会重复数万次。

原本杂乱无章的随机数字,就在这不断的“跌倒”与“爬起”中,自动进化成了能够洞察图像特征的超级过滤器。

这就是卷积神经网络“学习”的全部真相。

现在,你已经掌握了 CNN 的全部底层逻辑:从卷积操作到激活函数,从前向预测到反向进化。通过以上学习,你是不是完全掌握了 CNN 卷积操作了呢?

若还是不了解 CNN 的操作逻辑,可以继续学习以前的内容哟,我们下期再见

更多transformer,VIT,swin tranformer 参考头条号:人工智能研究所 v号:人工智能研究Suo, 启示AI科技

动画详解transformer 在线视频教程

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

Disk Savvy(磁盘空间分析工具) 18.0.14

Disk Savvy 是一款功能强大的磁盘空间分析软件,适用于 Windows PC、网络共享、NAS 或企业级服务器环境。它提供可视化图表、分类分析、自动化报告等功能,是清理磁盘空间和监控存储资源的实用选择 核心功能 多磁盘与目录扫描:支持本地硬盘、…

作者头像 李华
网站建设 2026/4/17 17:33:29

【CV前沿】从可见光到红外:跨模态图像转换的核心算法演进与实战解析

1. 可见光与红外图像转换的技术背景 当你用手机拍夜景时,是否遇到过画面漆黑一片的尴尬?这就是可见光成像的局限——它依赖环境光照。而红外成像却能穿透黑暗,捕捉物体自身的热辐射。这两种成像模态的差异,正是跨模态转换技术要解…

作者头像 李华
网站建设 2026/4/17 8:34:18

六轴机器人运动学避坑指南:从MATLAB仿真到C++移植的5个关键陷阱

六轴机器人运动学避坑指南:从MATLAB仿真到C移植的5个关键陷阱 当你在MATLAB中完美模拟的六轴机器人运动轨迹,移植到C实际控制时突然出现诡异抖动;当DH参数表里的数值在仿真中分毫不差,实际机械臂却偏离目标位置数厘米——这些场景…

作者头像 李华