CNN简述卷积神经网络(Convolutional Neural Network,CNN ),是一种前馈神经网络,每层神经元节点只限于前一层局部区域范围内的神经元
一种深卷积神经网络模型一般由多个卷积层重叠多个全连接层构成,中间包含各种非线性操作、池化操作。 因为卷积运算主要用于处理网格结构的数据,所以CNN天生有利于图像数据的分析和处理,简单说来,CNN是使用滤波器对相邻像素之间的轮廓进行滤波。
1 .卷积核卷积的过滤器(Filter )我们可以看到窗口,可以观察到以下情况。 有6X6个网络和3X3个过滤器,其中每个过滤器的格子都有权利值。 拿着FIlter在网络上移动,每次移动都将FIlter“观察”的内容与其权重相乘,作为结果输出,直到所有的小格子被覆盖。 最后,得到4X4的晶格矩阵。
2 .填充如果卷积后矩阵的大小与第一个不匹配,则必须填充边缘以使其大小匹配。
3. Stride (步长)或Filter移动的步长大小。 上面的例子是1,但实际上可以自己指定。 就像学习率一样。
4 .“深度”深度是指图像的深度。 用3X3X3的过滤器过滤6X6X3尺寸的图像,可以得到4X4X1尺寸的图像。 因此,深度为1。 也可以通过增加过滤器的数量来增加深度,如下所示:
5. Pooling (池化)滤波器在窗口移动过程中存在许多冗余计算,且效率较低,因此池化操作的目的是加速卷积操作,最常用的是Maxpooling,其原理如下图所示。
完整的深度CNN网络
卷积操作的特征1 )稀疏交互)。
因为卷积核的尺度会小于输入的维度。 也就是说,我们的过滤器等于小于网络大小。 这样,每个输出神经元只有特定局部区域内神经元的一部分和连接权重。 也就是说,发生相互作用。 这种操作特性称为稀疏相互作用。 稀疏的交互减少了很多数量级的时间复杂度,同时过拟合的情况也有一定的改善。
2 )参数共享
是卷积运算特有的属性,意味着同一模型的不同模块使用相同的参数。 我们刚才提到的过滤器上的权重的大小与适用于所有网格的大小相同。