卷积神经网络架构_卷积神经网络具体包括哪些

(1) 2024-08-16 09:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
卷积神经网络架构_卷积神经网络具体包括哪些,希望能够帮助你!!!。

卷积神经网络(conv)架构

卷积神经网络在图像分类数据集上有非常突出的表现,由于一般正常的图像信息过大,如果使用全连接神经网络,需要设置大量的权值w和basic值,这样会导致运算效率较低,还容易导致过分拟合的问题。

1.全连接神经网络和卷积神经网络的区别

全连接神经网络:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第1张
卷积神经网络图:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第2张
共同点: 图中每一个节点都代表一个神经元,没相邻两层之间的节点都有边相;输入输出的流程基本一致。
不同点: 卷积神经网络相邻两层之间只有部分的节点相连,所以一般会将每一层的卷积层组织成一个三维矩阵。
卷积神经网络的优点: 在图像处理方面,对于MNIST数据,每一张图片的大小是28281,其中28*28为图片的大小,1表示只有一个彩色通道,并且这里的图像的颜色为黑白。假设第一层隐藏层的节点数位500个,那么一个全连接层的神经网络将有28 * 28 * 500+500=个参数。其中**+500**表示的是basic值。而当图片更大的时候,通道数增加的的时候,所需要的参数的数量会更大,会达到百万级,甚至千万级。随着参数的增多,计算速度会随之减慢,还容易导致过度拟合问题。

2.卷积神经网络

卷积神经网络构架图:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第3张

1.输入层

在处理图像的卷积神经网络中,它一般代表了一张图片的像素矩阵。通常为(length * width *channel)。 三维矩阵的深度代表了图像的彩色通道(channel)。比如黑白图片的深度为1,而在RGB色彩模式下,图像的深度为3。从输入层开始,卷积神经网络通过不同的神经网络结构将上一层的三维矩阵转化为下一层的三维矩阵,直到最后的全连接层。

2.卷积层

是卷积网络中最为重要的部分。和传统全连接层不同,卷积层中每一个节点的输入只是上一层神经网络的一小块,这个小快常用的大小有3 * 3或者5 * 5,卷积层会增加原始节点的深度。通常卷积层这部分被称为过滤器(filetr) 或者 内核(kernel)
过滤器: 将当前的神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵,但深度不限的节点矩阵。
过滤器示意图:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第4张
过滤器的尺寸: 过滤器的所处理的节点矩阵的长和宽就是这个过滤器的长和宽的尺寸。而过滤器的深度则是有需要人工指定设置和处理的。
卷积层例子: 过滤器将一个 2 * 2 * 3 的节点矩阵变化为一个1 * 1 * 5的单位节点矩阵。那么该卷积层的需要**2 * 2 * 2 3 5 + 5 = 65 个参数。其中最后的+5为偏置项的个数。假设用wi来表示第i个权重,bi表示偏置项的参数。上述所示的公式为:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第5张
传播的过程: 卷积层的前向传播过程是将一个过滤器从神经网络当前层的 左上角移动到右下角,并且在移动过程中计算每一个对应的单位矩阵。移动的例图 (步长为1)卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第6张
全0填充(zero-padding)–改变结果矩阵的大小(1): 为了 避免尺寸的变化,可以在当前层矩阵的边界加入全0填充。这样可以使得卷积层前向传播结果的矩阵大小和当前层矩阵保持一致。示意图:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第7张
**改变移动步长–改变结果矩阵的大小(2):**当改变过滤器的移动步长,可以改变结果矩阵的尺寸大小,示意图:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第8张
计算结果矩阵的大小的尺寸:
1.使用全0填充时:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第9张
2.不使用全0填充:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第10张
in_length:输入节点的长度,in_width:输入节点的宽度,side_length:移动的步长,filter_length过滤器的长度,filter_width表示过滤器的宽度。

3.池化层(Pooling)

池化层神经网络不会改变三维矩阵的深度,但是它可以缩小矩阵的大小。池化操作可以认为是将一张分辨率较高的图片转化为分辨率较低的图片。通过池化层,可以进一步缩小最后全连接层中节点的个数,从而达到减少整个神经网络中的参数的目的。
效果: 使用池化层既可以加快计算速度也可以防止过度拟合
使用: 同样类似卷积层,但是并不是计算节点的加权和,而是采用更加简单的最大值或者平均值运算最大池化层(max pooling) 使用最大值操作,是被使用得最多的池化层结构。平均池化层(average pooling) 使用平均值操作。注意: 池化层不仅需要在长和宽的维度上移动,它还需要在深度的维度上移动,且每次的过滤器可能是 不同的 。如图:
卷积神经网络架构_卷积神经网络具体包括哪些_https://bianchenghao6.com/blog__第11张

4.全连接层

在经过几轮的卷积层和池化层的处理之后,可以认为图像中的信息已经被抽象成了信息含量更高的特征。我们可以将卷积层和池化层看成自动图像特征提出的过程。在此之后,我们仍需使用全连接层来完成分类任务。

5.Softmax层。

Softmax层主要用于分类问题,我们可以得到当前样例属于不同种类的概率分布情况。

以上所有内容均为小编在看书后做的一些笔记总结。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复