谷歌大改Transformer注意力,速度、内存利用率都提上去了

注意力机制:通道注意力机制、空间注意力机制、CBAM(附有完整代码) 注意力机制(Attention Mechanism)是一种模仿人类注意力机制的计算机科学原理,主要用于提高神经网络在处理序列数据时的性能。在深度学习中,注意力机制被广泛应用于各种任务,如自然语言处理、计算机视觉和强化学习等领域。注意力机制的核心思想是让模型能够在处理输入数据时,动态地关注输入的不同部分,而不是一概而论地平均对待所有输入。通过引入注意力机制,模型可以根据输入数据的重要性分配不同的权重,从而使模型能够更加集中精力处理与当前任务相关的信息,提高模型的表现和泛化能力。 阅读详情

转载自:机器之心

考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。

Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的资源需求量。这一方法超越了注意力机制,甚至可以说为下一代深度学习架构打开了思路。

自面世以来,Transformer 模型已经在多个领域取得了 SOTA 结果,包括自然语言处理、图像处理甚至是音乐处理。众所周知,Transformer 架构的核心是注意力模块,它计算输入序列中所有位置对的相似度得分。然而,随着输入序列长度的增加,注意力机制本身的问题也越来越突出,因为它需要二次方的计算时间来产生所有的相似度得分,用来存储这些得分的内存大小也是如此。

针对那些需要长距离注意力的应用,部分研究者已经提出了一些速度快、空间利用率高的方法,其中比较普遍的方法是稀疏注意力。

标准的稀疏化技术。

然而,稀疏注意力方法也有一些局限。首先,它们需要高效的稀疏矩阵乘法运算,但这并不是所有加速器都能做到的;其次,它们通常不能为自己的表示能力提供严格的理论保证;再者,它们主要针对 Transformer 模型和生成预训练进行优化;最后,它们通常会堆更多的注意力层来补偿稀疏表示,这使其很难与其他预训练好的模型一起使用,需要重新训练,消耗大量能源。

此外,稀疏注意力机制通常不足以解决常规注意力方法应用时所面临的所有问题,如指针网络。还有一些运算是无法稀疏化的,比如常用的 softmax 运算。

为了解决这些问题,来自谷歌、剑桥大学、DeepMind、阿兰 · 图灵研究所的研究者提出了一种新的 Transformer 架构——Performer。它的注意力机制能够线性扩展,因此能够在处理长序列的同时缩短训练时间。这点在 ImageNet64 等图像数据集和 PG-19 文本数据集等序列的处理过程中都非常有用。

论文链接:https://arxiv.org/pdf/2009.14794.pdf

Performer 使用一个高效的(线性)广义注意力框架(generalized attention framework),允许基于不同相似性度量(核)的一类广泛的注意力机制。该框架通过谷歌的新算法 FAVOR+( Fast Attention Via Positive Orthogonal Random Features)来实现,后者能够提供注意力机制的可扩展低方差、无偏估计,这可以通过随机特征图分解(常规 softmax-attention)来表达。该方法在保持线性空间和时间复杂度的同时准确率也很有保证,也可以应用到独立的 softmax 运算。此外,该方法还可以和可逆层等其他技术进行互操作。

研究者表示,他们相信该研究为注意力、Transformer 架构和核方法提供了一种新的思维方式。

代码地址:https://github.com/google-research/google-research/tree/master/performer

论文公布之后,Youtube 知名深度学习频道 Yannic Kilcher 对该文章进行了解读。

广义的注意力机制

在以往的注意力机制中,分别对应矩阵行与列的 query 和 key 输入相乘,通过 softmax 计算形成一个注意力矩阵,以存储相似度系数。值得注意的是,这种方法不能将 query-key 生成结果传递给非线性 softmax 计算之后再将其分解为原始的 query 和 key。然而,将注意力矩阵分解为原始 query 和 key 的随机非线性函数的乘积是可以的,即所谓的随机特征(random feature),这样就可以更加高效地对相似度信息进行编码。

标准注意力矩阵包括每一对 entry 的相似度系数,由 query 和 key 上的 softmax 计算组成,表示为 q 和 k。

常规的 softmax 注意力可以看作是由指数函数和高斯投影定义的非线性函数的一个特例。在这里我们也可以反向推理,首先实现一些更广义的非线性函数,隐式定义 query-key 结果中其他类型的相似性度量或核函数。研究者基于早期的核方法(kernel method),将其定义为广义注意力(generalized attention)。尽管对于大多核函数来说,闭式解并不存在,但这一机制仍然可以应用,因为它并不依赖于闭式解。

