Conv1d 2d 3d、空间可分离卷积Separable Conv、分组卷积Group Conv、深度可分离卷积Depthwise Separable Conv、空洞卷积、可变性卷积

禁止转载!

1.Conv1d 2d 3d

这里的维度是按照卷积核可移动的维度进行定义的。
Conv1d就是只沿一个轴,一维CNN的输入和输出数据是二维的。主要用于时间序列数据:
在这里插入图片描述

Conv2d在平面内沿两个轴滑动,2D CNN的输入和输出数据是3维的。主要用于图像数据:
在这里插入图片描述

Conv3d可以沿着所有 3 个方向移动(高、宽以及图像的通道),3D CNN的输入和输出数据是4维的。通常用于3D图像数据(MRI,CT扫描):
在这里插入图片描述

2.空间可分离卷积Separable convolution

把一个卷积核给拆开成几个卷积核,比起卷积,空间可分离卷积要执行的矩阵乘法运算也更少。

在这里插入图片描述
Incepetion中使用的非对称卷积,nxn的卷积可通过1xn卷积后接nx1卷积来替代,同样的输出大小,参数个数少了。也就是这种。
在这里插入图片描述

扁平卷积Flattened convolutions

扁平卷积是将标准卷积核拆分为3个1x1的卷积核,然后再分别对输入层进行卷积计算。这种方式,跟前面的“空间可分离卷积”类似,如下图:
在这里插入图片描述

3.分组卷积Group Conv

就是将原本的输出通道C给分成G组,然后每一组有N个卷积核(卷积核的通道为C/G)
,每组各自卷积,然后拼接到一起。这样的好处是,卷积核个数不变但卷积核从原本的C维变为只需要C/G维,卷积核的参数变少为原来的1/GResNext里就用的分组卷积。如下图,G=2:
在这里插入图片描述

混合分组卷积Shuffled Grouped Convolution

在分组卷积中,卷积核被分成多个组后,输入层卷积计算的结果仍按照原先的顺序进行合并组合,这就阻碍了模型在训练期间特征信息在通道组之间流动,同时还削弱了特征表示。而混合分组卷积,便是将分组卷积后的计算结果混合交叉在一起输出。ShuffleNet就是采用的此方法,提升轻量型网络的性能。
如下图,在第一层分组卷积(GConv1)计算后,得到的特征图先进行拆组,再混合交叉,形成新的结果输入到第二层分组卷积(GConv2)中:
在这里插入图片描述

4.深度可分离卷积Depthwise Separable Conv

在这里插入图片描述

首先需要介绍以下的卷积操作:

Depthwise Convolution

当分组数量等于输入维度,输出维度数量也等于输入维度数量,即G=N=C、N个卷积核每个尺寸为1∗K∗K时,Group Convolution就成了Depthwise Convolution,参见MobileNetXception等,参数量进一步缩减(将分组卷积给做到极致,以此达到压缩模型的目的)。可以看作是把输入的特征切成一片一片的,卷积核也是一片一片的。

注意与Global Average Pooling(GAP)的区别:GDC 给每个位置赋予了可学习的权重(对于已对齐的图像这很有效,比如人脸,中心位置和边界位置的权重自然应该不同)。然后全局池化是没有需要学习的参数的。

Pointwise Convolution

其实就是1x1的卷积,前面将各个维度分开提取特征,这里就是将整个特征进行贯穿融合。也是为了让模型在训练期间特征信息在各层之间流动。当然1x1卷积还有降维和升维的作用。

混合深度分离卷积Mixed Depthwise Convolution Kernels

MixConv=Group Conv+Inception,分组卷积,但是每组上的卷积核尺寸不太一样。出自轻量级网络之MixNet
在这里插入图片描述

5.空洞卷积(扩张卷积)Dilated Convolutions

空洞卷积引入另一个卷积层的参数被称为扩张率。这定义了内核中值之间的间距。扩张速率为2的3x3内核将具有与5x5内核相同的视野,而只使用9个参数。 想象一下,使用5x5内核并删除每个间隔的行和列。(如下图所示)
在这里插入图片描述

不需要增加参数运算成本就能「观察」大的感受野。正因为此,空洞卷积常被用以低成本地增加输出单元上的感受野,同时还不需要增加卷积核大小,当多个空洞卷积一个接一个堆叠在一起时,这种方式是非常有效的。系统能以相同的计算成本,提供更大的感受野。在实时分割领域特别受欢迎。

缺点:kernel 并不连续,也就是并不是所有的 pixel 都用来计算了,因此这里将信息看做 checker-board 的方式会损失信息的连续性。这对 pixel-level dense prediction 的任务来说是致命的。光采用大 dilation rate 的信息或许只对一些大物体分割有效果,而对小物体来说可能则有弊无利了。
在这里插入图片描述
改进的话,可以去查一下Hybrid Dilated Convolution、ASPP。

6.反卷积(转置卷积)Transposed Convolutions

以下是步进为1和步进为2的反卷积示意图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

反卷积(转置卷积)作用:

  1. CNN可视化,通过反卷积将卷积得到的feature map还原到像素空间,来观察feature map对哪些pattern相应最大,即可视化哪些特征是卷积操作提取出来的;可以看我之前的文章:ZF-Net的卷积网络可视化

  2. FCN全卷积网络中,由于要对图像进行像素级的分割,需要将图像尺寸还原到原来的大小,类似upsampling的操作,所以需要采用反卷积;

  3. GAN对抗式生成网络中,由于需要从输入图像到生成图像,自然需要将提取的特征图还原到和原图同样尺寸的大小,即也需要反卷积操作。

反卷积其实是一个误导,这里真正的名字就是转秩卷积操作。其实是先按照一定的比例通过补0来扩大输入图像的尺寸,接着旋转卷积核,再进行正向卷积。。反卷积只能恢复尺寸,不能恢复数值。https://blog.csdn.net/qq_41917697/article/details/113752545

7.可变型卷积Deformable Convolution

传统的卷积采用固定尺寸的卷积核,不能很好地适应几何形变。可形变卷积,卷积核的形状是可变的,也就是感受野可以变化,但注意感受野的元素是“不变”的。

在这里插入图片描述
标准卷积中的规则格点采样是导致网络难以适应几何形变的“罪魁祸首”,为了削弱这个限制,对卷积核中每个采样点的位置都增加了一个偏移变量,可以实现在当前位置附近随意采样而不局限于之前的规则格点。

部分图源:技术之家–图解AI

欢迎交流,禁止转载!

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值