导航:首页 > 无线网络 > 卷积神经网络信号与系统

卷积神经网络信号与系统

发布时间:2023-03-31 08:34:04

① 怎样通俗易懂地解释卷积

对卷积的意义的理解:

从“积”的过程可以看到,我们得到的叠加值,是个全局的概念。以信号分析为例,卷积的结果是不仅跟当前时刻输入信号的响应值有关,也跟过去所有时刻输入信号的响应都有关系,考虑了对过去的所有输入的效果的累积。在图像处理的中,卷积处理的结果,其实就是把每个像素周边的,甚至是整个图像的像素都考虑进来,对当前像素进行某种加权处理。所以说,“积”是全局概念,或者说是一种“混合”,把两个函数在时间或者空间上进行混合。




② 卷积层的主要作用是

卷积层的作用是提取一个局部区域的特征。

卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种具有局部连接、权重共享等特性的败哪深层前馈神经网络。卷积神经网络是受生物学上感受野的机制而提出。感受野(Receptive Field)主要是指听觉、视觉等神经系统中一些神经元察芦码的特性,即神经元只接受其所支配的刺激区域内的信号。

一维卷积经常用在信号处理中,用于计算信号的延迟累积。假设一个信号发生哗笑器每个时刻t 产生一个信号 ,其信息的衰减率为 ,即在 个时间步长后,信息为原来的 倍。假设 ,那么在时刻t收到的信号 为当前时刻产生的信息和以前时刻延迟信息的叠加:

③ 卷积的本质

人生实在是有太多事情难以把控,并不是说人的力量多么渺小,而是在宇宙环境的大背景下,许多事情结果的本质往往取决于某些细节的某种程度的随机性。人生不如意事常八九,可与言者无二三。年轻时候遇到不开心的事情喜欢想想书本里的东西,感觉上,解读研究知识最为踏实,没有装模作样没有逆来顺受,可以敞开心扉忘却世间烦恼。现在看来那时是有些天真,想必若非为了生计应该不会甘心沉迷于此吧,况且我自身在科学技术领域并不擅长。花花世界有太多东西扰人心智,好在追求本质尚且是我一贯的执念。
就我个人来说,cv领域有很多基本理论尚需学习。尽管也做了几个项目但仍有必要回过头来探讨一些基础概念。那么,从卷积开始。

先不局限于图像领域,其实卷积是有特定的物理意义的,我本科学自动化的,那时候学习信号处理是学习了卷积的概念,但没能深刻理解,后来初接触到卷积神经网络发现好像又推翻了之前的理解。但实际上是没有建立感性到理性的认识联系。
学过物理的都知道,物理学中有冲量的概念,可以简单描述为力F作用了t时间的结果F*t,假如保持冲量不变,让这个时间t无限短,于是在用t做横坐标、F做纵坐标的坐标系中,就形成一个高度极大宽度极小的形象,计算冲量可以用积分对它求面积,数学上叫卷积。
卷积其实就是为冲击函数诞生的。“冲击函数”是狄拉克为了解决一些瞬间作用的物理现象而提出的符号。在“信号与系统”中卷积用来表示系统对输入信号的响应,假设系统H其响应函数为h(t),在t时刻其输入为x(t),输出为y(t),直观上理解其输出应该是y(t)=x(t)h(t),然而实际上并非如此,系统的输出不仅和当前时刻t的响应有关还与t时刻之前的响应有关,只不过t时刻之前响应应该是衰减的过程(也可以理解为t时刻之后的衰减),s时刻(s<t)对应的响应为x(t)h(t-s),这个过程可能是连续的也可能是离散的,但总可以理解为t 时刻的响应等于每一个输入信号在 t 时刻所产生的响应的叠加。可表示为:

图像处理中,用一个模板和一幅图像进行卷积可以描述为:对于图像上的每个点,先对模板旋转180度,为什么旋转看卷积公式就知道,在数学里我们知道f(-x)的图像是f(x)对y轴的反转, h(-m)就是把g(m)的序列反转,h(n-m)的意义是把h(-m)平移的n点,由于大多数模板都是对称的,旋转后和原模板相同,所以模板不旋转,然后让模板的中心点和该点重合,模板上的点和图像上对应的点相乘,然后各点的积相加,就得到了该点的卷积值。对图像上的每个点都这样处理,对于图像上的边角点与模板上的点无法对应的一般用0补齐,这就是padding方法。卷积是一种积分运算,用来求两个曲线重叠区域面积。可以看作加权求和,可以用来消除噪声、特征增强。深度卷积网络中一层层的卷积本质上就是大量的卷积核在发挥不同的作用,有的去噪声、有的做锐化、有的增强边缘、有的做滤波等等。

图像中一般是离散卷积,这里以离散卷积计算为例,对于S2式,N为信号f(n)的长度,y(n)为卷积结果序列,长度为len(f(n))+len(g(n))-1。
以3个元素的信号为例:

最终结果为:
y(n) = [2 7 13 11 3]
计算过程如下图:

相应的二维卷积定义如下:

有个更加形象的图示,针对3*3的卷积核:

针对图像处理中的卷积理解:

总结一下,卷积的概念尽管在不同领域具有不同的含义,但似乎有一种共性,可以总结为某种系统对某个物理量或输入的调制或污染。
至此总算对卷积的定义及计算有了基本的理解,从感性到理性是知识化理论化的过程,从理性到感性是进一步升华知识提升理解层次的过程,在这个过程中往往能体会到事事共通万物归一的感觉。嗯,说的有点过分了。

https://www.cnblogs.com/wujing-hubei/p/5682766.html

https://blog.csdn.net/u013539952/article/details/80610260

https://blog.csdn.net/alvinlyb/article/details/78892252

https://blog.csdn.net/tiandijun/article/details/40080823

④ 一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)

在 CNN 出现之前,图像对于人工智能来说是一个难题,有2个原因:

图像需要处理的数据量太大,导致成本很高,效率很低

图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率不高

下面就详细说明一下这2个问题:

图像是由像素构成的,每个像素又是由颜色构成的。

现在随随便便一张图片都是 1000×1000 像素以上的, 每个像素都有RGB 3个参数来表示颜色信息。

假如我们处理一张 1000×1000 像素的图片,我们就需要处理3百万个参数!

1000×1000×3=3,000,000

这么大量的数据处理起来是非常消耗资源的,而且这只是一张不算太大的图片!

卷积神经网络 – CNN 解决的第一个问题就是“将复杂问题简化”,把大量参数降维成少量参数,再做处理。

更重要的是:我们在大部分场景下,降维并不会影响结果。比如1000像素的图片缩小成200像素,并不影响肉眼认出来图片中是一只猫还是一只狗,机器也是如此。

图片数字化的传统方式我们简化一下,就类似下图的过程:

假如有圆形是1,没有圆形是0,那么圆形的位置不同就会产生完全不同的数据表达。但是从视觉的角度来看, 图像的内容(本质)并没有发生变化,只是位置发生了变化 。

