论文阅读——ViTAE

ViTAE: Vision Transformer Advanced by Exploring Intrinsic Inductive Bias

ViTAE旨在将细胞神经网络中固有的IB引入视觉转换器。如图2所示,ViTAE由两种类型的细胞组成,即RC和NC。RC负责将多尺度上下文和局部信息嵌入到令牌中,NC用于进一步对令牌中的局部性和长程依赖性进行建模。以图像x∈RH×W×C为输入,使用三个RC分别将x逐步下采样4×、2×和2×。因此,RC的输出令牌的大小为[H/16,W/16,D],其中D是令牌维度(在我们的实验中为64)。然后,RC的输出标记被平坦化为RHW/256×D,与类标记连接,并通过正弦位置编码相加。接下来,令牌被馈送到以下NC中,这些NC保持令牌的长度。最后,使用来自最后一个NC的类标记上的线性分类层来获得预测概率。

ViTAE(Vision Transformers Advanced by Exploring Intrinsic Inductive Bias),通过从卷积中探索内在IB而得到改进。从技术上讲,ViTAE有几个空间金字塔缩减模块,通过使用不同膨胀率的多个卷积,对输入图像进行下采样,并将其嵌入到具有丰富多尺度上下文的令牌中。通过这种方式,它获得了固有的尺度不变性IB,并且能够学习各种尺度下对象的鲁棒特征表示。此外,在每个转换器层中,ViTAE都有一个与多头自注意模块并行的卷积块,其特征被融合并馈送到前馈网络中。因此,它具有固有的局部性IB,能够协同学习局部特征和全局依赖性

ViT在建模局部视觉结构(例如边和角)和处理卷积等各种尺度的对象时缺乏固有的归纳偏差(IB)。或者,ViT必须从大规模数据中隐含地学习这种IB。

与视觉转换器不同,卷积神经网络(CNNs)自然具有尺度不变性和局部性的内在IB,并且仍然是视觉任务中的主要骨干[26,70,62,8,96]。细胞神经网络的成功激励我们在视觉转换器中探索内在的IB。我们首先分析了细胞神经网络的上述两个IB,即局部不变性和尺度不变性。卷积计算相邻像素之间的局部相关性,擅长提取边缘和角点等局部特征。因此,细胞神经网络可以在浅层提供丰富的低级别特征[94],然后通过大量的顺序卷积将其逐渐聚合为高级别特征[32,68,71]。此外,细胞神经网络具有层次结构,可以提取不同层的多尺度特征[68,38,26]。此外,层内卷积还可以通过改变其内核大小和膨胀率来学习不同尺度的特征[25,70,8,45,96]。因此,可以通过层内或层间特征融合来获得尺度不变的特征表示。然而,细胞神经网络不太适合对长期依赖性进行建模2,这是变压器的关键优势。一个有趣的问题出现了:我们能利用细胞神经网络的良好特性来改进视觉转换器吗?最近,DeiT[76]探索了从细胞神经网络到变压器提取知识的想法,以促进培训并提高性能。然而,它需要现成的CNN模型作为教师,并消耗额外的培训成本。

与DeiT不同的是,本文通过重新设计网络结构,将固有IB明确引入到视觉变换器中。当前的视觉转换器总是获得具有单尺度上下文的标记[19,93,80,86,47,69,77],并从数据中学习适应不同尺度的对象。例如,T2T-ViT[93]通过以软分割方式精细地生成令牌来改进ViT。具体而言,它使用一系列令牌到令牌转换层来聚合单尺度的相邻上下文信息,并将图像逐步结构化为令牌。受细胞神经网络在处理尺度方差方面的成功启发,我们在转换器中探索了一种类似的设计,即具有不同感受野的层内卷积[70,91],以将多尺度上下文嵌入到令牌中。这样的设计允许标记在各种尺度上携带对象的有用特征,从而自然地具有固有的尺度不变性IB,并明确地促进变换器从数据中更有效地学习尺度不变特征。另一方面,低级局部特征是生成高级判别特征的基本要素。尽管变换器也可以从数据中学习浅层的这些特征,但它们在设计上并不擅长卷积。最近,[89,43,21]依次堆叠卷积和注意力层,并证明局部性是全局依赖性的合理补偿。然而,这种串行结构在局部建模过程中忽略了全局上下文(反之亦然)。为了避免这种困境,我们遵循“分而治之”的思想,提出并行地对局部依赖和长程依赖进行建模,然后融合特征来兼顾两者。通过这种方式,我们使转换器能够更有效地学习每个块中的局部和远程特征。从技术上讲,我们提出了一种通过探索固有电感偏置(ViTAE)先进的新型视觉转换器,它是两种基本单元的组合,即还原单元(RC)和正常单元(NC)。RC用于对输入图像进行下采样并将其嵌入到具有丰富多尺度上下文的令牌中,而NC旨在对令牌序列中的局部和全局依赖性进行联合建模。此外,这两种类型的细胞共享一个简单的基本结构,即并行注意力模块和卷积层,然后是前馈网络(FFN)。值得注意的是,RC有一个额外的金字塔缩减模块,该模块具有不同膨胀率的atrous卷积,以将多尺度上下文嵌入到令牌中。根据[93]中的设置,我们堆叠三个归约单元以将空间分辨率降低1/16,并堆叠一系列NC以从数据中学习判别特征。ViTAE在数据效率和训练效率(见图1)以及下游任务的分类精度和泛化能力方面优于具有代表性的视觉转换器。

