首页 > 其他分享 >什么是deconv操作(反卷积,转置卷积)

什么是deconv操作(反卷积,转置卷积)

时间:2023-03-25 15:33:37浏览次数:63  
标签:deconv conv 16 卷积 矩阵 转置

1. 前言

zfnet在他们可视化的时候,利用到了《Zeiler, M., Taylor, G., and Fergus, R. Adaptive deconvolutional networks for mid and high level featurelearning. In ICCV, 2011》这篇论文中的反卷积操作,进行特征图的可视化,那什么是deconv操作呢?实际上deconv是有误导性的,令人误认为是卷积的逆运算,实际上cnn的卷积是不可逆的,deconv实际上是转置卷积,是对矩阵进行上采样的一种方法,deconv的作用一般有以下几种:

(1)unsupervised learning,其实就是covolutional sparse coding:这里的deconv只是观念上和传统的conv反向,传统的conv是从图片生成feature map,而deconv是用unsupervised的方法找到一组kernel和feature map,让它们重建图片。
(2)CNN可视化:通过deconv将CNN中conv得到的feature map还原到像素空间,以观察特定的feature map对哪些pattern的图片敏感,这里的deconv其实不是conv的可逆运算,只是conv的transpose,所以tensorflow里一般取名叫transpose_conv。
(3)upsampling:在pixel-wise prediction比如image segmentation以及image generation中,由于需要做原始图片尺寸空间的预测,而卷积由于stride往往会降低图片size, 所以往往需要通过upsampling的方法来还原到原始图片尺寸,deconv就充当了一个upsampling的角色。

我们主要关注2,即CNN的可视化。

2. 转置卷积

2.1. 如何计算

如上图所示,转置卷积主要用途是用来增大输入高宽,左边是输入矩阵和卷积核,转置卷积就是,对矩阵的每个元素,乘以卷积核中的每一个元素形成一个新的矩阵,然后按照步长移动,对下一个输入矩阵的元素进行此操作,最后按照步长大小,将这些结果进行相加,上图已经很好的说明了这个过程。

2.2. 为什么叫转置卷积

在卷积中,我们可以这么定义:

用C代表卷积核,input为输入图像,output为输出图像,经过卷积(矩阵乘法)后,我们将input从大图像下采样为小图像output,这种矩阵乘法遵循:

C · input = output

下面例子展示了这种运算在计算机内的工作方式,它将输入平展为16*1矩阵,并将卷积核转换为一个稀疏矩阵4*16,然后在稀疏矩阵和平展的输入之间使用矩阵乘法,之后,再将所得的矩阵4*1转为2*2的输出。

 

此时,若卷积核对应稀疏矩阵的转置CT(16*4)乘以输出的平展4*1所得到的结果16*1的形状和原输入的形状16*1相同。

 

但值得注意的是,上述两次操作并不是可逆关系,对于同一个卷积核(因非其稀疏矩阵不是正交矩阵),结果转置操作之后并不能恢复到原始的数值,而仅仅保留原始的形状,所以转置卷积的名字由此而来。并回答了上面提到的疑问,相比于“逆卷积”而言转置卷积更加准确。

3. 参考

怎样通俗易懂地解释反卷积?

如何理解深度学习中的deconvolution networks?

47 转置卷积【动手学深度学习v2】

转置卷积【动手学深度学习v2】原稿

(完)

 

标签:deconv,conv,16,卷积,矩阵,转置
From: https://www.cnblogs.com/harrymore/p/17254833.html

相关文章

  • 利用tensorflow实现简单的卷积神经网络——迁移学习小记(二)
    一、什么是神经网络(CNN)  卷积神经网络(ConvolutionalNeuralNetwork,简称CNN),是一种前馈神经网络,人工神经元可以影响周围单元,可以进行大型图像处理。卷积神经网络包括卷积......
  • CNN卷积神经
    1.概念CNN->深度学习模型,主要用于图像识别、语音识别、自然语言处理等。2.卷积操作1.滑动卷积核(一个小矩阵、滤波器)对输入图像进行特征提取2.滑动在图像上,对每个位......
  • 卷积神经网络理论
    卷积基本概念卷积操作感受野计算RFi =(RFi+1-1)xsi+Kisi为第i层的步长,Ki为第i层卷积核大小。数据填充图像填充后卷积输出的维度:n:图像大小f:卷积核大小p:填......
  • 基于OFDM的通信链路误码率matlab仿真,采用多径信道,卷积编码,16QAM
    1.算法描述在通信系统中,信道所能提供的带宽通常比传送一路信号所需的带宽要宽得多。如果一个信道只传送一路信号是非常浪费的,为了能够充分利用信道的带宽,就可以采用频分复......
  • 基于OFDM的通信链路误码率matlab仿真,采用多径信道,卷积编码,16QAM
    1.算法描述        在通信系统中,信道所能提供的带宽通常比传送一路信号所需的带宽要宽得多。如果一个信道只传送一路信号是非常浪费的,为了能够充分利用信道的带宽......
  • 转置原理
    基本原理我们知道矩阵的转置满足如下性质:记\(V=E_1E_2\dotsE_k\),则\(V^T=E_k^T\dotsE_2^TE_1^T\)。这也就相当于,如果我们有快速的方法得到出\(V^T=E_k^T\dotsE_2^......
  • 深入理解卷积
    一、深入理解积分\[\int_{-\infty}^\infty {f\left(t\right)}dt\]\[\sum\nolimits_{-\infty}^\infty {f(t)} \cdot1\]    对比积分和求和可知,积......
  • 子集卷积
    一想到我FWT的笔记还没写就来写这个东西,我就忍不住笑了子集卷积是一种定义在集合幂级数上的运算,虽然作者对集合幂级数一窍不通,但我们可以先从位运算的角度来理解一下子......
  • 莫比乌斯反演 & 狄利克雷卷积
    大家好,我不会数学实锤了。文章内容较杂,分章节叙述了的大部分有关内容。为什么把这俩放一起?我不知道。积性函数积性函数:\(\foralla,b\),\(a\perpb\),如果一个函数\(f\)......
  • 何为神经网络卷积层?
    摘要:本文深度讲解了卷积计算的原理,并详细介绍了构成所有卷积网络主干的基本元素,包括卷积层本身、填充和步幅的基本细节、用于在相邻区域汇聚信息的汇聚层,最后给出卷积层和......