Transposed Convolution 反卷积

Transposed convolutions也称作fractionally strided convolutions(本人比较喜欢这个称呼,比较直观),Upconvolution,deconvolutions

i:表示一般卷积时候的输入图片的大小i*i               i‘:表示反卷积时候的输入图片的大小

k:表示一般卷积时候的kernel的大小i*i                 k‘=k

s:表示stride大小                                              s‘=1   

p:表示padding大小                                         p‘=k-p-1(可以经过计算得到,确切来说p‘=k-p-1+a/2)

PS: o‘=i,  :表示在i‘*i‘大小的图片相邻行和相邻列中间填充s-1行(列)zeros

 

原文地址:https://www.cnblogs.com/skykill/p/8728678.html

时间: 2024-08-30 07:44:54

Transposed Convolution 反卷积的相关文章

Convolution Network及其变种(反卷积、扩展卷积、因果卷积、图卷积)

今天,主要和大家分享一下最近研究的卷积网络和它的一些变种. 首先,介绍一下基础的卷积网络. 通过PPT上的这个经典的动态图片可以很好的理解卷积的过程.图中蓝色的大矩阵是我们的输入,黄色的小矩阵是卷积核(kernel,filter),旁边的小矩阵是卷积后的输入,通常称为feature map. 从动态图中,我们可以很明白的看出卷积实际上就是加权叠加. 同时,从这个动态图可以很明显的看出,输出的维度小于输入的维度.如果我们需要输出的维度和输入的维度相等,这就需要填充(padding). 现在我们来看

深度学习—反卷积的理解

1.Deconvolution大致可以分为以下几个方面: (1)非监督学习:unsupervised learning,其实就是covolutional sparse coding:这里的deconv只是观念上和传统的conv反向,传统的conv是从图片生成feature map,而deconv是用unsupervised的方法找到一组kernel和feature map,让它们重建图片. (2)CNN可视化:通过deconv将CNN中conv得到的feature map还原到像素空间,以观察特

ufldl学习笔记与编程作业:Feature Extraction Using Convolution,Pooling(卷积和池化抽取特征)

ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践. 在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl. 于是最近就开始搞这个了,教程加上matlab编程,就是完美啊. 新教程的地址是:http://ufldl.stanford.edu/tutorial/ 学习链接: http://ufldl.stanford.edu/tutorial/supervised/FeatureExtractionUsingConvolution

第十四节,TensorFlow中的反卷积,反池化操作以及gradients的使用

反卷积是指,通过测量输出和已知输入重构未知输入的过程.在神经网络中,反卷积过程并不具备学习的能力,仅仅是用于可视化一个已经训练好的卷积神经网络,没有学习训练的过程.反卷积有着许多特别的应用,一般可以用于信道均衡.图像恢复.语音识别.地震学.无损探伤等未知输入估计和过程辨识方面的问题. 在神经网络的研究中,反卷积更多的是充当可视化的作用,对于一个复杂的深度卷积网络,通过每层若干个卷积核的变换,我们无法知道每个卷积核关注的是什么,变换后的特征是什么样子.通过反卷积的还原,可以对这些问题有个清晰的可视

第十五节,利用反卷积技术复原卷积网络各层图像

在第十三节,我们已经介绍了使用带有全局平均池化层的CNN对CIFAR10数据集分类,在学习了反卷积神经网络之后我们把第十三节那个程序里的卷积层可视化出来. 一 替换掉tf.nn.max_pool()函数 这里不再使用自己定义的max_pool_2x2函数,改成新加入的带有mask返回值得max_pool_with_argmax()函数: #定义占位符 input_x = tf.placeholder(dtype=tf.float32,shape=[None,24,24,3]) #图像大小24x2

tensorflow 卷积/反卷积-池化/反池化操作详解

Plese see this answer for a detailed example of how tf.nn.conv2d_backprop_input and tf.nn.conv2d_backprop_filter in an example. In tf.nn, there are 4 closely related 2d conv functions: tf.nn.conv2d tf.nn.conv2d_backprop_filter tf.nn.conv2d_backprop_i

[PyTorch]PyTorch中反卷积的用法

文章来源:https://www.jianshu.com/p/01577e86e506 pytorch中的 2D 卷积层 和 2D 反卷积层 函数分别如下: class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, groups=1, bias=True) class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_si

反卷积理解

不定时更新 反卷积就是转置卷积,也可以写成两个矩阵相乘,通常由小尺寸变成大尺寸,反卷积的反向传播也是可行的. 如图是反卷积的过程: 下面介绍卷积的反向传播过程,此过程与反卷积相同. 反卷积的计算是把卷积的得到的结果与卷积核的转置相乘,所以也叫转置卷积. 卷积的过程如下图: 用矩阵表达: 反向传播的公式: 其矩阵形式为: 这时就转为计算的过程. 从前面的计算过程可以找出x11参与了A中哪些元素的计算,并且可以根据对应的前向计算得出反向传播的计算公式: 后面的矩阵即为卷积核的转置. 原文地址:htt

Group Convolution组卷积

思路按照常规卷积到组卷积来. 常规卷积: 如果输入feature map尺寸为C∗H∗W C*H*WC∗H∗W,卷积核有N NN个,输出feature map与卷积核的数量相同也是N NN,每个卷积核的尺寸为C∗K∗K C*K*KC∗K∗K,N NN个卷积核的总参数量为N∗C∗K∗K N*C*K*KN∗C∗K∗K,输入map与输出map的连接方式如下图所示 组卷积: 原文地址:https://www.cnblogs.com/HYWZ36/p/11408487.html