CNN(Convolutional Neural Network,卷积神经网络)
引言
CNN的出现是因为全连接神经网络无法很好地处理图像数据,主要原因有以下:使用全连接层处理图像最大的问题在于全连接层的参数太多,参数多了除了会导致计算速度变慢,也很容易会导致过拟合问题。所以我们需要一个更加合理的神经网络结构来有效的减少神经网络中的参数个数。卷积神经网络就可以达到这个目的。
CNN基本结构
- 输出层: 输入层是整个神经网络的输入,在处理图像的卷积神经网络中,它一般代表了一张图片的像素矩阵。其中三位矩阵的长和宽代表了图像的大小,而三维矩阵的深度代表了图像的色彩通道(channel)。如:灰度图深度为1,RGB色彩模式下深度为3。
- 卷积层: 卷积层是神经网络中最重要的一部分。和传统全连接层不同,卷积层的输入只是上一个神经网络的一小块。卷积层试图将每一小块进行更加深入的分析从而得到抽象程度更高的特征。一般来说,通过卷积层处理后的矩阵会变得更深。
- 池化层: 池化层不会改变三维矩阵的深度,但是它可以缩小矩阵的大小。池化操作一般认为是一张分辨率较高的图片转化为分辨率较低的图片。通过池化层可以进一步缩小最后全连接层中节点个数,从而达到减少整个神经网络参数的目的。
- 全连接层: 在经过多轮卷积池化的操作后,一般会由两层全连接层来给出最后的分类结果。经过多轮卷积池化的操作后,可以认为,图像的信息已经被抽象成了信息含量更