非局部attention之Non-local

news2025/1/13 3:38:44

论文:Non-local Neural Networks

Github:GitHub - AlexHex7/Non-local_pytorch: Implementation of Non-local Block.

GitHub - facebookresearch/video-nonlocal-net: Non-local Neural Networks for Video Classification

cvpr2018 凯明作品

论文提出了非局部依赖的attention模块,该模块支持空间维度(space),时间维度(time),时空维度(spacetime)的更大的感受野捕捉。该模块适用与视频分类、物体检测、分割、姿态估计等多项视觉任务。最终论文在Kinetics 和 Charades datasets两个数据集上取得了SOTA的效果。

传统的卷积需要依靠不断一层一层堆叠来获得足够大的感受野,这样操作存在几个问题,第一,计算不高效,第二,优化训练过程麻烦,第三,使得模型有多次反射依赖。

本文提出的non-local方法具有高效(efficient),简洁(simple), 通用(generic)等优点。

  1. 相比于卷积和RNN,non-local可以无视两个位置的距离,直接计算任意两个位置的attention。
  2. 通过实验验证,non-local是高效的,仅仅简单几层就可以取得非常好的成绩。
  3. non-local支持任意维度的特征输入,可以很方便的和其他模块进行组合。

Non-local通用表示:

Non-local在神经网络中的通用操作如公式所示。

其中,i表示输出位置的索引,j表示输入位置的索引,x表示输入特征,y表示和x同样大小的输出特征,f函数表示计算位置i和位置j之间的联系,计算结果使用一个常数表示。G函数表示计算输入特征在位置j处的特征表示。C(x)表示归一化参数。

Non-local和全连接层fc也是有区别的,第一,fc依靠学习的权重计算两个位置的关系,non-local计算两个位置的关系却不依赖输入的数据本身。第二,non-local支持任意大小的特征输入,fc却必须得是固定大小的特征输入。

Non-local实例化:

Non-local公式中的f,g两个函数支持多种多样的变种,为了简化问题,g函数一直使用一个线性的embedding表示。

F函数有Gaussian,Embedded Gaussian,Dot product,Concatenation,共4种变形。

Gaussian

XiTXj表示点积运算,使用欧式距离也是可以的,但是点积对深度学习的实现更加友善。

C(x)表示归一化因子。

Embedded Gaussian

θ,Φ表示embedding操作,

Dot product

 

N表示X中的位置数量

Concatenation

[·, ·]表示特征拼接操作,wf表示权重向量,用于把拼接后特征投影为一个常量。

Non-local Block

 +x表示残差连接,

其中,T = 4, H = W = 14 or 7

实验结果:

 

总结:

Non-local Neural Networks提出了一种新的神经网络,它通过非局部操作捕获长期依赖关系可以与任何现有的架构相结合。模型展示了Non-local 对于视频分类、目标检测和分割以及姿态估计等任务的重要性。在所有任务中,简单地添加非本地块可以提供对原有模型的可靠改进。

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

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

相关文章

Echarts自定义legend图例

