关于几种卷积

  • 1*1卷积

  • 分组卷积&深度可分离卷积

  • 空洞卷积、膨胀卷积

  • 转置卷积

https://zhuanlan.zhihu.com/p/80041030

https://yinguobing.com/separable-convolution/#fn2

1×1的卷积可以理解为对通道进行加权,对于一个通道来说,每个像素点加权是一样的;而对于一个普通的卷积来说,一个通道上,每个像素点的权重是不一样的;1×1的卷积,对于单个通道上像素点加权是一样的;有几个卷积核就有几个输出特征图;

分组卷积 group convolution;是对输入通道进行分组;输出通道并不是由所有的输入通道共同作用的;会有一种情况,比如输入通道是4,输出通道是2,输出通道的第一个通道只跟输入通道的第1、3个通道有关;输出通道的第二个通道只跟输入通道的第2、4个通道有关;如果输入通道有这样的关系时,我们可以采用分组卷积,设置组数group=2,这时有几个组就会有几个输出通道;这种情况是我们对每个组进行一次卷积,如果我们对每个组进行多次卷积,那么卷积核的个数就会增加了;这样也有一个问题,就是输入特征图的通道之间没有交互,所以这种情况下,在后面的卷积过程中,会有通道之间的随机混合或者用1×1的卷积;poinwise convolution;

深度可分离卷积,是特殊的分组卷积,有几个输入通道,就分成几个组,输入通道之间完全相互独立,deepwise convolution;这种情况下,后面通常会跟着 pointwise  convolution;

空洞卷积 或者 膨胀卷积,对应着Conv2d中的,dilation,默认的api设置是1,在参数量不变的情况下,增加了感受野;指的是索引之间相差多少;指的是两次卷积的索引之间 相差的距离就是dilation-1行 或者 列;输出特征图在计算大小的时候,input_h不变,kernel_h=kernel_h + (dilaiton-1)*(kernel_h-1),对应的计算输出特征图的shape;

关于感受野:

- 2个3×3的卷积核 相当于 1个5×5卷积核感受野

①减少了参数量 ②增加了非线性变换

转置卷积:首先普通卷积的三张理解

  1. 取出区域,逐元素相乘,然后torch.sum函数

  2. 把每次取出的input region拉直,形成矩阵

    5×5的input feature,3×3的kernel,输出3×3的特征图,对着取到input region有9个,我们把9个region拉直成行向量,9个行向量,与 kernel拉成的列向量 进行矩阵相乘,得到输出的列向量,把输出的列向量,reshape成输出特征图的尺寸,完成卷积

  3. 对于kernel每次移动的位置,把kernel填充成跟输入特征图一样的大小,把kernel同样拉直,拼接,按行拼接,input拉成列向量,同样的原理,再reshape 得到输出

那什么是转置卷积呢?转置卷积就是把 得到的 kernel阵拼成的行向量 9×25,转置成25×9,再和输出特征图拉成的列向量 9×1 进行相乘,得到25×1的列向量,这样是不是很神奇,如果再reshape一下,不就变成了 输入特征图的尺寸 5×5

这就是转置卷积,上采样,还原尺寸,注意是还原尺寸,而不会还原具体的数值;所谓转置就是因为我们把拉成行向量的kernel阵,进行了转置。

以下是几张图,帮助理解:

普通卷积:

deepwise convolution

​1×1卷积 pointwise convolution

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

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

相关文章

OCR、语音识别与信息抽取:免费开源的AI平台在医疗领域的创新应用

一、系统概述 在医疗行业中,大量数据来自手写病历、医学影像报告、患者对话记录等非结构化数据源。这些数据常常存在信息碎片化和管理困难的问题,给医务人员的工作带来了不便。思通数科AI多模态能力平台正是为了解决这一行业痛点而生,产品集…

Linux驱动开发——零散知识分享

本篇文章记录我学习Linux驱动时的一些零散知识,旨在记录成长,分享心得,希望我的分享能给你带来不一样的收获! 1、C 语言字符串转换为整数二点函数atoi 在 C 语言中,atoi 函数用于将字符串转换为整数。其原型定义在头文…

Git进阶(十八):git rebase详解

文章目录 一、前言二、rebase 图解三、应用示例四、重建提交历史五、rebase VS merge六、拓展阅读 一、前言 rebase 使用方法 git rebase [基节点] git rebase [基节点] [待变基节点]rebase后面的参数可以是两个,也可以是一个,当rebase为一个参数的时…

【React】条件渲染——逻辑与运算符

