首页 > 其他分享 >Bottleneck Transformers for Visual Recognition

Bottleneck Transformers for Visual Recognition

时间:2023-12-18 19:25:21浏览次数:31  
标签:Transformers 卷积 BoT50 Visual BoTNet Bottleneck 注意力 Recognition MHSA

Bottleneck Transformers for Visual Recognition

* Authors: [[Aravind Srinivas]], [[Tsung-Yi Lin]], [[Niki Parmar]], [[Jonathon Shlens]], [[Pieter Abbeel]], [[Ashish Vaswani]]

初读印象

comment:: (BoTNet)通过在ResNet的最后三个瓶颈块中使用全局自注意力替换空间卷积,并且没有其他变化,在实例分割和目标检测方面显著改善了基线,同时也减少了参数,在延迟方面的开销最小。

动机

卷积操作虽然可以有效地捕捉局部信息,但是需要堆叠多层才能实现全局聚合,而自注意力可以直接计算任意两个位置之间的交互,从而学习更丰富的关联特征。文章旨在提出一种简单而强大的混合架构,即BoTNet,来利用卷积和自注意力的优势。

方法

Pasted image 20230310151618Pastedimage 20230310151633

将最后三层的3×3卷积换成多头子注意力。
BoTNet是一种同时使用卷积和自注意力的混合模型。

Pasted image 20230310155431

BoTNet-50 ( BoT50 )的架构:BoT50与ResNet - 50 ( R50 )的唯一区别是在c5中使用了MHSA层(图4 )。对于1024 × 1024的输入分辨率,c5第1块的MHSA层工作在64 × 64上,其余两块工作在32 × 32上。我们还报告了参数、乘法加法( m . add )和训练时间吞吐量( v3-8 Cloud - TPU上的TPU - v3步时)。Bot50仅比R50多1.2倍M . Adds。整个训练过程的开销为1.3 x。BoT50也比R50少1.2倍。

Pasted image 20230310155918

在BoT块中使用的多头自注意力( MHSA )层。虽然我们使用了4个头,但为了简单起见,我们没有将它们显示在图上。all2all注意力都是在一个2D特征图上进行的,其相对位置分裂,分别为高度和宽度编码Rh和Rw。注意力logit为qkT + qrT,其中q,k,r分别表示查询、密钥和位置编码(我们使用相对距离编码),⊕和∂分别表示元素和和矩阵乘法,1 × 1表示逐点卷积。除了使用多个表头外,突出显示的蓝色方框(位置编码和值投影是非本地层中没有的三个元素。

标签:Transformers,卷积,BoT50,Visual,BoTNet,Bottleneck,注意力,Recognition,MHSA
From: https://www.cnblogs.com/tifuhong/p/17909226.html

相关文章

  • Conv2Former: A Simple Transformer-Style ConvNet for Visual Recognition:使用大核卷
    Conv2Former:ASimpleTransformer-StyleConvNetforVisualRecognition*Authors:[[QibinHou]],[[Cheng-ZeLu]],[[Ming-MingCheng]],[[JiashiFeng]]Locallibrary初读印象comment::研究一种更有效的利用卷积编码空间特征的方法,利用卷积调制来简化自注意力操作......
  • 使用VisualVM浏览分析堆转储
    堆转储是Java虚拟机(JVM)堆中所有对象在某个时间点的快照。JVM为堆中所有类实例和数组的对象分配内存。当不再需要某个对象并且没有对该对象的引用时,垃圾回收器会回收堆内存。通过VisualVM检查堆,您可以找到对象的创建位置,并在源中找到对这些对象的引用。如果JVM软件无法从堆中删......
  • Transformers实战——文本相似度
    文章目录一、改写文本分类1.导入相关包2.加载数据集3.划分数据集4.数据集预处理5.创建模型6.创建评估函数7.创建TrainingArguments8.创建Trainer9.模型训练10.模型评估11.模型预测二、交互/单塔模式1.导入相关包2.加载数据集3.划分数据集4.数据集预处理5.创建模型(区别)6.创建评估......
  • [good]visual studio 2022 创建空的win32程序
    参考这个VS创建空的Win32程序-fenggwsx-博客园(cnblogs.com)   编译运行 ......
  • Visual Studio 好用的主题+字体推荐!!!
    Vs2022主题+字体VisualStudio(VS)是一款功能强大的集成开发环境(IDE),可以用于开发各种类型的应用程序,包括桌面应用、Web应用、移动应用等。它提供了许多主题设置和字体选项,以满足不同开发者对于界面外观和字VS主题与字体设置要设置VisualStudio的主题,可以按照以下步骤进行操作:......
  • 使用Visual Studio 2022 创建lib和dll并使用
    对于一个经常写javaWeb的人来说,使用VisualStudio似乎没什么必要,但是对于使用ffi的人来说,使用c或c++编译器,似乎是必不可少的,下面我将讲述如何用VisualStudio2022来创建lib和dll,并使用。静态库的创建并使用首先打开VisualStudio2022,点击创建新项目。选择静态库,然后点击下......
  • [论文阅读] Replacing softmax with ReLU in Vision Transformers
    Pretitle:ReplacingsoftmaxwithReLUinVisionTransformersaccepted:Arxiv2023paper:https://export.arxiv.org/abs/2309.08586code:None关键词:attention,parallelization阅读理由:GoogleDeepmind,标题挺有意思Idea序列缩放能缓解ReLU等激活函数在attention中替......
  • visual Studio 2022 C++ 配置PCL库
    理论上来说,配置过程跟其他库没有什么区别,可以参考如下几篇博文1. https://blog.csdn.net/yellow_hill/article/details/1264586922. https://blog.csdn.net/syz201558503103/article/details/103892364但有个比较坑的一个点是:由于PCL第三方库的debug和Release文件都放置在一......
  • 解决Visual Studio 2022升级到17.8之后,Visual AssistX功能OpenCorespondingFile快捷键
    冲突的命令是:Edit.IntelliCode.APIUsageExamples,这是v17.7的:  这是17.8的:  所以,解决方法就是在新版本中,将Edit.IntelliCode.APIUsageExamples的快捷键移除,并重新为VAssistX.OpenCorespondingFile添加Alt+O的全局快捷键即可。改好后可以在VAX的菜单中看到,如果没生效,......
  • 【译】Visual Studio 17.8 中我最喜欢的特性
    对于VisualStudio团队来说,这是忙碌的一周,他们准备了Ignite和.NETConf,并发布了最新版本的VisualStudio2022,即17.8版本。有很多很酷的新功能,AI增强,性能改进等等的公告。这太难以消化了,所以我想我应该让大家注意到我最喜欢的一些特性。保留大小写的查找和替换在......