轻量级网络CNN系列(二):GhostNetV2

news2024/11/26 15:01:11

欢迎关注公众号 – AICV与前沿

欢迎关注公众号 – AICV与前沿

在这里插入图片描述

回顾

(1)Depthwise与Pointwise卷积

DW卷积的一个卷积核负责一个通道,例如对一个3×5×5的图片,输出通道数要与输入通道数相同,则普通卷积操作需要3×3×3×3的卷积核,但DW卷积操作只需要3×3×3的卷积核。

PW卷积相反,是一个1×1×C的卷积核,对每个通道的相同位置进行加权和,C为输入特征图的通道数,若输出通道数为5,则卷积核shape为C×1×1×5。

用DW+PW代替普通卷积,可以减小计算量。

(2)GhostNet

在这里插入图片描述
Ghost 模块:普通的卷积过程
在这里插入图片描述
这里的线性变换是通过DW实现的,上面的两步过程就是先利用PW进行卷积操作,再利用DW进行卷积操作。

GhostNetV2

GhostV2的主要工作就是在Ghost module的基础上,添加了一个改进的注意力块。文中称为解耦全连接注意力机制DFC(Decouplod fully connected)。
在这里插入图片描述

对图片进行HW次element-wise操作,改为分成列和行,分别对列进行W次对行进行H次操作。则计算量就从H×W×H×W变为H×W×H+W×H×W次。论文中FC操作通过DW卷积实现。

在原始的 Self-attention 中,每个 patch 的注意力值的计算涉及所有 patch。而在 DFC 中,每个 patch 的注意力值的计算直接与它水平或垂直位置的 patch 有关,而这些水平或垂直位置的 patch 的计算又与它们水平或垂直位置的 patch 有关。因此每个patch的注意力值的计算也一样涉及到所有 patch。

DFC attention 实现的 GhostNet 称之为 GhostNetV2。DFC attention 是为了配合 Ghost 模块使用, 以捕捉长距离空间位置的依赖关系。具体而言, 对于输入特征 X, 它被送到2个分支里面, 一个是 Ghost 分支, 得到输出特征 Y, 一个是 DFC 分支, 得到注意力矩阵A
, 在典型的 Self-attention 中, 常用到 linear transformation。所以作者在这里也使用1 × 1卷积, 将模块的输入X转化成 DFC 的输入Z。最终输出是将两个分支的结果进行点乘。即:
在这里插入图片描述
Sigmoid的目的是将注意力矩阵的输出结果标准化到(0, 1)之间, 信息的流动过程如下。
在这里插入图片描述
GhostV2 bottleneck 的示意图如下,DFC 注意力分支与第一个 Ghost 模块并行,通过点积合并,以增强扩展的特征。然后,增强后的特征被输入到第二个 Ghost 模块,以产生输出特征。它捕捉到了不同空间位置的像素之间的长距离依赖性,增强了模型的表达能力。

在这里插入图片描述

实验结果

在这里插入图片描述

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

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

相关文章

记一次Smartbi登录绕过

FOFA:app"SMARTBI" 找到目标站点验证是否存在漏洞 域名后面拼接以下路径 /smartbi/vision/RMIServlet 有下面的回显说明有可能存在漏洞(有些站点不行) 用Hackbar发送post请求 失败的话更改用户:system,public,service三个内置用户都尝试一遍 发送请求…

AutoSAR系列讲解(入门篇)3.6-RTE与Interface接口

RTE与Interface接口 一、Interface接口总览 二、AutoSAR接口 三、标准接口 四、标准AutoSAR接口 一、Interface接口总览 少说废话,先上图 上图将所有的接口以及其分布的位置都详细的标识了出来,还是用的原来的那张ECU的图添加的,方便大家…

用友NC uapjs RCE漏洞复现(CNVD-C-2023-76801)

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友NC及N…

基于Java+Vue前后端分离医学生在线学习交流平台设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

条件变量wait的另一种形式

flag.wait()里面可以有两个参数,第一个是锁,第二份一般是lambda表达式之类的谓词,其返回值一般是bool类型。 此时由于lambda表达式返回不为真,所以此时仍在等待。 此时lambda表达式就算正常的。

java学习记录之struts2注解校验ognl自定义拦截器

Result: 在struts中,Reuslt用于处理Action返回的结果.将我们之前在Servlet中耦合的功能代码.解耦了.将结果处理的代码封装到了Result中.Struts2已经预置了一些处理类.Dispatcher 转发Redirect 重定向redirectAction 重定向到一个Action(与redirect配合)plaintext 纯文本stream …

