深度学习前沿 | TransNeXt:仿生聚合注意力引领视觉感知新时代

news2025/4/25 9:16:15

目录

  • 1. 引言

  • 2. 背景与挑战

  • 3. TransNeXt 核心创新

    • 3.1 像素聚合注意力(PAA)

    • 3.2 长度缩放余弦注意力(LSCA)

    • 3.3 卷积 GLU(ConvGLU)

  • 4. 模型架构详解

  • 5. 实验与性能评估

    • 5.1 图像分类(ImageNet-1k)

    • 5.2 目标检测与分割(COCO 2017)

    • 5.3 语义分割(ADE20K)

  • 6. PyTorch 快速上手示例

  • 7. 应用与展望

  • 8. 总结

  • 9. 参考文献


1. 引言

在计算机视觉领域,Transformer 架构因其出色的全局建模能力受到广泛关注。然而,经典 Transformer 在视觉任务中也暴露出深度衰减效应与信息混合不足的问题,导致模型在复杂场景下的感知不够自然。近日,一项名为 TransNeXt 的最新研究提出了仿生聚合注意力机制,通过模拟生物注视机制与眼球连续转动,显著提升了视觉感知能力和下游任务性能。本文将带你深度解读 TransNeXt 的核心技术细节与实验结果,并附上 PyTorch 快速上手示例,让你能够快速应用这一前沿模型。

2. 背景与挑战

2.1 Transformer 在视觉中的应用现状

自 Vision Transformer(ViT)问世以来,基于注意力机制的视觉模型逐渐风靡,涌现出 Swin Transformer、PVT、CrossViT 等多种变体。然而,这些模型通常依赖层叠结构进行信息交互,随着网络深度增加,残差连接会带来深度衰减效应,使得低层信息在传播过程中不断被削弱,最终影响模型的表征能力。

2.2 生物视觉启发

人类视觉系统通过中心凹注视和眼球运动获得高效的全局与局部信息交互。具体表现为:眼球在场景中不断聚焦不同位置,既能捕捉精细的局部细节,也能维持对全局语义的整体感知。TransNeXt 正是基于这一生物机制,设计出像素聚合注意力,为视觉 Transformer 注入仿生智慧。


3. TransNeXt 核心创新

TransNeXt 的三大核心创新,包括 像素聚合注意力(PAA)长度缩放余弦注意力(LSCA)卷积 GLU(ConvGLU)

3.1 像素聚合注意力(PAA)

  • 双路径设计

    • 局部路径(窗口大小 3×3):对邻近像素生成键值对,进行局部注意力计算。

    • 全局路径(全特征图):通过池化提取全局上下文,生成键值对后融合全局信息。

  • 可学习 Tokens & Query Embedding:在像素级别加入可学习的 token 序列与查询嵌入,使模型具备动态聚焦能力,模拟眼球连续移动。

该机制不仅能捕捉精细的局部特征,还能在长距离上保留全局信息,实现了更自然的视觉感知。

像素聚合注意力(右)是在像素聚焦注意力(左)结构上修改的,在像素聚合注意力机制中,作者采用了双路径设计,在10×10的特征图中,对于选定的窗口,一条路线(3×3)是查询与窗口位置相邻近的局部信息,先生成键值对,Query和key进行点积运算,与加入位置编码和填充掩码进行相加,得到局部位置序列。另一条路线(10×10)是获取全局的特征,由于池化层会严重丢失数据,因此先通过池化与激活操作,从给定的查询输入提取全局特征,同样生成键值对,Query和key进行点积运算,与位置编码相加。得到全局输出序列。与局部注意力权重进行合并,通过softmax激活函数,将计算所得到的注意力得分转换成注意力权重,通道划分,再与局部权重进行相乘,后进行分割权重。与左图相比,右图引入了可学习的Tokens和Query Embedding,Query Embedding提供了与当前查询相关的向量信息,与Query进行相加操作。Tokens可随机生成序列key,Query和key进行点积运算,同时与偏置编码进行合并,生成对应的序列,与生成的局部序列进行合并,再与局部序列key所对应的value进行点积运算,最后和全局key所对应的value与输出的全局序列进行点积运算,进行合并,将最终的数据经过线性投影映射得到新的特征图,得到输出。

3.2 长度缩放余弦注意力(LSCA)