所以当我们移动图像中的物体,用传统的方式的得出来的参数会差异很大!这是不符合图像处理的要求的。

而 CNN 解决了这个问题,他用类似视觉的方式保留了图像的特征,当图像做翻转,旋转或者变换位置时,它也能有效的识别出来是类似的图像。

那么卷积神经网络是如何实现的呢?在我们了解 CNN 原理之前,先来看看人类的视觉原理是什么?

深度学习的许多研究成果,离不开对大脑认知原理的研究,尤其是视觉原理的研究。

1981 年的诺贝尔医学奖,颁发给了 David Hubel(出生于加拿大的美国神经生物学家) 和TorstenWiesel,以及 Roger Sperry。前两位的主要贡献,是“ 发现了视觉系统的信息处理 ”,可视皮层是分级的。

人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。下面是人脑进行人脸识别的一个示例:

对于不同的物体,人类视觉也是通过这样逐层分级,来进行认知的:

我们可以看到,在最底层特征基本上是类似的,就是各种边缘,越往上,越能提取出此类物体的一些特征(轮子、眼睛、躯干等),到最上层,不同的高级特征最终组合成相应的图像,从而能够让人类准确的区分不同的物体。

那么我们可以很自然的想到:可以不可以模仿人类大脑的这个特点,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类呢?

答案是肯定的,这也是许多深度学习算法(包括CNN)的灵感来源。

典型的 CNN 由3个部分构成:

卷积层

池化层

全连接层

如果简单来描述的话:

卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量级(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。

下面的原理解释为了通俗易懂,忽略了很多技术细节,如果大家对详细的原理感兴趣,可以看这个视频《 卷积神经网络基础 》。

卷积层的运算过程如下图,用一个卷积核扫完整张图片:

这个过程我们可以理解为我们使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。

在具体应用中,往往有多个卷积核,可以认为,每个卷积核代表了一种图像模式,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果我们设计了6个卷积核,可以理解:我们认为这个图像上有6种底层纹理模式,也就是我们用6中基础模式就能描绘出一副图像。以下就是25种不同的卷积核的示例:

总结:卷积层的通过卷积核的过滤提取出图片中局部的特征,跟上面提到的人类视觉的特征提取类似。

池化层简单说就是下采样,他可以大大降低数据的维度。其过程如下:

上图中,我们可以看到,原始图片是20×20的,我们对其进行下采样,采样窗口为10×10,最终将其下采样成为一个2×2大小的特征图。

之所以这么做的原因,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行下采样。

总结:池化层相比卷积层可以更有效的降低数据维度,这么做不但可以大大减少运算量,还可以有效的避免过拟合。

这个部分就是最后一步了,经过卷积层和池化层处理过的数据输入到全连接层,得到最终想要的结果。

经过卷积层和池化层降维过的数据,全连接层才能”跑得动”,不然数据量太大,计算成本高,效率低下。

典型的 CNN 并非只是上面提到的3层结构,而是多层结构,例如 LeNet-5 的结构就如下图所示:

卷积层 – 池化层- 卷积层 – 池化层 – 卷积层 – 全连接层

在了解了 CNN 的基本原理后,我们重点说一下 CNN 的实际应用有哪些

卷积神经网络 – CNN 很擅长处理图像。而视频是图像的叠加,所以同样擅长处理视频内容。下面给大家列一些比较成熟的应用�:

图像分类、检索

图像分类是比较基础的应用,他可以节省大量的人工成本,将图像进行有效的分类。对于一些特定领域的图片,分类的准确率可以达到 95%+,已经算是一个可用性很高的应用了。

典型场景:图像搜索…

目标定位检测

可以在图像中定位目标,并确定目标的位置及大小。

典型场景:自动驾驶、安防、医疗…

目标分割

简单理解就是一个像素级的分类。

他可以对前景和背景进行像素级的区分、再高级一点还可以识别出目标并且对目标进行分类。

典型场景:美图秀秀、视频后期加工、图像生成…

人脸识别

人脸识别已经是一个非常普及的应用了,在很多领域都有广泛的应用。

典型场景:安防、金融、生活…

骨骼识别

骨骼识别是可以识别身体的关键骨骼,以及追踪骨骼的动作。

典型场景:安防、电影、图像视频生成、游戏…

今天我们介绍了 CNN 的价值、基本原理和应用场景,简单总结如下:

CNN 的价值:

能够将大数据量的图片有效的降维成小数据量(并不影响结果)

能够保留图片的特征,类似人类的视觉原理

CNN 的基本原理:

卷积层 – 主要作用是保留图片的特征

池化层 – 主要作用是把数据降维,可以有效的避免过拟合

全连接层 – 根据不同任务输出我们想要的结果

CNN 的实际应用:

图片分类、检索

目标定位检测

目标分割

人脸识别

骨骼识别

本文首发在 easyAI - 人工智能知识库

《 一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用) 》

⑤ 卷积神经网络

关于花书中卷积网络的笔记记录于 https://www.jianshu.com/p/5a3c90ea0807 。

卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种具有 局部连接、权重共享 等特性的深层前馈神经网络。卷积神经网络是受生物学上感受野的机制而提出。 感受野(Receptive Field) 主要是指听觉、视觉等神经系统中一些神经元的特性,即 神经元只接受其所支配的刺激区域内的信号

卷积神经网络最早是主要用来处理图像信息。如果用全连接前馈网络来处理图像时,会存在以下两个问题:

目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的前馈神经网络,使用反向传播算法进行训练。 卷积神经网络有三个结构上的特性:局部连接,权重共享以及汇聚 。这些特性使卷积神经网络具有一定程度上的平移、缩放和旋转不变性。

卷积(Convolution)是分析数学中一种重要的运算。在信号处理或图像处理中,经常使用一维或二维卷积。

一维卷积经常用在信号处理中,用于计算信号的延迟累积。假设一个信号发生器每个时刻t 产生一个信号 ,其信息的衰减率为 ,即在 个时间步长后,信息为原来的 倍。假设 ,那么在时刻t收到的信号 为当前时刻产生的信息和以前时刻延迟信息的叠加:

我们把 称为 滤波器(Filter)或卷积核(Convolution Kernel) 。假设滤波器长度为 ,它和一个信号序列 的卷积为:

信号序列 和滤波器 的卷积定义为:

一般情况下滤波器的长度 远小于信号序列长度 ,下图给出一个一维卷积示例,滤波器为 :

二维卷积经常用在图像处理中。因为图像为一个两维结构,所以需要将一维卷积进行扩展。给定一个图像 和滤波器 ,其卷积为:

下图给出一个二维卷积示例:

注意这里的卷积运算并不是在图像中框定卷积核大小的方框并将各像素值与卷积核各个元素相乘并加和,而是先把卷积核旋转180度,再做上述运算。

在图像处理中,卷积经常作为特征提取的有效方法。一幅图像在经过卷积操作后得到结果称为 特征映射(Feature Map)

