卷积与反卷积动图

各种卷积与反卷积动态图
反卷积:
详细文字链接:https://www.zhihu.com/question/43609045/answer/132235276(该链接中并没有下面的动态图)

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

arbitrary_padding_no_strides_transposed
arbitrary_padding_no_strides_transposed

dilation
dilation

full_padding_no_strides
full_padding_no_strides

full_padding_no_strides_transposed
full_padding_no_strides_transposed

no_padding_no_strides
no_padding_no_strides

no_padding_no_strides_transposed
no_padding_no_strides_transposed

no_padding_strides
no_padding_strides

no_padding_strides_transposed
no_padding_strides_transposed

padding_strides
padding_strides

padding_strides_odd
padding_strides_odd

padding_strides_odd_transposed
padding_strides_odd_transposed

padding_strides_transposed
padding_strides_transposed

same_padding_no_strides
same_padding_no_strides

same_padding_no_strides_transposed
same_padding_no_strides_transposed

### 卷积反卷积在深度学习中的概念 #### 卷积的概念 卷积是一种线性算子,在像处理领域广泛应用。对于二维数据(如片),卷积操作可以理解为一个小矩阵(称为滤波器或内核)滑过输入矩阵的每一个位置,执行逐元素乘法并求和的操作。这种机制能够有效地提取局部特征。 具体来说,给定一个大小为 \(w \times h\) 的输入张量以及尺寸为 \(k_w \times k_h\) 的卷积核,两者之间会按照特定步幅移进行点乘累加形成新的输出特征[^3]。 ```python import torch.nn as nn conv_layer = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=(3, 3), stride=1, padding='same') ``` #### 反卷积的概念 反卷积也被称为转置卷积,其主要作用在于放大特征的空间分辨率或将低维特征映射到更高维度的空间中去。这通常发生在生成模型或者语义分割网络里,用来重建原始输入尺度的信息密度分布情况[^1]。 值得注意的是,“反卷积”的名称容易引起误解——它并不是真正意义上数学上的逆变换;而是指一种特殊设计使得输出形状相对于传统前馈传播有所扩展的方式[^2]。 ```python deconv_layer = nn.ConvTranspose2d(in_channels=64, out_channels=3, kernel_size=(3, 3), stride=2, padding=1, output_padding=1) ``` ### 区别及应用场景 #### 主要区别 - **功能方向不同**:常规卷积缩小了空间维度的同时增加了通道数,而反卷积则相反,扩大了空间维度可能减少甚至保持不变的通道数量。 - **参数共享方式差异**:虽然二者都涉及到了权重的学习过程,但是由于各自的任务特性决定了它们内部结构存在一定差别,比如填充模式的选择会影响最终效果。 - **应用场合各异**:前者多见于编码端负责压缩信息流,后者更多应用于解码部分完成细节恢复工作。 #### 应用场景 - **卷积的应用** - 特征抽取:广泛存在于各类视觉识别任务之中,例如物体检测、分类等。 - **反卷积的应用** - 像超分辨:提高模糊照片清晰度的技术实现路径之一就是利用该技术构建更精细像素级预测结果。 - 生成对抗网络(GANs): GAN 中的生成器经常采用反卷积层来逐步增加样本质量直至逼近真实世界的数据分布形态。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值