传统的点积注意力在处理不同序列长度和非线性输入时,存在数值不稳定的问题。TransNeXt 提出的 LSCA,通过对余弦相似度进行长度缩放,有效提高了模型对多尺度特征的兼容性与稳定性。

公式简述

LSCA(Q,K)=α∥Q∥∥K∥QKT,α=dk\mathrm{LSCA}(Q, K) = \frac{\alpha}{\|Q\| \|K\|} QK^T, \quad \alpha = \sqrt{d_k}

其中,$Q,K$ 分别表示查询和键,$d_k$ 为向量维度,长度缩放系数 $\alpha$ 保证不同尺度下的相似度计算稳定性。

3.3 卷积 GLU(ConvGLU)

  • 卷积前馈:使用 3×3 卷积提取邻域特征。

  • 门控机制:借鉴 GLU(Gated Linear Unit),动态调节信息流,增强模型对复杂场景的适应能力。

ConvGLU 将通道注意力与卷积特征提取相结合,使模型在保持高效计算的同时,具备更强的特征表示能力。下图提出了卷积GLU,卷积提取信息,门控机制控制信息流,门控注意力可以动态选择当前更重要的特征,适合处理复杂的数据。输入数据分为三部分、一部分通过卷积前馈神经网络的操作与一部分结果线性变换的数据进行点积操作再进行线性变换之后与原始输入进行加和,得到输出。


下图为具体的TransNeXt结果图,输入宽高3×3的RGB图像,图像被分割成小块(核大小为3,步长为2),二维空间信息转换为一维。GLU激活函数,学习更复杂的特征表示。LayerNorm归一化,加速训练过程,提高模型稳定性。合并注意力机制,减少计算量,提高效率。LayerNorm归一化。重复4次,在最后一阶段,模型使用多头注意力机制捕捉全局依赖关系。最终输出H/32×W/32×8C的特征图。

4. 模型架构详解

TransNeXt 由四个阶段组成,每阶段重复堆叠上述注意力与 ConvGLU 模块:

Input: H×W×3
Stage1: PatchEmbed → PAA + ConvGLU × N1 → Feature1
Stage2: Downsample → PAA + ConvGLU × N2 → Feature2
Stage3: Downsample → PAA + ConvGLU × N3 → Feature3
Stage4: Downsample → PAA + Multi-Head Attention × N4 → Feature4
  • PatchEmbed:初始分块(核尺寸 3,步长 2),将二维图像映射为一维序列。

  • Downsample:每阶段末尾对特征图下采样,使分辨率依次降低至 H/32 × W/32。

  • Normalization:每个模块前后均使用 LayerNorm 加速收敛,提升稳定性。


5. 实验与性能评估

5.1 图像分类(ImageNet-1k)

TransNeXt 在 ImageNet-1k 上的分类精度达到了 84.5% Top-1,相比 Swin-B 提升 1.2 个百分点,参数量与 FLOPs 保持相当。

✔️ 对比模型

  • Swin-B:83.3% Top-1

  • CrossViT-L:82.6% Top-1

在imagenet数据集上评估TransNext模型进行图像分类实验,评估标准使用的是acc,我在261轮训练之后,Acc达到了84.8%。

5.2 目标检测与分割(COCO 2017)

在 COCO 2017 上,使用 TransNeXt 作为主干网络的 Mask-RCNN 与 DINO:

  • Mask-RCNN + TransNeXt: AP 52.1, AP50 80.2

  • DINO + TransNeXt: AR 60.5, AR75 55.3

结果表明,TransNeXt 对小目标和复杂背景有更优的检测与分割能力。

我在在COCO数据集上评估具有TransNeXt主干的Mask R-CNN模型 ,在图像检测和分割的下游任务上进行验证评估指标使用的是Average Precision(AP)、Average Recall(AR),使用了编码器大小和参数大小不同的tiny、small、base模型,在5000轮训练之后得到如下结果。

结果与该论文发表的数据一样。

DINO(这里只选取一个base版本进行验证):

5.3 语义分割(ADE20K)

在ADE20K数据集上评估具有TransNeXt主干的UperNet和mask2fomer模型 :在语义分割的下游任务上进行实验,评估指标使用的是mIOU,结果按照mIOU分数升序排序,使用了编码器大小和参数大小不同的tiny、small、base模型。

在 ADE20K 语义分割任务中,结合 UperNet 与 Mask2Former:

  • UperNet + TransNeXt: mIoU 55.8%

  • Mask2Former + TransNeXt: mIoU 57.2%

