论文精读:Stand-Alone Self-Attention in Vision Models

2024-02-26 01:40

本文主要是介绍论文精读:Stand-Alone Self-Attention in Vision Models,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址:https://proceedings.neurips.cc/paper/2019/file/3416a75f4cea9109507cacd8e2f2aefc-Paper.pdf

Abstract

        提出问题:注意力机制是否可以成为视觉模型的独立原始元素,而不仅仅是卷积之上的增强。 

        作者验证了自注意力机制确实可以是一个有效的独立层。用应用于ResNet模型的自注意形式替换所有空间卷积实例的简单过程,产生了一个完全自我注意的自注意模型,并且取得了较好的性能。

1 Introduction

        在这项工作中,我们提出了这样一个问题,即基于内容的交互(自注意力机制)是否可以作为视觉模型的主要原语,而不是作为卷积的增强。为此,我们开发了一个简单的局部自注意层,它可以用于小的和大的输入。我们利用这个独立的注意层来建立一个完全注意视觉模型,该模型在图像分类和目标检测方面都优于卷积基线,同时具有参数和计算效率。此外,我们还进行了一些消融研究,以更好地理解独立的关注。我们希望这一结果将激发新的研究方向,重点是探索基于内容的交互,作为一种改善视觉模型的机制。 

2 Background         

        本文提出了一种独立的自我注意层,可以用来代替空间卷积和建立一个完全注意模型。

        与卷积类似,给定一个像素,首先提取位置为的像素局部区域,空间范围k以x_{ij}为中心,我们称之为memory block这种形式是局部注意而非全局的,后者在所有像素之间进行了全局注意。全局注意只能在输入应用显著的空间降采样后才能使用,因为它的计算成本昂贵,这阻止了它在完全注意模型中的所有层中使用。

        计算像素输出的单头注意力计算如下(见图3):

    

        位置编码:基于图像中像素(ij)的绝对位置的正弦编码可以使用,但早期的实验表明,使用相对位置编码可以获得显著更好的精度。使用二维相对位置编码,相对注意。相对注意首先定义ij到每个位置的相对距离。相对距离是跨维度进行因子分解的,因此每个元素接收两个距离:一个行偏移量a−i和一个列偏移量b−j(见图4)。行和列偏移量分别与编码相关联,维数为 。行和列的偏移编码被连接起来形成。这种空间相对的注意力现在被定义为 

 

         因此,度量查询与中的一个元素之间的相似性的logit是由元素的内容和元素与查询之间的相对距离来调制的。请注意,通过注入相对位置信息,自我注意也享有平移等方差,类似于卷积。

        注意力机制的参数数量与空间范围的大小无关,而卷积的参数计数随空间范围呈二次增长。与典型的d_{in}d_{out}值的卷积相比,注意力的计算代价随空间范围的增长也较慢。例如,如果,则具有k = 3的卷积层与具有k = 19的注意层具有相同的计算量。 

3 Fully Attentional Vision Models         

        给定一个局部注意层作为一个原始层,问题是如何构建一个完全的注意架构。我们可以通过两个步骤来实现这一点:

3.1 Replacing Spatial Convolutions  

        空间卷积定义为与空间范围k > 1的卷积。这个定义排除了1×1卷积,它可以看作是独立应用于每个像素的标准全连接层。在卷积架构中,用注意层替换结构中的空间卷积。当需要空间降采样时,一个2×2的平均池化与stride = 2操作跟随注意层。 

        这项工作将转换应用于ResNet家族[15]的架构。ResNet的核心构建块是一个bottleneck block 结构1×1投影卷积,3×3空间卷积,1×1投影卷积,其次是残差连接之间的输入和最后卷积的输出块。bottleneck block 重复多次形成ResNet,一个bottleneck block 的输出作为下一个bottleneck block 的输入。所提出的变换将3×3的空间卷积与本文提出的自注意层进行交换。所有其他结构,包括层数和当应用空间降采样时,都被保留下来。

3.2 Replacing the Convolutional Stem        

        CNN的初始层,被称为stem,在学习局部特征中起着关键作用,之后层使用这些特征来识别全局对象。由于输入图像很大,stem通常与核心块不同,专注于使用空间降采样的轻量级操作。例如,在一个ResNet中,stem是一个7×7的卷积与stride=2,然后是3×3的最大池化与stride=2。 

         在stem层,内容由RGB像素组成,这些像素单独缺乏空间相关的信息。这一特性使得学习边缘检测器等有用的特性对于基于内容的机制变得困难。我们早期的实验验证了,与使用ResNet的卷积stem相比,使用公式3中描述的自注意形式表现不佳。

         卷积的基于距离的权重参数化使他们能够很容易地学习边缘检测器和其他更高层所必需的局部特征。为了在不显著增加计算的情况下弥补卷积和自注意之间的差距,我们通过空间变化的线性变换在1×1卷积(WV)中注入基于距离的信息。新的值变换是,其中多个值矩阵通过因子的凸组合组合,这些因子是像素在其邻域的位置的函数。位置相关因子类似于卷积,卷积学习依赖于邻近区域像素位置的标量权值。然后由具有空间感知值特征的注意层组成,然后是最大池化。为简单起见,注意力接受域与最大池化窗口对齐。

