IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> BOT模块论文阅读 -> 正文阅读

[人工智能]BOT模块论文阅读

BOT模块论文阅读

1、总结

Bottleneck Transformers for Visual Recognition
介绍BoT模块(卷积与自注意力结合),及大量实验
论文: Bottleneck Transformers for Visual Recognition
GitHub:https://github.com/leaderj1001/BottleneckTransformers

2、摘要

提出了BoTNet。通过在ResNet的最后三个bottleneck blocks中用全局自注意(global self-attention)替换空间卷积(spatial convolution),而无其它修改。通过对BoTNet的设计,我们还指出了如何将具有自注意性的ResNet的bottleneck blocks视为Transformers blocks。

3、介绍

深度卷积主干架构在图像分类、目标检测、实例分割等方面取得了重大进展。大多数的主干架构(backbone)使用多层3×3卷积。卷积操作可以有效地捕获局部信息,而目标检测、实例分割、关键点检测等视觉任务需要建模长期依赖关系。
为了全局聚合局部捕获的滤波器响应,基于卷积的原始检测需要堆叠多层。尽管堆叠更多的层确实提高了这些骨干的性能,但一个建模全局(非局部)依赖关系的显式机制可能是一个更强大、更可靠的解决方案,而不需要那么多的层。建模长期依赖对自然语言处理(NLP)任务也至关重要。自我注意是一种计算原始,它通过基于内容的寻址机制实现成对的实体交互,从而跨长序列学习丰富的关联特征层次。这现在已经成为一个标准工具的变压器块的形式,突出的例子是GPT和BERT模型。
在这里插入图片描述在视觉中使用自注意的一种简单方法是用Transformers中提出的多头自注意( multi-head selfattention,MHSA)层来取代空间卷积层(图1)。该方法已在两种似乎完全不同的方法上取得了进展。
1、诸如SASA、AACN、SANet、轴向-SASA等模型,建议用不同形式的自注意(局部、全局、向量、轴向等)来替代ResNet的bottleneck blocks中的空间卷积。
2、有视觉变压器(Vision Transformer, ViT),它提出在非重叠面片的线性投影上叠加变换块(stack Transformer blocks)。
这些方法似乎呈现了两种不同的架构类型。但相反,带有MHSA层的ResNet的bottleneck blocks可以看作是具有瓶颈结构的变压器块(Transformer blocks with a bottleneck structure),以及模量上的微小差异,如残差连接、归一化层的选择等。(图3)。鉴于这种等价性,我们将具有MHSA层的ResNet的bottleneck blocks称为BoT模块。

在这里插入图片描述在视觉中使用自注意(self-attention)时,这里有一些挑战:
(1)与图像分类相比,目标检测和实例分割方面的图像大小较大;
(2)自我注意力的记忆和计算与空间维度成平方比例,导致计算量增大;
为了克服这些挑战,我们考虑以下设计:
(1)使用卷积来从大图像中学习抽象和低分辨率的特征图;
(2)使用全局(共2个)自我注意(self-attention)来处理和聚合卷积捕获的特征图中包含的信息。这种结合的设计:
(1)有效的使用现有的和经过良好优化的原语(primitives)进行卷积和2个自注意(self-attention);
(2)可以通过卷积进行空间下采样,让注意力在更小的分辨率上工作,从而可以更有效地处理大图像。
下面是这个混合设计的一个简单的实用实例化:
用BoT模块替换ResNet的最后三个bottleneck blocks,其它不变。或者说,取一个ResNet,只将最后的三个3×3卷积替换为MHSA层(图1,表1)。该基线在Mask R-CNN框架中使用ResNet-50,无超参数差异。接下来,我们将这个简单的实例化称为BoTNet,因为它通过BoT模块连接到Transformer。

4、相关工作

