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

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

步幅

  • 是什么:指卷积核在输入数据上移动的步长。具体来说,就是每次卷积操作后,卷积核沿宽度和高度方向移动的像素数量。
  • 作用:① 减少空间尺寸控制模型复杂度 :较大的步幅可以减少模型的参数数量和计算量,有助于防止过拟合,并加速训练过程。
    增加感受野:较大的步幅意味着每个输出单元覆盖更大的输入区域,因此可以捕捉更广泛的信息。
相关推荐
机器之心2 分钟前
字节Seedream 4.0将全量开放!抢先评测来了,我们摸索出AI生图一大波「邪修」玩法
人工智能·openai
空白到白5 分钟前
机器学习-集成学习
人工智能·机器学习·集成学习
水凌风里6 分钟前
4.4 机器学习 - 集成学习
人工智能·机器学习·集成学习
雲_kumo7 分钟前
集成学习:从理论到实践的全面解析
人工智能·机器学习·集成学习
用户51914958484516 分钟前
30条顶级APT与蓝队攻防单行命令:网络战场终极对决
人工智能·aigc
双向3316 分钟前
AI 辅助文档生成:从接口注释到自动化 API 文档上线
人工智能
CoovallyAIHub32 分钟前
SBP-YOLO:面向嵌入式悬架的轻量实时模型,实现减速带与坑洼高精度检测
深度学习·算法·计算机视觉
算法打盹中37 分钟前
基于树莓派与Jetson Nano集群的实验边缘设备上视觉语言模型(VLMs)的性能评估与实践探索
人工智能·计算机视觉·语言模型·自然语言处理·树莓派·多模态·jetson nano
卿·静42 分钟前
Node.js对接即梦AI实现“千军万马”视频
前端·javascript·人工智能·后端·node.js