0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何透彻理解卷积的数据原理与机制

新机器视觉 来源:极市平台 作者:极市平台 2021-06-16 16:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者以抛球实验为例讲解了许多卷积的数学原理和机制,并通过卷积来表述卷积神经网络。文章附有大量图片解释,帮助大家更容易理解。

抛球实验 -- Ball drop experiment

想象一下,我们把一个球从某个高度落到地面上,它只有一个运动维度。如果你把球落下,然后再从它的落点上方把它落下,球会走一段距离 的可能性有多大?

我们来分析一下: 第一次下落后,它将以概率 落在离起点一个单位的地方,其中是概率分布。现在,在第一次落下之后,我们把球捡起来,从它第一次落地点以上的另一个高度落下。球从新的起点滚动 个单位的概率是 ,如果它是从不同的高度落下的,那么 可能是不同的概率分布。

如果我们把第一次下落的结果固定下来,使我们知道球走了距离 ,对于球走的总距离 ,第二次下落时走的距离也固定为 ,即 。所以这种情况发生的概率简单来说就是 。。

我们用一个具体的离散例子来思考这个问题。我们希望总距离 为 3。如果它第一次滚动,,那么第二次必须滚动 ,才能达到我们的总距离 。这个概率是 。

然而,这并不是我们可以达到总距离3的唯一方法。球可以第一次滚1个单位,第二次滚2个单位。或者第一次滚0个单位,第二次滚3个单位。它可以是任何 和 ,只要他们加起来是 3。

为了求出小球到达总 的总概率,我们不能只考虑到达 的一种可能方式,而是考虑将 分成 和 的所有可能方式,并将每种方式的概率相加。

我们已经知道, 的每一种情况的概率简单来说就是 。所以,将 的每一个解求和,我们可以将总似然表示为。

和 的卷积,在 处被定义为。

如果我们把代入,我们得到。

为了使这一点更加具体,我们可以从球可能落地的位置来考虑。在第一次落地后,它将以概率 落在中间位置 。如果它落在 处,它落在 处的概率为 。

为了得到卷积,我们需要考虑所有的中间位置。

可视化卷积 -- Visualizing Convolutions

假设一个球落在离原点一定距离 的概率是。那么,它 从 处返回原点的的概率是。

如果我们知道球在第二次落地后落在 处,那么第一次的位置是 的概率是多少?

所以,前一个位置是 的概率是 。

每个中间位置球最终落在 处的概率。我们知道第一个落点把球放到中间位置 的概率是 。我们还知道,如果它落在 处,它在 处的概率是 。

将 的所有可能值相加,我们得到卷积结果。

通过移动下半部分,当分布对齐时,卷积达到峰值。

并且随着分布之间的交点越来越小而缩小。

下图,我们能够直观地看到三角波与方波函数的卷积。

759a0278-cab3-11eb-9e57-12bb97331649.jpg

掌握了这个要点,很多概念变得更加直观。

音频处理中有时会用到卷积。例如,人们可能会使用一个有两个尖峰,但其他地方都是零的函数来创建一个回声。当我们的双尖峰函数滑动时,一个尖峰首先击中一个时间点,将该信号添加到输出声音中,之后,另一个尖峰跟随,添加第二个延迟的副本。

高维卷积--Higher Dimensional Convolutions

卷积不仅仅适用于1维看空间,也适用于高维空间。

回顾开头的例子,落下的球。现在,当它落下时,它的位置不仅在一维中移动,而且在二维中移动。

和前面的卷积一样。

只是,现在 , , 和 都是向量。更明确地说,

标准定义:

就像一维卷积一样,我们可以把二维卷积看成是把一个函数滑动到另一个函数之上,进行乘法和加法。

卷积神经网络--Convolutional Neural Networks

那么,卷积与卷积神经网络的关系如何呢?

在一个1维卷积层中,输入 ,输出 。

从信号与系统的角度来描述,

是输入信号,是输出信号, 是系统,这个系统由 个神经元组成,可以用输入来描述输出。

也可以用神经网络的方式来描述

其中 是输入, 是权重。权重描述了神经元与输入的连接方式。

负的权重意味着输入会抑制神经元发射,而正的权重则鼓励它发射。

权重是神经元的心脏,控制着它的行为。如果说2个神经元是相同的,即它们的权重是相同的。

其中一个常见的应用是图像处理。我们可以把图像看作是二维函数。许多重要的图像变换都是卷积,你用一个非常小的局部函数(称为 “内核”)对图像函数进行卷积。

在上面的演示中,绿色部分类似于我们的 5x5x1 输入图像 。在卷积层的第一部分进行卷积操作的元素被称为Kernel/Filter, 用黄色表示。我们选择一个3x3x1矩阵作为Kernel。

Kernel 以一定的步伐向右移动,直到它解析出整行的宽度。接着,它以相同的步伐值跳到图像的开头(左边),并重复这个过程,直到遍历整个图像。

在多通道图像的情况下( 如RGB ),Kernel 的深度与输入图像的深度相同。Kernel 与图片 进行矩阵乘法,然后将所有结果与偏置相加,得到一个单通道卷积特征输出。

卷积操作的目的是从输入图像中提取高级特征,如边缘。传统上,卷积层可以捕捉低级特征,如边缘、颜色、梯度方向等。随着层数的增加,架构也可以捕捉高阶特征,让我们的神经网络对图像有更深刻的理解。

该卷积有两种结果--一种是卷积特征与输入相比维度减少,有效填充(Valide Padding)。另一种是维度增加或保持不变,相同填充(Same Padding)。

当我们将5x5x1的图像填充为6x6x1的图像,然后在其上应用3x3x1的核,我们发现卷积矩阵变成了5x5x1的尺寸。因此,我们将其命名为--相同填充(Same Padding)。

另一方面,如果我们在没有填充的情况下执行同样的操作,我们将得到一个具有内核(3x3x1)本身尺寸的矩阵--有效填充(Valide Padding)。

池化层 -- Pooling Layer

与卷积层类似,Pooling层负责减少卷积特征的空间大小。这是为了通过降低维度来降低处理数据所需的计算能力。此外,它还有助于提取旋转和位置不变的主导特征,从而保持模型的有效训练过程。下图表示在5x5卷积特征上的3x3池化。

有两种类型的池化。最大池化和平均池化。最大池化(Max Pooling)返回的是Kernel覆盖的图像部分的最大值。另一方面,平均池化(Average Pooling)返回Kernel覆盖的图像部分的所有值的平均值。

Max Pooling也是一种噪声抑制器。它完全丢弃了嘈杂的激活,并在降低维度的同时进行去噪。另一方面,Average Pooling只是作为噪声抑制机制进行维度降低。因此,我们可以说Max Pooling的性能比Average Pooling好很多。

卷积层和池化层,共同构成了卷积神经网络的第层。根据图像的复杂程度,可以增加这些层的数量,以便进一步捕捉低层次的细节,但代价是增加计算能力。

在经历了上述过程后,我们已经成功地使模型理解了特征。接下来,我们要将最终的输出结果进行扁平化处理,并将其馈送到普通的神经网络中,以达到分类的目的。

全连接层(FC层) —- Fully Connected Layer (FC Layer)

全连接层正在学习该空间中可能的非线性函数。

现在,我们已经将输入图像转换为适合多级感知器 (Multi-Level Perceptron) 的形式,我们将把图像扁平化(Flatten layer)为列向量。扁平化的输出被送入前馈神经网络,并在每次训练迭代中应用反向传播。在一系列的纪元中,该模型能够区分图像中的主导特征和某些低级特征,并使用Softmax分类方法对其进行分类。

总结 -- Conclusion

我们在这篇博文中介绍了很多数学机制,但我们获得的东西可能并不明显。卷积显然是概率论和计算机图形学中的一个有用工具,但是用卷积来表述卷积神经网络,我们获得了什么?

第一个好处是,我们有了一些非常强大的语言来描述神经网络的层。卷积大大简化了繁琐的计算工作。

其次,卷积非常容易实现。现存的许多库都提供了高效的卷积方法。

此外,卷积看起来是一个 操作,但使用一些相当深刻的数学见解,可以创建一个 的实现。

Tips:

我们想知道球第一次滚动 单位,第二次滚动 单位的概率。所以 。

卷积满足交换律,即 。

卷积满足结合律的,即,

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 卷积
    +关注

    关注

    0

    文章

    95

    浏览量

    18927
  • 离散
    +关注

    关注

    0

    文章

    35

    浏览量

    18023
  • 噪声抑制器
    +关注

    关注

    0

    文章

    3

    浏览量

    7338