legend: {icon: rect, // 形状itemHeight: 4, // 高度itemWidth: 18, // 宽度itemGap: 15, //设置图例的间距...... }, 效果:

QT进度条代理的实现

目的 进度条也是一个基本的功能,这里进度条想在Tableview里面实现,让Tableview其中一个单元格显示进度条,因为就用了代理。 什么是代理,官方说: 代理(Delegate)就是在视图组件上为编辑数据提供编辑器,如在…

Kindle刷机安装微信读书。

1、越狱 2、安装软件 3、刷机 4、安装微信读书 刷机参考链接: https://www.xiaohongshu.com/explore/63d3f730000000001f027d0e?sourcequestion Kindle 通用越狱教程:适用固件版本 5.12.2.2~5.14.2 – 书伴 正式开始了。 1、越狱,参考…

[Flask] Flask会话

由于HTTP的无状态性,为了使某个域名下的所有网页能够共享某些数据,Cookie和Session应运而生 1.Cookie对象 HTTP是无状态(stateless)协议,一次请求响应结束后,服务器不会留下任何关于对方状态的信息 也就是说,尽管在…

2023年数字人产业发展趋势报告:好看的皮囊到有趣的灵魂

报告来源:腾讯研究院 报告看点:随着交互智能技术的加速发展,数字人正在从技术创新走向产业应用。 在腾讯2022数字生态大会腾讯云智能专场上,腾讯研究院、腾讯云智能、创业黑马经过产业研究、实地调研,共同提炼发布《数…

【Spring】Spring Bean 容器的生命周期是什么样的?

文章目录 一、什么是 Spring Bean 的生命周期?二、Spring 中的 bean 的作用域有哪些?三、Spring Bean 的生命周期四、Spring Bean 的生命周期流程图 一、什么是 Spring Bean 的生命周期? 对于普通的 Java 对象,当 new 的时候创建对象&#…

智头条|2023TUYA开发者大会精彩不断,IDC预测:2026年全球AI服务支出将增至646亿美元

1、行业动态 奢侈品巨头LVMH宣布将推出元宇宙项目“The Journey” 近日,奢侈品巨头LVMH宣布推出元宇宙项目“The Journey”,允许旗下用户进入一个拥有专属产品和体验的全新虚拟世界,目前官网显示该元宇宙项目下包括The Showroom、The Tech …

HotSpot 垃圾收集器

HotSpot 垃圾收集器 HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,虽然我们要对各个收集器进行比较,但并非为了挑选出一个最好的收集器。我们选择的只是对具体应用最合适的收集器。 新生代垃圾收集器 Serial 垃圾收集器&am…

Tomcat的部署及优化

目录 1.Tomcat概述 1.1 Tomcat的组件构成​编辑 1.2 Tomcat功能组件结构 1.3 Tomcat的请求过程 2. Tomcat服务的部署 2.1 搭建Tomcat运行环境 3.设置JDK环境变量​ 3.1测试java环境 4.安装启动Tomcat 1.Tomcat概述 Tomcat 是 基于Java 语言开发的Tomcat 属于轻量级应用服务…

数据结构 | 顺序线性表

一、数据结构定义 typedef int SqlTableType;typedef struct seqTable{int MAXNUM; // 最大元素个数 int curNum; // 元素的个数SqlTableType* element; // 连续空间的起始地址 }*SqlTable; 二、方法概览 SqlTable CreateSqlTable(int max); // 创建空顺序表 …

MySQL——mha高可用

MHA的概念 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过…

【Android -- 面试】程序员面试必备软技能,值得收藏!

文章目录 一、准备技术型简历1. 准备简历模板2. 准备个⼈信息3. 准备专业技能4. 准备⼯作经历5. 准备项⽬经历 二、面试前的准备1. 利用脑图来梳理知识点2. 收到面试邀请后的准备 三、面试的注意事项1. ⾃我介绍2. 技术考察3. 向⾯试官提问4. 面试礼仪 四、如何通过 HR ⾯1. HR…

数据结构 | 顺序栈

一、数据结构定义 typedef int StackType; typedef struct seqStack{int MAXNUM; // 最大元素个数 int top; // 栈顶位置,初始化为0或-1StackType element[100]; // 元素的连续空间的起始地址 } *SeqStack; 二、方法概览 SeqStack CreateSqlStack…

【服务器数据恢复】ZFS文件系统下raid5数据恢复案例

服务器数据恢复环境: 某公司一台EMC某型号存储中有一组由12块硬盘组建的raid5磁盘阵列,其中有2块盘作为热备盘使用。 服务器故障&分析: raid5磁盘阵列中有2块磁盘离线,只有1块热备盘成功启用,另外一块热备盘未启用…

Elastic 栈中的 Kibana安装

Kibana 是一个开源分析和可视化平台,旨在与 Elasticsearch 协同工作。 你使用 Kibana 搜索,查看和与存储在 Elasticsearch 索引中的数据进行交互。 你可以轻松执行高级数据分析,并在各种图表,表格和地图中可视化你的数据。 官方链…

文件批量下载方法 文件批量下载工具

软件版本:Internet Download Manager 在当今数字化时代,我们日常使用电脑进行各种工作和娱乐活动。有时候,我们需要从互联网上下载大量文件,例如电影、音乐、文档等。在这种情况下,手动逐个下载文件将变得繁琐而耗时。…

梯度下降法求函数的解

题目 例如 y x^ 5 e^x3x−3,求解y 0的解 问题分析 首先要构造y 0的损失函数,让这个损失函数是凸的,也就是可以有最优解,并且是可到的,比较容易想到的是mse平方误差,我们要让y和0之间绝对误差最小。lo…

变压器铜铝材质分析仪技术参数

一、主要技术指标 1.输入特性 有源部分: 电压测量范围:0~10V 电流测量范围:0~10A 无源部分: 电压测量范围:0~750V 宽量限(可以外接电压互感器)。 电流测量范围:0~100A内部自动…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(6月 28 日论文合集)

文章目录 一、检测相关(6篇)1.1 Detector-Free Structure from Motion1.2 Irregular Change Detection in Sparse Bi-Temporal Point Clouds using Learned Place Recognition Descriptors and Point-to-Voxel Comparison1.3 Transferability Metrics for Object Detection1.4 …

【超全面】Linux嵌入式干货学习系列教程

文章目录 一、前言二、Linux基础篇三、数据结构与算法基础三、Linux应用篇四、Linux网络篇五、ARM篇六、Linux系统移植篇七、Linux驱动篇八、Linux特别篇九、Linux项目篇 一、前言 博主学习Linux也有几个月了,在这里为广大朋友整理出嵌入式linux的学习知识&#xff…