Multiscale Vision Transformers(MViT)

news2024/9/28 21:20:54

Multiscale Vision Transformers

多尺度视觉Transformer (MViT) 是一种新型的视觉识别模型,主要用于处理图像和视频。它结合了传统多尺度特征层次结构与Transformer模型的优势,旨在提高视频和图像的识别性能。

1. 多尺度视觉Transformer (MViT) 的概念

MViT的核心思想是在网络中引入多尺度特征金字塔,通过在不同阶段调整通道数量和空间分辨率来提取视觉信息。相比于传统的Vision Transformer (ViT),MViT能够更好地适应密集的视觉信号,特别是在视频数据中。

MViT通过在早期层级以高空间分辨率处理简单的低级视觉信息,而在后期层级以低空间分辨率处理更复杂的高级特征,从而实现了分层的特征提取。

2. 结构概述

MViT的结构主要分为多个缩放阶段(Scale Stages),每个阶段由若干Transformer块组成。在每个阶段中,通道数量增加,空间分辨率减少,逐步形成特征金字塔。整个网络的输入通常是一个视频帧序列或图像,最终输出用于视觉识别的高层语义特征。

2.1 输入和特征提取

  • 输入层:模型首先接收输入图像或视频帧序列。MViT从高分辨率且通道数较少的输入数据开始处理。在视频识别任务中,输入通常包括时间维度。
  • Patchify:与Vision Transformer类似,MViT将输入的图像/视频划分为若干固定大小的小块(patch)。这些小块经过线性投影,形成一个初始的序列。

2.2 多尺度缩放阶段 (Scale Stages)

MViT通过多个缩放阶段来处理视觉数据。每个缩放阶段都有以下特性:

  • 通道扩展:随着网络深入,通道数逐渐增加(例如,通道数从96逐渐扩展到768)。
  • 空间分辨率缩减:空间分辨率逐步降低(例如,从最初的56×56到7×7),从而减少计算量,但保留足够的特征信息。

每个缩放阶段由多个Transformer块组成,每个Transformer块包含自注意力机制和多层感知机(MLP)。自注意力机制用于捕捉序列中的远距离依赖关系,而MLP则用于处理每个位置的特征。

2.3 多头池化注意力 (Multi-Head Pooling Attention, MHPA)

在这里插入图片描述

这是MViT中的核心创新之一。MHPA是一种用于处理空间和时间信息的自注意力机制,与传统的多头自注意力不同,它允许通过池化操作来减少输入序列的长度,从而降低计算复杂度。具体而言:

多头池化的意义
  • 降低计算复杂度:在标准的多头自注意力机制中,输入序列的长度保持不变,因此计算复杂度随着序列长度的平方增加。在MHPA中,通过对查询(Query)、键(Key)、值(Value)进行池化操作,可以有效减少序列长度,从而降低计算和内存消耗。
  • 处理多尺度特征:视觉数据(特别是视频)通常包含大量的空间和时间信息。通过池化,MHPA能够根据数据的不同尺度动态调整分辨率,在较少的计算资源下提取更有意义的多尺度特征。
  • 灵活性:MHPA为MViT提供了灵活性,使模型可以在不同的阶段根据需要调整分辨率,适应不同层次的特征处理。这种灵活性使得MViT能够在不同视觉任务中高效运行。
多头池化的工作原理和细节

MHPA扩展了传统的多头注意力机制,其中每个头独立地执行注意力计算。在MViT中,MHPA不仅通过查询、键、值向量之间的相似度进行注意力计算,还引入了池化操作来缩减输入序列的长度。

输入向量投影
  • 输入数据首先被线性投影为查询(Query)、键(Key)、值(Value)三组向量。
  • 对于给定输入序列 ( X )(序列长度为 ( L ),维度为 ( D )),MHPA首先通过线性变换得到中间张量 ( Q )、( K )、( V ):
    [
    Q = XW_Q, \quad K = XW_K, \quad V = XW_V
    ]
    其中 ( W_Q )、( W_K )、( W_V ) 是学习的线性投影矩阵。
池化操作

池化是MHPA中最重要的步骤,它允许在不同的阶段对序列长度进行灵活调整。具体来说:

  • 查询池化 (Query Pooling):在进行注意力计算前,MHPA对查询向量 ( Q ) 进行池化,缩短其长度。
  • 键值池化 (Key-Value Pooling):对键向量 ( K ) 和值向量 ( V ) 进行类似的池化操作,减少它们的序列长度。

池化操作由一个三维的池化核 (Pooling Kernel) 完成,定义为 ( P( \cdot ; \Theta ) ),其中 ( \Theta ) 包含池化核的大小 ( k )、步长 ( s ) 和填充 ( p )。经过池化后的序列长度由公式给出:
[
L’ = \left\lfloor \frac{L + 2p - k}{s} \right\rfloor + 1
]
这个公式表明,通过池化操作,输入的长度从 ( L ) 缩减为 ( L’ ),减少的比例取决于步长 ( s ) 和池化核的大小。

