LaViT:Less-Attention Vision Transformer的特性与优点

news2024/9/24 23:20:39

引言

https://arxiv.org/pdf/2406.00427
随着计算机视觉领域的发展,视觉Transformer(ViTs)逐渐成为一项重要技术。尽管ViTs在捕捉图像中的长距离依赖关系方面表现出色,但其沉重的计算负担和潜在的注意力饱和问题一直是实际应用的障碍。为解决这些问题,微软提出了Less-Attention Vision Transformer(LaViT),旨在通过引入一种新的注意力机制来提升视觉Transformer的效率和性能。

LaViT的特性

**1. Less-Attention 机制

LaViT的核心特性在于其提出的Less-Attention机制。与传统ViTs中的每一层都计算自注意力得分不同,LaViT仅在每个阶段的初始几个层中计算传统自注意力,并通过存储这些得分来在后续层中生成注意力矩阵。这种设计大幅减少了计算负担,并且解决了深层网络中的注意力饱和问题。

**2. 残差连接和注意力下采样

为了在下采样过程中保留关键上下文信息,LaViT引入了残差连接和注意力下采样模块。残差连接通过从前一阶段传递注意力得分来辅助当前阶段的注意力计算,确保重要信息的保留。而注意力下采样模块则通过深度卷积和卷积层,有效压缩前一阶段的注意力矩阵,以适配当前阶段的尺寸。

**3. 对角线保持损失

为确保转换后的注意力矩阵保留基本属性,LaViT设计了一种对角线保持损失函数。该函数有助于在转换过程中保持注意力矩阵的对角线特性和标记间的相对重要性,从而保持模型的语义完整性。

在这里插入图片描述

LaViT的优点

**1. 显著降低计算成本

由于Less-Attention机制的使用,LaViT显著降低了计算成本。相比于传统ViTs,LaViT能够在不牺牲性能的前提下,显著减少浮点运算次数(FLOPs)和内存消耗,从而适用于资源受限的场景。

**2. 提高性能表现

LaViT在各种视觉任务上均表现出色,包括图像分类、目标检测和语义分割。其提出的Less-Attention机制有效缓解了注意力饱和问题,使得深层网络能够捕获更多语义信息,提高模型的整体性能。

**3. 灵活的架构设计

LaViT的架构设计灵活,可以轻松融入各种现有ViT模型中。无论是层次结构还是非层次结构的ViT,LaViT的Less-Attention模块都能显著提高其性能。这种可扩展性使得LaViT成为一种具有广泛应用前景的视觉Transformer模型。

**4. 优秀的跨模态应用潜力

虽然当前LaViT主要应用于视觉任务,但其独特的注意力机制和高效的架构设计也为跨模态应用提供了可能性。未来,LaViT有望在图像与文本、语音等其他模态的融合中发挥重要作用,进一步推动AI技术的发展。

实验结果

为了评估LaViT模型的有效性,作者在各种基准数据集上进行了全面的实验,包括ImageNet-1K上的图像分类、COCO2017上的目标检测以及ADE20K上的语义分割。以下是具体的实验结果:

1. ImageNet-1K 图像分类

设置

  • 实验协议遵循DeiT中的流程,使用AdamW优化器从头开始训练模型300个周期(包含5个周期的预热)。
  • 初始学习率设置为0.005,使用余弦调度器进行调整。
  • 全局批量大小设置为1024,分布在4个GTX-3090 GPU上。
  • 测试时将输入图像调整到256像素,然后进行224x224像素的中心裁剪以评估分类准确性。

结果
在ImageNet-1K上的分类结果显示,LaViT模型在保持显著降低的计算成本的同时,取得了与现有最先进ViT模型相竞争的性能。具体来说:

  • 在微小模型群组中,LaViT模型至少超过了所有其他现有模型0.2%。
  • 在小型模型群组中,LaViT模型至少超过了所有其他现有模型0.5%。
  • 在基础尺寸模型中,LaViT-B(基于PVT的基础结构但包含Less-Attention组件)的性能优于两种基于PVT的模型(PVT-M和PVT-L)。
    在这里插入图片描述

2. COCO2017 目标检测

设置

  • 使用RetinaNet作为检测框架,使用从ImageNet-1K获得的预训练权重初始化主干网络。
  • 使用AdamW优化器,在8个GPU上以批量大小为16训练网络。

