卷积神经网络的简介:
相对于传统的图像分类,卷积神经网络(Convolutional Neural Network, CNN)提取的特征能够达到很好的效果,同时不需要将特征提取和分类训练两个过程分开。
CNN的构成:
(1)输入层,在CNN中,输入层与全连接网络的输入层类似,是一张图像的像素矩阵。
(2)卷积层,它是CNN中最重要的组成部分,卷积层中每一个节点的输入只是上一层神经网络的一小块(局部感受野),这个小块尺寸(滤波器的尺寸)经常使用3*3或者5*5。卷积层试图将神经网络中的每个小块进行更加深入地分析从而得到更加抽象的特征。一般来说,通过卷积层处理过的节点矩阵深度会增加(也就是说使用滤波器的个数比上一层的feature map数量多)。下面我们详细介绍一下卷积层的实现过程。
下图显示了卷积层的结构,这个部分称为滤波器。滤波器可以将当前神经网络上的一个子节点矩阵(局部感受野)转化为下一层神经网络上的一个单位节点矩阵(指的是一个长和宽均为1,但是深度不限的节点矩阵)。
值得注意的是,在一个卷积层中,滤波器说处理的节点矩阵的长和宽都是由人工指定的,虽然节点矩阵是三维的,但过滤器的尺寸只需要两个维度(以RGB图像输入层和卷积层相连的结构为例,只需要指定滤波器尺寸的长和宽,另一个维度是由输入决定的,对于RGB图像,由于它有三个通道,所以第三个维度是3,对于灰度图像,它的第三个维度为1;如果卷积操作在中间层,则第三个维度取决于上一层feature map的个数),同时滤波器另一个需要人工设定的参数为处理得到单位节点矩阵的深度,这个设置成为滤波器的深度。注意的是,过滤器的尺寸指的是一个过滤器输入节点矩阵的大小,而深度值得是输出单位节点矩阵的深度(也就是当前层你想得到的feature map的数量)。
下面以一个例子来说明卷积操作的过程。假设将一个2*2*3的节点矩阵转化为1*1*5的单位节点矩阵。单位矩阵中的第i个节点的取值计算公式为:
其中, ax,y,z a x , y , z 为过滤器节点 (x,y,z) ( x , y , z ) 的取值,