与传统 Transformer 架构相比,平均提升约 1.5 个百分点。

实验验证结果:

实验结果与该论文所给对应数据完全相同。

在ADE20K数据集上评估具有TransNeXt主干的mask2fomer模型 ,进行语义分割实验,评估指标使用的是mIOU,在这里仅仅选取部分实验(Tiny、small版本)验证结果,具体读者可更具需求进行实验。


6. PyTorch 快速上手示例

import torch
from transnext import TransNeXt

# 模型初始化
model = TransNeXt(depths=[3, 4, 6, 3], dims=[64, 128, 256, 512])
model.cuda()
model.eval()

# 测试单张图像
img = torch.randn(1, 3, 224, 224).cuda()
with torch.no_grad():
    logits = model(img)

print(f"输出特征维度: {logits.shape}") # (1, 1000)

⚠️ 提示:实际训练时请结合 torch.utils.data.DataLoader、学习率调度器以及混合精度训练以获得最佳性能。


7. 应用与展望

  • 增强现实(AR)/虚拟现实(VR):借助全局与局部特征的高效融合,可实现更流畅的交互体验。

  • 智能安防:在复杂场景下的目标检测与分割能力,为视频监控提供更精准的分析。

  • 医学影像:高精度的语义分割有助于病灶检测与诊断。

未来可考虑将 TransNeXt 与 NAS、量化推理相结合,进一步提升推理效率与硬件适配性。


8. 总结

TransNeXt 通过仿生聚合注意力、长度缩放余弦注意力与卷积 GLU 等创新,成功解决了深度衰减与信息混合不足的问题,在分类、检测、分割多项任务上均实现了 SOTA 水平。本文从原理剖析、架构设计到实验结果与代码示例,为你全面呈现了这一视觉新架构的魅力。欢迎在评论区与我交流更多心得。


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

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

相关文章

C语言-函数-1

以下是我初学C语言的笔记记录,欢迎在评论区留言补充 一,函数分为几类 * 函数分为两类: 一类是库函数;一类是自定义函数 * 库函数: 系统自己带的,在使用时候,要用到头文件; 查询库函…

openwrt作旁路由时的几个常见问题 openwrt作为旁路由配置zerotier 图文讲解

1 先看openwrt时间,一定要保证时间和浏览器和服务器是一致的,不然无法更新 2 openwrt设置旁路由前先测试下,路由器能否ping通主路由,是否能够连接外网,好多旁路由设置完了,发现还不能远程好多就是旁路由本…

Redis 及其在系统设计中的作用

