卷积神经网络的组成

  • 定义

    ​ 卷积神经网络由一个或多个卷积层、池化层以及全连接层等组成。与其他深度学习结构相比,卷积神经网络在图像等方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他浅层或深度神经网络,卷积神经网络需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。

  • 结构图

  • CNN网络层级结构

    • 卷积层
    • 激活层
    • 池化层
    • 全连接层

卷积层

​ 卷积层通过卷积核的过滤提取出图片中局部的特征

  • 卷积操作

​ 实际上,CNN在训练过程中会自行学习这些过滤器的值。 我们拥有的过滤器数量越多,提取的图像特征就越多,并且我们的网络在识别看不见的图像中的图案方面会变得越好。但是在训练过程之前,我们仍然需要指定一些超参数,例如卷积核的数量,卷积核大小,网络的体系结构等。特征图的大小和三个参数有关系:

  • 深度:特征图的深度等于卷积核的个数。
  • 步长:步长是将卷积核滑过输入矩阵的像素数。 当步长为1时,我们将卷积核一次移动一个像素。步长较大将产生较小的特征图。
  • 零填充:用于控制特征图的大小;有利于卷积核学习到输入图像周边的信息。

激活层

​ 所谓激活,实际上是对卷积层的输出结果做一次非线性映射。如果不用激励函数(其实就相当于激励函数是f(x)=x),这种情况下,每一层的输出都是上一层输入的线性函数。容易得出,无论有多少神经网络层,输出都是输入的线性组合,与没有隐层的效果是一样的,这就是最原始的感知机了。在实际梯度下降中,sigmoid容易饱和、造成终止梯度传递,且没有0中心化。咋办呢,可以尝试另外一个激活函数:ReLU,其图形表示如下

​ ReLU的优点是收敛快,求梯度简单。

池化层

​ 池化(pool)即下采样(down samples),目的是为了减少特征图。池化层夹在连续的卷积层中间,用于压缩数据和参数的量,减小过度拟合。简而言之,如果输入的是图像的话,那么池化层的最主要作用就是压缩图像。

  • 池化操作

全连接层

​ 把所有局部特征结合变成全局特征。经过卷积层和池化层降维过的数据,全连接层才能“跑得动”,不然数据量太大,计算成本高,效率低下。