NLNet、GCNet、RTNet三种多头注意力网络的对比与分析

目录

一、中心思想

二、网络结构的异同点

三、网络结构的改进

3.1 GCNet的改进

3.2 RTNet的改进

四、总结


一、中心思想

三种网络最终目的都是为了捕获远程依赖关系或是全局上下文信息以增强目标检测或是目标分割的效果。

NLNet:卷积运算只能一次处理一个局部信息,而且伴随着许多的局限。NLNet是受传统的非局部均值滤波的启发,希望能够借助非局部操作捕获远程依赖关系以此来增强对同类像素的注意力。

GCNet:GCNet通过实验证明NLNet增强的注意力特征与query位置无关,在此基础上对NLNet进行了大刀阔斧的删减和修改,在不降低网络功效的情况下减少网络的计算消耗。此外,GCNet参考SENet,将模型框架划分为全局注意力池化模块、bottleneck transform模块和特征聚合模块,本质上还是为减少计算消耗,但是性能上优于SENet和NLNet。(笔者认为GCNetNLNet已经是两种产物了,GCNet抛弃了非局部均值滤波的思想。)

RTNetRTNet的全局transformer模块GC模块的变种,与GCNet不同的是GC模块是靠一个通道注意力向量做全局注意力池化获取全局注意力特征,而RTNet是靠一个空间注意力向量。

二、网络结构的异同点

如下图所示分别为NLNet、GCNet和RTNet

               

NLNet与GCNet:NLNet与GCNet最大的不同就在于查询头,GCNet抛弃了查询头的设置,也就意味着抛弃了非局部均值滤波的思想,GCNet不再计算每个像素值(区域)与与其他像素点(区域)之间的相似度,也就放弃了去捕获远程依赖关系,转而去通过注意力池化获取全局上下文特征(这个过程便是注意力池化,特征图被池化为了一个通道向量),此外效仿SENet,增加了一个bottleneck transform模块 (因为简化后的NL模块与SE模块实在太像了,满足与SE模块融合的要求,融合后能够减少计算消耗)。

GCNet和RTNet:从结构上来看RTNet中GTB模块更像NL模块,实际上GTB模块也没有履行非局部均值滤波的思想,与GCNet一样,GTB模块也是转而去通过注意力池化获取全局上下文特征,只不过GTB模块是先通过在通道方向上的融合得到一个空间注意力向量,再通过在空间方向上的融合得到一个通道注意力向量本质上还是注意力池化获取全局上下文特征

三、网络结构的改进

从cv领域发展来看,NLNet在注意力时代早期的影响是深远的,以NLNet为衍生诞生了一批优秀的网络模型如GCNet、DANet,在GCNet的基础上不满于只获取通道注意力衍生出了RTNet的GTB模块

3.1 GCNet的改进

仔细观察的话,可以发现GC模块和SE模块的transform部分基本一致,最大的不同就在于池化部分(也就是context modeling),SE模块采用全局平均化池,而GC模块采用的是注意力池化(采用1x1卷积 W_k ​和softmax函数获得注意力权重),这一步看起来最终获取的向量是一样的,实际上GC模块这样做是经过严格的公式推敲而来的,公式如下,

(红色部分便是注意力池化,由NL模块定义推导而来)。

 这一步是GC模块区别于SE模块和NL模块的关键,GCNet最大改进之处。

3.2 RTNet的改进

RTNet中GTB模块的改进很明显,相比与GC模块,GTB模块还多融合了一个空间注意向量。GTB模块是先通过在通道方向上的融合得到一个空间注意力向量,再通过在空间方向上的融合得到一个通道注意力向量,融合从不同角度提取的注意力向量有助于提高特征表现力。(参考CBAM模块。)

四、总结

NLNet、GCNet和RTNet都是十分优秀的网络,但是很明显GCNet和RTNet都抛弃了非局部均值滤波的思想,基于非局部均值滤波获取远程依赖关系的网络是否还能有更进一步的改进呢?此外,作为最新的cv,RTNet采用多任务和交叉注意的策略,这是现今比较流行的医学图像处理策略。GCNet的成功也表明在理论上的公式推导应用于网络构建上是十分重要的。

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

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

相关文章

16- flask-bootstrap模板的使用