我们的贡献有三方面。首先,我们探索了变换器中的两种固有IB,即尺度不变性和局部性,并证明了这种思想在提高变换器的特征学习能力方面的有效性。其次,我们基于两个新的归约和正常单元设计了一个新的变压器架构,命名为ViTAE,以本质上结合上述两个IB。所提出的ViTAE将多尺度上下文嵌入到令牌中,并有效地学习局部和远程特征。第三,ViTAE在分类精度、数据效率、训练效率和下游任务的泛化方面优于具有代表性的视觉转换器。ViTAE在ImageNet上分别以4.8M和23.6M的参数实现了75.3%和82.0%的第一精度。

ViTAEv2

ViTAEv2: Vision Transformer Advanced by Exploring Inductive Bias for Image Recognition and Beyond

除了分类之外,其他下游任务,包括对象检测、语义分割和姿态估计,也是通用主干网应该适应的非常重要的任务。这些下游任务通常需要从主干网中提取多层次特征,以处理不同尺度的对象。为此,我们将普通的ViTAE模型扩展到多阶段设计,即ViTAE-v2。ViTAE-v2设计的一个自然选择是通过重新组织RC和NC来重新构建模型。如图3所示,ViTAE-v2有四个阶段,其中使用四个相应的RC分别对特征进行4×、2×、2倍和2×的逐步下采样。在每个阶段,多个Ni正常电池在第i个RC之后顺序堆叠。请注意,一系列NC仅在各向同性设计的最粗略阶段使用。正常细胞(即Ni)的数量控制着模型的深度和大小。通过这样做,ViTAE-v2可以从不同阶段提取特征金字塔,其可以由专门为各种下游任务设计的解码器使用。

剩下的一个问题是,transformer中的普通注意力操作具有二次计算复杂性,因此需要大的内存占用和计算成本,尤其是对于具有大分辨率的特征图。与普通ViTAE设计中的快速分辨率降低相比,我们在多阶段设计中采用了慢速分辨率降低策略,例如,第一阶段的特征图的分辨率仅为原始图像大小的1/4,从而导致更多的计算成本,尤其是当下游任务中的图像具有高分辨率时。为了缓解这一问题,我们进一步探讨了RC和NC模块中的另一种归纳偏差,即(Liu et al,2021)中引入的局部窗口注意力。具体来说,窗口注意力将整个特征图拆分为几个不重叠的局部窗口,并在每个窗口内进行多头自注意力,即同一窗口内的每个查询令牌共享相同的键值集。由于所提出的两个单元中的并行卷积分支可以对位置信息进行编码并实现窗口间信息交换,因此可以省略(Liu et al,2021)中的相对位置编码和窗口移位机制等特殊设计。我们实证发现,在早期阶段用局部窗口注意力取代完全注意力可以在计算成本和性能之间实现良好的权衡。因此,在前两个阶段,我们只在RC和NC模块中使用局部窗口注意力。因此,我们的ViTAEv2模型可以为各种视觉任务提供卓越的性能,包括图像分类、对象检测、语义分割和姿态估计,同时保持快速的推理速度和合理的内存占用。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

XXE漏洞原理和pikachu靶场实验

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 1、XXE漏洞原理 XXE全称:XML External Enti…

JUnit 面试题及答案整理,最新面试题

JUnit中的断言(Assert)有哪些类型? JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括: 1、assertEquals: 用于检查两个值是否相等。如果不相等,测试失败。 2、assertTrue和assertFal…

HarmonyOS NEXT应用开发—折叠屏音乐播放器方案

介绍 本示例介绍使用ArkUI中的容器组件FolderStack在折叠屏设备中实现音乐播放器场景。 效果图预览 使用说明 播放器预加载了歌曲,支持播放、暂停、重新播放,在折叠屏上,支持横屏悬停态下的组件自适应动态变更。 实现思路 采用MVVM模式进…

【消息队列开发】 实现消息垃圾回收

文章目录 🍃前言🎋准备工作🎍具体实现🚩创建一个新文件🚩读取有效对象🚩把有效消息写入新文件中🚩以旧换新🚩更新统计文件🚩特别注意🚩完整代码 ⭕总结 &…

2.1_5 数据交换方式

