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

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),也可以是其他类型的值。
  • 作用:① 保持输入和输出的空间尺寸一致
    防止信息在边界处丢失
    控制感受野:我们可以控制覆盖输入区域的大小。

步幅

  • 是什么:指卷积核在输入数据上移动的步长。具体来说,就是每次卷积操作后,卷积核沿宽度和高度方向移动的像素数量。
  • 作用:① 减少空间尺寸控制模型复杂度 :较大的步幅可以减少模型的参数数量和计算量,有助于防止过拟合,并加速训练过程。
    增加感受野:较大的步幅意味着每个输出单元覆盖更大的输入区域,因此可以捕捉更广泛的信息。
相关推荐
浠寒AI2 小时前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python
weixin_505154462 小时前
数字孪生在建设智慧城市中可以起到哪些作用或帮助?
大数据·人工智能·智慧城市·数字孪生·数据可视化
Best_Me072 小时前
深度学习模块缝合
人工智能·深度学习
YuTaoShao2 小时前
【论文阅读】YOLOv8在单目下视多车目标检测中的应用
人工智能·yolo·目标检测
算家计算3 小时前
字节开源代码模型——Seed-Coder 本地部署教程,模型自驱动数据筛选,让每行代码都精准落位!
人工智能·开源
伪_装3 小时前
大语言模型(LLM)面试问题集
人工智能·语言模型·自然语言处理
gs801403 小时前
Tavily 技术详解:为大模型提供实时搜索增强的利器
人工智能·rag
music&movie3 小时前
算法工程师认知水平要求总结
人工智能·算法
狂小虎4 小时前
亲测解决self.transform is not exist
python·深度学习
量子位4 小时前
苹果炮轰推理模型全是假思考!4 个游戏戳破神话,o3/DeepSeek 高难度全崩溃
人工智能·deepseek