该研究首次证明了,任意注意力矩阵都可以通过随机特征在下游 Transformer 应用中实现有效地近似。实现这一点的的新机制是使用正随机特征,即原始 query 和 key 的正直非线性函数,这对于避免训练过程中的不稳定性至关重要,并实现了对常规 softmax 注意力的更准确近似。

新算法 FAVOR+:通过矩阵相关性实现快速注意力

上文描述的分解允许我们以线性而非二次内存复杂度的方式存储隐式注意力矩阵。我们还可以通过分解获得一个线性时间注意力机制。虽然在分解注意力矩阵之后,原始注意力机制与具有值输入的存储注意力矩阵相乘以获得最终结果,我们可以重新排列矩阵乘法以近似常规注意力机制的结果,并且不需要显式地构建二次方大小的注意力矩阵。最终生成了新算法 FAVOR+。

左:标准注意力模块计算,其中通过执行带有矩阵 A 和值张量 V 的矩阵乘法来计算最终的预期结果;右:通过解耦低秩分解 A 中使用的矩阵 Q′和 K′以及按照虚线框中指示的顺序执行矩阵乘法,研究者获得了一个线性注意力矩阵,同时不用显式地构建 A 或其近似。

上述分析与双向注意力(即非因果注意力)相关,其中没有 past 和 future 的概念。对于输入序列中没有注意前后 token 的单向(即因果)注意力而言,研究者稍微修改方法以使用前缀和计算(prefix-sum computation),它们只存储矩阵计算的运行总数,而不存储显式的下三角常规注意力矩阵。

左:标准单向注意力需要 mask 注意力矩阵以获得其下三角部分;右:LHS 上的无偏近似可以通过前缀和获得,其中用于 key 和值向量的随机特征图的外积(outer-product)前缀和实现动态构建,并通过 query 随机特征向量进行左乘计算,以在最终矩阵中获得新行(new row)。

性能

研究者首先对 Performer 的空间和时间复杂度进行基准测试,结果表明,注意力的加速比和内存减少在实证的角度上近乎最优,也就是说,这非常接近在模型中根本不使用注意力机制的情况。

在以时间(T)和长度(L)为度量的双对数坐标轴中,常规 Transformer 模型的双向 timing。

研究者进一步证明,使用无偏 softmax 近似,该 Performer 模型在稍微进行微调之后可以向后兼容预训练 Transformer 模型,从而在提升推理速度的同时降低能耗,并且不需要从头训练预先存在的模型。

在 One Billion Word Benchmark (LM1B) 数据集上,研究者将原始预训练 Transformer 的权重迁移至 Performer 模型,使得初始非零准确度为 0.07(橙色虚线)。但在微调之后,Performer 的准确度在很少的梯度步数之后迅速恢复。

应用示例:蛋白质建模

蛋白质具有复杂的 3D 结构,是生命必不可少的拥有特定功能的大分子。和单词一样,蛋白质可以被看做线性序列,每个字符代表一种氨基酸。将 Transformers 应用于大型未标记的蛋白质序列语料库,生成的模型可用于精确预测折叠功能大分子。正如该研究理论结果所预测的那样,Performer-ReLU 在蛋白质序列数据建模方面表现良好,而 Performer-Softmax 与 Transformer 性能相媲美。

Performer 在蛋白质序列建模时的性能。

下面可视化一个蛋白质 Performer 模型,该模型使用基于 ReLU 的近似注意力机制进行训练。研究者发现,Performer 的密集注意力近似有可能捕捉到跨多个蛋白质序列的全局相互作用。作为概念的证明,研究者在串联蛋白长序列上训练模型,这使得常规的 Transformer 模型内存过载。但由于具有良好的空间利用效率,Performer 不会出现这一问题。

左:从注意力权重估计氨基酸相似性矩阵。该模型可以识别高度相似的氨基酸对,例如 (D,E) 和 (F,Y)。

Performer 和 Transformer 在长度为 8192 的蛋白质序列上的性能。

随着 Transformer 的频繁跨界,越来越多的研究者开始关注其内存占用和计算效率的问题,比如机器之心前段时间介绍的《抛弃注意力,比 EfficientNet 快 3.5 倍,类 Transformer 新模型跨界视觉任务实现新 SOTA 》。在那篇文章中,研究者提出了一种名为「lambda」的层,这些层提供了一种捕获输入和一组结构化上下文元素之间长程交互的通用框架。类似的改进还在不断涌现,我们也将持续关注。

参考链接:http://ai.googleblog.com/2020/10/rethinking-attention-with-performers.html



欢迎关注我们,看通俗干货!