Flask 中支持 flask-bootstrap模板 和 bootstrap-flask模板 # 不使用: bootstrap-flask # pip install bootstrap-flask1.3.1 # 支持bootstrap 4 # pip install flask-bootstrap # 支持bootstrap3# 中文文档:https://flask-bootstrap-zh.readthedocs.io/zh/latest/ # 样式文档…

音视频技术开发周刊 | 308

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 OpenAI首席科学家最新访谈:对模型创业两点建议、安全与对齐、Transformer够好吗? OpenAI首席科学家Ilya Sutskever最近和他的朋友Sven Strohband进…

面试现场表现:展示你的编程能力和沟通技巧

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【Go 基础篇】深入探索:Go语言中的二维数组

在计算机编程中,数组是一种基本的数据结构,用于存储相同类型的元素。而二维数组作为数组的一种扩展,允许我们以类似表格的方式存储和处理数据。在Go语言中,二维数组是一个重要的概念,本文将深入探讨Go语言中的二维数组…

vue中使用echarts三维的项目

需要安装 echarts 同时引入 echarts-gl 我安装的版本: "echarts": "^5.3.2", "echarts-gl": "^2.0.9", 效果 : 安装后main.js引入 import Vue from "vue"; import * as echarts from "echart…

15.CSS发光按钮的悬停特效

效果 源码 <!DOCTYPE html> <html> <head><title>CSS Modern Button</title><link rel="stylesheet" type="text/css" href="style.css"> </head> <body><a href="#" style=&quo…

【微服务】05-网关与BFF(Backend For Frontend)

文章目录 1.打造网关1.1 简介1.2 连接模式1.3 打造网关 2.身份认证与授权2.1 身份认证方案2.1.1 JWT是什么2.1.2 启用JwtBearer身份认证2.1.3 配置身份认证2.1.4 JWT注意事项 1.打造网关 1.1 简介 BFF(Backend For Frontend)负责认证授权&#xff0c;服务聚合&#xff0c;目标…

外部库/lib/maven依赖项 三者关系

外部库(存放项目初始配置的jar包)(它的文件夹里并没有包含lib文件夹的引的外部的依赖的jar包) lib(存放外部导入到项目的依赖的jar包) maven依赖项(管理项目所有的jar包依赖) 三者存放jar包的关系 项目所依赖的全部的jar包 maven依赖项的jar包 外部库中的jar包 lib中的…

设计模式—原型模式(Prototype)

目录 一、什么是原型模式&#xff1f; 二、原型模式具有什么优缺点吗&#xff1f; 三、有什么缺点&#xff1f; 四、什么时候用原型模式&#xff1f; 五、代码展示 ①、简历代码初步实现 ②、原型模式 ③、简历的原型实现 ④、深复制 ⑤、浅复制 一、什么是原型模式&…

mac使用VsCode远程连接服务器总是自动断开并要求输入密码的解决办法

在mac中使用vscode远程连接服务器&#xff0c;时常会出现自动断开并要求重新输入服务器密码的问题&#xff0c;接下来让我们来解决它&#xff1a; 1、首先&#xff0c;在本地创建公钥&#xff1a; ssh-keygen 这条命令执行之后&#xff0c;出现提示直接回车即可&#xff1b;直…

mybatis plus新版代码生成器,类型转换处理器ITypeConvertHandler使用

目录 引言关键代码源码分析记录一坑类型转换的第二种方式完整源码地址 引言 当默认生成的数据类型不满足时&#xff0c;就需要自定义指定要生成的类型 关键代码 FastAutoGenerator.create(url, username, password).dataSourceConfig(builder -> {builder.typeConvertHandl…

探索数据湖中的巨兽:Apache Hive分布式SQL计算平台浅度剖析!

文章目录 ◆ Apache Hive 概述1.1 分布式SQL计算1.2 Hive的优势 ◆ 模拟实现Hive功能2.1 元数据管理2.2 解析器2.3 基础架构2.4 Hive架构 ◆ Hive基础架构3.1 Hive架构图3.2 Hive组件3.2.1 元数据存储3.2.2 Driver驱动程序3.2.3 用户接口 ◆ Hive部署4.1 VMware虚拟机部署步骤一…