4 Experiments         

4.1 ImageNet Classifification          

       Setup   我们在ImageNet分类任务[55]上进行了实验,该任务包含128万张训练图像和5万张测试图像。使用ResNet-50 [15]模型的每个bottleneck block 内部的自注意层替换空间卷积层的过程来创建注意模型。多头自注意层使用了k=7和8个注意头的空间范围。使用了如上所述的位置感知注意杆。stem在原始图像的每个4×4的空间块内执行自我注意,然后进行批处理归一化和4×4 最大池化操作。 

        为了研究这些模型在不同计算规模下的行为,我们根据宽度或深度对模型进行了缩放。对于宽度缩放,基本宽度线性乘以所有层中的给定因子。对于深度缩放,从每个层组中删除给定数量的层。有4个层组,每个组的多层层在相同的空间维度上操作。通过空间降采样来划分群体。与50层模型相比,38层和26层模型分别从每层组中去除1层和2层。

        Results

        

 4.2 COCO Object Detection

        Setup   在本节中,我们将使用RetinaNet体系结构[18]来评估COCO目标检测任务[56]上的注意模型。RetinaNet是一种目标检测模型,它由一个主干图像分类网络、一个特征金字塔网络(FPN)[57]和两个被称为检测头的输出网络组成。我们实验在主干和/或FPN和检测头中使用上面的局部注意。

       Results

4.3 Where is stand-alone attention most useful? 

        Stem  首先,我们比较了attention stem与ResNet中使用的convolution stem的性能。所有其他的空间卷积都被独立的关注所取代。表1、表2和图5显示了ImageNet分类和COCO目标检测的结果。对于分类,convolution stem始终匹配或优于attention stem。对于目标检测,当检测头和FPN也是卷积时,convolution stem表现更好,但当整个网络的其余部分都是完全注意时,convolution stem表现相似。这些结果表明,卷积在stem中使用时始终表现良好。

        Full network  接下来,我们实验在具有convolution stem的ResNet中的不同层组中使用卷积和独立注意。表3显示,表现最好的模型在早期组中使用卷积,在后期组中使用注意力。这些模型在计算量和参数方面也与完全注意模型相似。相反,当在早期组中使用注意力,而在后期组中使用卷积时,尽管参数计数有了大幅增加,但性能仍会下降。这表明,卷积可以更好地捕获低级特征,而独立的注意层可以更好地整合全局信息。

4.4 Which components are important in attention?  

4.4.1 Effect of spatial extent of self-attention         

        空间范围k的值控制了每个像素可以关注的区域的大小。表4研究了不同空间范围的影响。虽然使用小的k,如k = 3,对性能有很大的负面影响,但在k = 11附近使用更大的k的改进。确切的k值很可能取决于超参数的特定设置,如特征的大小和所使用的注意头的数量。 

4.4.2 Importance of positional information          

        表5列举了可供使用的不同类型的位置编码:没有位置编码,一个依赖于像素[25]的绝对位置的正弦编码,以及相对位置编码。使用任何位置编码的概念都比不使用它更有益,但是位置编码的类型也很重要。相对位置编码比绝对编码好2%。此外,表6还展示了内容相对交互作用(q·r)在注意力中的重要作用。删除content-content(q·k)交互,而仅使用内容相关交互,准确率仅降低0.5%。

 4.4.3 Importance of spatially-aware attention stem

        表7比较了在第3.2节中提出的空间感知值。尽管有相似的计算量,但attention stemstand-alone attention多1.4%,验证了在attention stem中修改注意的效用。此外,对值应用空间卷积,而不是空间感知的点转换混合,会导致更多的计算量,

 

 

 

 

 

 

 

 

 

 

这篇关于论文精读:Stand-Alone Self-Attention in Vision Models的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/747343

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

什么是 Flash Attention

Flash Attention 是 由 Tri Dao 和 Dan Fu 等人在2022年的论文 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 中 提出的, 论文可以从 https://arxiv.org/abs/2205.14135 页面下载,点击 View PDF 就可以下载。 下面我

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

速通GPT-3:Language Models are Few-Shot Learners全文解读

文章目录 论文实验总览1. 任务设置与测试策略2. 任务类别3. 关键实验结果4. 数据污染与实验局限性5. 总结与贡献 Abstract1. 概括2. 具体分析3. 摘要全文翻译4. 为什么不需要梯度更新或微调⭐ Introduction1. 概括2. 具体分析3. 进一步分析 Approach1. 概括2. 具体分析3. 进一步分析 Results1. 概括2. 具体分析2.1 语言模型

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04