《TensorFlow:实战Google深度学习框架》——6.2 卷积神经网络简介(卷积神经网络的基本网路结构及其与全连接神经网络的差异)

下图为全连接神经网络与卷积神经网络的结构对比图:

由上图来分析两者的差异: 

                全连接神经网络与卷积网络相同点                           全连接神经网络与卷积网络不同点
两者都是通过一层一层节点组织起来的,且每一个节点都是一个神经元

全连接神经网络:每相邻两层之间的节点都有边相连

卷积神经网络:相邻两层之间只有部分节点相连

两者输入输出及训练流程相同  

卷积神经网络的优点:

全连接神经网络处理图像的最大问题在于全连接层的参数太多。对于MNIST数据,每一张图片的大小是28×28× 1,其中28 ×28 为图片的大小,× 1表示图像是黑白的,只有一个色彩通道。假设第一层隐藏层的节点数为 500 个,那么一个全链接层的州经网络将有 28×28 ×500+500=392500 个参数。当图片更大时,比如在CIFAR-10数据集中,图片的大小为32 ×32×3,其中 32×32表示图片的大小,×3表示图片是通过红绿蓝三个色彩通道( channel)表示的。这样输入层就有3072个节点,如果第一层全连接层仍然是500个节点,那么这一层全链接神经网络将有 3072x500+500≈150万个参数。参数增多会导致计算速度减慢,以及存在过拟合问题。卷积网络就能够解决这些问题。


下图是一个更加具体的卷积神经网络架构图:

由上图来分析一个卷积神经网络主要由以下5种结构组成:

1.输入层:输入层是整个神经网络的输入,在处理图像的卷积神经网络中,它一般代表了一张图片的像素矩阵。比如在图 6-7中,最左侧的三维矩阵就可以代表一张图片其中三维矩阵的长和宽代表了图像的大小,而三维矩阵的深度代表了图像的色彩通道(channel)。比如黑白图片的深度为1,而在RGB色彩模式下,图像的深度为3。从输入层开始,卷积神经网络通过不同的神经网络结构将上一层的三维矩阵转化为下一层的三维矩阵,直到最后的全连接层。

2.卷积层:从名字就可以看出,卷积层是一个卷积神经网络中最为重要的部分。和传统全连接层不同,卷积层中每一个节点的输入只是上一层神经网络的一小块,这个小块常用的大小有3 × 3或者5 × 5。卷积层试图将神经网络中的每一小块进行更加深入地分析从而得到抽象程度更高的特征。一般来说,通过卷积层处理过的节点矩阵会变得更深,所以在图6-7中可以看到经过卷积层之后的节点矩阵的深度会增加。

3.池化层(Pooling):池化层神经网络不会改变三维矩阵的深度,但是它可以缩小矩阵的大小。池化操作可以认为是将一张分辨率较高的图片转化为分辨率较低的图片。通过池化层,可以进一步缩小最后全连接层中节点的个数,从而达到减少整个神经网络中参数的目的

4. 全连接层:如图 6-7所示,在经过多轮卷积层和池化层的处理之后,在卷积神经网络的最后一般会是由1到2个全连接层来给出最后的分类结果。经过几轮卷积层和池化层的处理之后,可以认为图像中的信息已经被抽象成了信息含量更高的特征。我们可以将卷积层和池化层看成自动图像特征提取的过程。在特征提取完成之后,仍然需要使用全连接层来完成分类任务

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

猜你喜欢

转载自blog.csdn.net/Sophia_11/article/details/84504091