大核注意力 LKA | Visual Attention Network

news2024/9/20 20:30:17

在这里插入图片描述

论文名称:《Visual Attention Network》

论文地址:2202.09741 (arxiv.org)


尽管最初是为自然语言处理任务而设计的,但自注意力机制最近在各个计算机视觉领域迅速崭露头角。然而,图像的二维特性给计算机视觉中的自注意力应用带来了三大挑战。(1) 将图像视为一维序列忽视了它们的二维结构。(2) 二次复杂性对于高分辨率图像来说成本太高。(3) 它只能捕捉空间适应性而忽略了通道适应性。在本文中,我们提出了一种新的线性注意力机制,称为大核注意力 (LKA),以实现自适应和长距离关联,同时避免自注意力的缺点。此外,我们还基于 LKA 提出了一种神经网络,即视觉注意力网络 (VAN)。虽然极其简单,VAN 在各种任务中超越了类似尺寸的视觉转换器 (ViTs) 和卷积神经网络 (CNNs),包括图像分类、目标检测、语义分割、全景分割、姿势估计等。例如,VAN-B6ImageNet 基准测试中取得了 87.8% 的准确率,并在全景分割方面创造了新的最先进性能(58.2 PQ)。此外,VAN-B2ADE20K 基准上的语义分割上比 Swin-T 高出 4%mIoU50.146.1),在 COCO 数据集上的目标检测中高出 2.6%AP48.846.2)。这为社区提供了一种新方法和简单但强大的基准。


问题背景

自注意力机制虽然在自然语言处理(NLP)领域取得了巨大成功,但在应用于计算机视觉时存在几个主要挑战。首先,它将二维图像视为一维序列,忽略了图像的二维结构。其次,二次复杂度的计算在高分辨率图像处理时非常昂贵。此外,自注意力仅捕捉空间适应性,而忽略了通道适应性。为了克服这些缺点,LKA提出了一种新的线性注意力机制,旨在提供长距离关联,同时避免传统自注意力机制的不足。


核心概念

LKA的核心概念在于融合卷积和自注意力的优势,包括局部结构信息、长距离依赖和适应性。它通过将大核卷积分解为三个部分来实现这一点:一个深度卷积(Depthwise Convolution)、一个深度扩张卷积(Depthwise Dilation Convolution)、以及一个点卷积(Pointwise Convolution)。这种分解使得模型可以在保持较低计算复杂度的同时,捕获长距离关系和通道维度的适应性。


模块的操作步骤

在这里插入图片描述

不同模块的结构:(a) 提出的大核注意力 (LKA);(b) 非注意力模块;© 用加法替代 LKA 中的乘法;(d) 自注意力。值得注意的是,(d) 是为一维序列设计的。

在这里插入图片描述

大核卷积的分解示意图。标准卷积可以分解为三部分:深度卷积 (DW-Conv)、深度扩张卷积 (DW-D-Conv) 和逐点卷积 (1×1 Conv)。彩色网格表示卷积核的位置,黄色网格表示中心点。示意图显示,一个 13×13 卷积被分解为一个 5×5 的深度卷积、一个膨胀率为 3 5×5 深度扩张卷积和一个逐点卷积。注意:上图中省略了零填充。


LKA模块的操作步骤包括以下几个关键部分:

  1. 深度卷积:处理局部结构信息。
  2. 深度扩张卷积:捕获长距离依赖。
  3. 点卷积:进行通道间的交互。

这一过程通过三部分来增强自注意力的长距离关联,同时保持局部信息。通过融合不同类型的卷积,LKA为特征的自适应调整提供了灵活性。


文章贡献

本文的主要贡献在于提出了一种新的线性注意力机制LKA,并基于此构建了视觉骨干网络VANLKA吸收了卷积和自注意力的优点,并避免了它们的缺点。此外,VAN在多种视觉任务中表现出色,包括图像分类、目标检测、语义分割、全景分割、姿态估计等。


实验结果与应用