空间域注意力机制(Spatial Attention) 空间域注意力机制(Spatial Attention)是深度学习中一种重要的注意力机制,用于在处理如图像或视频数据时聚焦于特定区域,以提高模型的性能和效率。举例来说,首先,卷积神经网络处理一张图像,经过特征提取后得到特征图。然后,空间域注意力机制就可以通过计算每个像素点的注意力权重,集中模型的注意力在图像中最重要的区域,例如目标的周围或者有信息丰富的区域。这种机制使得模型能够更有效地处理复杂的视觉任务,提高其性能和泛化能力。 阅读详情

相关推荐

视觉 注意力机制——通道注意力、空间注意力、自注意力

本文介绍注意力机制的概念和基本原理,并站在计算机视觉CV角度,进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。

黎国溥 12万+

【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解

一文带你读懂注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制,超详细的讲解,小白也能看得懂!

路人贾的博客 17万+

pytorch-performer:使用pytorch的Performer简单实现

演员 pytorch Performer的简单实现。 模型 表演者使用随机特征图来近似内核。内核期望取代Transformer的“点积自关注”。 Softmax内核 kernel_transformation=softmax_kernel_transformation. 鲁鲁内核 kernel_transformation=relu_kernel_transformation 测试与范例 语言模型 动力总成 预训练屏蔽语言模型。 预训练文件: /example/train_mlm.py 。 配置文件: /example/config.json 用法 ①准备要训练的数据集和词汇②检查config.json中的配置③运行/example/train_mlm.py 精读 去做 表演者绩效测试 编写测试示例 适用于语言模型 评估语言模型 参考

通俗易懂理解通道注意力机制(CAM)与空间注意力机制(SAM)

通俗易懂理解通道注意力机制(CAM)与空间注意力机制(SAM)

IT菜鸟 12万+

【自动驾驶端到端5:VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning】

从大规模人类驾驶演示中学习类人驾驶策略是有希望的。但是,规划的不确定性使得从驾驶演示中提取驾驶知识是有挑战性的。从统计学习的角度来看,动作(包括实际和速度)是高度随机的,受许多无法建模的潜在因素影响。

weixin_40000560的博客 1406

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

自己挖坑自己填,谷歌大改Transformer注意力,速度、内存利用率都提上去了

点击上方“AI遇见机器学习”,选择“星标”公众号重磅干货,第一时间送达来自 | 机器之心考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。...

weixin_36896856的博客 990

如何使用 Claude Code 搜索 SAP note

当然,Claude Code 自己仍然要有一种合法可用的模型访问方式,例如 Claude 订阅、Anthropic API 或公司配置的模型提供方式,这和 Browser Extension 是两个问题。因为 Claude Code 已经是完整的 MCP Host,而 Microsoft Playwright MCP 又已经明确支持现有 Chrome Session,两者拼起来在技术架构上完全成立。Microsoft Playwright MCP 默认可以创建持久化浏览器 Profile。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 67

谷歌大改Transformer注意力,速度、内存利用率都提上去了-新的 Transformer 架构——Performer

原文地址:https://www.jiqizhixin.com/articles/2020-10-28-10 Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的资源需求量。这一方法超越了注意力机制,甚至可以说为下一代深度学习架构打开了思路。自面世以来,Transformer 模型已经在多个领域取

古月哲亭 971

自动分割和测量混凝土钢筋的思路与原理

该文提出了一种基于PCL库的点云处理系统,用于自动测量混凝土结构中钢筋的几何参数。系统采用多阶段处理流程:首先通过RANSAC算法提取地面并旋转对齐;接着使用区域生长算法分割混凝土结构;然后采用RANSAC线检测识别钢筋,按方向分类;最后通过圆柱拟合和坐标差计算获得钢筋间距、直径和高度差等参数。文章详细介绍了各模块的核心算法,包括地面检测、坐标变换、钢筋识别和几何计算等关键步骤,并分析了主要参数的敏感性。系统通过分层处理和坐标变换确保测量精度,为混凝土结构的无损检测提供了自动化解决方案。

weixin_45196569的博客 682

【软件系统架构】系列六:系统工程

系统工程是一种跨学科方法论,用于分析、设计、集成和管理复杂系统的全生命周期。其核心特点包括系统性思维、全周期管理、跨学科协作和需求导向。主流采用V模型生命周期,涵盖需求分析、系统设计、实现、测试验证及运维退役等阶段。核心工作方法包括需求工程、系统建模、接口设计、风险管理等。系统工程与项目管理协同,分别侧重技术实现和进度资源管理。应用领域覆盖航天军工、智能制造、智慧城市等。未来将向AI融合、数字孪生、模型驱动工程等方向发展,为复杂系统开发提供系统化协作范式。

