转置卷积(Transposed Convolution)可视化过程

news2024/10/6 10:40:58

目录

    • 1. 介绍
    • 2. 标准卷积
    • 3. 转置卷积
    • 4. 总结

1. 介绍

  转置卷积(Transposed Convolution)经常也被称作反卷积,所谓反卷积即为通过标准卷积层生成的输出被反卷积,将得到原始输入。而转置卷积不按值反转标准卷积,而仅按维度。

在这里插入图片描述
转置卷积层和标准卷积层的计算原理完全相同,不同的是输入特征图不同。下面分别介绍标准卷积和转置卷积。转置卷积怎么来的请参考:https://blog.csdn.net/tsyccnh/article/details/87357447,这篇博客只介绍转置卷积的具体实现。

2. 标准卷积

  输入特征图大小为 i × i i\times i i×i 的标准卷积层由以下两个参数定义:

  • Padding (p):对特征图周围进行填充,扩大到 ( i + 2 ∗ p ) × ( i + 2 ∗ p ) (i+2 * p )\times (i+2*p) (i+2p)×(i+2p)
  • Stride (s):卷积核在特征图上移动的步长。

下图展示了一个卷积层是如何分两步进行的:

在这里插入图片描述
在第一步中,输入特征图用零填充,而在第二步中,卷积核通过前面定义的步长在特征图上进行滑动,并于滑动窗口求点积。卷积层有 “Same” 和 “Vaild” 卷积,前者输出的空间维度等于输入的空间维度,后者输出的空间维度小于输入的空间维度,在搭建模型中,一般使用 “Same” 卷积。下面的动画演示了不同 StridePadding 的卷积层。

对于给定大小的输入 (i)、卷积核 (k)、填充大小 (p) 和步长 (s) ,生成的输出特征图 (o) 的大小计算如下:

o = i + 2 p − k s + 1 o = \frac{i + 2p - k}{s} + 1 o=si+2pk+1

3. 转置卷积

  转置卷积通常用于上采样,即生成空间维度大于输入特征图的输出特征图。就像标准卷积层一样,转置卷积层也由 PaddingStride 定义。PaddingStride 的这些值是假设在输出上执行以生成输入的值。也就是说,如果您获取输出,并执行定义了步长和填充的标准卷积,它将生成与输入相同的空间维度。
  转置卷积的实现过程有下面四步:

  • 计算 p ′ p' p z z z,其中 p ′ = k − p − 1 , z = s − 1 p' = k - p - 1,z = s - 1 p=kp1,z=s1 k , p , s k,p,s k,p,s 分别为卷积核大小,输入的参数 Padding 和 输入的参数 Stride, p ′ , s ′ p', s' p,s 分别为转置卷积在进行卷积操作时的填充大小和步长;
  • 在输入特征图的行行和列列之间,插入 z z z 个零,使得输入特征图大小为 2 i − 1 × 2 i − 1 2i - 1 \times 2i - 1 2i1×2i1
  • 对第二步中得到的特征图进行 Padding,大小为 p ′ p' p
  • 对第三步中生成的图像进行标准卷积,步长为 1


下面的动画演示了不同 StridePadding 的转置卷积层

对于给定大小的输入 (i)、卷积核 (k)、填充大小 (p) 和步长 (s) ,生成的输出特征图 (o) 的大小计算如下:

o = ( i − 1 ) × s + k − 2 p o = (i - 1) \times s + k - 2p o=(i1)×s+k2p

4. 总结

  标准卷积和转置卷积总结如下:

  • 转置卷积的用处主要是对特征图进行上采样;
  • 转置卷积其实也是一种标准卷积,只不过要先根据输入的参数对输入特征图进行修改,也就是填充操作;
  • 转置卷积在滑动点积操作时的 PaddingStride 参数与输入参数不同,其中 p ′ = k − p − 1 , s ′ = 1 p' = k - p - 1, s' = 1 p=kp1,s=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/512995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32F4_待机唤醒详解

目录 1. 低功耗模式 1.1 降低系统时钟速度 1.2 外设时钟门控 2. 睡眠模式 2.1 进入睡眠模式 2.2 退出休眠模式 3. 停止模式 3.1 进入停止模式 3.2 退出停止模式 4. 待机模式 4.1 进入待机模式 4.2 退出待机模式 4.3 电源控制寄存器:PWR_CR 4.4 电源控…

‘OpenpyxlWriter‘ object has no attribute ‘save‘

使用read_sql(sql,conn)来获取数据库查询的结果, 在将处理完成的表格保存下来时,可能会显示如下错误: 将writer.save()改成writer._save()就可以解决这个问题了。

必须了解的mysql三大日志-binlog、redo log和undo log

目录 一,前言二,binlog-备份日志1,作用2,使用场景3,日志形式4,binlog刷盘时机 三,redo log-重做日志1,概念2,为什么需要redo log3,日志形式4,redo…

数据结构之树(一)

一.概念 边:一棵n个结点树有n-1条边 结点深度:从根到当前结点的路径的深度。 结点高度:从当前结点到叶子结点最长路径的长度。 树的性质 树中的结点总数等于所有结点的度1;m叉树中第i(i>1)层上至多可以有m^(i-1)个节点; 高…

互联网大厂手把手教你搭建数据服务中台(附下载链接)

