深度学习入门教学——卷积神经网络CNN

一、CNN简介

1、应用领域

  • 检测任务
    • 深度学习入门教学——卷积神经网络CNN_第1张图片
  • 分类与检索
    • 深度学习入门教学——卷积神经网络CNN_第2张图片
  • 超分辨率重构
    • 深度学习入门教学——卷积神经网络CNN_第3张图片

2、卷积网络与传统网咯的区别

  • 传统神经网络和卷积神经网络都是用来提取特征的。
  • 神经网络:
    • 深度学习入门教学——卷积神经网络CNN_第4张图片
    • 可以将其看作是一个二维的。
  • 卷积神经网络:
    • 深度学习入门教学——卷积神经网络CNN_第5张图片
    • 可以将其看作是一个三维的。

 3、整体框架

  • 深度学习入门教学——卷积神经网络CNN_第6张图片

二、输入层

  • 该层主要是对原始图像数据进行预处理,保留了图片本身的结构。
  • 对于黑白的32×32的图片,CNN的输入是一个32*32的二维神经元;对于RGB格式的28×28 图片,CNN的输入则是一个32*32*3的三维神经元。
  • 深度学习入门教学——卷积神经网络CNN_第7张图片
  • 三维包括宽度、高度和深度。
  • 深度可以看作是不同的颜色通道,例如:RGB,可拆分为R、G、B三个通道。

三、卷积层

1、卷积的任务

  • 卷积的任务,就是将图像分成若干区域,然后计算每个区域的特征值。
  • 例如:
    • 深度学习入门教学——卷积神经网络CNN_第8张图片
    • 将图像分割为5*5*3个小块,每3*3*3个小块矩阵看作是一个区域,从每个区域中提取一个特征。(上图只演示了一个通道)
    • 区域的数据:深度学习入门教学——卷积神经网络CNN_第9张图片,区域的权重参数矩阵:深度学习入门教学——卷积神经网络CNN_第10张图片,特征图:深度学习入门教学——卷积神经网络CNN_第11张图片

2、卷积特征值计算方法

2.1、图像颜色通道

  • 深度学习入门教学——卷积神经网络CNN_第12张图片
  • 计算特征值的过程中,让每个通道都要做计算,然后将每个通道的结果加在一起。
  • 深度学习入门教学——卷积神经网络CNN_第13张图片深度学习入门教学——卷积神经网络CNN_第14张图片

2.2、特征值计算过程

  • 深度学习入门教学——卷积神经网络CNN_第15张图片,每一个通道会有一个权重参数矩阵,方法是计算它们的内积,3个通道的计算结果之和加上偏移值(b0=1),即为最终特征值。
  • 【注】上图中的三个权重参数矩阵,统称为卷积核。
  • 例如:
    • 深度学习入门教学——卷积神经网络CNN_第16张图片
  • 最终结果:
    • (0+2+0)+b=3(b为偏置值,已知为1)
    • 深度学习入门教学——卷积神经网络CNN_第17张图片

3、特征图表示

  • 特征图可以不唯一,下图中就有两个特征图。
  • 深度学习入门教学——卷积神经网络CNN_第18张图片
  • 主要原因是,卷积核可以不唯一(使用不同的方法进行特征提取),这样的话就会计算出多个特征图来,如下图。
  • 深度学习入门教学——卷积神经网络CNN_第19张图片
  • 【注】有几个卷积核就有几个特征图;卷积核中权重参数矩阵的个数与输入的通道个数相同。
  • 计算特征图时,每个区域平移了两个单元格(可自行定义)即步长为2,如下图。
  • 深度学习入门教学——卷积神经网络CNN_第20张图片

4、步长与卷积核大小对结果的影响

4.1、堆叠的卷积层

  • 由下图可知,在分类图像的过程中,做了很多次卷积。
  • 深度学习入门教学——卷积神经网络CNN_第21张图片
  • 多次卷积并不是对一张图片从粗到细地多次计算特征,而是从所得到特征图的基础上去做卷积,如下图。
  • 深度学习入门教学——卷积神经网络CNN_第22张图片

4.2、卷积层涉及参数

4.2.1、滑动窗口步长
  • 步长为1的卷积
    • 深度学习入门教学——卷积神经网络CNN_第23张图片
  • 步长为2的卷积
    • 深度学习入门教学——卷积神经网络CNN_第24张图片
  • 步长越小,得到的特征越丰富,但计算效率越慢。
4.2.2、卷积核尺寸
  • 卷积核尺寸即为卷积核中权重参数矩阵的维度。下图卷积核的尺寸即为3*3*3。
  • 深度学习入门教学——卷积神经网络CNN_第25张图片,也可以4*4*3,卷积核尺寸越小,得到的特征越丰富。
4.2.3、边缘填充
  • 一张图片在划分区域计算特征时,有些点会被重复利用,即会影响多个结果。例如下图划红线的区域,就会影响特征图中的两个值。
  • 深度学习入门教学——卷积神经网络CNN_第26张图片深度学习入门教学——卷积神经网络CNN_第27张图片
  • 边缘的点只会影响一个值,而靠近中心的点可能会影响多个值,这对边缘来说是不公平的。例如下图画圈的点,影响了特征图中的四个值。
  • 深度学习入门教学——卷积神经网络CNN_第28张图片深度学习入门教学——卷积神经网络CNN_第29张图片
  • 原始输入中,即为下图5*5紫色矩阵。在其边界加上一圈全0的值,这样的话,原本的边界就不再是边界了,一定程度上弥补了边界信息缺失的问题。
  • 深度学习入门教学——卷积神经网络CNN_第30张图片,添加0对最终结果不会产生影响。
4.2.4、卷积核个数
  • 卷积核个数决定了最终得到的特征图个数。
  • 每个卷积核的数值是不同的。

5、特征图尺寸计算与参数共享

5.1、卷积结果计算公式

  • 长度:
  • 宽度:
  • 其中W1、H1表示输入的宽度、长度;W2、H2表示输出特征图的宽度、长度;F表示卷积核长和宽的大小;S表示滑动窗口的步长;P表示边界填充(加几圈0)。
  • 例如:
    • 深度学习入门教学——卷积神经网络CNN_第31张图片

5.2、卷积参数共享

  • 图片中的每个区域,都是使用同一卷积核进行计算,然后得到一个特征图,即为参数共享。
  • 这样可以大量节省参数,例如:
    • 深度学习入门教学——卷积神经网络CNN_第32张图片

四、池化层

1、池化层的作用

  • 池化层的作用是对得到的特征图进行压缩。
  • 下图就是对特征图的长、宽进行了压缩,而不是减少特征图的个数。
  • 深度学习入门教学——卷积神经网络CNN_第33张图片

2、最大池化

  • 池化过程中,是选择某个区域中最大的特征值(值越大,越重要),如下图。
  • 深度学习入门教学——卷积神经网络CNN_第34张图片

五、全连接层

  • 全连接层的作用:将得到的所有特征图整合起来,便于分类处理。
  • 深度学习入门教学——卷积神经网络CNN_第35张图片
  • 全连接层把所有二维特征图转换为一个二维向量。

你可能感兴趣的:(深度学习,深度学习,cnn,人工智能)