最上面的滤波器是常用的高斯滤波器,可以用来对图像进行 平滑去噪 ;中间和最下面的过滤器可以用来 提取边缘特征

在机器学习和图像处理领域,卷积的主要功能是在一个图像(或某种特征)上滑动一个卷积核(即滤波器),通过卷积操作得到一组新的特征。在计算卷积的过程中,需要进行卷积核翻转(即上文提到的旋转180度)。 在具体实现上,一般会以互相关操作来代替卷积,从而会减少一些不必要的操作或开销。

互相关(Cross-Correlation)是一个衡量两个序列相关性的函数,通常是用滑动窗口的点积计算来实现 。给定一个图像 和卷积核 ,它们的互相关为:

互相关和卷积的区别仅在于卷积核是否进行翻转。因此互相关也可以称为不翻转卷积 。当卷积核是可学习的参数时,卷积和互相关是等价的。因此,为了实现上(或描述上)的方便起见,我们用互相关来代替卷积。事实上,很多深度学习工具中卷积操作其实都是互相关操作。

在卷积的标准定义基础上,还可以引入滤波器的 滑动步长 零填充 来增加卷积多样性,更灵活地进行特征抽取。

滤波器的步长(Stride)是指滤波器在滑动时的时间间隔。

零填充(Zero Padding)是在输入向量两端进行补零。

假设卷积层的输入神经元个数为 ,卷积大小为 ,步长为 ,神经元两端各填补 个零,那么该卷积层的神经元数量为 。

一般常用的卷积有以下三类:

因为卷积网络的训练也是基于反向传播算法,因此我们重点关注卷积的导数性质:

假设 。

, , 。函数 为一个标量函数。

则由 有:

可以看出, 关于 的偏导数为 和 的卷积

同理得到:

当 或 时, ,即相当于对 进行 的零填充。从而 关于 的偏导数为 和 的宽卷积

用互相关的“卷积”表示,即为(注意 宽卷积运算具有交换性性质 ):

在全连接前馈神经网络中,如果第 层有 个神经元,第 层有 个神经元,连接边有 个,也就是权重矩阵有 个参数。当 和 都很大时,权重矩阵的参数非常多,训练的效率会非常低。

如果采用卷积来代替全连接,第 层的净输入 为第 层活性值 和滤波器 的卷积,即:

根据卷积的定义,卷积层有两个很重要的性质:

由于局部连接和权重共享,卷积层的参数只有一个m维的权重 和1维的偏置 ,共 个参数。参数个数和神经元的数量无关。此外,第 层的神经元个数不是任意选择的,而是满足 。

卷积层的作用是提取一个局部区域的特征,不同的卷积核相当于不同的特征提取器。

特征映射(Feature Map)为一幅图像(或其它特征映射)在经过卷积提取到的特征,每个特征映射可以作为一类抽取的图像特征。 为了提高卷积网络的表示能力,可以在每一层使用多个不同的特征映射,以更好地表示图像的特征。

在输入层,特征映射就是图像本身。如果是灰度图像,就是有一个特征映射,深度 ;如果是彩色图像,分别有RGB三个颜色通道的特征映射,深度 。

不失一般性,假设一个卷积层的结构如下:

为了计算输出特征映射 ,用卷积核 分别对输入特征映射 进行卷积,然后将卷积结果相加,并加上一个标量偏置 得到卷积层的净输入 再经过非线性激活函数后得到输出特征映射 。

在输入为 ,输出为 的卷积层中,每个输出特征映射都需要 个滤波器以及一个偏置。假设每个滤波器的大小为 ,那么共需要 个参数。

汇聚层(Pooling Layer)也叫子采样层(Subsampling Layer),其作用是进行特征选择,降低特征数量,并从而减少参数数量。

常用的汇聚函数有两种:

其中 为区域 内每个神经元的激活值。

可以看出,汇聚层不但可以有效地减少神经元的数量,还可以使得网络对一些小的局部形态改变保持不变性,并拥有更大的感受野。

典型的汇聚层是将每个特征映射划分为 大小的不重叠区域,然后使用最大汇聚的方式进行下采样。汇聚层也可以看做是一个特殊的卷积层,卷积核大小为 ,步长为 ,卷积核为 函数或 函数。过大的采样区域会急剧减少神经元的数量,会造成过多的信息损失。

一个典型的卷积网络是由卷积层、汇聚层、全连接层交叉堆叠而成。

目前常用卷积网络结构如图所示,一个卷积块为连续 个卷积层和 个汇聚层( 通常设置为 , 为 或 )。一个卷积网络中可以堆叠 个连续的卷积块,然后在后面接着 个全连接层( 的取值区间比较大,比如 或者更大; 一般为 )。

目前,整个网络结构 趋向于使用更小的卷积核(比如 和 )以及更深的结构(比如层数大于50) 。此外,由于卷积的操作性越来越灵活(比如不同的步长),汇聚层的作用变得也越来越小,因此目前比较流行的卷积网络中, 汇聚层的比例也逐渐降低,趋向于全卷积网络

在全连接前馈神经网络中,梯度主要通过每一层的误差项 进行反向传播,并进一步计算每层参数的梯度。在卷积神经网络中,主要有两种不同功能的神经层:卷积层和汇聚层。而参数为卷积核以及偏置,因此 只需要计算卷积层中参数的梯度。

不失一般性,第 层为卷积层,第 层的输入特征映射为 ,通过卷积计算得到第 层的特征映射净输入 ,第 层的第 个特征映射净输入

由 得:

同理可得,损失函数关于第 层的第 个偏置 的偏导数为:

在卷积网络中,每层参数的梯度依赖其所在层的误差项 。

卷积层和汇聚层中,误差项的计算有所不同,因此我们分别计算其误差项。

第 层的第 个特征映射的误差项 的具体推导过程如下:

其中 为第 层使用的激活函数导数, 为上采样函数(upsampling),与汇聚层中使用的下采样操作刚好相反。如果下采样是最大汇聚(max pooling),误差项 中每个值会直接传递到上一层对应区域中的最大值所对应的神经元,该区域中其它神经元的误差项的都设为0。如果下采样是平均汇聚(meanpooling),误差项 中每个值会被平均分配到上一层对应区域中的所有神经元上。

第 层的第 个特征映射的误差项 的具体推导过程如下:

其中 为宽卷积。

LeNet-5虽然提出的时间比较早,但是是一个非常成功的神经网络模型。基于LeNet-5 的手写数字识别系统在90年代被美国很多银行使用,用来识别支票上面的手写数字。LeNet-5 的网络结构如图:

不计输入层,LeNet-5共有7层,每一层的结构为:

AlexNet是第一个现代深度卷积网络模型,其首次使用了很多现代深度卷积网络的一些技术方法,比如采用了ReLU作为非线性激活函数,使用Dropout防止过拟合,使用数据增强来提高模型准确率等。AlexNet 赢得了2012 年ImageNet 图像分类竞赛的冠军。

