一维卷积(计算过程)

现在大部分的深度学习教程中都把卷积定义为图像矩阵和卷积核的按位点乘。实际上,这种操作应该是互相关(cross-correlation),而卷积需要把卷积核顺时针旋转180度然后再做点乘。

一维卷积分为:full卷积、same卷积和valid卷积

以一个长度为5的一维张量I和长度为3的一维张量k(卷积核)为例,介绍其过程。

一维卷积(计算过程)_第1张图片

一维full卷积

Full卷积的计算过程是:K沿着I顺序移动,每移动到一个固定位置,对应位置的值相乘再求和,计算过程如下:

一维卷积(计算过程)_第2张图片

将得到的值依次存入一维张量Cfull,该张量就是I和卷积核K的full卷积结果,其中K卷积核或者滤波器或者卷积掩码,卷积符号用符号*表示,记Cfull=I*K

一维卷积(计算过程)_第3张图片

一维same卷积

一维卷积(计算过程)_第4张图片

卷积核K都有一个锚点,然后将锚点顺序移动到张量I的每一个位置处,对应位置相乘再求和,计算过程如下:

一维卷积(计算过程)_第5张图片

一维卷积(计算过程)_第6张图片

假设卷积核的长度为FL,如果FL为奇数,锚点位置在(FL-1)/2处;如果FL为偶数,锚点位置在(FL-2)/2处。

一维Valid卷积

从full卷积的计算过程可知,如果K靠近I,就会有部分延伸到I之外,valid卷积只考虑I能完全覆盖K的情况,即K在I的内部移动的情况,计算过程如下:

一维卷积(计算过程)_第7张图片

一维卷积(计算过程)_第8张图片

三种卷积类型的关系

一维卷积(计算过程)_第9张图片

具备深度的一维卷积

比如x是一个长度为3,深度为3的张量,其same卷积过程如下,卷积核K的锚点在张量x范围内依次移动,输入张量的深度和卷积核的深度是相等的。

一维卷积(计算过程)_第10张图片

具备深度的张量与多个卷积核的卷积

上面介绍了一个张量和一个卷积核进行卷积。他们的深度相等才能进行卷积,下面介绍一个张量与多个卷积核的卷积。同一个张量与多个卷积核的卷积本质上是该张量分别与每一个卷积核卷积,然后将每一个卷积结果在深度方向上连接起来。

举例:以长度为3、深度为3的输入张量与2个长度为2、深度为3的卷积核卷积为例,过程如下:

一维卷积(计算过程)_第11张图片

参考资料

《图解深度学习与神经网络:从张量到TensorFlow实现》_张平

你可能感兴趣的:(神经网络,深度学习,cnn,神经网络)