什么是Redis Redis 是一个开源的内存数据结构存储系统,可用作数据库、缓存和消息代理。它因其快速的性能、灵活性和易用性而得到广泛应用。 Redis 数据存储类型 Redis 允许开发人员以各种数据结构(例如字符串、位图、位域、哈希、列表、集合、有序集合…

爬虫-oiwiki

我们将BASE_URL 设置为 "https://oi-wiki.org/" 后脚本就会自动开始抓取该url及其子页面的所有内容,并将统一子页面的放在一个文件夹中 import requests from bs4 import BeautifulSoup from urllib.parse import urljoin, urlparse import os import pd…

强化学习核心原理及数学框架

1. 定义与核心思想 强化学习(Reinforcement Learning, RL)是一种通过智能体(Agent)与环境(Environment)的持续交互来学习最优决策策略的机器学习范式。其核心特征为: ​​试错学习​​&#x…

【技术派后端篇】技术派中 Session/Cookie 与 JWT 身份验证技术的应用及实现解析

在现代Web应用开发中,身份验证是保障系统安全的重要环节。技术派在身份验证领域采用了多种技术方案,其中Session/Cookie和JWT(JSON Web Token)是两种常用的实现方式。本文将详细介绍这两种身份验证技术在技术派中的应用及具体实现…

【基础】Node.js 介绍、安装及npm 和 npx功能了解

前言 后面安装n8n要用到,做一点技术储备。主要是它的两个工具:npm 和 npx。 Node.js介绍 Node.js 是一个免费的、开源的、跨平台的 JavaScript 运行时环境,允许开发人员在浏览器之外编写命令行工具和服务器端脚本,是一个基于 C…

助力网站优化利用AI批量生成文章工具提升质量

哎,有时候觉得写东西这事儿吧,真挺玄乎的。你看着那些大网站的优质内容,会不会突然冒出个念头——这些家伙到底怎么做到日更十篇还不秃头的?前阵子我蹲在咖啡馆里盯着屏幕发呆,突然刷到个帖子说现在用AI写文章能自动纠…

SpringBootTest报错

Unable to find a SpringBootConfiguration, you need to use ContextConfiguration or … 解决方案:在SpringTest注解中添加属性(classes )填写启动类 如我的启动类是MainApplication.class javax.websocket.server.ServerContainer no…

w~视觉~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/12327888 #几个论文 Fast Charging of Energy-dense Lithium-ion Batteries Real-time Short Video Recommendation on Mobile Devices Semantic interpretation for convolutional neural networks: What makes a ca…

Redis安装及入门应用

应用资料:https://download.csdn.net/download/ly1h1/90685065 1.获取文件,并在该文件下执行cmd 2.输入redis-server-lucifer.exe redis.windows.conf,即可运行redis 3.安装redis客户端软件 4.安装后运行客户端软件,输入链接地址…

NODE_OPTIONS=--openssl-legacy-provider vue-cli-service serve

//"dev": " NODE_OPTIONS--openssl-legacy-provider vue-cli-service serve" // 修改后(Windows 适用) "dev": "vue-cli-service serve --openssl-legacy-provider" 升级 Node.js 到 v14,确保依赖…

上篇:深入剖析 BLE 底层物理层与链路层(约5000字)

引言 在无线通信领域,Bluetooth Low Energy(BLE)以其超低功耗、灵活的连接模式和良好的生态支持,成为 IoT 与可穿戴设备的首选技术。要想在实际项目中优化性能、控制功耗、保证可靠通信,必须对 BLE 协议栈的底层细节有深入了解。本篇将重点围绕物理层(PHY)与链路层(Li…

2025 年“泰迪杯”数据挖掘挑战赛B题——基于穿戴装备的身体活动监测问题分析

摘要 本文聚焦于基于穿戴设备采集的加速度计数据,深入研究志愿者在日常活动中的行为特征,构建了多个数学建模框架,实现从身体活动监测、能耗预测、睡眠阶段识别到久坐预警等多个目标。我们依托于多源数据融合与机器学习模型,对人体活动状态进行识别与分析,为健康管理、行…

Linux424 chage密码信息 gpasswd 附属组

https://chat.deepseek.com/a/chat/s/e55a5e85-de97-450d-a19e-2c48f6669234

自定义指令简介及用法(vue3)

一介绍 防抖与节流,应用场景有很多,例如:禁止重复提交数据的场景、搜索框输入搜索条件,待输入停止后再开始搜索。 防抖 点击button按钮,设置定时器,在规定的时间内再次点击会重置定时器重新计时&#xf…

【Spring Boot】深入解析:#{} 和 ${}

1.#{} 和 ${}的使用 1.1数据准备 1.1.1.MySQL数据准备 (1)创建数据库: CREATE DATABASE mybatis_study DEFAULT CHARACTER SET utf8mb4;(2)使用数据库 -- 使⽤数据数据 USE mybatis_study;(3&#xff…

从实验室到产业端:解码 GPU 服务器的八大核心应用场景​

一、深度学习与人工智能的基石​ 在深度学习领域,GPU 服务器的并行计算架构成为训练大规模模型的核心引擎 —— 传统 CPU 集群训练千亿参数模型需数月,而基于某国际知名芯片厂商 H100 的 GPU 服务器可将周期缩短至数周,国内科技巨头 910B 芯…

java—12 kafka

目录 一、消息队列的优缺点 二、常用MQ 1. Kafka 2. RocketMQ 3. RabbitMQ 4. ActiveMQ 5. ZeroMQ 6. MQ选型对比 适用场景——从公司基础建设力量角度出发 适用场景——从业务场景角度出发 四、基本概念和操作 1. kafka常用术语 2. kafka常用指令 3. 单播消息&a…

数据库-数据类型、约束 和 DQL语言

标题目录 数据类型数字类型INT 型BIGINT 型DOUBLE 类型 字符类型定长字符串变长字符串 日期类型 约束主键约束非空约束唯一性约束检查约束外键约束 DQL 语言WHERE 子句连接多个条件IN (列表)NOT IN (列表)BETWEEN...AND...DISTINCT多字段去重 模糊查询NULL 值判断排序&#xff…