当前位置:首页 > 天道酬勤 > 正文内容

卷积神经网络matlab(卷积神经网络分类)

张世龙2021年12月21日 01:31天道酬勤1070

卷积神经网络的概述

卷积神经网络CNN是一种包含卷积计算且结构深刻的神经网络,是深度学习的典型算法之一。 在计算机视觉领域具有强大的影响力是计算机视觉领域的核心算法模型

图片的存储

计算机多从视觉上处理图像数据,图像是计算机内按顺序排列的一串数字,数值为0~255。 0表示最暗,255表示最亮。 这个数字可以用长向量表示,但用向量表示会丢失平面结构的信息。 为了保留该平面结构的信息,通常选择矩阵的表示方式。

在RGB颜色模型中,图像有三个通道,因此每个矩阵也称为该图像的一个通道,并使用三个通道来表示计算。 在计算机中,一张图片是由数字组成的“长方体”。 可以用宽度、高度、深度进行说明。 一张图片在电脑中是这样存在的:

国安信道

三种常见的图像的处理方式:

1平均化(CNN仅为去平均) )将输入数据的各维度中心化为0

2正规化:将数据宽度正规化为相同的范围

3PCA/白化:用PCA降低维度。 白化是将数据在各特征轴上的宽度归一化

平均(将所有样本相加求出平均,从所有样本中减去这个平均样本后就是平均值。

正规化:对于各特征,范围为[-1,1 ]、

PCA/阿尔比诺:用PCA降低维度,取消每个维度的关联度。 特征和特征之间是相互独立的。 白化,对数据各特征轴上的振幅进行归一化

图像处理

图像处理

图像数据不直接放入神经网络,而是进行一系列处理,放入神经网络。 这个过程称为图像数据的预处理操作。

神经网络:

人工神经网络

神经网络也可以处理图像数据,但这有几个问题。 首先,要将图像数据配置到神经网络中,需要将图像数据展开为矢量。 这样,就需要很多参数。 结果,需要大量的计算力来完成神经网络的训练任务。 另外,图像有点特殊,不同的图像应该有不同的位置,所以可以重复使用所学习的特征。 图像具有局部关联性的性质,某个图像的像素点最受影响的是其周边的像素点,与距离该像素点比较远的像素点之间没有什么关系。 显然在神经网络中是不可能的,所以为了解决这个问题,我们采用了局部连接权重共享的方式,不仅权重参数下降了,学习能力也没有实质性的下降,而卷积神经网络可以完美地处理这两个问题。 卷积神经网络被称为处理图像数据的标准装备。

卷积神经网络

目前,我们对卷积神经网络有了初步的认识。 下面具体说明卷积神经网络。 卷积神经网络中经常处理图像数据。 例如,识别汽车:

卷积神经网络

汽车作为输入数据输入卷积神经网络,经过卷积层CONV激活RELU,POOL代表池化操作,最后连接全连接层FC进行分类操作。

这就是卷积神经网络的全部。 将卷积神经网络分开,按功能进行解说,各击破。

卷积神经网络之卷积层:

卷积神经网络中,每个神经元只需要局部连接到上层,相当于每个神经元扫描一个小区域。 然后,如果把很多神经元组合在一起,就相当于扫描了整体。 由此构成表示图像某一维特征的特征图,n个特征图提取该图像的n维特征。 每个特征图都由许多神经元完成。

在卷积神经网络中,首先选择一个局部区域(filter ),用该局部区域) filter扫描整个图像。 本地区域包围的所有节点都连接到下一级节点。

卷积层

照片是矩阵,其次一层也是

个矩阵,我们用一个filter从图片矩阵左上角到右下角滑动,每滑动一次,当然被圈起来的神经元们就会连接下一层的一个神经元,形成参数矩阵这个就是卷积核,当然每次滑动虽然圈起来的神经元不同,连接下一层的神经元也不同,但是产生的参数矩阵确是一样的,这就是权值共享。

卷积核会和扫描的图片的那个局部矩阵作用产生一个值,比如第一次的时候,(w1*0+w2*1+w3*4+w4*5),所以,filter从左上到右下的这个过程中会得到一个矩阵(这就是下一层也是一个矩阵的原因),具体过程如下所示:

卷积计算过程

