当前位置: 首页 > news >正文

论文阅读——SG-Former

SG-Former: Self-guided Transformer with Evolving Token Reallocation

1. Introduction

方法的核心是利用显著性图,根据每个区域的显著性重新分配tokens。显著性图是通过混合规模的自我关注来估计的,并在训练过程中自我进化。直观地说,我们将更多的tokens分配给显著区域,以实现细粒度的关注,而将更少的tokens分配到次要区域,以换取效率和全局感受场。

2. Method

hybrid-scale Transformer block提取混合尺度对象和多粒度信息,指导区域重要性;self-guided Transformer block根据混合尺度Transformer块的显著性信息,在保持显著区域细粒度的同时,对全局信息进行建模。

2.1 Self-Guided Attention

通过将几个tokens合并为一个token聚合来减少序列长度这种减少注意力计算的聚合方法面临两个问题:(i)信息可能在显著区域丢失或与不相关的信息混合,(ii)在次要区域或背景区域,许多标记(序列的较高比例)对于简单语义是冗余的,同时需要大量计算。

输入特征图:,映射为Q、K、V

然后H个相互独立的自注意力头平行的计算自注意力,为了计算注意力后保持特征图大小不变的同时降低计算成本,使用重要性引导聚合模块(IAM)固定Q的长度,但聚合K和V的tokens。

其中是significance map。将S的值生序排列,分为n个子区域。s1是最不重要的,Sn是最重要的。r是聚合率,每r个tokens聚合在一起。在不同重要性的区域设置了不同的聚合率r1,··,rn,使得每个子区域都有一个聚合率,并且子区域越重要,聚合率越小。

IAM的目标是在显著区域将更少的令牌聚合为一(即,保留更多),在背景区域将更多的令牌聚合成一(即保留更少)。

然后:

F是聚合函数。

2.2 Hybrid-scale Attention

H个heads分成h组,每组H/h个heads。

聚合成一个,Q不聚合,这样A和KV的数量不一样了,然后将QKV分窗口,窗口大小M,Q和KV数量不一样,所以Q的窗口大小是

计算注意力:

计算significance map:

3 实验结果


反正现在试的,这个模型比VIT快很多,计算量也少很多,但是不知道效果,实验结果还没出来。

相关文章:

  • 【Minikube Prometheus】基于Prometheus Grafana监控由Minikube创建的K8S集群
  • 通配符和正则表达式
  • JVM系列-方法区、堆区、栈区
  • 常见负载均衡方案分析
  • ClickHouse基础知识(六):ClickHouse的副本配置
  • jsp结合servlet
  • 计算机网络(第八版)期末复习(第二章物理层)
  • SpringBoot整合mail进行发送邮箱
  • 【PostgreSQL】约束-排他约束
  • python + flask+nginx+mysql环境安装详解
  • blender插件开发
  • Trino:分区表上的SQL提交 查询流程浅析
  • MySQL数据库学习二
  • WPF+Halcon 培训项目实战(10):HS组件绘制图案
  • 【数据结构和算法】 相等行列对
  • [数据结构]链表的实现在PHP中
  • 【技术性】Search知识
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • C++类中的特殊成员函数
  • canvas 绘制双线技巧
  • ES6核心特性
  • JAVA SE 6 GC调优笔记
  • vue的全局变量和全局拦截请求器
  • 测试开发系类之接口自动化测试
  • 创建一种深思熟虑的文化
  • 简单基于spring的redis配置(单机和集群模式)
  • 微服务框架lagom
  • 优秀架构师必须掌握的架构思维
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 交换综合实验一
  • #QT(一种朴素的计算器实现方法)
  • #微信小程序:微信小程序常见的配置传值
  • (06)金属布线——为半导体注入生命的连接
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (第61天)多租户架构(CDB/PDB)
  • (二)pulsar安装在独立的docker中,python测试
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)德国人的记事本
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .Net Core与存储过程(一)
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .sh 的运行
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [ 数据结构 - C++]红黑树RBTree
  • [20161214]如何确定dbid.txt
  • [AIGC] Java 和 Kotlin 的区别
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [AX]AX2012 SSRS报表Drill through action
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [ERROR] ocp-server-ce-py_script_start_check-4.2.1 RuntimeError: ‘tenant_name‘
  • [flume$2]记录一个写自定义Flume拦截器遇到的错误