摘要: 随着公司业务的发展,对于数据的需求会越来越多。怎么在业务系统中高效的使用数据,让业务系统处理大数据时化繁为简,数据服务化基本是必经之路。那么什么是数据服务化,简单理解就是数据SaaS,通过一些数据库语言把…

true or false?

有同学在星球问了这样一个问题。 代码是这样的: public class Main {private static final Main instance new Main();private boolean b a;private static boolean a initA();private static boolean c a;private static boolean initA() {return true;}priva…

洛谷B2099 矩阵交换行

矩阵交换行 题目描述 给定一个 5 5 5 \times 5 55 的矩阵(数学上,一个 r c r \times c rc 的矩阵是一个由 r r r 行 c c c 列元素排列成的矩形阵列),将第 n n n 行和第 m m m 行交换,输出交换后的结果。 输入格式 输入共 6 6 6 …

DataEase 本地源码启动详细教程

本教程将引导你通过本地源码部署的方式启动 DataEase,同时我还录制了相应的视频教程,你可以跟随视频进行操作: DataEase 本地源码启动_哔哩哔哩_bilibili 1、下载并安装IDEA开发工具 2、下载安装Mysql 5.7 以及 JDK 1.8 如果你使用的是wi…

使用pdf.js展示pdf文件(亲测可用)

简单的实现方式 如果只是电脑端,可通过 iframe 标签嵌套预览 ios手机端可通过 a 标签包裹点击跳转预览(安卓端不行) 安卓电脑ios的通用方法 资料 老版本github地址 全版本地址 获取当前客户端类型 judgeClient() {let client if (/(iPh…

鲁大师智能化评测新项目——鲁大师真续航测试1.0正式发布

随着社会的高速发展,人们出行的交通工具正变得多种多样,有电单车、摩托车、自行车、两轮平衡车、甚至滑板等。不过如我们所见,电动两轮车已经成为了大多数近途出行用户的选择,因电单车具有方便、快捷、灵活、小巧、易停放等优点而…

MySQL基础篇4

MySQL基础 1. 数据类型1.1 整数类型1.2 浮点类型1.3 定点数类型1.4 位类型1.5 日期时间类型1.6 文本字符串类型1.6.1 CHAR类型和VARCHAR类型1.6.2 TEXT类型 1.7 ENUM枚举类型1.8 SET类型1.9 二进制字符串类型1.10 JSON数据类型 2. 约束2.1 前置知识2.1.1 为什么需要约束2.1.2 约…

亚马逊云科技围绕需求发力,赋能医疗与生命科学行业数字化创新

2023年4月27日,亚马逊云科技医疗与生命科学行业峰会召开,会议汇聚了业界专家和思想领袖,共同探讨行业数字化转型和创新之道。作为全球医疗及生命科学行业云计算引领者,亚马逊云科技将围绕数据、算力和行业用户体验三大需求发力&am…

移远“5G+Wi-Fi 6”方案双重加速,为用户带来更具性价比的连网体验

近年来,人们对于高速宽带连接的需求猛增,这对网络传输速率、稳定性与时延都提出了更高的要求。在离开网络寸步难行的今天,插电即用、免拉宽带的5G CPE受到了广泛关注。 在地广人稀的部分海外市场,受制于光纤铺设成本、周期、路由规…

Day966.从组件团队到Spotify模型 -遗留系统现代化实战

从组件团队到Spotify模型 Hi,我是阿昌,今天学习记录的是关于从组件团队到Spotify模型的内容。 团队结构现代化。这个方向跟管理有关,但无论掌控全局的 CTO、架构师,还是身处遗留系统一线战队的队员,都有必要了解现代…

JavaScript - 基础+WebAPI(笔记)

前言: 求关注😭 本篇文章主要记录以下几部分: 基础: 输入输出语法;数据类型;运算符;流程控制 - 分支语句;流程控制 - 循环语句;数组 - 基础;函数 - 基础&…

idm下载器2024官方最新中文版免费下载

哈喽大家好呀,coco玛奇朵发现我已经有一阵子没有给大家分享windows软件了,今天给大家分享一款暗藏惊喜的windows软件,用过之后真的很难拒绝! 这是一个可以帮你提升下载速度的工具,有了它几秒就能帮你下载好各种资源。…

UNIAPP实战项目笔记64 当前用户修改收货地址的前端和后端

UNIAPP实战项目笔记64 当前用户修改收货地址的前端和后端 思路 默认地址的修改,先清空当前id下的所有默认地址,再将新地址设为默认 前端 将新值传给后端 后端接受值后更新处理 实例截图 代码 后端 index.js var express require(express); var route…

大数据Doris(十六):分桶Bucket和分区、分桶数量和数据量的建议

文章目录 分桶Bucket和分区、分桶数量和数据量的建议 一、分桶Bucket

机器学习随记(6)—K-means

1 K-means方案 K-means 算法是一种自动将相似数据点聚集在一起的方法。 具体来说,你得到了一个训练集{,...,},并且您希望将数据分组为几个有凝聚力的“集群”。 K-means 是一个迭代过程 首先猜测初始质心,然后改进这个猜测 反复将样本分配到…

Seurat -- Cluster the cells --第一部分

文章目录 briefKNN(k-nearest neighbor)简介部分SNN(shared nearest neighbor)简介部分Annoy算法理解Jaccard indexSeurat进行聚类的步骤可视化部分subcluster之间的marker gene具体参数 brief seurat 官方教程的解释如下&#x…