《Tensorflow初级教程》 在Tensorflow中该API的功能是进行的是卷积操作,那是如何运行的呢?

卷积操作的目的

卷积操作的目的是提取图像的特征。都提取什么特种呢?根据不同的卷积核、不同的计算方式,会得到不同的特征提取图。

图(1)

卷积层应该加激活函数吗_卷积核


左边是相同的一整图,通过三次卷积操作,得到了三张特征图,分别是锐化、浮雕、轮廓。

如何进行卷积操作

图(2)

卷积层应该加激活函数吗_卷积核_02


咱们把上图分成几部分,通过几个关键词来了解卷积操作。

  • 原图: 上图的绿色矩阵,这个是计算机眼中的图片。图片通过矩阵的方式进行表达。
  • 卷积核: 上图的黄色矩阵,这个是卷积核,核的大小可以自定义,2x2、 3x3、5x5都可以的,卷积核里面的权值的不同,提取的特征图也不同,如图(1)所示不同的核得到的不同的特征图。
  • 计算方式:上图灰色的箭头,代表原图矩阵与卷积核矩阵他们两个的计算方式。下面会进行讨论。
  • 特征图:上图粉色部分,卷积操作最后获得的结果。

卷积的计算方式

图(3)

卷积层应该加激活函数吗_卷积_03


通过图3可以看出,是卷积核不停的在原图上进行滑动,每次滑动移动1格,然后再利用原图与卷积核上的数值进行计算得到缩略图矩阵的数据。

多样的卷积操作

卷积操作

讲解

图4

卷积层应该加激活函数吗_卷积层应该加激活函数吗_04

这种卷积操作叫SAME Padding,卷积操作后原图与特征图大小相同。每次移动一个格子

图5

卷积层应该加激活函数吗_卷积核_05

这种卷积操作叫VALUE Padding,卷积操作后原图比特征图要大,每次移动的步长为2

图6

卷积层应该加激活函数吗_卷积层应该加激活函数吗_06

空洞卷积(atrous convolutions)又名扩张卷积(dilated convolutions),向卷积层引入了一个称为 “扩张率(dilation rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。