【机器学习】卷积的计算及两种特殊卷积的介绍

这篇博客分为两部分:

  1. 卷积的计算
  2. 两种特殊卷积的介绍:可分离卷积、空洞卷积
  3. 卷积的细节计算

首先是第一部分,卷积的计算。

参考资料:https://zhuanlan.zhihu.com/p/268179286

一、单通道单卷积核

这计算公式很简单,为方便描述,可以把卷积核以及卷积核扫描到图像的区域当作两个矩阵(但实际计算并不是矩阵乘法,不要搞混咯)。
具体计算的方式是:

  1. 将对应位置的元素相乘
  2. 将得到的所有乘积做一个求和
  3. 加上偏差bias
    [左边是初始图片,右边是卷积核及其bias。]

【机器学习】卷积的计算及两种特殊卷积的介绍_第1张图片

右边是卷积核,左边红色框起来的部分是卷积核扫描到的位置,计算过程如下:

在这里插入图片描述

也就是:

【机器学习】卷积的计算及两种特殊卷积的介绍_第2张图片

二、单通道多卷积核

虽然卷积核多了起来,但计算一样简单:

  1. 按照“单通道单卷积核”的方式依次计算出各个卷积核对应的feature map
  2. 有多少个卷积核就输出多少个通道(每个通道的feature map为对应卷积核求出来的那一层feature map)
    文字不好理解,见下图:
    [左边是初始图片,右边是卷积核及其bias。]

【机器学习】卷积的计算及两种特殊卷积的介绍_第3张图片

结果:输出是一个3*3*2的feature map。

【机器学习】卷积的计算及两种特殊卷积的介绍_第4张图片

三、多通道单卷积核

对于多通道图像的卷积核,需要强调一点:

因为输入是三个通道,所以在进行卷积的时候,对应的每一个卷积核都必须要有三个通道才能进行卷积。
【机器学习】卷积的计算及两种特殊卷积的介绍_第5张图片

如上图,是一个多通道图像和一个卷积核。
具体计算:

  1. 图像的每个通道与卷积核中的一个通道对应。
  2. 按照“单通道单卷积核”的算法求出每个通道卷积后的值,有一点不同的是,此时的计算不需要加上bias。bias将在最后求和的阶段加上。
  3. 将每个通道的计算结果中、对应位置的值加起来,并加上bias,得到输出的feature map。
  4. 输出的feature map是单通道的。

结果如图:

【机器学习】卷积的计算及两种特殊卷积的介绍_第6张图片

四、多通道多卷积核

具体计算:

  1. 按“多通道单卷积核”的算法算出每个卷积核对应的feature map。
  2. 最后的输出的是一个多通道的feature map,多少个卷积核就是多少通道。
    见下图:

结果:

【机器学习】卷积的计算及两种特殊卷积的介绍_第7张图片

总结(原文作者总结得很好啦,这里仅作摘抄):

(1)原始输入有多少个通道,其对应的一个卷积核就必须要有多少个通道,这样才能与输入进行匹配,也才能完成卷积操作。
(2)用k个卷积核对输入进行卷积处理,那么最后得到的特征图一定就会包含有k个通道。

最后还有个摘抄:

【机器学习】卷积的计算及两种特殊卷积的介绍_第8张图片


第二部分:介绍可分离卷积和空洞卷积
参考资料:

  1. https://blog.csdn.net/u013289254/article/details/99341428

一、可分离卷积
这部分原作者介绍得很清晰,仅作摘抄(来自参考文献1):

可分离卷积(空间可分离卷积,深度可分离卷积)都是可以用来减少计算量的。
空间可分离卷积:将卷积分解为两项单独的操作。下图中,一个卷积核为 3x3 的 Sobel 卷积核拆分成了一个 3x1 卷积核和一个 1x3 卷积核。
【机器学习】卷积的计算及两种特殊卷积的介绍_第9张图片
【机器学习】卷积的计算及两种特殊卷积的介绍_第10张图片

二、空洞卷积

参考资料:https://zhuanlan.zhihu.com/p/50369448


第三部分:卷积的细节计算

一、卷积层尺寸的计算

  1. 计算输出后的feature map的尺寸:
    在这里插入图片描述
  2. 这条公式其实在查阅文档的时候也有提到,比如Pytorch文档中关于Conv2d部分的介绍,就有提到这条公式。

你可能感兴趣的:(机器学习,人工智能)