卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此又称为SIANN。卷积神经网络仿照生物的视知觉机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化特征进行学习。
卷积神经网络的结构包括:输入层、卷积层、池化层、全连接、输出层。
输入层:整个神经网络的输入,在处理图像的卷积神经网络中,它代表一张图片的像素矩阵,其中三维矩阵长宽代表图像大小,深度代表了图像的色彩通道。
卷积层:卷积层试图将神经网络中的每小块进行更加深入地分析而获得抽象度更高的特征。卷积层神经网络结构中最重要的部分就是过滤器或者叫作内核,过滤器可以将当前神经网络的一个子节点矩阵转化为下一层神经网络的一个单位节点矩阵。过滤器的节点矩阵是三维矩阵(长宽深度),有时候只需给出二维,深度一般和当前神经网络节点深度相同。 特征图尺寸为W2=(W1-F+2P)/S + 1(W2特征图宽,W1输入图像的宽,F表示过滤器的宽,P表示填充零的圈数,S表示步长)
池化层:不改变三维矩阵的深度,但可以缩小矩阵的大小。通过池化层可以进一步缩小最后全连接层中节点的个数,从而达到减小整个神经网络参数的目的。使用池化层即可以加快计算速度也可以有效地防止过拟合问题。 池化层的过滤器是三维矩阵,有时候只需要给出长宽就好,池化层的过滤器只影响一个深度上的节点,即主要减小矩阵的长和宽,深度不变。
全连接层:旨在执行对原始图像的高级抽象,它们将前一层所有的神经元与当前层的每个神经元相连接,在全连接层不保存空间信息。全连接层在整个卷积神经网络中起到“分类器”的作用。全连接层需要进行反向传播进行参数调优,还要向前传递梯度,需要计算三个偏导数:对上一层的输出求导、对权重系数求导、对偏置系数求导。由于全连接层参数冗余,全局平均池化(GAP)取代FC来融合学到的深度特征,用GAP替代FC的网络通常有较好的预测性能。
Softmax层:用于分类,通过softmax层可以得到当前输出属于不同种类的概率分布情况,softmax函数又称归一化指数函数,是对数概率回归在C个不同值上的推广,公式如下:
f ( i ) = e − O i ∑