AlexNet的结构如图,包括5个卷积层、3个全连接层和1个softmax层。因为网络规模超出了当时的单个GPU的内存限制,AlexNet 将网络拆为两半,分别放在两个GPU上,GPU间只在某些层(比如第3层)进行通讯。

AlexNet的具体结构如下:

在卷积网络中,如何设置卷积层的卷积核大小是一个十分关键的问题。 在Inception网络中,一个卷积层包含多个不同大小的卷积操作,称为Inception模块。Inception网络是由有多个inception模块和少量的汇聚层堆叠而成

v1版本的Inception模块,采用了4组平行的特征抽取方式,分别为1×1、3× 3、5×5的卷积和3×3的最大汇聚。同时,为了提高计算效率,减少参数数量,Inception模块在进行3×3、5×5的卷积之前、3×3的最大汇聚之后,进行一次1×1的卷积来减少特征映射的深度。如果输入特征映射之间存在冗余信息, 1×1的卷积相当于先进行一次特征抽取

⑥ 神经网络:卷积神经网络(CNN)

神经网络 最早是由心理学家和神经学家提出的,旨在寻求开发和测试神经的计算模拟。

粗略地说, 神经网络 是一组连接的 输入/输出单元 ,其中每个连接都与一个 权 相关联。在学习阶段,通过调整权值,使得神经网络的预测准确性逐步提高。由于单元之间的连接,神经网络学习又称 连接者学习。

神经网络是以模拟人脑神经元的数学模型为基础而建立的,它由一系列神经元组成,单元之间彼此连接。从信息处理角度看,神经元可以看作是一个多输入单输出的信息处理单元,根据神经元的特性和功能,可以把神经元抽象成一个简单的数学模型。

神经网络有三个要素: 拓扑结构、连接方式、学习规则

神经网络的拓扑结构 :神经网络的单元通常按照层次排列,根据网络的层次数,可以将神经网络分为单层神经网络、两层神经网络、三层神经网络等。结构简单的神经网络,在学习时收敛的速度快,但准确度低。

神经网络的层数和每层的单元数由问题的复杂程度而定。问题越复杂,神经网络的层数就越多。例如,两层神经网络常用来解决线性问题,而多层网络就可以解决多元非线性问题

神经网络的连接 :包括层次之间的连接和每一层内部的连接,连接的强度用权来表示。

根据层次之间的连接方式,分为:

1)前馈式网络:连接是单向的,上层单元的输出是下层单元的输入,如反向传播网络,Kohonen网络

2)反馈式网络:除了单项的连接外,还把最后一层单元的输出作为第一层单元的输入,如Hopfield网络

根据连接的范围,分为:

1)全连接神经网络:每个单元和相邻层上的所有单元相连

2)局部连接网络:每个单元只和相邻层上的部分单元相连

神经网络的学习

根据学习方法分:

感知器:有监督的学习方法,训练样本的类别是已知的,并在学习的过程中指导模型的训练

认知器:无监督的学习方法,训练样本类别未知,各单元通过竞争学习。

根据学习时间分:

离线网络:学习过程和使用过程是独立的

在线网络:学习过程和使用过程是同时进行的

根据学习规则分:

相关学习网络:根据连接间的激活水平改变权系数

纠错学习网络:根据输出单元的外部反馈改变权系数

自组织学习网络:对输入进行自适应地学习

摘自《数学之美》对人工神经网络的通俗理解:

神经网络种类很多,常用的有如下四种:

1)Hopfield网络,典型的反馈网络,结构单层,有相同的单元组成

2)反向传播网络,前馈网络,结构多层,采用最小均方差的纠错学习规则,常用于语言识别和分类等问题

3)Kohonen网络:典型的自组织网络,由输入层和输出层构成,全连接

4)ART网络:自组织网络

深度神经网络:

Convolutional Neural Networks(CNN)卷积神经网络

Recurrent neural Network(RNN)循环神经网络

Deep Belief Networks(DBN)深度信念网络

深度学习是指多层神经网络上运用各种机器学习算法解决图像,文本等各种问题的算法集合。深度学习从大类上可以归入神经网络,不过在具体实现上有许多变化。

深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。

Machine Learning vs. Deep Learning 

神经网络(主要是感知器)经常用于 分类

神经网络的分类知识体现在网络连接上,被隐式地存储在连接的权值中。

神经网络的学习就是通过迭代算法,对权值逐步修改的优化过程,学习的目标就是通过改变权值使训练集的样本都能被正确分类。

神经网络特别适用于下列情况的分类问题:

1) 数据量比较小,缺少足够的样本建立模型

2) 数据的结构难以用传统的统计方法来描述

3) 分类模型难以表示为传统的统计模型

缺点:

1) 需要很长的训练时间,因而对于有足够长训练时间的应用更合适。

2) 需要大量的参数,这些通常主要靠经验确定,如网络拓扑或“结构”。

3)  可解释性差 。该特点使得神经网络在数据挖掘的初期并不看好。

优点:

1) 分类的准确度高

2)并行分布处理能力强

3)分布存储及学习能力高

4)对噪音数据有很强的鲁棒性和容错能力

最流行的基于神经网络的分类算法是80年代提出的 后向传播算法 。后向传播算法在多路前馈神经网络上学习。 

定义网络拓扑

在开始训练之前,用户必须说明输入层的单元数、隐藏层数(如果多于一层)、每一隐藏层的单元数和输出层的单元数,以确定网络拓扑。

对训练样本中每个属性的值进行规格化将有助于加快学习过程。通常,对输入值规格化,使得它们落入0.0和1.0之间。

离散值属性可以重新编码,使得每个域值一个输入单元。例如,如果属性A的定义域为(a0,a1,a2),则可以分配三个输入单元表示A。即,我们可以用I0 ,I1 ,I2作为输入单元。每个单元初始化为0。如果A = a0,则I0置为1;如果A = a1,I1置1;如此下去。

一个输出单元可以用来表示两个类(值1代表一个类,而值0代表另一个)。如果多于两个类,则每个类使用一个输出单元。

隐藏层单元数设多少个“最好” ,没有明确的规则。

网络设计是一个实验过程,并可能影响准确性。权的初值也可能影响准确性。如果某个经过训练的网络的准确率太低,则通常需要采用不同的网络拓扑或使用不同的初始权值,重复进行训练。

后向传播算法学习过程:

迭代地处理一组训练样本,将每个样本的网络预测与实际的类标号比较。

每次迭代后,修改权值,使得网络预测和实际类之间的均方差最小。

这种修改“后向”进行。即,由输出层,经由每个隐藏层,到第一个隐藏层(因此称作后向传播)。尽管不能保证,一般地,权将最终收敛,学习过程停止。

算法终止条件:训练集中被正确分类的样本达到一定的比例,或者权系数趋近稳定。

后向传播算法分为如下几步:

1) 初始化权

网络的权通常被初始化为很小的随机数(例如,范围从-1.0到1.0,或从-0.5到0.5)。

每个单元都设有一个偏置(bias),偏置也被初始化为小随机数。