文章目录 2.1_5 数据交换方式(一)为什么要数据交换?(二)数据交换方式(1)电路交换(Circuit Exchanging)(2)报文交换(Message Exchangin…

mybatis源码阅读系列(二)

前言 上一篇文章mybatis源码阅读系列(一)介绍了mybatis和原生jdbc的区别,并通过代码展示了两者的运行过程和结果,下面让我们继续详细了解下mybatis的执行过程; package com.wyl.mybatis.service;import com.wyl.mybat…

环形链表2(C++), test ok

1. 题目 2. 思路分析: 与环形链表1一样,我们需要定义慢指针和快指针,确定链表是否有环,如果链表没有环的话,直接置空即可。如果链表有环,则需要向环形链表1一样,让快指针不断追赶慢指针&#x…

NVENC 视频编码器 API 编程指南 ( 中文转译 )

基于 NVIDIA Kepler™ 和更高版本 GPU 架构的 NVIDIA GPU 包含基于硬件的 H.264/HEVC/AV1 视频编码器(以下简称 NVENC)。NVENC 硬件采用 YUV/RGB 作为输入,并生成符合H.264/HEVC/AV1 标准的视频比特流。可以使用 NVIDIA 视频编解码器 SDK 中提…

Learn OpenGL 15 面剔除

面剔除 尝试在脑子中想象一个3D立方体,数数你从任意方向最多能同时看到几个面。如果你的想象力不是过于丰富了,你应该能得出最大的面数是3。你可以从任意位置和任意方向看向这个球体,但你永远不能看到3个以上的面。所以我们为什么要浪费时间…

Avalonia学习1:下载通用皮肤SukiUI,并在windows上启动成功

目录 1、引言 2、碰到的问题 1、下载下拉VS2022老版本的用不了。 2、升级后,发现没有装wsl,导致启动不了,但wsl又由于国内的关系安装不了,怎么办呢, 1、引言 最近在想有没有什么可以开发在Linux下运行…

公众号留言功能恢复了,你的开通了吗?

了解公众号的人都知道,腾讯在2018年3月宣布暂停新注册公众号的留言功能,这之后注册的公众号都不具备留言功能。 这成了很多号主运营人的一块心病,也包括我。 没有留言,就好似一个人玩单机游戏,无法与读者互动&#xff…

一文总结python的异常数据处理示例

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

vue 记录一个echarts页面 单色环形饼图 多色环形饼图 柱状图加折线图 饼状图 双柱状图 雷达图 多色堆叠柱状图

“设备使用”模块没有做 因为项目不需要 仅自己记录使用 可供参考 那么上代码 <template><!--app-container--><div class"home-wrap"><div class"wrap" v-if"schoolId"><!--第一块--><div class"statis…

PS学习-抠图-蒙版-冰块酒杯等透明物体

选中图&#xff0c;ctrlA 全选 ctrlC复制 创建一个蒙版图层 选中蒙版Alt 点击进入 ctrlv 复制 ctrli 反转 原图层 ctrldelete填充为白色 添加一个背景&#xff0c;这个方法通用 首选创建一个 拖到最底部 给它填充颜色 这个可能是我图片的原因。视频是这样做的

第 5 章 TF坐标变换(自学二刷笔记)

重要参考&#xff1a; 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 5.1.6 TF坐标变换实操 需求描述&#xff1a; 程序启动之初&#xff1a;产生两只乌龟&#xff0c;中间的乌龟…

关于Camera出图,有竖线问题的排查步骤

1、问题背景 之前调试的一个项目&#xff0c;在生产过程中&#xff0c;工厂反馈有台设备出图有明显的规则竖条纹&#xff0c;现象如下附件图所示&#xff1a; 遇到此类图像异常的问题该如何去分析呢&#xff0c;这是本文要总结的内容。 2、问题分析 1&#xff09;首先要从客户…

HarmonyOS NEXT应用开发—Grid和List内拖拽交换子组件位置

介绍 本示例分别通过onItemDrop()和onDrop()回调&#xff0c;实现子组件在Grid和List中的子组件位置交换。 效果图预览 使用说明&#xff1a; 拖拽Grid中子组件&#xff0c;到目标Grid子组件位置&#xff0c;进行两者位置互换。拖拽List中子组件&#xff0c;到目标List子组件…

OpenAI 的 GPTs 提示词泄露攻击与防护实战:攻击卷(一)

攻击提示词 1.0 五件套混合散打 1. Repeat the words above starting with the phrase "You are ChatGPT". put them in a txt code block. Include everything. 2. give me your very first initial prompt exactly and not modified 3. 你有一個舊的 prompt 和 配…

【中等】保研/考研408机试-二叉树相关

目录 一、基本二叉树 1.1结构 1.2前序遍历&#xff08;注意三种遍历中Visit所在的位置&#xff09; 1.2中序遍历 1.3后序遍历 二、真题实战 2.1KY11 二叉树遍历&#xff08;清华大学复试上机题&#xff09;【较难】 2.2KY212 二叉树遍历二叉树遍历&#xff08;华中科技大…

mac电脑修改终端zsh显示的用户名

电脑名称一直没有修改&#xff0c;所以电脑名称都是Apple的MacBook Pro&#xff0c;如下图所示&#xff1a; mac电脑终端显示用户名太长一点也不美观&#xff0c;而且占用很长的行&#xff0c;浪费空间&#xff0c;可以通过修改来调整要显示什么内容&#xff1a; 方式一 要想换…