上图中左边是图片矩阵,我们使用的filter的大小是3*3的,第一次滑动的时候,卷积核和图片矩阵作用(1*1+1*0+1*1+0*0+1*1+1*0+0*1+0*0+1*1)=4,会产生一个值,就是右边矩阵的第一个值,filter滑动9次之后,会产生9个值,也就是说下一层有9个神经元,这9个神经元产生的值就构成了一个矩阵,就是上图右图所示,这矩阵叫做特征图,表示image的某一维度的特征,当然具体哪一维度可能并不知道,可能是这个图像的颜色,也有可能是这个图像的轮廓等等。

以上就是单通道的图片的卷积处理,这里再总结一下,图片是一个矩阵,我们用指定大小的filter去左上角到右下角来滑动,每次滑动所圈起来的结点会和下一层的一个结点相连,连接之后就会形成局部连接,每一条连接都会产生权重,这些权重就是卷积核,所以每次滑动都会产生一个卷积核,因为权值共享,所以这些卷积核都是一样的。卷积核会不断和当时filter所圈起来的局部矩阵作用,每次产生的值就是下一层结点的值了,这样多次产生的值组合起来就是一个特征图,表示某一维度的特征。

卷积神经网络之激活层

上面就把卷积神经网络的中的卷积层讲解完了,它的核心就是在提取特征,下面讲解激励层的作用,激励层的作用可以理解为把卷积层的结果做非线性映射。

激活层

上面的f表示激励函数,常用的激励函数有几下几种:

我们先来看一下激励函数Sigmoid:导数最小为0,最大为1/4,

Sigmoid

Tanh(双曲正切):和sigmoid相比,它会关于x轴上下对应,不至于朝某一方面偏向

Tanh

ReLU(修正线性单元):收敛快,求梯度简单,较脆弱,左边的梯度为0

只要不是一条直线,那么就是非线性的。

ReLU

(Leaky ReLU);不会饱和/挂掉,不会"饱和"/挂掉,计算也很快,但是计算量比较大

Leaky ReLU

激活层将卷积层的线性计算的结果进行了非线性映射。可以从下面的图中理解。它展示的是将非线性操作应用到一个特征图中。这里的输出特征图也可以看作是"修正"过的特征图。如下所示:

激活层处理之后的图像

卷积神经网络之池化层

下面讲解池化层:降低了各个特征图的维度,但可以保持大部分重要的信息。

池化层夹在连续的卷积层中间,压缩数据和参数的量,减小过拟合,池化层并没有参数,它只不过是把上层给它的结果做了一个下采样(数据压缩)。

下采样有两种非常用的方式:

Max pooling:选取最大的,我们定义一个空间邻域(比如,2x2 的窗口),并从窗口内的修正特征图中取出最大的元素,最大池化被证明效果更好一些。

Average pooling:平均的,我们定义一个空间邻域(比如,2x2 的窗口),并从窗口内的修正特征图算出平均值

最大池化操作

上面就是max pool方式,使用的是2*2的步长为2的,这样操作可以降低我们特征图的维度。

池化

无论是max pool还是average pool都会有部分信息被舍弃,那么部分信息被舍弃后会损坏识别结果吗?

因为卷积后的Feature Map中有对于识别物体不必要的冗余信息,我们下采样就是为了去掉这些冗余信息,所以并不会损坏识别结果。

卷积神经网络之全连接层

到现在为止,我们已经从输入讲到了卷积层,激励层,池化层,这些层一起就可以从图像中提取有用的特征,并在网络中引入非线性,减少特征维度,同时保持这些特征具有某种程度上的尺度变化不变性。

最终的结果会作为全连接层的输入,下面我们来讲解一下全连接层。两层之间所有神经元都有权重连接,通常全连接层在卷积神经网络尾部。当前面卷积层抓取到足以用来识别图片的特征后,接下来的就是如何进行分类。 全连接层(前馈层)就可以用来将最后的输出映射到。 通常卷积网络的最后会将末端得到的长方体平摊成一个长长的向量,并送入全连接层配合输出层进行分类。比如,在下面图中我们进行的图像分类有四个可能的输出结果。

全连接层

总结

用一句话总结卷积神经网络就是:卷积神经网络就是让权重在不同位置共享的神经网络,它是计算机视觉领域的核心算法模型

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/25999.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。