2) 向前传播输入

对于每一个样本X,重复下面两步:

向前传播输入,向后传播误差

计算各层每个单元的输入和输出。输入层:输出=输入=样本X的属性;即,对于单元j,Oj = Ij = Xj。隐藏层和输出层:输入=前一层的输出的线性组合,即,对于单元j, Ij =wij Oi + θj,输出=

3) 向后传播误差

计算各层每个单元的误差。

输出层单元j,误差:

Oj是单元j的实际输出,而Tj是j的真正输出。

隐藏层单元j,误差:

wjk是由j到下一层中单元k的连接的权,Errk是单元k的误差

更新 权 和 偏差 ,以反映传播的误差。

权由下式更新:

 其中,△wij是权wij的改变。l是学习率,通常取0和1之间的值。

 偏置由下式更新:

  其中,△θj是偏置θj的改变。

Example

人类视觉原理:

深度学习的许多研究成果,离不开对大脑认知原理的研究,尤其是视觉原理的研究。1981 年的诺贝尔医学奖,颁发给了 David Hubel(出生于加拿大的美国神经生物学家) 和Torsten Wiesel,以及Roger Sperry。前两位的主要贡献,是“发现了视觉系统的信息处理”, 可视皮层是分级的 。

人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。

对于不同的物体,人类视觉也是通过这样逐层分级,来进行认知的:

在最底层特征基本上是类似的,就是各种边缘,越往上,越能提取出此类物体的一些特征(轮子、眼睛、躯干等),到最上层,不同的高级特征最终组合成相应的图像,从而能够让人类准确的区分不同的物体。

可以很自然的想到:可以不可以模仿人类大脑的这个特点,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类呢?答案是肯定的,这也是许多深度学习算法(包括CNN)的灵感来源。

卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。卷积网络通过一系列方法,成功将数据量庞大的图像识别问题不断降维,最终使其能够被训练。

CNN最早由Yann LeCun提出并应用在手写字体识别上。LeCun提出的网络称为LeNet,其网络结构如下:

这是一个最典型的卷积网络,由 卷积层、池化层、全连接层 组成。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。

CNN通过卷积来模拟特征区分,并且通过卷积的权值共享及池化,来降低网络参数的数量级,最后通过传统神经网络完成分类等任务。

降低参数量级:如果使用传统神经网络方式,对一张图片进行分类,那么,把图片的每个像素都连接到隐藏层节点上,对于一张1000x1000像素的图片,如果有1M隐藏层单元,一共有10^12个参数,这显然是不能接受的。

但是在CNN里,可以大大减少参数个数,基于以下两个假设:

1)最底层特征都是局部性的,也就是说,用10x10这样大小的过滤器就能表示边缘等底层特征

2)图像上不同小片段,以及不同图像上的小片段的特征是类似的,也就是说,能用同样的一组分类器来描述各种各样不同的图像

基于以上两个假设,就能把第一层网络结构简化

用100个10x10的小过滤器,就能够描述整幅图片上的底层特征。

卷积运算的定义如下图所示:

如上图所示,一个5x5的图像,用一个3x3的 卷积核 :

   101

   010

   101

来对图像进行卷积操作(可以理解为有一个滑动窗口,把卷积核与对应的图像像素做乘积然后求和),得到了3x3的卷积结果。

这个过程可以理解为使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。在实际训练过程中, 卷积核的值是在学习过程中学到的。

在具体应用中,往往有多个卷积核,可以认为, 每个卷积核代表了一种图像模式 ,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果设计了6个卷积核,可以理解为这个图像上有6种底层纹理模式,也就是用6种基础模式就能描绘出一副图像。以下就是24种不同的卷积核的示例:

池化 的过程如下图所示:

可以看到,原始图片是20x20的,对其进行采样,采样窗口为10x10,最终将其采样成为一个2x2大小的特征图。

之所以这么做,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行采样。

即使减少了许多数据,特征的统计属性仍能够描述图像,而且由于降低了数据维度,有效地避免了过拟合。

在实际应用中,分为最大值采样(Max-Pooling)与平均值采样(Mean-Pooling)。

LeNet网络结构:

注意,上图中S2与C3的连接方式并不是全连接,而是部分连接。最后,通过全连接层C5、F6得到10个输出,对应10个数字的概率。

卷积神经网络的训练过程与传统神经网络类似,也是参照了反向传播算法

第一阶段,向前传播阶段:

a)从样本集中取一个样本(X,Yp),将X输入网络;

b)计算相应的实际输出Op

第二阶段,向后传播阶段

a)计算实际输出Op与相应的理想输出Yp的差;

b)按极小化误差的方法反向传播调整权矩阵。

⑦ 乘法的竖式运算与卷积→卷积的本质

乘法的竖式运算是非常有效的算法,其原理却让人捉摸不透,很难看出有什么几何意义。在看了《深入浅出通信原理》关于卷积的介绍后,才发现,原来它是一种卷积运算。卷积,对普通人来说是非常陌生的,即使对于学习过积分变换中的卷积定理的人而言,似乎也从未真正理解它的含义,仅仅是记住了公式然后去套用。所以,这篇文章希望通过类比的方式,告诉你卷积不过是竖式运算的一种抽象,在我们很小的时候就掌握了它的计算方法。

首先让我们回顾乘法的竖式运算,如下图所示

先用被乘数乘最右边的数,对应写下来,然后用被乘数乘右起第二个数,像左平移一位后对应写下来,这样直到把乘数的所有位乘一遍,最后把得到的这些数对应加起来,就得到了最终结果。整个计算过程中,我们都是在做平移,乘积,求和的简单步骤,一个复杂的大数乘积问题,就被分解为这样的基础运算,非常高效。

现在,换一个角度来看这个过程,由于数字是十进制的,所以总可以分解为这样的数字多桐渣项式,也就是一般的多项式,将未知数取为10。

既然当x=10的时候,我们可以这样来计算,x为其他的值的时候能否这样算呢?答案就在下面的图。

多项式的乘法也可以通过竖式运算来求结果,而且同样的简单。移位,乘积,求和。不过,也是有所区别的,就比如结果出现了超过10的数,之前是十进制的,满足关系

所以逢10进位,类似的对于其他进制的数,有类似的进位关系:

二进制

八进制

但是,现在,x是未知的,所以进位关系就不再成立了。于是出现了超过10的数,其实这个数可以任意大,因为x可以任意大。

好的,中间穿插了一些数制的讨论,现在回到正题。经过上面的讨论,我们发现竖式运算可以轻易推广到多项式的情形,那么再贪心一些,能不能将他推广到更一般的情形上呢?我们都知道,多项式是泰勒级数的特例,是有限项的泰勒级数。那么能否推广到泰勒级数的乘积上去呢?当然也是可以的,但是,对于无穷项书写起来就太麻烦了,所以还是选择另一个推广方向。傅里叶多项式是傅里叶级数的有限形式,所以,我们可以试着推广竖式运算到傅里叶多项式。