帆软report10.0,从人工智能到人工+智能,day1

前言: 最近在全基地推进品质CTQ,这个功能说实话在一年前已经开发完成了,中间修修补补,跌跌代代不下10-20版。看起来好像有点夸张吧。其实说实话,真正的BI系统用好,是需要业务人员和IT部门反复碰撞的。一年前…

volume 、namespace

顺带说一下 volume 和 namespace ,咱们就开始分享一下 service 是什么 volume 是什么 还记得 docker 的 volume 吗,是一个数据卷 在 K8S 中,volume 是 pod 中能够被多个容器访问的共享目录 ,实际上和 docker 是一样的 volume 是…

分享成为一个优秀的测试工程师需要具备哪些知识和经验?

根据我的观察,优秀的测试人员可以做的事情可以包括如下3点: 由单纯的测试变成项目质量保证工作 持续集成探索和推动和自动化测试技术研究 测试相关工具的开发 1、我们先来讲第一点,由单纯的测试变成项目质量保证工作 测试,从狭义…

versionOS开发笔记 01,如何在现有项目中启用 versionOS ?

visionOS 开发笔记 01,如何在现有项目中启用 visionOS ? 在 Targets 中的 Supportted Destinations 中增加 Apple Vision 然后在项目的 Run Destination 中选择 Apple Vision Pro 就可以了

python+selenium环境搭建(一)

pythonselenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器。 1.python的安装 目前测试行业应用最广的编程语言当属Python为首…

【C++】—— 继承

序言: 在之前,我们已经完成了对 C 初阶的讲解。接下来,我将带领大家学习关于C 进阶的相关知识,而今天我给大家介绍的就是关于 C三大特性之一的——继承。 目录 (一)继承的概念及定义 1、继承的概念 2、…

git常用命令之log

10. log 10.1 查看log 命令作用延展阅读git log输出 commit hsitory with commit detailgit reflog输出 HEAD ref 的 reflog链接git log --oneline--oneline选项会把提交信息压缩输出在单行。默认情况下,只显示commit id和commit message的第一行内容。$ git log …

Kubernetes核心概念汇总—Kubernetes 组件

当你部署完 Kubernetes,便拥有了一个完整的集群。 一组工作机器,称为 节点, 会运行容器化应用程序。每个集群至少有一个工作节点。 工作节点会托管 Pod ,而 Pod 就是作为应用负载的组件。 控制平面管理集群中的工作节点和 Pod。 在…

应用服务器Application Server manual

Application Server manual Sun Java™ System Application ServerStart Default ServerServer is RunningAdmin Console Sun Java™ System Application Server 从事Java EE的研发很多年,竟然才知道Sun开发的Application Server,以及最新版本Glassfish…

解决Vue.js not detected的问题(Vue.js devtools变灰色)

今天在谷歌商店下载安装了Vue.js devtools,但是出现了图标是灰色,鼠标移过去是Vue.js not detected的问题 首先呢,要去找一个有vue.js写的网站,比如哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 此时发现图标不再是灰色的,也不出现Vue.js…

@SuppressWarnings注解的作用

一、问题由来 我们在写代码的时候,不论是导入的包,还是声明的对象,有时候会出现黄线,感觉就很难受! SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点…

Apache数据库项目盘点

著名的开源软件组织 Apache 软件基金会目前维护着 300 多个活跃项目,其中包含不少数据库相关的项目,本文简单介绍一下这些开源项目。 Apache AGE Apache AGE 是一个基于 PostgreSQL 的图数据库,目标是为所有关系型数据库提供图数据处理和分…

漏洞复现|Kyan密码泄露/命令执行漏洞

0x01阅读须知 所有发布的技术文章仅供参考,未经授权请勿利用文章中的技术内容对任何计算机系统进行入侵操作,否则对他人或单位而造成的直接或间接后果和损失,均由使用者本人负责。 郑重声明:本文所提供的工具与思路仅用于学习与…

Java【异常】

异常 1. 异常概念程序开发中常见异常 2. 异常的体系结构2.1 异常体系核心父类异常的另外划分模式 3. 异常的处理流程3.1 异常的捕获并处理try-catch-finally代码块组合一:try catch组合二:finally代码块finally不执行的特殊情况 3.2 throw 和 throws3.3 …