精华内容
下载资源
问答
  • 空洞卷积的优缺点
    2021-04-13 10:23:24
    • pooling操作虽然能增大感受野,但是会丢失一些信息。空洞卷积在卷积核中插入权重为0的值,因此每次卷积中会skip掉一些像素点
    • 空洞卷积增大了卷积输出每个点的感受野,并且不会像pooling那样丢失信息,在图像需要全局信息或者较长sequence依赖的语音序列问题上有着较为广泛的应用
    更多相关内容
  • 空洞卷积优缺点

    千次阅读 2021-01-14 19:56:52
    空洞卷积优缺点 空洞卷积(atrous convolution)又叫扩张卷积(dilated convolution),其实就是向卷积层引入了一个称为“扩张率(dilation rate)”的新参数,这个参数定义了卷积核处理数据时各值的间距。普通卷积和...

    空洞卷积的优缺点

    空洞卷积(atrous convolution)又叫扩张卷积(dilated convolution),其实就是向卷积层引入了一个称为“扩张率(dilation rate)”的新参数,这个参数定义了卷积核处理数据时各值的间距。普通卷积和空洞卷积图示如下(以3*3卷积为例)
    在这里插入图片描述

    (普通卷积)

    在这里插入图片描述

    (空洞卷积)

    那么这样的结构是为了解决什么问题呢?

    这又不得不提起传统网络VGG,在VGG的设计中,作者发现了卷积叠加过程中的一个巧妙规律,即77的卷积层正则等效于3个33卷积层的叠加,在减少参数的同时,这样的结构更容易学到一个可生成的、表现力良好的特征空间,这也是为什么我们现在看到的网络结构几乎都是33,55的卷积层的原因。

    但与此同时,伴随产生了对于deep cnn中上采样和下采样的一系列问题,一方面是pooling导致的内部数据结构和空间层级化的信息丢失,另一方面,小物体(在一定条件下)经过下采样之后数据会丢失,导致信息无法重建。这个问题在语义分割中尤其显著,而空洞卷积的设计很好的避免了这些问题。

    空洞卷积的两大优势:

    1.特征图相同情况下,空洞卷积可以得到更大的感受野,从而获得更加密集的数据

    2.特征图相同情况下,更大的感受野可以提高在目标检测和语义分割的任务中的小物体识别分割的的效果。

    我们可以显而易见的看到,使用空洞卷积代替下采样/上采样可以很好的保留图像的空间特征,也不会损失图像信息。当网络层需要更大的感受野,但是由于计算资源有限无法提高卷积核数量或大小时,可以考虑使用空洞卷积。

    空洞卷积存在的问题:

    1.网格效应

    当多次叠加扩张率为2的3*3 kernel时,会产生如下问题:
    在这里插入图片描述

    由此可见,并不是所有的pixel都用来计算了,这样的方式会损失信息的连续性,这对于像素级的任务来说是致命的。

    2.远距离信息可能不相关

    需要注意的是,如果光采用大的扩张率的卷积可能只对一些大物体分割有效果。设计好空洞卷积层的关键在于如何同时处理不同大小物体的关系。

    一个称为HDC(混合空洞卷积)的结构被设计出来解决卷积核不连续的问题,它具有如下几个特性:

    1.叠加卷积的扩张率不能有大于1的公约数

    2.将扩张率设计成锯齿状结构,如[1,2,5,1,2,5]

    在这里插入图片描述

    图(a)是连续做rate = 2的空洞卷积的结果,图(b)是分别做rate为1/2/3空洞卷积的结果。

    后者的优势在于,从一开始就保留了完整连续的3*3区域,之后的几个rate设计又保证了感受野的连贯性,即使有重叠也密不透风。

    展开全文
  • 空洞卷积

    千次阅读 2019-08-12 15:03:21
    空洞卷积 # 在原始卷积核的每两个元素之间插入 d − 1个空洞 # 膨胀的卷积核尺寸 = 膨胀系数 * (原始卷积核尺寸 - 1) + 1 # 也可以写成 m + (m − 1) × (d − 1) 二者是相等的 # m为原始卷积核尺寸 d为膨胀系数 # ...

    空洞卷积

    # 在原始卷积核的每两个元素之间插入 d − 1个空洞
    # 膨胀的卷积核尺寸 = 膨胀系数 * (原始卷积核尺寸 - 1) + 1
    # 也可以写成 m + (m − 1) × (d − 1) 二者是相等的
    # m为原始卷积核尺寸  d为膨胀系数
    
    # 首先由于卷积的操作特性,卷积核尺寸是奇数,则原始卷积核尺寸减一为偶数。
    # 那么,在上述公式中,膨胀系数*偶数-1为奇数,保证了膨胀的卷积核尺寸为奇数。
    # 其次,笔者认为,卷积核的膨胀系数刻画了卷积核高和宽方向的扩张倍数,可将上述公式看作:
    # 膨胀的卷积核尺寸 - 1 = 膨胀系数 * (原始卷积核尺寸 - 1)
    
    
    # dilation_rate: 一个整数或 2 个整数的元组或列表, 指定膨胀卷积的膨胀率。 
    # 可以是一个整数,为所有空间维度指定相同的值。 
    # 当前,指定任何 dilation_rate 值 != 1 与 指定 stride 值 != 1 两者不兼容
    

    img

    1. 空洞卷积的优点:在不做池化损失信息的情况下,加大感受野,让每个卷积的输出都包含较大范围的信息。

      在图像需要全局信息,或者语音、文本需要较长序列信息的问题中,空洞卷积都能很好的应用。

    2. 空洞卷积的缺点:

      • 网格效应(Gridding Effect )。如果仅仅多次叠加多个 dilation rate=23x3 的卷积核时,会发现:并不是所有的输入像素都得到计算,也就是卷积核不连续。

        这对于逐像素的预测任务来说,是致命的问题。
        在这里插入图片描述

      • 长距离信息可能与任务无关。采用空洞卷积可能对大物体的分割有效果,但是对于小物体的分割可能没有好处。

        如何同时处理不同大小的物体,则是设计好空洞卷积网络的关键。

    3. 为了解决空洞卷积的缺点,人们提出了一种混合空洞卷积的结构(Hybrid Dilated Convolution:HDC) 。

      该结构有三个特性:

      • 叠加的空洞卷积的dilation rate 不能有大于 1 的公约数。这是为了对抗网格效应。

        如:[2,4,6] 不是一个好的三层空洞卷积,因为会出现网格效应。

      • dilation rate 设计成锯齿状结构。这是为了同时满足小物体、大物体的分割要求。

        [1,2,5,1,2,5] 的循环结构。

      • 最后一层的空洞卷积的dilation rate 最大,且dilation rate 小于等于卷积核的大小。

        这也是为了对抗网格效应。

      下面是一组dilation rate 分别为[1,2,5] 的卷积核,卷积核的尺寸为3x3

    展开全文
  • 空洞卷积能够在不减小感受野的情况下降低空间特征的损失,可以获取long-ranged information。但是也有弊端:比如空间上的连续所能给出的信息可能因此而丢失(比如边缘之类的),同时对于小物体的分割未必有利。同时,...
  • 空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。 dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的...

    一.提出原因

    空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。

    dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在图像需要全局信息或者语音文本需要较长的sequence信息依赖的问题中,都能很好的应用dilated conv。

    二.空洞卷积

    Dilated/Atrous Convolution 或者是 Convolution with holes 从字面上就很好理解,是在标准的 convolution map 里注入空洞,以此来增加 reception field。相比原来的正常convolution,dilated convolution 多了一个 hyper-parameter 称之为 dilation rate 指的是kernel的间隔数量(e.g. 正常的 convolution 是 dilatation rate 1)。

    利用添加空洞扩大感受野,让原本3 x3的卷积核,在相同参数量和计算量下拥有5x5(dilated rate =2)或者更大的感受野,从而无需下采样。扩张卷积(dilated convolutions)又名空洞卷积(atrous convolutions),向卷积层引入了一个称为 “扩张率(dilation rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。换句话说,相比原来的标准卷积,扩张卷积(dilated convolution) 多了一个hyper-parameter(超参数)称之为dilation rate(扩张率),指的是kernel各点之前的间隔数量,正常的convolution 的 dilatation rate为 1。

    在这里插入图片描述
    (a)图对应3x3的1-dilated conv,和普通的卷积操作一样。(b)图对应3x3的2-dilated conv,实际的卷积kernel size还是3x3,但是空洞为1,需要注意的是空洞的位置全填进去0,填入0之后再卷积即可。【此变化见下图】(c)图是4-dilated conv操作。

    在上图中扩张卷积的感受野可以由以下公式计算得到

    在这里插入图片描述
    其中i+1表示dilated rate。

    比如上图中(a),dilated=1,F(dilated) = 3×3;图(b)中,dilated=2,F(dilated)=7×7;图(c)中,dilated=4, F(dilated)=15×15。dilated=2时具体的操作,即按照下图在空洞位置填入0之后,然后直接卷积就可以了。

    在这里插入图片描述
    在相同的计算条件下,空洞卷积提供了更大的感受野。空洞卷积经常用在实时图像分割中。当网络层需要较大的感受野,但计算资源有限而无法提高卷积核数量或大小时,可以考虑空洞卷积

    但是!有一个问题一直困扰着我,对空洞卷积而言,他的中间有一部分都是0,那么使用这些0元素进行卷积的pixel,信息不会丢失吗?,通过查阅资料,这恰好是空洞卷积所存在的问题之一

    潜在问题 1:The Gridding Effect

    假设我们仅仅多次叠加 dilation rate 2 的 3 x 3 kernel 的话,则会出现这个问题:

    我们发现我们的 kernel 并不连续,也就是并不是所有的 pixel 都用来计算了,因此这里将信息看做 checker-board 的方式会损失信息的连续性。这对 pixel-level dense prediction 的任务来说是致命的。

    潜在问题 2:Long-ranged information might be not relevant.

    我们从 dilated convolution 的设计背景来看就能推测出这样的设计是用来获取 long-ranged information。然而光采用大 dilation rate 的信息或许只对一些大物体分割有效果,而对小物体来说可能则有弊无利了。如何同时处理不同大小的物体的关系,则是设计好 dilated convolution 网络的关键。

    通向标准化设计:Hybrid Dilated Convolution (HDC)

    对于上个 section 里提到的几个问题,图森组的文章对其提出了较好的解决的方法。他们设计了一个称之为 HDC 的设计结构。

    第一个特性是,叠加卷积的 dilation rate 不能有大于1的公约数。比如 [2, 4, 6] 则不是一个好的三层卷积,依然会出现 gridding effect。

    第二个特性是,我们将 dilation rate 设计成 锯齿状结构,例如 [1, 2, 5, 1, 2, 5] 循环结构。

    第三个特性是,我们需要满足一下这个式子:
    M i = max ⁡ [ M i + 1 − 2 r i , M i + 1 − 2 ( M i + 1 − r i ) , r i ] M_i=\max[M_{i+1}-2r_i,M_{i+1}-2(M_{i+1}-r_i),r_i] Mi=max[Mi+12ri,Mi+12(Mi+1ri),ri]

    其中 r i r_i ri是第 i i i层的dilation rate,而 M i M_i Mi 是指在 i 层的最大dilation rate,那么假设总共有n层的话,默认 M n = r n M_n=r_n Mn=rn,假设我们应用于 kernel 为 k ∗ k k * k kk 的话,我们的目标则是 M 2 ≤ k M_2\leq k M2k ,这样我们至少可以用 dilation rate 1 即 standard convolution 的方式来覆盖掉所有洞。

    一个简单的例子: dilation rate [1, 2, 5] with 3 x 3 kernel (可行的方案)

    而这样的锯齿状本身的性质就比较好的来同时满足小物体大物体的分割要求(小 dilation rate 来关心近距离信息,大 dilation rate 来关心远距离信息)。

    这样我们的卷积依然是连续的也就依然能满足VGG组观察的结论,大卷积是由小卷积的 regularisation 的 叠加。

    以下的对比实验可以明显看出,一个良好设计的 dilated convolution 网络能够有效避免 gridding effect.

    多尺度分割的另类解:Atrous Spatial Pyramid Pooling (ASPP)

    在处理多尺度物体分割时,我们通常会有以下几种方式来操作:

    然仅仅(在一个卷积分支网络下)使用 dilated convolution 去抓取多尺度物体是一个不正统的方法。比方说,我们用一个 HDC 的方法来获取一个大(近)车辆的信息,然而对于一个小(远)车辆的信息都不再受用。假设我们再去用小 dilated convolution 的方法重新获取小车辆的信息,则这么做非常的冗余。

    基于港中文和商汤组的 PSPNet 里的 Pooling module (其网络同样获得当年的SOTA结果),ASPP 则在网络 decoder 上对于不同尺度上用不同大小的 dilation rate 来抓去多尺度信息,每个尺度则为一个独立的分支,在网络最后把他合并起来再接一个卷积层输出预测 label。这样的设计则有效避免了在 encoder 上冗余的信息的获取,直接关注与物体之间之内的相关性。

    参考文章:

    https://zhuanlan.zhihu.com/p/89425228
    https://www.zhihu.com/question/54149221

    展开全文
  • 2.3 组卷积优缺点 2.3.1 组卷积的优势 组卷积的优势是可以减少参数数量和计算量,可以选择组卷积中的组大小来提高DNN的分类精度。 2.3.2 组卷积的劣势 在组卷积中,随意地选择组大小会导致计算复杂性和数据重用...
  • 卷积、反卷积与膨胀卷积

    千次阅读 2021-01-12 18:24:04
    1的映射关系时,保持了输出相对于input中的位置性关系对核矩阵做以下变形:卷积核的滑动步骤变成了卷积核矩阵的扩增卷积的矩阵乘法变成以下形式:核矩阵重排,输入featuremap变形为向量反卷积(1---->多 的映射)...
  • 膨胀卷积(空洞卷积)学习篇

    千次阅读 热门讨论 2022-03-19 20:56:06
    膨胀卷积提出背景膨胀卷积是什么膨胀卷积的设计原理膨胀卷积优缺点膨胀卷积的改进膨胀卷积基于Pytorch的代码实现总结 提出背景 膨胀卷积是什么 膨胀卷积的设计原理 膨胀卷积优缺点 膨胀卷积的改进 膨胀卷积基于...
  • 1、空洞卷积 优点:在不增加参数量的情况下,增大卷积核的感受野,同时它可以保证输出的特征映射(feature map)的大小保持不变。 缺点:容易造成网格效应,局部信息丢失,每一层得到的卷积结果来自上一层的独立...
  • CNN与MLP之间的关系,优缺点

    千次阅读 2021-12-21 15:44:09
    MLP实际是1*1的卷积,n个卷积核就将原来的d维变为n维. 下图为MLP的计算过程(为了方便MLP的计算过程图权重W被拆开了实际为9x3的矩阵,而输入计算时应该先转置,输出也是需要转置,即 1x9 dot 9...
  • Faster RCNN总结(优缺点说明)

    千次阅读 2021-12-11 18:18:04
    # 两种特殊卷积:转置卷积和空洞卷积 [TOC] ![image-20211211175809006](https://gitee.com/aaalds/aaalds_note/raw/master/image-20211211175809006.png) ## 1.转置卷积 ##### 简介: ​ 我们一般可以通过卷积...
  • 重新审视Faster RCNN:优缺点与改进

    万次阅读 多人点赞 2021-03-09 18:52:08
    Faster RCNN作为当前广泛使用的一种检测方法,其必定存在很有多点,当然也会有一些不足之处,在这里对这些优缺点进行一点讨论,并且提一些相关的改进的方法。
  • 此篇博客主要是讲一些目前较好的网络发展,提出问题,解决了什么问题,有什么优缺点。 1、Alexnet网络,本网络是2012年的分类冠军,掀起来深度学习的热潮,Alexnet参数量巨大,由于受限于硬件计算,作者采用了group ...
  • 经典卷积神经网络——VGG16

    千次阅读 多人点赞 2022-04-30 08:16:02
    训练模型,测试准确率四、VGG缺点 前言 我们都知道Alexnet是卷积神经网络的开山之作,但是由于卷积核太大,移动步长大,无填充,所以14年提出的VGG网络解决了这一问题 一、VGG发展历程 VGG网络由牛津大学在2014年...
  • 最近在研究卷积网络的改性,有必要对各种卷积层的结构深入熟悉一下。为此写下这篇学习笔记。 文章大部分内容来自于网络的各种博客总结,本博文仅仅作为本人学习笔记,不做商业用途。 目录 2D卷积 3D卷积 1*1...
  • Kunlun Bai 是一位人工智能、机器学习、物体学以及工程学领域的研究型科学家,在本文中,他详细地介绍了 2D、3D、1x1 、转置 、空洞(扩张)、空间可分离、深度可分离、扁平化、 分组等十多种卷积网络类型。...
  • 语义分割——DeepLab系列总结(v1, v2, v3, v3+) I. DeepLab v1 1. 问题背景 1.1 信号下采样 最大池化层和带有步长的下采样不断...深度卷积网络会抽取更加抽象的信息(hight-level),而丢失了精确的位置细节信息(low-lev
  • 卷积神经网络中的基础知识点总结

    千次阅读 2020-08-04 21:15:30
    对卷积的理解 卷积神经网络(与DNN、RNN的区别)卷积的种类:普通卷积 反卷积 空洞卷积 可变形卷积 分组卷积 深度可分离卷积 什么是正则化?正则化的几种常用方法:dropout L1/L2范数 BN(Batch Normalization) 什么...
  • 卷积神经网络基础 注意:CNN主要用于图像分类与物品识别 1 卷积神经网络与传统神经网络的联系 1)降低神经网络的复杂性 卷积核使神经元关注部分区域,从而降低了神经网络的复杂性 2)提升神经网络的深度 ...
  • 膨胀卷积与IDCNN

    2020-12-20 21:39:33
    Dilation 卷积,也被称为:空洞卷积、膨胀卷积。一、一般的卷积操作:首先,可以通过动态图,理解正常卷积的过程:如上图,可以看到卷积操作。对于CNN结构,通常包括如下部分:输入层 (input layer)--- 卷积计算层 ...
  • 卷积神经网络作为深度学习的典型网络,在图像处理和计算机视觉等多个领域都取得了很好的效果。 Paul-Louis Pröve在Medium上通过这篇文章快速地介绍了不同类型的卷积结构(Convolution)及优势。为了简单起见,本文...
  • pytorch中的膨胀卷积

    2022-03-11 10:07:09
    Dilated Convolutions,翻译为扩张卷积或空洞卷积。扩张卷积与普通的卷积相比,除了卷积核的大小以外,还有一个扩张率(dilation rate)参数,主要用来表示扩张的大小。扩张卷积与普通卷积的相同点在于卷积核的大小是...
  • 论文去掉了最后两层池化层,因为池化会模糊位置信息,但是池化的一个作用是增大感受野,因此为了取代池化层,论文使用了空洞卷积,它可以在不增加参数的情况下增大感受野。 第二个贡献是使用条件随机场CRF来提高分类...
  • 论文提出可变形卷积神经网络v2(DCNv2),规避了采样区域增加从而引入无关区域的问题,通过更多的可变形卷积层的堆叠,可调节的可变形卷积核RoI池化模块与R-CNN特征融合训练进一步提升了训练精度。
  • 卷积神经网络作为深度学习的典型网络,在图像处理和计算机视觉等多个领域都取得了很好的效果。 Paul-Louis Pröve在Medium上通过这篇文章快速地介绍了不同类型的卷积结构(Convolution)及优势。为了简单起见,本文...
  • 卷积神经网络作为深度学习的典型网络,在图像处理和计算机视觉等多个领域都取得了很好的效果。 为了简单起见,本文仅探讨二维卷积结构。 卷积 首先,定义下卷积层的结构参数: --------------------------------...
  • 1. 深度可分离卷积(depthwise separable convolution) 在可分离卷积(separable convolution)中,通常将卷积操作拆分成多个步骤。而在神经网络中通常使用的就是深度可分离卷积(depthwise separable convolution...
  • 空洞卷积优缺点: 优点是与标准卷积相比,在保持同等计算量的情况下,可以扩大感受野。对于检测与分割任务,扩大感受野可以提升精度; 缺点是会出现网格效应(gridding effect),丢失局部像素信息。 上采样...
  • 挖坑-算法题目

    2021-04-20 22:54:52
    -什么是空洞卷积? -XGB的参数怎么调? -ArcfaceLoss的原理 -样本不均衡的处理办法 -手写Transformer -RF和GBDT的区别 -介绍自注意力机制 -K-means如何选取K值 -常用的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 485
精华内容 194
关键字:

空洞卷积的优缺点