浅谈卷积神经网络及matlab实现

前言,好久不见,大家有没有想我啊。哈哈。今天我们来随便说说卷积神经网络。 1卷积神经网络的优点

卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积,从图像像素中提取图像特征,这种处理方式更加接近人类大脑视觉系统的处理方式。另外,卷积神经网络的权值共享属性和pooling层使网络需要训练的参数大大减小,简化了网络模型,提高了训练的效率。

2 卷积神经网络的架构

卷积神经网络与原始神经网络有什么区别呢,现在我分别给他们的架构图。

浅谈卷积神经网络及matlab实现

图 1 普通深度神经网络

浅谈卷积神经网络及matlab实现

图 2 卷积神经网络

哇,大家看,有什么特别的,是不是在输出层与卷积层之间有一个C/S的什么乱七八糟的的东西。其实这个就是卷积神经网络的精髓所在,他的优点不就是可以直接学习像素点,类似于人的眼睛采集信息吗。

输入层:卷积输入层可以直接作用于原始输入数据,对于输入是图像来说,输入数据是图像的像素值。

卷积层:卷积神经网络的卷积层,也叫做特征提取层,包括二个部分。第一部分是真正的卷积层,主要作用是提取输入数据特征。每一个不同的卷积核提取输入数据的特征都不相同,卷积层的卷积核数量越多,就能提取越多输入数据的特征。

第二部分是pooling层,也叫下采样层,主要目的是在保留有用信息的基础上减少数据处理量,加快训练网络的速度。通常情况下,卷积神经网络至少包含二层卷积层(这里把真正的卷积层和下采样层统称为卷积层),即卷积层,pooling层,卷积层,pooling层。卷积层数越多,在前一层卷积层基础上能够提取更加抽象的特征。

全连接层:可以包含多个全连接层,实际上就是多层感知机的隐含层部分。通常情况下后面层的神经节点都和前一层的每一个神经节点连接,同一层的神经元节点之间是没有连接的。每一层的神经元节点分别通过连接线上的权值进行前向传播,加权组合得到下一层神经元节点的输入。

输出层:输出层神经节点的数目是根据具体应用任务来设定的。如果是分类任务,卷积神经网络输出层通常是一个分类器。

3卷积计算

卷积核类似于人眼对物体进行扫描,所以自然很重要了。其中有离散型卷积核连续性卷积。

连续型卷积:

浅谈卷积神经网络及matlab实现

离散型卷积:

浅谈卷积神经网络及matlab实现

再神经网络中的卷积操作都属于离散卷积,其实际上是一个线性运算,而不是真正意义上的卷积操作,相应的卷积核也可以称为滤波器。卷积核大小确定了图像中参与运算子区域的大小。说白了,卷积核上的参数可以当成权重,就是说,现在每个像素点,对最后的卷积结果的投票能力,权值越大,投票能力也就越大。

3.1 卷积运算和相关运算的区别

例子如下,matlab输入运算:

浅谈卷积神经网络及matlab实现

得到结果:

浅谈卷积神经网络及matlab实现

卷积运算:

浅谈卷积神经网络及matlab实现

得到结果:

浅谈卷积神经网络及matlab实现

从中可以看出,卷积计算其实就是相关计算翻转180°,为什么要这样呢。

相关计算公式:

浅谈卷积神经网络及matlab实现

相关顾名思义就是计算,两个变量之间的相关关系,而卷积则是某个信号对整个系统所产生的影响。

两者相同点是:都是将两个函数映射到一个函数的函数 (f,g)->h。过程也很类似,卷积 是在先将一个函数反转以后进行 滑动相关。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgwjyj.html