实验结果表明,VANImageNet-1KCOCO等多个基准测试中取得了优异的表现。例如,VAN-B6ImageNet基准测试中取得了87.8%的准确率,并在COCO的全景分割任务中创造了新的记录。它在多个视觉任务上超过了许多传统的CNN和自注意力模型。


对未来工作的启示

LKA的成功展示了新的线性注意力机制在计算机视觉中的潜力。未来的研究可以进一步探索这种机制在其他领域的应用,或将其与其他注意力机制相结合。此外,LKA的低计算复杂度特点使其在移动设备和资源受限环境中的应用前景广阔。


代码

import torch
from torch import nn


class LKA(nn.Module):
    def __init__(self, dim):
        super().__init__()
        self.conv0 = nn.Conv2d(dim, dim, 5, padding=2, groups=dim)
        self.conv_spatial = nn.Conv2d(
            dim, dim, 7, stride=1, padding=9, groups=dim, dilation=3
        )
        self.conv1 = nn.Conv2d(dim, dim, 1)

    def forward(self, x):
        u = x.clone()
        attn = self.conv0(x)
        attn = self.conv_spatial(attn)
        attn = self.conv1(attn)

        return u * attn


if __name__ == "__main__":
    input = torch.rand(3, 64, 64, 64)
    model = LKA(64)
    output = model(input)
    print(output.size())

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

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

相关文章

Polyscope,一款简洁的三维可视化工具!

Polyscope是用于三维数据(如meshes、point clouds)的可视化工具,通过编程或动态GUI完成;支持C和Python编程;追求“一行代码”为数据提供有用的可视界面展示。 下面来简单介绍Polyscope使用。 Polyscope效果 Point Cl…

【数据结构】最小生成树(Prim算法、Kruskal算法)解析+完整代码

5.1 最小生成树 定义 对一个带权连通无向图 G ( V , E ) G(V,E) G(V,E),生成树不同,每棵树的权(即树中所有边上的权值之和)也可能不同。 设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称…

OpenMM——教程学习(1)

如何从零开始做一个蛋白小分子动力学模拟 AmberTools将被用来生成输入文件,OpenMM 将被用来运行模拟,模拟平台为在线百度AI Stuio, 并使用GPU加速。 First thing’s first, 到PDB 蛋白数据库下载一需要模拟的靶点晶体,备用。 1. H web server…

告别人工校对烦恼,Kompas AI智能纠错一键搞定

在快节奏的工作环境中,撰写和校对公文是必不可少的环节。然而,传统的人工校对方式既耗时又容易出错,严重影响了工作效率和公文质量。在这里,我想向大家分享一款专业的校对助手——Kompas AI。它是一款采用先进的自然语言处理技术的…

分享:怎么做老阳分享的选品师项目比较赚钱

在当今的商业环境中,选品师项目逐渐成为了一个炙手可热的创业选择。老阳作为业内知名的选品师,其分享的经验和方法对于想要入行或提升业绩的选品师来说,无疑是宝贵的财富。那么,如何才能做好老阳分享的选品师项目,实现…

ssm088基于JAVA的汽车售票网站abo+vue

汽车售票网站的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对汽车售票信息管理混乱,出错率…

【Camera KMD ISP SubSystem笔记】Request 流转与Bubble机制

ISP中断类型 SOF: 一帧图像数据开始传输 EOF: 一帧图像数据传输完成 REG_UPDATE: ISP寄存器更新完成(每个reg group都有独立的这个中断) EPOCH: ISP某一行结尾(默认20)就会产生此中断 BUFFER DONE: 一帧图像数据ISP完全写到DDR了 管理Isp request的几个List st…

系统思考——与其一样,不如不同

感谢开放大学的持续邀请,为创新创业的学生提供赋能。昨天的主题是《创业核心:从内在优势到价值创造》。在近期参与的创业活动中,我注意到许多创业者在介绍自己的公司时常说:“我们是做***的,最大的优势是比其家便宜。”…