注意力计算

池化后的查询、键、值向量被输入到注意力机制中进行计算。与标准的注意力机制相似,MHPA通过计算查询与键的点积得到注意力权重:
[
\text{Attention}(Q, K, V) = \text{Softmax}\left( \frac{QK^T}{\sqrt{d}} \right)V
]
其中 ( d ) 为向量维度的缩放因子,目的是防止内积过大导致梯度消失。与传统注意力不同的是,MHPA中经过池化的查询、键、值向量使得该计算更为高效,因为序列长度已经大幅度缩短。

多头机制

与标准的多头注意力类似,MHPA中有多个并行的注意力头,每个头独立处理一部分通道(维度为 ( D/h ))。这些头的输出会被连接起来形成最终的输出结果。这种多头机制允许MHPA同时关注不同的特征空间,并增强模型的表现能力。

计算复杂度分析

由于MHPA的注意力计算是基于池化后的序列进行的,计算复杂度相较于标准多头自注意力大幅降低。MHPA的计算复杂度为:
[
O\left( \frac{THW}{f_Q f_K} D \right)
]
其中 ( f_Q ) 和 ( f_K ) 是查询和键-值池化后的缩减因子,( THW ) 是原始输入序列的空间-时间维度。

通过池化操作,MHPA能够以显著较低的计算复杂度处理大规模的视觉数据,使MViT可以在相同的计算资源下获得更好的性能。

MHPA的灵活性和优势
  • 自适应分辨率调整:MHPA允许在网络的不同阶段自适应调整空间和时间分辨率,确保模型能够根据不同的任务和输入数据规模高效处理信息。
  • 减少冗余计算:通过池化,MHPA在减少不必要的冗余计算的同时,保留了对重要特征的捕捉能力。
  • 多尺度建模:MHPA能够通过不同尺度的注意力机制同时处理局部和全局特征,从而更好地处理复杂的视觉数据。

2.4 跳跃连接 (Skip Connections)

MViT在不同缩放阶段之间引入了跳跃连接,用于在各个阶段之间传递信息。在通道数量变化时,跳跃连接使用线性层将输入的通道数扩展到匹配的输出通道数。

2.5 输出层

经过多层的Transformer块后,最终的特征被汇总,用于图像或视频分类等视觉任务。MViT可以通过删除时间维度的方式用于静态图像分类任务,也可以保留时间维度来处理视频。

3. 多尺度架构的优点

  • 效率提升:MViT通过逐步降低空间分辨率来减少计算量,并通过多尺度特征提取确保模型能够捕捉到丰富的视觉信息。相比于单尺度的ViT模型,MViT在减少计算复杂度的同时还能保持高精度。
  • 处理密集视觉信号:特别适用于视频数据,这种多尺度结构能够有效捕捉视频中的时空信息。在处理帧乱序的视频时,MViT的表现显著优于其他Transformer模型。

4. 实验结果

MViT在多种视觉任务(如Kinetics视频分类、ImageNet图像分类等)中表现优异,尤其是在视频识别任务中,它不依赖大规模的外部预训练数据就能达到较高的精度,与同时期的其他模型相比具有明显的计算效率优势。

总结

多尺度视觉Transformer (MViT) 通过引入多尺度特征层次结构,有效提高了图像和视频识别任务中的性能。其结构通过逐步扩展通道数、降低空间分辨率的方式来处理视觉信号,同时使用池化注意力机制降低计算成本,特别适合处理大规模视频数据。

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

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

相关文章

数据可视化与分析:数据时代的关键工具

一、引言 数据可视化与分析是大数据时代中最为重要的技术之一。随着数据量的不断增加,如何有效地理解、解释和利用数据,已经成为各行各业面临的关键挑战。数据可视化通过图表、图形和互动界面将数据以直观的方式呈现,帮助用户快速识别数据中…

运行QWen2-1.5b模型时报错“RuntimeError: cutlassF: no kernel found to launch!”

运行QWen2-1.5b模型时报错“RuntimeError: cutlassF: no kernel found to launch!” #问题:成功加载QWen2-1.5b模型,但是推理时 “model.generate( model_inputs.input_ids, top_pself.top_p, max_new_tokens512 )时”,报错“RuntimeError: …

TCP客户端编码和解码处理:发送和接收指定编码消息

文章目录 引言基于Netty实现TCP客户端Netty发送GBK编码指令Netty接收GBK编码基于Channel发送指令基于ChannelHandlerContext发送指令:建立连接时发送登陆指令开启日志,查看报文信息基于ChannelInboundHandlerAdapter进行业务逻辑处理原生API实现TCP客户端基于DataOutputStrea…

vue2制作高复用页面

记录一下页面搭建记录,利用vue2组件化开发的思想。这个页面适合于大部分信息管理系统~。模板固定,每次使用,直接修改表单表格参数,api接口等。 以上图页面为例,一个基础数据信息页面可以分为,分类&#xff…

数据恢复软件推荐:轻松找回删除的文件!