如图所示,竖式运算同样可以求解傅里叶多项式的乘法,不过,出现了新的变化,傅里叶多项式的基有正有负,所以逐位相乘的时候需要仔细确定他的平移位置,像这里,由于有一次的负基,所以整体向右平移了一位。

于是,竖式运算其实反映了这样的一种多项式乘法的本质,多项式的系数乘法往往被称为卷积,竖式运算就是这种系数乘法的表现形式。

于是,至少在有限情形下,对卷积的理解做了些探索,对于连续的情形,就涉及一些问题,收敛性,基之间的运算。姑且当作一种直观对应吧,

接下来是我尝试使用连续基向量空间模型来理解函数的卷积的内容。关于连续基向量空间模型的解释可以去看我之前写的线性算符和矩阵的四篇文章。

首先任意可测函数都可以视为连续基向量空间中的向量,这个向量空间的基可以取实数集中的任意点,也就是集合 ,我们考虑的函数可以记为连续基的线性组合。

于是通常的函数乘法,给出的是

也就是逐点乘积,两个基相同的时候才可以将系数相乘,基的作用可有可无。

而卷积则是

这就是一种高明的向量运算,利用到了连续基的运算性质 ,这种性质可以类比傅里叶级数中的复指数基 ,因为连续基可以视为复指数基的极限情形。

这样看来,卷积是一种更加自然的运算,有着更好的性质,本质上就是有限维向量空间上乘法的一种推广,还是多项式乘法。而函数的基亩乘法则是一种粗糙的运算,丢失了很多向量空间的搏轮森性质。

这篇文章,有点久了,没有发出来,是因为后面的部分有一些错误,而且感觉并没有找到卷积的本质。

最近在看信号与系统,响应信号的卷积求法,又借助于看广义函数论的一些认识,总算是明白了卷积的本质。

下面就是我的理解,可能需要对测度有一定了解。

广义函数作用于函数,表现为积分的形式,比如狄拉克分布,int[f(x)*δ(x)]dx=f(0), 可以视为对函数f的定义域空间定义了一个测度,仅在原点处质量为1,其他部分均为零,这只是一种形象的描述,这种描述的正式定义还是比较复杂的。

类比考虑广义函数的卷积形式,int[f(x)δ(t-x)]dx, 也就是发生了一些变化,测度还是一样的,但是原点位置却随着参数t的变化而不断变化,于是从点变成了函数。

所以卷积就是一种带参数的广义函数作用,他给出了一种带权值的测量网格,随参数的改变,网格的位置发生变化。

可以考虑卷积神经网络,也就是图像处理中的卷积运算,虽然是离散情形,却给出了本质特征,他就是一个权值网格,比如3*3的卷积模板,就是对这九个像素分别赋予一个权值,然后对初始像素反转后加权求和,而参数就是起到了移动模板的作用,一次移动一个像素,直到计算完所有的像素,就得到了输出,输入一个像素矩阵,卷积后输出一个像素矩阵。

解释:右图是离散卷积模版的权值,对应的像素要乘上相应的倍数,然后相加,左图的圆圈代表卷积模板的中心,参数的作用就是移动这个中心,计算每一个像素的值。

对于信号处理中涉及的连续情形,其实是一样的道理,这里的像素就是冲激信号,任何信号都可以表示为冲激信号的线性组合。这种表示,可以理解为函数空间的连续基。其实也可以这样理解,函数是定义在实数集上的,对于可测函数而言,每一个实数上的取值都是独立的,所以,对每一个实数对应一个冲激信号,就可以将函数变成不可数个冲激信号乘上对应函数值之和,一般可简化为积分。卷积就是利用这样的连续性的模板,进行加权求和,也就是加权积分,其实就是泛函作用,或者说广义函数作用。而参数则是起到移动这个连续性模板的作用,直到计算完所有的实数。就得到了输出,输入一个实函数,输出一个实函数。

解释:右图是连续性卷积模版的权值分布,竖线是连续性卷积模版的中心,参数的作用同样是移动这个中心,计算每一个实数的值。

至此,卷积的本质可以说被完全的揭示出来了。它是一种含参数的泛函作用,也就是说定义域每一点都对应一个泛函,每一个点的输出就是对应泛函与输入函数的作用。

值得注意的是,卷积不仅包括这种泛函作用及参数平移,还有一个翻转的运算,将图像矩阵,或者信号先翻转过来,然后再进行这种运算,这也是他的重要特征。所以理解卷积,首先要知道这种作用,这种作用有正有反,采用原始输入就是正作用,采用翻转后的原始输入就是反作用,卷积就是反作用。

通过卷积模版,也可理解为什么具紧支集的连续函数或可测函数非常重要,因为,这样的函数,往往可以保证卷积积分的收敛,也就是卷积的存在,所以也可是认为是可进行卷积运算的恰当的函数集。预先给出这个假设,就可以毫无顾忌的使用卷积运算了。

这个问题总算是得到了解决,确实不容易,求随机变量函数的概率分布,时域卷积与频域乘积,图像处理的卷积模板,信号处理中响应的卷积算法,积分变换里面的卷积定理,多项式乘积的卷积本质,卷积确实是无处不在,可是,却很难找到一个合理的解释。要么就太过唯象了,试图使用图片来解释这个抽象概念,要么太过理论化了,数学的描述非常正确,却无法给出图像。不过,我感觉,我给出的这个解释还是比较难以理解的。不过,对我而言,却是足够清晰了,将一个运算的大杂烩,拆分成了有明确意义的两步操作,如此简单,却是几年都未曾发觉。只能说世事奇妙,没有如此多的对比与积累,这种本质还是很难发现的。

⑧ 卷积神经网络中的卷积的物理意义和现象

从数学上讲,卷积就是一种运算

在信号与系统中卷积的公式如下:

对应相乘再相加,这是在坐标轴上进行的

对于在图像中这样一个二维矩阵的卷积中,我们可以想象的就是卷积神经网络中的“平滑问题”

如下图所示为对图像做平滑,一个典型的8领域平滑,其结果中的每个值都来源于原对应位置和其周边8个元素与一个3X3矩阵的乘积,也就相当于对原矩阵,按照顺序将各区域元素与W矩阵相乘,W 矩阵为

这也被称作核(Kernel, 3X3)

最后我们可以得到如右图所示的数字“3”。

如果依次平滑过去便可以得到卷积图的像素值数值变化。

内核放置在图像的左上角。内核覆盖的像素值乘以相应的内核值,并且乘积相加。结果放置在与内核中心相对应的位置的新映像中。下图显示了第一步的一个例子。

内核被移动一个像素,这个过程被重新设置,直到图像中的所有可能的位置被过滤如下,这次是水平的Sobel过滤器。请注意,在卷积图像周围存在空值的边框。这是因为卷积的结果放在内核的中心。为了解决这个问题,我们使用了一个叫做“padding”或者更常见的“零填充”的过程。这仅仅意味着在原始图像周围放置了一个零边框,以使其四周变宽。卷积然后按正常进行,但是卷积结果现在将产生与原始大小相同的图像。

