1. 卷积神经网络-卷积计算过程

  • 卷积计算可认为是一种有效提取图像特征的方法。
  • 一般会用一个正方形的卷积核,按指定步长在输入特征图上滑动。
    • 遍历输入特征图中的每个像素点。对每个步长,卷积核会与输入特征图出现重合区域,重合区域对应元素相乘、求和再加上偏置项得到输出特征的一个像素点。
  • 输入特征图的深度(channel数)决定了当前层卷积核的深度。
  • 当前层卷积核的个数,决定了当前层输出特征图的深度。
    下面是三个卷积核的例子w×h×c。
    第一个是单通道的3×3卷积核(3×3×1),加上一个偏置项,每个核有3×3+1=10个参数。
    第二个是三通道的3×3卷积核(3×3×3),加上一个偏置项,每个核有3×3×3+1=28个参数。
    第三个是三通道的5×5卷积核(5×5×5),加上一个偏置项,每个核有5×5×3+1=76个参数。
    1. 卷积神经网络-卷积计算过程_第1张图片

1) 输入特征图为单通道

输入特征图上的元素与卷积核的对应元素相乘后求和,再加上一个偏置项。
1. 卷积神经网络-卷积计算过程_第2张图片

2)输入特征图为3通道

1. 卷积神经网络-卷积计算过程_第3张图片

3)一个卷积核的计算过程

1. 卷积神经网络-卷积计算过程_第4张图片

下面继续举例解释卷积计算过程

1)输入特征图是单通道,且采用单卷积核,即输入特征图是5×5的矩阵,卷积核是3×3的矩阵,移动步长是1

卷积核从左到右,从上到下依次移动,每一动一步将框注的特征矩阵与卷积核矩阵对于元素相乘相加,直到扫描完所有的像素点矩阵为止。
[ 1 − 1 0 − 1 − 2 2 1 2 − 2 ] ∗ [ − 1 1 2 1 − 1 3 0 − 1 − 2 ] = [ − 1 − 1 0 − 1 2 6 0 − 2 4 ] \begin{bmatrix} 1 & -1 & 0 \\ -1 & -2 & 2 \\ 1&2&-2 \end{bmatrix} * \begin{bmatrix} -1 & 1 & 2 \\ 1 & -1 & 3 \\ 0&-1&-2 \end{bmatrix} = \begin{bmatrix} -1 & -1 & 0 \\ -1 & 2 & 6 \\ 0&-2&4 \end{bmatrix} 111122022110111232=110122064
对应元素相乘后,将最后的矩阵中的所有元素相加(此处未加偏置项):
− 1 − 1 + 0 − 1 + 2 + 6 + 0 − 2 + 4 = 7 -1-1+0-1+2+6+0-2+4=7 11+01+2+6+02+4=7

1. 卷积神经网络-卷积计算过程_第5张图片
1. 卷积神经网络-卷积计算过程_第6张图片
1. 卷积神经网络-卷积计算过程_第7张图片

1)输入特征图是3通道,且采用单卷积核,即输入特征图是3个5×5的矩阵,卷积核是3个3×3的矩阵,移动步长是1,注意输入特征图的通道数与卷积核的通道数相同

1. 卷积神经网络-卷积计算过程_第8张图片
1. 卷积神经网络-卷积计算过程_第9张图片
整个的计算示意图如下图所示,输入的每个通道处的感受野均与卷积核的对应通道相乘累加,得到与通道数量相等的中间变量,这些中间变量全部相加即得到当前位置的输出值。总之,输入通道的通道数量决定了卷积核的通道数。一个卷积核只能得到一个输出矩阵,无论输入特征图的通道数量是多少。

1. 卷积神经网络-卷积计算过程_第10张图片

1)输入特征图是多通道,且采用多卷积核

  • 输入特征图为多通道、多卷积核是深度神经网络中最常见的形式。在多通道和单卷积核的运算过程中, 卷积核和一个输入特征图做卷积计算后得到一个输出特征图。
  • 在多通道和多卷积核运算后,会输出与卷积核数量相同的多个特征图,以3通道输入,2个卷积核的卷积层为例,通过卷积计算后输出2个特征图。
    1. 卷积神经网络-卷积计算过程_第11张图片

1. 卷积神经网络-卷积计算过程_第12张图片
内容参考以下资料,供大家学习:
人工智能实践:Tensorflow笔记

《TensorFlow+2.0深度学习算法实战教材》:网盘下载:https://pan.baidu.com/s/1CBaZ2k3o4k2P40Fx3BXG4A 提取码:g72y

你可能感兴趣的:(1. 卷积神经网络-卷积计算过程)