《CNN笔记总结系列之二》卷积层

-------本文仅为学习笔记,不做任何商业用途-------

前言

    在CNN笔记[1]中,已经详细的介绍了卷积神经网络的相关知识概念以及数据处理层的一些相关知识,本章从CNN的卷积计算层方面进行详细介绍。

一、卷积运算介绍

1.1一维卷积

    在维基百科上,一维卷积的定义式如下所示:
《CNN笔记总结系列之二》卷积层

1.2二维卷积

    二维卷积的定义式如下所示:
《CNN笔记总结系列之二》卷积层
    二维卷积的使用相对一维卷积更为广泛,尤其是在计算机视觉领域,图像处理的相关工作会经常用到,这是因为图像从本质上就可以看作一个二维矩阵,矩阵的值为像素值。当然,在图像处理中,往往用到的是二维卷积的离散形式:
《CNN笔记总结系列之二》卷积层

二、卷积计算层

    卷积计算层是整个卷积神经网络的灵魂之处,也是整个CNN最为重要的地方,同样也是其名称的来源之处。

3.1基本名词解释

  • 深度(depth):深度指的是图的深度与它控制输出单元的深度,也表示为连接同一块区域的神经元个数,一般为卷积核(滤波器)的个数,即有多少个神经元depth就是多少。
  • 步长(stride):用来描述卷积核移动的步长
  • 补零(zero-padding):通过对图片边缘补零来填充图片边缘,从而控制输出单元的空间大小。
  • 卷积核(convolution kernel):指滤波器(fliter),在输出图像中每一个像素是输入图像中一个小区域中像素的加权平均的权值函数。卷积核可以有多个,卷积核参数可以通过误差反向传播来进行训练。

3.2卷积计算层

    在卷积计算层,主要可以拆分为两个主要步骤:局部关联和窗口滑动。即将每个神经元看作一个滤波器(卷积核),根据步长进行滑动,与输入信息进行局部卷积运算。
    首先,对于一幅RGB图像来说,首先要将其分为三个通道,即R、G、B,每幅图像都有height、width、depth,分别对应下图的64643(注:此图与下图数据无关系,仅为此部分举例使用)。
《CNN笔记总结系列之二》卷积层
图片来源:http://image.woshipm.com/wp-files/2020/05/7eaBY44PNZzHLVPi5zIg.png
    通过对一幅图像分通道后,得到5 * 5 * 3的输入层,然后进行补零操作,得到773的输入,然后通过两个卷积核(滤波器为3 * 3 * 3,步长为2)对其进行局部运算,并与偏置相加,得到3 * 3 * 2输出层,其中深度为2(每一层深度代表一个神经元,神经元由3 * 3的阵列构成)。
《CNN笔记总结系列之二》卷积层
《CNN笔记总结系列之二》卷积层
    在这里,每个神经元连接的数据窗的权重是固定的,即每个神经元只关注一个特性。神经元就是图像处理中的滤波器,即卷积层的每个滤波器都会有自己所关注的一个图像特征,比如垂直边缘,水平边缘,颜色,纹理等等,这些所有神经元加起来就好比就是整张图像的特征提取器集合具体情况如下所示。
《CNN笔记总结系列之二》卷积层

Reference

[1]http://www.woshipm.com/ai/3884563.html
[2]https://www.jianshu.com/p/1ea2949c0056

相关文章: