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

2024-08-26 10:20

本文主要是介绍LaViT:Less-Attention Vision Transformer的特性与优点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

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的持续优化和应用拓展,我们有理由相信它将在更多领域展现出强大的潜力。

这篇关于LaViT:Less-Attention Vision Transformer的特性与优点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

什么是 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 就可以下载。 下面我