原文标题:如何透彻理解卷积的数据原理与机制:从抛球实验说起

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶中常提的卷积神经网络是个啥?

    在自动驾驶领域,经常会听到卷积神经网络技术。卷积神经网络,简称为CNN,是一种专门用来处理网格状数据(比如图像)的深度学习模型。CNN在图像处理中尤其常见,因为图像本身就可以看作是由像素排列成的二维网格。
    的头像 发表于 11-19 18:15 1835次阅读
    自动驾驶中常提的<b class='flag-5'>卷积</b>神经网络是个啥?

    CNN卷积神经网络设计原理及在MCU200T上仿真测试

    CNN算法简介 我们硬件加速器的模型为Lenet-5的变型,网络粗略分共有7层,细分共有13层。包括卷积,最大池化层,激活层,扁平层,全连接层。下面是各层作用介绍: 卷积层:提取特征。“不全
    发表于 10-29 07:49

    卷积运算分析

    数据,故设计了ConvUnit模块实现单个感受域规模的卷积运算. 卷积运算:不同于数学当中提及到的卷积概念,CNN神经网络中的卷积严格意义
    发表于 10-28 07:31

    边聊安全 | 安全芯片的守护神:BIST机制的深度解析

    BIST机制的深度解析写在前面:在安全芯片的设计与验证过程中,工程师常会遇到一个关键概念——BIST(Built-InSelf-Test,内置自检测)。初次接触这一术语时,许多人容易将其简单理解
    的头像 发表于 09-05 16:17 29次阅读
    边聊安全 | 安全芯片的守护神:BIST<b class='flag-5'>机制</b>的深度解析

    【干货】数据“零处理”,什么是DTU透传机制

    概述DTU(数据传输单元)透传模式是工业物联网的核心技术,它像一条透明的数据管道,不做任何解析或修改,直接将终端设备的原始字节流(如传感器数据、PLC指令)通过无线网络原样转发至服务器。通俗
    的头像 发表于 07-03 19:32 1111次阅读
    【干货】<b class='flag-5'>数据</b>“零处理”,什么是DTU透传<b class='flag-5'>机制</b>?

    KT6368A蓝牙芯片应该自带数据校验机制吗?

    KT6368A蓝牙芯片应该自带数据校验机制吗?
    的头像 发表于 04-19 16:34 793次阅读
    KT6368A蓝牙芯片应该自带<b class='flag-5'>数据</b>校验<b class='flag-5'>机制</b>吗?

    CAN节点错误管理机制工作原理解

    CAN节点的稳定性、可靠性和安全性得益于其强大的错误管理机制。那么,CAN节点为什么能感知错误?又是如何响应错误?您是否能清晰地想象出这一过程?本文将为大家详细分析CAN节点错误管理的工作过程。节点
    的头像 发表于 03-25 11:44 696次阅读
    CAN节点错误管理<b class='flag-5'>机制</b>工作原<b class='flag-5'>理解</b>析

    如何使用MATLAB实现一维时间卷积网络

    本文对一维卷积操作进行介绍,包括一维扩展卷积和一维因果卷积,以及 MATLAB 对一维卷积的支持情况。在最后通过一个实例演示如何在 MATLAB 中将一维
    的头像 发表于 03-07 09:15 1669次阅读
    如何使用MATLAB实现一维时间<b class='flag-5'>卷积</b>网络

    请问OpenVINO™工具套件是否支持使用非对称卷积的支持模型?

    无法确定使用非对称卷积的模型是否受 OpenVINO™ Toolkit 的支持
    发表于 03-06 07:58

    Java的SPI机制详解

    接口规范以及可以发现接口实现的机制,而不需要实现接口。 SPI机制在Java中应用广泛。例如:JDBC中的数据库连接驱动使用SPI机制,只定义了数据
    的头像 发表于 03-05 11:35 1112次阅读
    Java的SPI<b class='flag-5'>机制</b>详解

    请问FPGA在启动的时候是否有对于Flash的任何故障检测机制呢?

    请问FPGA在启动的时候是否有对于Flash的任何故障检测机制呢? 以及在载入资料时,如何确保数据的一致性,有相关检测机制吗? 另外DLPComposer是否有Checksum 或相关测试
    发表于 02-20 06:14

    《AI Agent 应用与项目实战》第1-2章阅读心得——理解Agent框架与Coze平台的应用

    。Agent通过引入记忆机制和推理能力,可以像专业数据分析师一样,对数据进行多维度分析,提供深入的业务洞察。从技术层面看,Agent的优势在于它能够自主地完成任务规划和资源调度,这种自主性使得它在面对复杂
    发表于 02-19 16:35

    BP神经网络与卷积神经网络的比较

    多层。 每一层都由若干个神经元构成,神经元之间通过权重连接。信号在神经网络中是前向传播的,而误差是反向传播的。 卷积神经网络(CNN) : CNN主要由卷积层、池化层和全连接层组成。 卷积层通过滑动窗口(滤波器)对输入
    的头像 发表于 02-12 15:53 1308次阅读

    FPGA图像处理基础----实现缓存卷积窗口

    素行进行缓存与变换。由于在图像处理过程中,经常会使用到卷积,因此需要对图像进行开窗,然后将开窗得到的局部图像与卷积核进行卷积,从而完成处理。   图像数据一般按照一定的格式和时序进行传
    的头像 发表于 02-07 10:43 1421次阅读
    FPGA图像处理基础----实现缓存<b class='flag-5'>卷积</b>窗口

    干法蚀刻异向机制的原理解

    无偏差的刻蚀过程,我们称之为各向异性刻蚀。为了更清晰地理解这一过程,我们可以将其拆解为几个基本环节。首先,第一个环节是刻蚀气体的处理,这些气体在等离子体环境中会被分解成离子、自由基等具有刻蚀作用
    的头像 发表于 12-17 10:48 1861次阅读
    干法蚀刻异向<b class='flag-5'>机制</b>的原<b class='flag-5'>理解</b>析