卷积后发现边缘空白,为了使图像有原来的尺寸,边缘填0,也即padding, 但是填完了再利用“核”再做一次卷积,所以执行下面的操作:

所以池化层的目的也比较明确,就是减小尺寸,去除padding产生的数据信息。

现在我们有了我们的卷积图像,我们可以使用色彩映射来显示结果。在这里,我只是规范了0到255之间的值,以便我可以应用灰度可视化:

神经网络中,卷积+池化是特征提取器,全连接层是分类器.

参考文献:

[1] https://www.hu.com/question/39022858

[2] https://mlnotebook.github.io/post/CNN1/

[3] https://www.hu.com/question/22298352

⑨ 用于量子计算机的深度卷积神经网络

量子计算机将用于什么用途?量子计算机有望在许多领域帮助解决难题,包括机器学习。

本文详细讲述 量子计算机 卷积神经网络 (CNN)的理论实现。我们将此算法称为 QCNN ,我们证明了它可以比CNN 更快 地运行,并且精度 很高

为此,我们必须提出 卷积积 量子形式 ,找到实现非线性和池化的方法,以及对 表示图像 量子态 进行层析成像的新方法,以 保留有意义的信息



简而言之,我们可以说 量子物理系统可以描述为 维度为2^n的某些希尔伯特空间中的 向量 ,其中n是粒子数。实际上,这些向量表示许多可能的观察结果的叠加。

另一方面,机器学习,尤其是神经网络,正在粗略地使用向量和矩阵来理解或处理数据。 量子机器学习(QML)旨在使用量子系统对向量进行编码,并使用新的量子算法对其进行学习 。一个关键的概念是在许多矢量上使用量子叠加,我们可以同时处理它们。

我不会更深入地介绍量子计算或QML。有关更多详细信息,可以参考NeurIPS 2019中有关 Quantum k-means的 一篇文章 :

卷积神经网络(CNN)是一种流行且高效的神经网络,用于图像分类,信号处理等。在大多数层中,将 卷积积 应用于图像或张量的输入上。通常后面是 非线性层和池化层

3D张量输入X ^ 1(RGB图像)和4D张量内核K ^ 1之间的卷积。



在本章中,我将重点介绍一层,解释什么是量子CNN。

这里的核心思想是我们可以根据矩阵乘法来重新构造卷积积。

该算法首先以量子叠加方式加载矩阵的 所有行和列 。然后,我们使用先前开发的 Quantum Inner Proct Estimation估算 输出的每个像素。在实践中,这就像只计算一个输出像素(图中的红点),但是以 量子叠加的方式进行计算可以使罩山吵它们同时全部都具有 !然后,我们可以同时对它们中的每一个应用非线性。

不幸的是,我们所拥有的只是一个量子状态,其中所有像素并行存在,并不意味着我们可以访问所有像素。如果我们打开"量子盒"并查看结果(一个度量),我们 每次都会随机地只看到一个输出像素 。在打开盒子之前,这里都有"四处漂浮"的东西,就像着名的薛定谔的死活猫。

为了解决这个问题,我们引入了唯铅一种 只检索最有意义的像素的方法 。实际上,量子叠加中的每个输出像素都有一个幅度,与我们测量系统时 被看到 的幅度有关。在我们的算法中,我们强制此幅度等于像素值。 因此,具有高值的输出像素更有可能被看到。

在CNN中,输出中的高值像素非常重要。它们代表输入中存在特定模式的区域。通过了解不同模式出现的位置,神经网络可以理解图像。因此,这些 高价值像素承载着有意义的信息 ,我们可以舍弃其他希望CNN适应的 像素

图像上量子效应(噪声,随机性,采样)的小示例。凭直觉,我们仅对高值像素采样后仍可以"理解"图像。

请注意,在对这些输出像素进行采样时,我们可以在存储它们时应用任何类型的 合并 (有关技术细节,请参见论文)。我们将这些像素存储在经典内存中,以便可以将它们重新加载为 下一层的 输入。



传统上,CNN层需要时间 Õ( 输出大小 x 内核大小 。这就是为什么例如使用许多大内核来训练这些网络变得昂贵的原因。我们的 量子CNN 需要时间 为O( σ X 输出大小) X Q) ,其中 σ 是我们从输出(<1)绘制样品的比率,和 Q 表示量子精度参数和数据相关的参数一束。有 没有在内核大小更依赖 (数量和尺寸),这可能允许进行更深入物侍的CNN。

通过量子CNN的这种设计,我们现在也想用量子算法对其进行训练。训练包括遵循梯度下降规则更新内核参数。在这里也可以找到一种更快的量子算法,它几乎等同于具有某些额外误差的通常的梯度下降。

QCNN和量子反向传播看起来不错,但暗示了很多近似,噪声和随机性。尽管有这些伪像,CNN仍然可以学习吗?我们比较了小型经典CNN的训练和QCNN在学习对手写数字进行分类(MNIST数据集)的任务上的模拟。这表明 QCNN可以以相似的精度学习

量子和经典CNN训练曲线之间的比较。 σ 是从每一层后的输出提取的高值像素的比率。期望 σ 太小,QCNN可以很好地学习。请注意,此数值模拟很小,只能给出直觉,不是证明。

在这项工作中,我们设计了第一个量子算法,通过引入量子卷积乘积和检索有意义的信息的新方法,几乎​​可以重现任何经典的CNN体​​系结构。它可以允许使用更深,更大的输入或内核来大大加快CNN的速度。我们还开发了量子反向传播算法,并模拟了整个训练过程。

请读者思考的问题:我们可以在其他数据集使用大型架构上训练QCNN吗?


⑩ 什么是卷积

最近有一个项目要用到图像检测,所以现在系统的开始入手深度学习的知识。本来打算用 Google 的 TensorFlow 来实现,毕竟 TFBoy 近几年热度不减,但考虑到项目实施周期,打算前期用网络的 EasyDL 来实现,和网络 AI 的产品经理聊了几次,说是类似的项目,200张样本训练,识别能达到80%,应该算是一个不错的识别率了。

当然,一些基础知识还是要了解一下,这里面有不少的概念还挺不好理解的。深度学习,有专门的卷积神经网络,在图像领域取得了非常好的实际效果,已经把传统的图像处理的方法快干趴下了。看了很多关于卷积的解释,在这里整理一下。

网上流传的一个段子,非常形象。比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地鼓起来一个包,你的脸就是一个系统,而鼓起来的包就是你的脸对巴掌的响应,好,这样就和信号系统建立起来意义对应的联系。

下面还需要一些假设来保证论证的严谨:假定你的脸是线性时不变系统,也就是说,无论什么时候老板打你一巴掌,打在你脸的同一位置,你的脸上总是会在相同的时间间隔内鼓起来一个相同高度的包来,并且假定以鼓起来的包的大小作为系统输出。好了,那么,下面可以进入核心内容——卷积了!