在这里插入图片描述图2:使用自注意进行视觉识别的深度学习架构的分类。BoTNet是一个同时使用卷积和自注意的混合模型。自我注意的具体实现可以类似于变压器块(Transformer block)或非局部块(Non-Local block)(在图4中突出显示的差异)。BoTNet不同于DETR、VideoBERT、CCNet等结构,它在主干结构内部(backbone)使用自我注意,而不是在主干结构之外使用它们。作为一种混合模型,BoTNet不同于SASA、LRNet、SANet、Axial-SASA和ViT等纯注意力模型。
图2给出了一种使用自我注意来实现视觉的深度学习架构的分类。在本节中,我们将重点关注:(1) Transformer vs BoTNet;(2)DETR vs BoTNet;(3)Non-Local vs BoTNet。
1、Transformer vs BoTNet:本文的一个关键信息是,具有多头自注意(MHSA)层的ResNet的bottleneck blocks可以被看作是具有 bottleneck结构的Transformer blocks。这在图3中得到了可视化的解释,我们将这个块命名为BoT。除了图中已经看到的(剩余连接和块边界),还有一些区别:
(1)标准化:Transformer使用层标准化,而BoT blocks使用批量规范化,是典型的ResNet的bottleneck blocks;
(2)非线性:Transformer在FFN块中使用一个非线性,而ResNet结构允许BoT blocks使用三个非线性;
(3)输出投影:Transformer中的MHSA块包含一个输出投影,而BoT blocks中的MHSA层(图4)没有;
(4)我们使用SGD与动量优化器,而Transformer通常使用Adam优化器训练。
2、DETR vs BoTNet:DETR是一个检测框架,它使用Transformer隐式地执行区域建议和对象的本地化,而不是使用R-CNN。DETR和BoTNet都试图利用自注意来提高目标检测和实例分割的性能。不同之处在于,DETR使用了主干架构之外的Transformer块,目的是为了摆脱区域建议(region proposals)和非最大抑制。另一方面,BoTNet的目标是提供一个主干架构,使用类似Transformer的块来进行检测和实例分割。
3、Non-Local vs BoTNet:3个非局部(NL)网使变压器和非局部均值算法之间的连接。他们将NL块插入到ResNet中的最后一个(或)两个块组(c4、c5)中,并提高了视频识别和实例分割的性能。与NL-Nets一样,BoTNet也是一种使用卷积和全局自注意的混合设计。NL层和MHSA层之间的三个区别(如图4所示):
(1) 在MHSA中使用多个头、值投影和位置编码;
(2) NL块使用信道因子减少2的瓶颈(而不是采用ResNet结构的BoT块中的4);
(3) NL块作为附加块插入到ResNet主干中,而不是用BoTNet替换现有的卷积块。

5、方法

在这里插入图片描述表1:BoTNet-50的架构(BoT50):BoT50与ResNet-50(R50)的唯一区别是在c5中使用了MHSA层(图4)。对于输入分辨率为1024×1024,c5第一块中的MHSA层在64×64上工作,其余两个层在32×32上运行。
BoTNet的设计很简单:将ResNet中的最后三个空间(3×3)卷积替换为多头自注意(MHSA)层,该层在二维特征图上实现全局(all2all)自注意(图4)。一个ResNet通常有4个阶段(或块组),通常被称为[c2、c3、c4、c5],相对于输入图像的步幅分别为[4,8,16,32]。堆栈[c2、c3、c4、c5]由多个具有剩余连接的瓶颈块组成(例如,R50有[3,4,6,3]个瓶颈块)。

图4:BoT块中使用的多头自注意(MHSA)层。虽然我们使用4个头,但为了简单起见,我们没有在图上显示它们。所有2所有注意力都在二维特征图上进行,相对位置分别编码高度和宽度Rh和Rw。注意对数为qkT+qrT,其中q、k、r分别表示查询、密钥和位置编码(我们使用相对距离编码[53,4,49])。L和N分别表示元素向和和矩阵乘法,1×1表示点态卷积。除了使用多个磁头外,高亮显示的蓝色方框(位置编码和值投影是非局部图层[63,65]中唯一不存在的三个元素。
在本文中考虑的输入分辨率(224×224和640×640)的方法是可行的。我们的目标是在高性能实例分割模型的更现实的设置中使用注意力,其中通常使用更大分辨率的图像(1024×1024)。考虑到跨n个实体全局执行自我注意需要O(n2d)内存和计算,我们认为遵循上述因素的最简单的设置是包含最低分辨率的主干特征图,即c5堆栈中的残余块.ResNet主干中的c5堆栈通常使用3个块,每个块有一个空间3×3卷积。用MHSA层替换它们构成了BoTNet架构的基础。c5中的第一个块使用3×3的步幅卷积,而另外两个使用步幅1。由于所有2个所有的注意力都不是一个分散的操作,我们对第一个BoT块使用2×2的平均池和步幅2。BoTNet架构如表1所示,MHSA层如图4所示。

4.实验

非常多 可以看原文

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:04:57  更:2022-08-19 19:06:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:18:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计