在使用电脑的过程中,有时我们会误操作或者因为其他原因而删除了一些重要的文件。当我们需要这些文件却找不到时,就会产生很大的困扰。那么,如果你的电脑中的文件被误删了,应该怎么找回被删除的文件呢?下面,小编整理出…

办公必备的高效翻译工具大揭秘

网易翻译是我最早接触的一款翻译工具,随着翻译时候需求的增加让开始了解其他的翻译工具。如果你也正在为你的翻译需求头疼那不妨看看我今天要介绍的工具有没有符合你需求的。 1.福昕在线翻译 链接直达:https://fanyi.pdf365.cn/doc 这个工具比较适合…

【大模型专栏—实战篇】基于RAG从0到1搭建AI科研知识库

大模型专栏介绍 😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文为大模型专栏子篇,大模型专栏将持续更新,主要讲解大模型从入门到实战打怪升级。如有兴趣,欢迎您的阅读。 &#x1f4…

nvidia-docker Failed to initialize NVML: Unknown Error

nvidia镜像拉下来了,但是运行不了。 执行以下命令 sudo docker run --rm --runtimenvidia --gpus all ubuntu nvidia-smi报错 Failed to initialize NVML: Unknown Error参考 https://stackoverflow.com/questions/72932940/failed-to-initialize-nvml-unknown-er…

基于springboot 校园闲置物品交换平台设计与实现---附源码74557

摘 要 随着我国互联网技术的飞速发展,网络购物已经成为人们日常生活的重要组成部分。特别是在校园中,由于学生群体的特殊性,闲置物品交易的需求日益增长。然而,目前校园闲置物品物品交易市场仍然存在许多问题,如信息不…

声波的波数,通常用k表示

声波的波数(通常用 k 表示)是描述声波空间变化的一个参数,它与声波的频率和介质中的传播速度有关。波数 k 是一个具体值,并且在均匀介质中它是固定的,计算公式如下: 均匀介质中的波数是一个具体值&#xff…

react crash course 2024 (1)理论概念

state的作用 react hooks 而无需写一个class jsx 样式用 spa

判断当前环境是否为docker容器下

判断当前环境是否为docker容器下 webshell后或登录到系统后台,判断是否为docker容器可使用如下方法: 方式一:使用ls -alh命令查看是否存在.dockerenv来判断是否在docker容器环境内 ls -alh /.dockerenv如下图无.dockerenv文件,所…

Clickhouse使用笔记

clickhouse官方文档:https://clickhouse.com/docs/zh/sql-reference/data-types/decimal 一,建表 create table acitivity_user_record ( id String DEFAULT generateUUIDv4(), -- 主键自增 activityId String, userId String, userName Nullable(Strin…

【论文解读】图像序列识别:CRNN技术在场景文本识别中的应用与突破(附论文地址)

论文地址:https://arxiv.org/pdf/1507.05717 这篇文章的标题是《An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition》,作者是Baoguang Shi, Xiang Bai和Cong Yao&#xff0c…

代码随想录训练营 Day58打卡 图论part08 拓扑排序 dijkstra朴素版 + 堆优化版

代码随想录训练营 Day58打卡 图论part08 一、拓扑排序 例题:卡码117. 软件构建 题目描述 某个大型软件项目的构建系统拥有 N 个文件,文件编号从 0 到 N - 1,在这些文件中,某些文件依赖于其他文件的内容,这意味着如果…

不同的二叉搜索树

题目 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出&#xff…

JSP经典设计模式流程分析:JSP+JavaBean设计模式+MVC设计模式

JSP两种经典设计模式 Model1设计模式:JSPJavaBean 架构图 什么是JavaBean JavaBean是一种JAVA语言写成的可重用组件,它遵循特定的编程规范,如类必须是公共的、具有无参构造函数,并提供getter/setter方法等。这里的JavaBean不单单指的是实体…

五、回溯算法-算法总结

文章目录 五、回溯算法5.1 背景5.2 模板5.3 集合类5.3.1 子集5.3.2 子集2 5.4 排列类5.4.1 全排列5.4.2 全排列2 5.5 组合类5.5.1 组合总和5.5.2 电话号码的字母组合 五、回溯算法 5.1 背景 回溯法(backtrack)常用于遍历列表所有子集,是 DF…

OpenAI草莓正式发布,命名o1

一、相关介绍 当地时间 9 月 12 日,OpenAI 推出全新模型 o1,它是该公司计划推出的一系列“推理”模型中的首个,也就是此前业内传闻许久的“Strawberry(草莓)”项目。 据悉,o1 模型在众多任务中能够比人类更…

LabVIEW机动车动态制动性能校准系统

机动车动态制动性能测试系统通过高精度的硬件设备与LabVIEW软件的紧密配合,实现了对机动车制动性能的精确校准与评估。系统不仅提高了测试的精确性和效率,而且具备良好的用户交互界面,使得操作更加简便、直观。 项目背景 随着机动车辆数量的…