如果你每天都到楼下去打台球,那么老板每天都要扇你一巴掌,不过当老板打你一巴掌后,你5分钟就消肿了,所以时间长了,你甚至就适应这种生活了……。如果有一天,老板忍无可忍,以0.5秒的间隔开始不间断的扇你,这样问题就来了,第一次扇你鼓起来的包还没消肿,第二个巴掌就来了,你脸上的包就可能鼓起来两倍高,老板不断扇你,脉冲不断作用在你脸上,效果不断叠加了,这样这些效果就可以求和了,结果就是你脸上的包的高度随时间变化的一个函数了(注意理解)。

如果老板再狠一点,频率越来越高,以至于你都辨别不清时间间隔了,那么,求和就变成积分了。可以这样理解,在这个过程中的某一固定的时刻,你的脸上的包的鼓起程度和什么有关呢?和之前每次打你都有关!但是各次的贡献是不一样的,越早打的巴掌,贡献越小,所以这就是说,某一时刻的输出是之前很多次输入乘以各自的衰减系数之后的叠加而形成某一点的输出,然后再把不同时刻的输出点放在一起,形成一个函数,这就是卷积,卷积之后的函数就是你脸上的包的大小随时间变化的函数。

本来你的包几分钟就可以消肿,可是如果连续打,几个小时也消不了肿了,这难道不是一种平滑过程么?反映到剑桥大学的公式上,f(a) 就是第 a 个巴掌,g(x-a)就是第 a 个巴掌在x时刻的作用程度,乘起来再叠加就 ok 了。

从数学上讲,卷积就是一种运算。通俗易懂的说,卷积就是

** 输出 = 输入 * 系统**

虽然它看起来只是个简单的数学公式,但是却有着重要的物理意义,因为自然界这样的系统无处不在,计算一个系统的输出最好的方法就是运用卷积。更一般的,我们还有很多其他领域的应用:

统计学中,加权的滑动平均是一种卷积。

概率论中,两个统计独立变量X与Y的和的概率密度函数是X与Y的概率密度函数的卷积。

声学中,回声可以用源声与一个反映各种反射效应的函数的卷积表示。

电子工程与信号处理中,任一个线性系统的输出都可以通过将输入信号与系统函数(系统的冲激响应)做卷积获得。

物理学中,任何一个线性系统(符合叠加原理)都存在卷积。

计算机科学中,卷积神经网络(CNN)是深度学习算法中的一种,近年来被广泛用到模式识别、图像处理等领域中。

这6个领域中,卷积起到了至关重要的作用。在面对一些复杂情况时,作为一种强有力的处理方法,卷积给出了简单却有效的输出。对于机器学习领域,尤其是深度学习,最着名的CNN卷积神经网络(Convolutional Neural Network, CNN),在图像领域取得了非常好的实际效果,始一出现便横扫各类算法。

其定义如下:
我们称 (f * g)(n) 为 f,g 的卷积
其连续的定义为:

其离散的定义为:

再通俗的说,看起来像把一张二维的地毯从角沿45度斜线卷起来。
以下是一张正方形地毯,上面保存着f和g在区间[a,\b]的张量积,即U(x,y)=f(x)g(y)。

再看下面最简单的一个例子。
考虑到函数 f 和 g 应该地位平等,或者说变量 x 和 y 应该地位平等,一种可取的办法就是沿直线 x+y = t 卷起来:

卷了有什么用?可以用来做多位数乘法,比如:

要解决的问题是:有两枚骰子,把它们都抛出去,两枚骰子点数加起来为4的概率是多少?

分析一下,两枚骰子点数加起来为4的情况有三种情况:1+3=4, 2+2=4, 3+1=4
因此,两枚骰子点数加起来为4的概率为:

在这里我想进一步用上面的翻转滑动叠加的逻辑进行解释。
首先,因为两个骰子的点数和是4,为了满足这个约束条件,我们还是把函数 g 翻转一下,然后阴影区域上下对应的数相乘,然后累加,相当于求自变量为4的卷积值,如下图所示:

楼下早点铺子生意太好了,供不应求,就买了一台机器,不断的生产馒头。
假设馒头的生产速度是 f(t),那么一天后生产出来的馒头总量为:

馒头生产出来之后,就会慢慢腐败,假设腐败函数为 g(t),比如,10个馒头,24小时会腐败:

用一个模板和一幅图像进行卷积,对于图像上的一个点,让模板的原点和该点重合,然后模板上的点和图像上对应的点相乘,然后各点的积相加,就得到了该点的卷积值。对图像上的每个点都这样处理。由于大多数模板都是对称的,所以模板不旋转。卷积是一种积分运算,用来求两个曲线重叠区域面积。可以看作加权求和,可以用来消除噪声、特征增强。
把一个点的像素值用它周围的点的像素值的加权平均代替。
卷积是一种线性运算,图像处理中常见的mask运算都是卷积,广泛应用于图像滤波。
卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理中的卷积定理。利用该定理,可以将时间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT等快速算法,实现有效的计算,节省运算代价。

有这么一副图像,可以看到,图像上有很多噪点:

自然图像有其固有特性,也就是说,图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。

更恰当的解释是,当从一个大尺寸图像中随机选取一小块,比如说 8x8 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个 8x8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从 8x8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。

下面给出一个具体的例子:假设你已经从一个 96x96 的图像中学习到了它的一个 8x8 的样本所具有的特征,假设这是由有 100 个隐含单元的自编码完成的。为了得到卷积特征,需要对 96x96 的图像的每个 8x8 的小块图像区域都进行卷积运算。也就是说,抽取 8x8 的小块区域,并且从起始坐标开始依次标记为(1,1),(1,2),...,一直到(89,89),然后对抽取的区域逐个运行训练过的稀疏自编码来得到特征的激活值。在这个例子里,显然可以得到 100 个集合,每个集合含有 89x89 个卷积特征。

以上,未知来源出处无法一一注明。

阅读全文

与卷积神经网络信号与系统相关的资料

热点内容
网络密码设置地址 浏览:5
如果华为手机网络忘了密码怎么办 浏览:367
连接不到网络可以不用吗 浏览:403
保定免费wifi网络 浏览:810
移动网络流量快充中心 浏览:201
摄像头网络线用什么接口 浏览:304
小度网络异常未连接rtc云服务 浏览:17
网络文章哪个效果好 浏览:278
无线网络详细信息里面空的 浏览:297
有了网络如何引导孩子上网 浏览:890
如何用手机网络共享打印机 浏览:521
苹果网络版本从哪看 浏览:761
联想xp无线网络找不到 浏览:974
手机无线网怎么显示网络异常 浏览:608
如何查看已连上网络的密码 浏览:608
网络可以获得哪些知识 浏览:707
网络广告费用要多少 浏览:594
临淄区哪里有卖网络机顶盒的 浏览:282
小常去海燕农家乐吃饭问网络密码 浏览:502
开机网络自动连接 浏览:221

友情链接