结果
LaViT模型在COCO2017数据集上的检测性能显著优于其他CNN和Transformer模型。具体来说:

  • LaViT-T相对于ResNet实现了9.9-12.5 AP的提升。
  • LaViT-S相对于其CNN对应版本提高了8.1-10.3 AP。
  • LaViT模型在检测性能上始终优于Swin Transformer,同时训练负担较小。

在这里插入图片描述

3. ADE20K 语义分割

设置

  • 使用Semantic FPN和UperNet作为分割的主干网络。
  • 遵循已建立的训练设置,将图像大小调整为进行训练。
  • 使用多项式调度器进行学习率衰减,在GTX3090 GPU上进行训练。

结果
LaViT模型在ADE20K数据集上的语义分割性能优于Swin Transformer和其他主流模型。具体来说:

  • 在Semantic FPN上,LaViT-S相对于Baseline(PVT-S)实现了mIoU +0.9的提升,同时显著减少了计算量。
  • 在UperNet架构中,LaViT实现了mIoU +2.7、+1.0和+1.4的显著提升。
  • 使用测试时间增强时,这些有竞争力的结果也能保持。
    在这里插入图片描述

消融研究

消融研究进一步证明了LaViT模型中各个组件的重要性和贡献:

  • Less-Attention模块:将Less-Attention层替换为MHSA的Baseline,预测准确度显著下降。
  • 注意力残差模块:移除注意力残差模块会导致预测准确度下降。
  • 对角线保持损失:仅依赖CE损失时,模型的预测会恶化,表明对角线保持损失对于保留注意力矩阵中的基本属性至关重要。

在这里插入图片描述

结论

LaViT作为微软提出的一种新型视觉Transformer模型,凭借其Less-Attention机制、残差连接、注意力下采样以及对角线保持损失等特性,在显著降低计算成本的同时提高了模型性能。其灵活的架构设计和广泛的适用性使其成为当前计算机视觉领域的一项重要技术。未来,随着LaViT的持续优化和应用拓展,我们有理由相信它将在更多领域展现出强大的潜力。

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

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

相关文章

利用Python对Excel数据进行条件筛选与排序

目录 一、Python与Excel数据处理的基础知识 1.1 Python中的Excel数据处理库 1.2 pandas库简介 二、使用pandas读取Excel数据 三、Excel数据的条件筛选 3.1 单条件筛选 3.2 多条件筛选 3.3 使用query方法 四、Excel数据的排序 4.1 单列排序 4.2 多列排序 五、案例分…

Python自动化:Excel根据IP匹配网段获取所属源端口

需求 现在有两个文件: 1. 【NTP.xlsx】:有name、IP、fenzhihang、vendor、source这五列 2. 【IP.xlsx】:有daqu、fenzhihang、duankou、IP、mask、gateway、subnet、yongtu、miaoshu这九列 现在更新基线,每台设备都需要增加nt…

ET6框架(二)Demo工程的运行及编译

1.工程下载地下: GitHub - egametang/ET at release6.0 2.复制地址后下载,在本人使用时ET已更新到最新9.0的版本,因此下载后需要切换分支到6.0版本 3.下载完工程后可以用 UnityHub打开工程,如没有对应版本可以在:h…

OpenHarmony技术开发:Launcher架构应用启动流程分析

简介 Launcher 作为系统人机交互的首要入口,提供应用图标的显示、点击启动、卸载应用,并提供桌面布局设置以及最近任务管理等功能。 Launcher 采用 扩展的 TS 语言(eTS)开发,主要的结构如下: product 业务…

安卓13 背光调节非线性问题处理,调节范围不正常问题

总纲 android13 rom 开发总纲说明 目录 1.前言 2.问题分析 3.代码修改 4.彩蛋 1.前言 我们看看现在的版本的亮度图 2.问题分析 当背光亮度设置为0%时,每次按下亮度增加键或者 input keyevent BRIGHTNESS_UP,亮度UI的增幅较大,首次按下后亮度平滑提升至大约55%,随后继…

路旁树木种类巡检检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

路旁树木种类巡检检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着城市化进程的加快,城市绿化…

七、面向对象编程(中级)

