机器学习基础-卷积的计算

1 掌握卷积计算的基本过程

1.1 单通道单卷积核

如图3所示,现在有一张形状为[5,5,1]的灰度图,我们需要用图3右边的卷积核对其进行卷积处理,同时再考虑到偏置的作用。计算过程如下:

1.2 单通道多卷积核

如下图所示,左边为输入矩阵,我们现在要用右边所示的两个卷积核对其进行卷积处理。

最后我们便能得到下图右边所示的,形状为[3,3,2]的卷积特征图,其中2表示两个特征通道。

1.3 多通道单卷积核

对于多通道的卷积过程,总体上还是还是同之前的一样,都是每次选取特定位置上的神经元进行卷积,然后依次移动直到卷积结束。下面我们先来看看多通道单卷积核的计算过程。

左边为包含有三个通道的输入,右边为一个卷积核和一个偏置。注意,强调一下右边的仅仅只是一个卷积核,不是三个。因为输入是三个通道,所以在进行卷积的时候,对应的每一个卷积核都必须要有三个通道才能进行卷积。下面我们就来看看具体的计算过程。

1.4 多通道多卷积核

其他计算

  • 通道:需要10个 5×5 的卷积核,每个卷积核的深度等于输入通道数,即3。

  • 填充(Padding):对于 5×5 的卷积核,为了保持宽高不变,应使用 padding = (kernel_size - 1) / 2。因此,padding = (5 - 1) / 2 = 2

  • 步幅可设置为1

  • 总参数数量:

    • 每个卷积核的参数数量是:5×5×3+1(其中+1是因为每个卷积核还有一个偏置项)。

    • 因此,对于10个这样的卷积核,总的参数数量是10×(5×5×3+1)=760

  • 乘法次数

    • 每个位置上的乘法次数为:5×5×3=75
    • 输入特征图的每个位置都会被卷积操作覆盖一次,因此总的乘法次数为: 75×640×480×10=230,400,000

padding,stride的作用

填充(Padding)和步幅(Stride)是卷积神经网络(CNN)中两个非常重要的超参数,它们对卷积层的输出特征图尺寸有直接影响。理解这两个参数的作用对于设计有效的卷积神经网络至关重要。

填充

  • 是什么:Padding是指在输入数据(通常是图像)的边界周围添加额外的填充层。这个填充层可以是零值(称为零填充,zero-padding),也可以是其他类型的值。
  • 作用:① 保持输入和输出的空间尺寸一致
    防止信息在边界处丢失
    控制感受野:我们可以控制覆盖输入区域的大小。

步幅

  • 是什么:指卷积核在输入数据上移动的步长。具体来说,就是每次卷积操作后,卷积核沿宽度和高度方向移动的像素数量。
  • 作用:① 减少空间尺寸控制模型复杂度 :较大的步幅可以减少模型的参数数量和计算量,有助于防止过拟合,并加速训练过程。
    增加感受野:较大的步幅意味着每个输出单元覆盖更大的输入区域,因此可以捕捉更广泛的信息。
相关推荐
陈广亮24 分钟前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬34 分钟前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia1 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区1 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两4 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪4 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat232554 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源
程序员打怪兽4 小时前
详解Visual Transformer (ViT)网络模型
深度学习
王鑫星4 小时前
SWE-bench 首次突破 80%:Claude Opus 4.5 发布,Anthropic 的野心不止于写代码
人工智能