精华内容
下载资源
问答
  • 反卷积的作用

    千次阅读 2020-01-06 14:53:13
    经常在别人的网络结构看到反卷积的存在,我们知道卷积池化的作用是提取高维特征,但是反卷积的作用只能说出类似于利用学习的方法把图像细节还原,类似超分的作用,那到底是什么作用呢? 这里整理网上有用的参考: 反...

    经常在别人的网络结构看到反卷积的存在,我们知道卷积池化的作用是提取高维特征,但是反卷积的作用只能说出类似于利用学习的方法把图像细节还原,类似超分的作用,那到底是什么作用呢?
    这里整理网上有用的参考:
    反卷积又称转置卷积:

    信息来源:知乎

    1. 来还原feature map的尺寸大小,用于还原之前一系列卷积操作之后特征图分辨率变小的问题
    2. CNN可视化
    3. fcn中达到pixel classification
    4. gan中从特征生成图像

    这边文章也对反卷积进行较为详细的说明,没看中间的废话,只看到最后特别说明,反卷积在真正的数学形式上可以还原信号,但是在实际操作中因为池化的信息损失,所以只能还原到原来的尺寸。

    展开全文
  • 目录 1.写在前面 ...5.反卷积的作用 1.写在前面 本质:反卷积层和卷积层的工作过程很相似,主要区别在于,反卷积会通过padding,使得output大与input,而卷积是output小于input。 2.卷积操作 ...

    目录

    1.写在前面

    2.卷积操作

    3.反卷积

    4.Caffe中deconvolution定义

    5.反卷积的作用


    1.写在前面

    本质:反卷积层和卷积层的工作过程很相似,主要区别在于,反卷积会通过padding,使得output大与input,而卷积是output小于input。

    2.卷积操作

                                                

                                                                                          图1 卷积操作示意图

    上图来源于:https://blog.csdn.net/qq_38906523/article/details/80520950

    可以看到,output比input小。

    3.反卷积

                                                                  

                                                                                       图2 反卷积操作示意图

                                                                 

                                                                          图3 反卷积变体操作示意图(FCN提出)

    图2图3来源:https://github.com/vdumoulin/conv_arithmetic

    可以看到:output比input大。

    其中,图2中的墨绿色是output,下面的蓝色是input,白色虚线框是padding补出来的。其实反卷积可以理解为全卷积,也就是将input中每一个pixel进行充分的convolution,所以我认为padding和kernel以及stride是有关联的。就像在上图中,要保证kernel在边缘处只conv到input的一个像素,不知道这么说对不对,如果有好的建议,欢迎大家留言交流。

    deconvolution的目的是:将前一层的feature map上采样,通过邻域点内插实现,内插过程通过一个表示像素对其邻域影响范围和贡献和核来参数化。为了有效内插,核必须足够大才能覆盖输出。

    内插过程实现过程如下:将核的值乘以每个输入并在输出中添加重叠响应。(图3就是采用了内插,是在FCN中提出的,是反卷积的一种变体)

    4.Caffe中deconvolution定义

    layer{
    name:"deconv1"
    type:"Deconvolution"
    botton:"conv1"
    top:"deconv1'
    param{
    lr_mult:0
    }
    convolution_param{
    num_output:2
    bias_term:false
    kernel_size:2
    stride:1
    }
    }

    注意:type一定要写对了,大小写要注意。

    5.反卷积的作用

    在我理解,反卷积就是将input(这里不仅仅是最初的input,包括各层的输入)变大,然后信息量变多,然后继续进行后续操作,可以理解为将特征进行更好的提取。


    一切的一切都在学习当中,欢迎大家在评论区留言评论交流转发,本文成果也是参照自己的理解和众多优秀的博友,但完全是根据自己理解所写,如有雷同,纯属巧合。

    展开全文
  • 卷积与反卷积

    2017-12-05 17:01:47
    反卷积与卷积反卷积,顾名思义是卷积操作的逆向操作。...反卷积,输入图片的特征,输出图片,起到还原的作用。如下动图: 我们知道卷积结合池化的降维作用,将神经网络推向深度学习,开启神经网络的新世界,那么


    反卷积与卷积

    反卷积,顾名思义是卷积操作的逆向操作。

    为了方便理解,假设卷积前为图片,卷积后为图片的特征。

    卷积,输入图片,输出图片的特征,理论依据是统计不变性中的平移不变性(translation invariance),起到降维的作用。如下动图:
    这里写图片描述
    反卷积,输入图片的特征,输出图片,起到还原的作用。如下动图:
    这里写图片描述
    我们知道卷积结合池化的降维作用,将神经网络推向深度学习,开启神经网络的新世界,那么反卷积的作用呢?

    反卷积的作用

    反卷积崭露头角于“Unsupervised Representations Learning With Deep Convolutional Generative Adversarial Networks”,这篇论文主要工作就是用GANs生成图片,其中的generator和discriminator均采用深度学习,generator生成图片过程中采用的就是反卷积操作(当然discriminator采用卷积对generator生成的图片判别真伪)。generator生成图片示意:
    这里写图片描述

    反卷积的类型

    1. 一般类型:
      这里写图片描述

      输入:2*2
      计算过程:2+2*2-3+1
      输出:4

    2. fractionally-strided convolution:
      这里写图片描述

      输入:3*3
      计算过程:3+4-3+1
      输出:5

    fractionally-strided,小数步数,体现在往间隙padding,名义上stride=1,但实际作用却是小于1!

    Tensorflow中反卷积的实现

    tf.nn.conv2d_transpose(value, filter, output_shape, strides, padding=’SAME’, data_format=’NHWC’, name=None)
    参数解释:


    value:[batch,in_height,in_width,in_channels]
    filter:[batch,k_width,out_channels,in_channels]
    output_shape:[batch,output_height,output_width,output_channels]
    strides:对应在每一维的移动步数

    展开全文
  • 深度学习中卷积与反卷积

    千次阅读 2017-11-14 13:50:09
    卷积与反卷积操作在图像分类、图像分割、图像生成、边缘检测等领域都有很重要的作用。为了讲明白这两种操作,特别是反卷积操作,本文将依照神经网络中的编码器——>解码器——>卷积——>反卷积 的思路来一步步介绍...

    卷积与反卷积操作在图像分类、图像分割、图像生成、边缘检测等领域都有很重要的作用。为了讲明白这两种操作,特别是反卷积操作,本文将依照神经网络中的编码器——>解码器——>卷积——>反卷积 的思路来一步步介绍。


    编码器与解码器

    神经网络本质上就是一个线性变换,通过将输入的多维向量与权重矩阵相乘,得到一个新的多维向量。

    • 当输入向量的维度高于输出向量的维度时,神经网络就相当于一个编码器,实现了对高维向量的低维特征提取。例如下图从x到h的变换过程。

    • 当输入向量维度低于输出向量维度时,神经网络就相当于一个解码器,实现了低维向量到高维向量的重构,如图中h到y的变换。


    • CSDN图标 

    然而,普通的神经网络仅能对向量进行操作,常见的图像、音频等高维数据都需要展开成向量才能输入给神经网络,这大大破坏了数据在空间上的位置信息。

    卷积与反卷积操作使得神经网络可以处理二维以上的数据。它最大的好处在于:1.保持了数据在空间上的位置信息;2.权重共享使得计算复杂度大大降低。

    卷积

    卷积操作的作用类似神经网络中的编码器,用于对高维数据进行低维特征提取。

    卷积操作的示意图: 


    CSDN图标 

    蓝色图像为input feature map;绿色图像为output feature map 
    当有多个input and output feature maps时,卷积核用一个4-D数组表示:

    output_channels,input_channels,filter_rows,filter_columns

    output feature maps的个数与output_channels数目相等。 
    卷积操作的计算方式如下: 
    已知:

    • input size i
    • kernel size k
    • stride s
    • padding size p

    则输出大小为: 


    卷积计算公式 

    特殊的卷积操作

    • Half(same) padding 
      输出size与输入size相同(i.e., o = i) 

      Half(same) padding for i = 5, k = 3 and p = 1 
    • Full padding 
      输出size大于输入size 

      Half(same) padding for i = 5, k = 3 and p = 2 

    反卷积

    反卷积通常用于将低维特征映射成高维输入,与卷积操作的作用相反。

    卷积与反卷积中的矩阵操作


    Half(same) padding for i = 4, k = 3 and p = 0 

    将大小为(3,3)的卷积核表示成如下图所示的(16,4)矩阵C.T(表示矩阵C的转置): 

    Half(same) padding for i = 4, k = 3 and p = 0 

    其中w的下标i,j分别表示卷积核的第i行第j列元素。

    • 卷积的矩阵操作 
      将输入4*4的原始图像A展开成(16,1)向量,则将卷积核作用于图像A等同于下面的矩阵操作: 

      C * A = B 
      其中,B为卷积后得到的(4,1)向量,再reshape成(2,2)矩阵即为输出。

    • 误差的反向传播 


      卷积_误差反向传播 

    • 反卷积的矩阵操作 
      若输入图像A大小(2,2),则首先展开成(4,1)大小的向量,则将卷积核作用于图像A等同于下面的矩阵操作:

      C.T * A = B 
      其中,B为卷积后得到的(16,1)向量,再reshape成(4,4)的矩阵即为反卷积操作的输出结果。

    • 误差的反向传播 
      与卷积操作中误差反向传播时左乘C.T不同,此时需要左乘C。

    下图为论文《Adaptive Deconvolutional Networks for Mid and High Level Feature Learning》通过deconvolutional networks学习图片特征的过程。右边为卷积通道,左边为反卷积通道。F、P分别表示卷积及pooling,F.T、U分别表示反卷积及unpooling。 


    Half(same) padding for i = 4, k = 3 and p = 0 

    网络通过调整feature maps(z)及filters(f)使得根据feature maps(z)及filters(f)重构的图像y^与原始图像y的差别最小: 

    Half(same) padding for i = 4, k = 3 and p = 0 

    网络学习过程:先固定filter学习feature map(inference), 
    再固定feature map学习filter(learning)。大致步骤如下图:图片中的红框代表inference,蓝框代表learning。
     

    Half(same) padding for i = 4, k = 3 and p = 0 

    参考: 
    https://www.zhihu.com/question/43609045 
    http://deeplearning.net/software/theano_versions/dev/tutorial/conv_arithmetic.html#transposed-convolution-arithmetic

    展开全文
  • 反卷积

    2018-05-11 21:49:22
    卷积与反卷积操作在图像分类、图像分割、图像生成、边缘检测等领域都有很重要的作用。为了讲明白这两种操作,特别是反卷积操作,本文将依照神经网络中的编码器——>解码器——>卷积——>反卷积...
  • 反卷积原理

    千次阅读 2018-05-13 15:17:20
    一 介绍反卷积,可以理解为卷积操作的逆...虽然它不能还原出原来卷积的样子,但是在作用上具有类似的效果,可以将带有小部分缺失的信息最大化恢复,也可以用来恢复被卷积生成后的原始输入。反卷积具体步骤如下:1 ...
  • 之前面试商汤的时候被问了好几个和卷积有关的概念,... 反卷积(转置卷积)的概念和作用; 小数步长卷积 Fractionally Strided Convolution; 膨胀卷积的概念和作用; Depthwise卷积的概念和作用; 卷积,是一种...
  • 卷积与反卷积详解

    千次阅读 2018-08-30 10:04:11
    下面是暑期报告PPT的一个截图展示,是对于卷积与反卷积的具体理解,标题如下: 首先先从一维的离散形式出发,可以类比于信号处理中的德尔塔函数。 这里说明的是信号系统的线性不变形,即经过作用函数以后,...
  • 卷积,反卷积,空洞卷积

    千次阅读 2019-04-18 09:56:41
    卷积神经网络中卷积核的作用在于特征的抽取,越是大的卷积核尺寸就意味着更大的感受野,当然随之而来的是更多的参数。早在1998年,LeCun大神发布的LetNet-5模型中就会出,图像空域内具有局部相关性,卷积的过程是对...
  • 2D 卷积形式发展到现在,研究人员已经提出了各种各样的卷积形式,比如 3D 卷积,depth-wise 卷积, point-wise 卷积,扩张(Atrous)卷积,deconvolution 等等,这些卷积在 CNN 模型中,发挥着不同的作用。...
  • 反卷积实现及优化

    2020-08-08 15:26:29
    首先让我们了解一下反卷积操作:反卷积就是卷积的反操作,但是通常情况下反卷积被用来和池化对应起来。被认为是池化的逆操作。原因是池化的作用是缩小图片大小,而池化恰好和他相反。 下面让我们看两种反卷积...
  • 反卷积详解

    千次阅读 多人点赞 2019-04-26 16:42:36
    反卷积又称转秩卷积(Transposed Convolution),上采样(Upsampled )。 其作用举例如下: 1.当我们用神经网络生成图片时候,经常需要将一些低分辨率图片转换为高分辨率图片。 2.在语义分割中,会使用卷...
  • 颜色反卷积

    2018-06-22 10:06:24
    颜色反卷积算法的设计针对RGB摄像机获取的颜色信息,基于免疫组化技术使用的染色剂RGB分量光的特异性吸收,分别计算每种染色剂对图像的作用效果。免疫组织化学图像处理通常用的染色包括DAB、H&E。颜色反卷积...
  • 深度学习——反卷积

    2019-07-27 22:21:16
    一.上采样(Upsample) ...易错辨析:反卷积不是卷积的反过成。它只恢复了大小,并未恢复内容。 (一)从数学的层面理解卷积和反卷积 反卷积:(即输出乘以C的转置) (二)从常规CNN理解的角度理解...
  • 在深度学习的过程中,很多神经网络都会用到各种卷积核来进行操作,那么我们就简单讲一下卷积的原理和实现过程。 那么卷积在神经网络中的作用是什么呢?一开始的传统神经网络是没有卷积层的,都是隐藏层加生全连接层...
  • 转置卷积(反卷积)

    2018-12-28 14:29:51
    借鉴于此个博客,写非常好:...转置卷积(Transposed Convolution)也叫做反卷积(Deconvolution) Pytorch中可以使用torch.nn.ConvTranspose2d()来调用,caffe中对应转置卷积层为deconv_layer 作用:...
  • 卷积和反卷积(deconv)正向

    千次阅读 2018-08-25 17:34:08
    卷积 作用 提取局部区域内特征 操作 输入(**),卷积核(*h*w*),输出(**) ...输出feature 长(宽)计算:  ...个神经元(滤波器、卷积核) ...  权重共享(): 有多个卷积核,每个生成一个新feature map...
  • 由于大气湍流和噪声影响,造成观测目标图像退化。为了目标精确观测,根据噪声特性,结合符合物理意义约束条件,提出了新大气湍流图像盲...该图像盲反卷积复原方法研究,对地基望远镜观测有重要基础性作用
  • 反卷积是指,通过测量输出和已知输入重构未知输入的过程。在神经网络中,反卷积过程并不...在神经网络的研究中,反卷积更多的是充当可视化的作用,对于一个复杂的深度卷积网络,通过每层若干个卷积核的变换,我们...
  • 大家可能对于反卷积的认识有一个误区,以为通过反卷积就可以获取到经过卷积之前的图片,实际上通过反卷积操作并不能还原出卷积之前的图片,只能还原出卷积之前图片的尺寸。那么到底反卷积有什么作用呢?通过反卷积...
  • CNN可视化& 反卷积.zip

    2020-04-30 08:55:58
    2014 ECCV 深度学习卷积神经网络开始之作,CNN可视化,介绍了CNN不同层的作用及特征图的可视化,2011 ICCV 可视化反卷积论文
  • 【AI数学】反卷积(deconvolution)

    千次阅读 2018-10-29 13:30:09
    前言 卷积操作是图像处理中最常见的计算之一了,我们知道卷积可以除了可以提取图像特征之外,最大的作用之...目前,分割算法,生成算法等都要用到升维操作,这便导致了反卷积的使用越来越多。 这里最直观的例子就...
  • 1、卷积的数学操作 上述是比较直观的图形展示的例子,如果把卷积操作写成矩阵相乘,则对于4∗4 4*44∗4的输入和3∗3 3*33∗3的卷积核的结果如下: 卷积神经网络的数学表达式 三、池化 池化的定义比较...
  •  在深度学习的过程中,很多神经网络都会用到各种卷积核来进行操作,那么我们就简单讲一下卷积的原理和实现过程。 那么卷积在神经网络中的作用是什么呢?一开始的传统神经网络是没有卷积层的,都是隐藏层加生全连接...
  • 首先,初次接触这个问题是在做图像分割遇到的。 pooling为什么可以提高感受野...其次,因为有缩小的作用,所以之前的4个像素点,现在压缩成1个。那么,相当于我透过这1个点,就可以看到前面的4个点,这不就是把当前map
  • 地震信号系列完结篇-反卷积方法

    千次阅读 2018-12-28 19:03:27
    反卷积方法的作用在文章 地震信号的一些基本概念 中已经阐述过,简单的说就是:在压缩原信号的同时,对频谱进行补偿(反卷积的输出信号)。而在地震信号处理中,除了前面的优势,该方法还可以使反射系数成为尖脉冲,...
  • 反卷积与卷积 反卷积,顾名思义是卷积操作的逆向操作。...反卷积,输入图片的特征,输出图片,起到还原的作用。如下动图: 我们知道卷积结合池化的降维作用,将神经网络推向深度学习,开启神经网络

空空如也

空空如也

1 2 3 4 5
收藏数 89
精华内容 35
关键字:

反卷积的作用