条件渲染——逻辑与&&运算符 你会遇到的另一个常见的快捷表达式是 JavaScript 逻辑与(&&)运算符。在 React 组件里,通常用在当条件成立时,你想渲染一些 JSX,或者不做任何渲染。 function Item({ nam…

《深度学习》——深度学习基础知识(全连接神经网络)

文章目录 1.神经网络简介2.什么是神经网络3.神经元是如何工作的3.1激活函数3.2参数的初始化3.2.1随机初始化3.2.2标准初始化3.2.3Xavier初始化(tf.keras中默认使用的)3.2.4He初始化 4.神经网络的搭建4.1通过Sequential构建神经网络4.2通过Functional API…

SpringBoot整合Freemarker(二)

if分支 语法&#xff1a; <#if condition>... <#elseif condition2>... <#elseif condition3>... <#else>... </#if> 例子&#xff1a; <#if x 1>x is 1 </#if> --------------------------------- <#if x 1>x is 1 <…

Bsin-kb-agent:企业级AI知识库

企业级AI知识库 Bsin-kb-agent 是基于BsinPaaS开源框架和大语言模型构建的企业知识库应用&#xff0c;借鉴langchain的框架思想&#xff0c;引入langchian4j组件&#xff0c;微前端微服务的架构设计&#xff0c;可快速助您构建和体验端到端的AI知识库应用。 应用场景 企业微…

spark的RDD分区的设定规则

目录 一、第一种&#xff1a;parallelize 获取rdd时 二、第二种&#xff1a;通过外部读取数据-textFile 三、上面提到了默认分区数&#xff0c;那么默认分区是怎么计算呢&#xff1f; 一、第一种&#xff1a;parallelize 获取rdd时 没有指定&#xff1a;spark.default.paral…

每日OJ题_牛客_春游_贪心+数学_C++_Java

目录 牛客_春游_贪心数学 题目解析 C代码 Java代码 牛客_春游_贪心数学 春游 描述&#xff1a; 盼望着&#xff0c;盼望着&#xff0c;东风来了&#xff0c;春天脚步近了。 值此大好春光&#xff0c;老师组织了同学们出去划船&#xff0c;划船项目收费如下&#xff1a;…

容器化技术入门:Docker详解

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 容器化技术入门&#xff1a;Docker详解 容器化技术入门&#xff1a;Docker详解 容器化技术入门&#xff1a;Docker详解 引言 Doc…

数据挖掘实战-基于SARIMA时间序列模型预测Netflix股票未来趋势

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

Java:多态的调用

1.什么是多态 允许不同类的对象对同一消息做不同的响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。&#xff08;发送消息就是函数调用&#xff09;。多态使用了一种动态绑定&#xff08;dynamic binding&#xff09;技术&#xff0c;指在执行期间判断所引用…

HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac

寻找模拟器 背景&#xff1a; 运行的是h5&#xff0c;模拟器是网易MuMu。 首先检查一下是否配置dab环境&#xff0c;adb version 配置一下hbuilderX的adb&#xff1a; 将命令输出的路径配置到hbuilderx里面去&#xff0c;然后重启下HbuilderX。 开始安装基座…一直安装不…

小程序 CRM 运营系统:提升用户体验的新利器

在当今数字化时代&#xff0c;小程序以其便捷、高效的特点迅速成为企业与用户互动的重要平台。而将客户关系管理&#xff08;CRM&#xff09;运营系统融入小程序中&#xff0c;更是为企业带来了全新的机遇与挑战。那么&#xff0c;如何构建一个成功的小程序CRM运营系统呢&#…

【362】基于springboot的在线租房和招聘平台

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统在线租房和招聘平台信息管理难度大&#xff0c;容错率低&…

华为Mate70前瞻,鸿蒙NEXT正式版蓄势待发,国产系统迎来关键一战

Mate 70系列要来了 上个月&#xff0c;vivo、小米、OPPO、荣耀等众多智能手机制造商纷纷发布了他们的年度旗舰产品&#xff0c;手机行业内竞争异常激烈。 同时&#xff0c;华为首席执行官余承东在其个人微博上透露&#xff0c;Mate 70系列将标志着华为Mate系列手机达到前所未有…

【Java Web】JSP实现数据传递和保存(中)中文乱码 转发与重定向

文章目录 中文乱码转发与重定向转发重定向区别 升级示例1 中文乱码 JSP 中默认使用的字符编码方式&#xff1a;iso-8859-1&#xff0c;不支持中文。常见的支持中文的编码方式及其收录的字符&#xff1a; gb2312&#xff1a;常用简体汉字gbk&#xff1a;简体和繁体汉字utf-8&a…

Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized

这里是Themberfue 在上一节的最后&#xff0c;我们讨论两个线程同时对一个变量累加所产生的现象 在这一节中&#xff0c;我们将更加详细地解释这个现象背后发生的原因以及该如何解决这样类似的现象 线程安全问题 public class Demo15 {private static int count 0;public …

React前端框架:现代网页开发的基石(附带构建简单任务管理应用案例代码)

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; React 是由 Facebook 开发并开源的前端框架&#xff0c;用于构建用户界面。它通过虚拟DOM、高效的渲染机制和组件化的开发模式&am…

在Zetero中调用腾讯云API的输入密钥的问题

也是使用了Translate插件了&#xff0c;但是需要调用腾讯云翻译&#xff0c;一直没成功。 第一步就是&#xff0c;按照这上面方法做&#xff1a;百度、阿里、腾讯、有道各平台翻译API申请教程 之后就是&#xff1a;Zotero PDF translat翻译&#xff1a;申请腾讯翻译接口 主要是…