mapbox实现3D模型飞行

贴个群号 WebGIS学习交流群461555818,欢迎大家 效果图 其实这种移动的可视化效果,在二维和三维中实现的思路都是一样的,无非是规划好路径,用几个关键节点,然后插值计算中间的点用以平滑移动效果,实时的根…

ETL中双流合并和多流合并的区别

一、ETL工具 ETLCloud数据集成平台集实时数据集成和离线数据集成以及API发布为一体的数据集成平台。与其他开源数据集成工具相比,采用轻量化架构、具有更快的部署速度、更快的数据传输速度、更低的运维成本,同时支持多租户的团队协作能力,能…

IDM下载器安装cmd注册

一、下载注册 安装包去IDM官网下载最新的试用版即可 或者直达百度网盘下载(担心被河蟹,放在txt中了)包含IDM下载器安装包和注册软件 IDM下载器安装包和注册软件下载地址链接 https://download.csdn.net/download/qq_31237581/89215452 如果…

一个自卑的人怎么变得自信

一个自卑的人怎么变得自信 自卑感是一种常见的心理状态,它可能源于个人对自己能力、外貌、价值等方面的负面评价。自卑感不仅会影响一个人的情绪状态,还可能阻碍其在生活、学习和工作中的表现。然而,自信并非一蹴而就的品质,它需要…

Elsevier——投稿系统遇到bug时的解决方法

重要:找期刊客服!!! 一、方法: 1. 点击进入与官方客服的对话 2. 按要求输入个人信息 3. 输入遇到的问题 比如: 主题:The Current Status is jammed. 详细描述:The Current State o…

Flask框架进阶-Flask流式输出和受访配置--纯净详解版

Flask流式输出🚀 在工作的项目当中遇到了一种情况,当前端页面需要对某个展示信息进行批量更新,如果直接将全部的数据算完之后,再返回更新,则会导致,前端点击刷新之后等待时间过长,开始考虑到用进…

ESP32-S3如何用socket通信

实验目的: 通过 Socket 编程实现 pyWiFi-ESP32-S3 与电脑服务器助手建立连接,相互收 发数据。 首先先来简单了解一下Socket 我们先来看看网络层级模型图,这是构成网络通信的基础: 我们看看 TCP/IP 模型的传输层和应用层&…

内网安全【1】——域信息收集/应用网络凭证/CS插件/Android/BloodHound

内容大纲: 概念名词: 局域网 (自己家) 工作组 (网吧) 内网域 (公司) 比如一家公司有1000台机器 运维人员去管理1000 不可能每台上去都进行软件的安装 环境的部署 密码的设置…

Vue+Echarts 实现中国地图和飞线效果

目录 实现效果准备 实现效果 在线预览:https://mouday.github.io/vue-demo/packages/china-map/dist/index.html 准备 高版本的echarts,不包含地图数据,需要自己下载到项目中 1、地图数据下载 https://datav.aliyun.com/portal/school/at…

大田场景下的路径检测论文汇总

文章目录 2020Visual Servoing-based Navigation for Monitoring Row-Crop Fields 2020 Visual Servoing-based Navigation for Monitoring Row-Crop Fields code: https://github.com/PRBonn/visual-crop-row-navigation 摘要: 自主导航是野外机器人执行精确农业…

vue-quill-editor富文本插件控制字数显示

最终效果 富文本编辑框&#xff0c;只统计内容&#xff0c;不包含标签以及样式&#xff0c;超出最大字数限制提示。 具体代码 html <div class"relative"><quillEditorv-model"form.nutriSuggestion"ref"myQuillEditor7":options&quo…

【Python数据库】MongoDB

文章目录 [toc]数据插入数据查询数据更新数据删除 个人主页&#xff1a;丷从心 系列专栏&#xff1a;Python数据库 学习指南&#xff1a;Python学习指南 数据插入 from pymongo import MongoClientdef insert_data():mongo_client MongoClient(hostlocalhost, port27017)co…