moton2017的博客 2259

transformer架构_自己挖坑自己填,谷歌大改Transformer注意力,速度、内存利用率都提上去了...

机器之心报道机器之心编辑部考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的...

weixin_39986466的博客 212

多agv系统调度的MATLAB仿真

从起点出发,到货物点领取货物最后到卸货点,以完成任务总时间最短为目标进行单目标优化,约束条件为,任务不冲突,路径不冲突,要能实现路径规避 ,4-6台agv一起工作。左右货架间隔可通过1个agv,上下货架间隔可通过两个agv,通道为双向行驶通道。一台agv只能带一个货物,优化目标为完成任务总的时间最短,agv的速度是匀速,转弯也不会减速,取货物时间为固定值。上面的图里面货物看为正方形跟agv一样的长度大小,agv试做是跟货物一样大小的正方形agv的速度是每秒1个车身。多台agv一起完成...

FPGA/MATLAB学习教程/源码/项目合作开发 7567

空间注意力机制sam_自己挖坑自己填,谷歌大改Transformer注意力,速度、内存利用率都提上去了...

考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。机器之心报道,机器之心编辑部。Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的资源需...

weixin_33508411的博客 529

弥散圆以及最大弥散圆

1弥散圆的形成? 原本景物中的一点应该经过透镜本应该也是一点才对。但是因为离焦,球差的存在,最终成像会投影成一个光斑圆圈。越小越清晰,越大就互相干涉变得越模糊。 同时人们规定二零最大弥散圆,就是人眼能够感受清晰模糊的一个边界,直径大于它,感受到模糊;直径小于它,感受不到模糊。 下面分别是离焦(左),球差(右)。 2弥散圆大小怎么计算呢? ,f为焦距;<1> ,D为光圈有效孔径;<2> F=f/D; <3> 3条公式合并可得出: ...

camerall 3118

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

谷歌大改Transformer注意力,速度大涨,显存大降!

源 | 机器之心导读考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。Transformer 有着巨大的内存和算力需求,因为它构造了一个注...

夕小瑶科技说 3614

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

transformer架构_自己挖坑自己填,谷歌大改Transformer注意力

机器之心报道机器之心编辑部考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的资源需求量...

weixin_39733943的博客 216

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

谷歌 | 大改Transformer注意力,速度、内存利用率都大幅度提升(附源代码)

欢迎关注“计算机视觉研究院”计算机视觉研究院专栏作者:Edison_G长按扫描二维码关注我回复“谷歌”获取源代码简述:Google介绍了Performance,Transformer体系...

gzq0723的博客 684

空间注意力机制sam_自己挖坑自己填,谷歌大改Transformer注意力

机器之心报道机器之心编辑部考虑到 Transformer 对于机器学习最近一段时间的影响,这样一个研究就显得异常引人注目了。Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 Krzysztof Choromanski 等人最近提出的 Performer 模型因为随机正正交特性为注意力矩阵构建了一个无偏的估计量,可以获得线性增长的资源需求量...

weixin_27051161的博客 1670

谷歌自己的坑自己添 | 大改Transformer注意力,最终速度、内存利用率都大幅度提升(附源代码)

欢迎关注“计算机视觉研究院”计算机视觉研究院专栏作者:Edison_G长按扫描二维码关注我回复“谷歌”获取源代码简述:Google介绍了Performance,Transformer体系...

gzq0723的博客 511

图解Transformer | The Illustrated Transformer

写在最前边 看transformer相关文章的时候发现很多人用了相同的图。直到我搜到作者的原文……于是决定翻译一下无删改的原文。 翻译讲究:信、达、雅。要在保障意思准确的情况下传递作者的意图,并且尽量让文本优美。但是大家对我一个理工科少女的语言要求不要太高,本文只能保证在尽量通顺的情况下还原原文。 作者博客:@Jay Alammar 原文链接:The Illustrated Transformer 原文翻译 在之前的文章中,我们讲了现代神经网络常用的一种方法——Attention机制。 本文章我们来介绍

我是菜鸡 5万+

替换Transformer!谷歌提出 Performer 模型,全面提升注意力机制!

点击 机器学习算法与Python学习 ,选择加星标精彩内容不迷路机器之心报道Transformer 有着巨大的内存和算力需求,因为它构造了一个注意力矩阵,需求与输入呈平方关系。谷歌大脑 ...

机器学习算法与Python学习 5569
上一篇: 2840 页的计算机毕业论文,堪比教材,这位华人小哥的博士论文究竟写了啥?...
下一篇: GitHub上 10 个超好看可视化面板
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值