文章目录 一、IDEA1.1 IDEA下载安装1.2 IDEA的使用1.3 IDEA常用的快捷键 二、包2.1 包的基本介绍2.2 包的本质分析2.3 包的命名2.4 常用的包2.5 如何引入包 三、访问修饰符四、面向对象的三大特征4.1 封装4.2 继承4.2.1 为什么需要继承4.2.2 继承的基本介绍4.2.3 继承的深入讨论…

【C++题解】1222. 经典递归问题——汉诺塔

欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J)》 问题:1222. 经典递归问题——汉诺塔 类型:递归、函数 题目描述: 汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一…

关于武汉芯景科技有限公司的MCU监控芯片XJ809S开发指南(兼容MAX809S)

一、芯片引脚介绍 1.芯片引脚 2.引脚描述 二、功能 当电源电压低于预设阈值时,芯片会发出复位信号,将微处理器或系统重置到初始状态,防止因电源问题导致的系统错误运行。复位信号在电源电压恢复并稳定后至少保持140ms,确保系统有…

HikariCP源码分析之源码环境搭建

一、fork源码库 为了方便记录以及查看一些历史的提交信息,我先在github上fork了这个源码库。 他的原始源码库位置为HikariCP源码位置 在fork到我的源码库之后,我就可以用git clone拉取下来,然后在我本地打开,做一些修改和笔记。然…

点云上采样

【版权声明】本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。 参考书籍:《人工智能点云处理及深度学习算法》 本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python…

mysql regexp匹配多个字符串

项目场景: 数据结构 其中nameArr存储的是名字集合,现在的需求是传入"aaa","fff",需要把包含这两个name的数据都查出来。 解决方案: 可以使用REGEXP来匹配包含多个特定ID的字符串。使用以下正则表达式&#x…

Linux1-初识Linux

简介:个人学习分享,如有错误,欢迎批评指正。 一、硬件和软件 我们所熟知的计算机是由:硬件和软件所组成。 硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。 软件:是用户和…

复习Vue笔记(给自己做笔记)

基于脚手架创建前端工程 环境要求 node.js:前端项目的运行环境(相当于Java的运行环境JDK) npm:JS的包管理工具/器 Vue CLI:基于Vue进行快速开发的完整系统,实现交互式的项目脚手架 创建Vue基础项目代码&a…

从入门到专业,2024年精选录屏工具一网打尽

电脑录屏随着科技的飞速发展和数字化生活的普及已经成为了我们学习、日常工作、娱乐中不可或缺的一部分。本文将带你一起探索和班迪录屏一样大火的电脑录屏工具有哪些。 1.福昕REC大师 链接:www.foxitsoftware.cn/REC/ 这款软件体积小巧精致,不需要多…

【第81课】开发框架安全SpringBootStruts2LaravelThinkPHPCVE复现

免责声明 本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0…

Golang | Leetcode Golang题解之第376摆动序列

题目&#xff1a; 题解&#xff1a; int wiggleMaxLength(int* nums, int numsSize) {if (numsSize < 2) {return numsSize;}int prevdiff nums[1] - nums[0];int ret prevdiff ! 0 ? 2 : 1;for (int i 2; i < numsSize; i) {int diff nums[i] - nums[i - 1];if ((…

【JVM】剖析字符串与数组的底层实现(二)

剖析字符串与数组的底层实现 字符串jdk8和jdk9的区别 jdk8:底层是一个char[]数组 jdk9及之后:底层是一个byte[]数组 一个中文占两个字节&#xff0c;一个char占两个字节&#xff0c;一个byte占一个字节 Jdk9及之后的版本中&#xff0c;多了一个code属性&#xff0c;这个属性标…

深入掌握Kubernetes核心:YAML配置详解与实战

Kubernetes 的yaml配置文件 Kubernetes 的 YAML 配置文件是定义和管理集群中的所有资源的关键工具。了解如何编写和使用这些配置文件对管理 Kubernetes 集群至关重要。 1. 基础结构 Kubernetes YAML 配置文件通常由以下几个部分组成&#xff1a; apiVersion: 资源使用的 API …

公司同时使用目标(OKR)(KPI)的用例是什么?

简单的答案&#xff1a;所有使用OKR的公司都使用KPI。 长答案&#xff1a; 在公司层面&#xff0c;大多数OKR与关键绩效指标直接挂钩。举例说明&#xff0c;假设一家公司的目标是&#xff1a;”实现财务目标”&#xff0c;有以下3个关键结果。 1-第二季度公司收入翻番&#…