任务通用!清华提出主干网络Flowformer,实现线性复杂度|ICML2022
任务通用是基础模型研究的核心目标之一,同时也是深度学习研究通向高级智能的必经之路。近年来,得益于注意力机制的通用关键建模能力,Transformer在众多领域中表现优异,逐渐呈现出通用架构的趋势。但是随着序列长度的增长,标准注意力机制的计算呈现二次复杂度,严重阻碍了其在长序列建模与大模型中的应用。
为此,来自清华大学软件学院的团队深入探索了这一关键问题,提出了任务通用的线性复杂度主干网络Flowformer,在保持标准Transformer的通用性的同时,将其复杂度降至线性,论文被ICML 2022接受。
作者列表:吴海旭,吴佳龙,徐介晖,王建民,龙明盛
链接:https://arxiv.org/pdf/2202.06258.pdf
代码:https://github.com/thuml/Flowformer
相比于标准Transformer,本文提出的Flowformer模型,具有以下特点:
- 线性复杂度,可以处理数千长度的输入序列;
- 没有引入新的归纳偏好,保持了原有注意力机制的通用建模能力;
- 任务通用,在长序列、视觉、自然语言、时间序列、强化学习五大任务上取得优秀效果。
1. 问题分析
标准的注意力机制输入包含queries(),keys()和values()三部分,,其计算方式如下:其中为注意力权重矩阵,最终计算结果为将进行加权融合所得,上述过程计算复杂度为。注意到,对于多项矩阵的连乘问题,在经典算法中已有较多研究。特别地,对于注意力机制,我们可以利用矩阵乘法的结合律来实现优化,如,即可将原本的二次复杂度降至线性。但是注意力机制中的函数使得无法直接应用结合律。因此,如何移除注意力机制中的函数是实现线性复杂度的关键。但是,近期的众多工作证明,函数在避免平凡注意力学习上起到了关键性作用。综上,我们期待一种模型设计方案,实现以下目标:(1)移除函数;(2)避免平凡注意力;(3)保持模型的通用性。
2. 动机
针对目标(1),在之前的工作中,往往使用核方法来替代函数,即通过近似注意力计算(为非线性函数),但直接去掉会造成平凡注意力。为此,针对目标(2),之前工作不得不引入一些归纳偏好,这限制了模型的通用性,因此不满足目标(3),比如cosFormer中的局部性假设等。
Softmax中的竞争机制
为满足上述目标,我们从的基本性质出发进行分析。我们注意到,最初被提出是用于:将「赢者通吃」的取极大值操作扩展为可微分形式。因此,得益于其内在的「竞争」机制,它可以使各个token之间的注意力权重差异化,从而避免了平凡的注意力的问题。基于以上考虑,我们试图将竞争机制引入注意力机制设计,从而避免核方法分解带来平凡注意力问题。
网络流中的竞争机制
我们关注到在图论中的经典网络流(Flow network)模型中,「守恒」(Conservation)是一个重要现象,即每个节点的流入量等于流出量。受到「固定资源情况下,必定引起竞争」的启发,在本文中,我们试图从网络流视角重新分析经典注意力机制中的信息流动,并通过守恒性质将竞争引入注意力机制设计,以避免平凡注意力问题。
3. Flowformer
3.1 网络流视角下的注意力机制
在注意力机制内部:信息流动可以表示为:从源(source,对应)基于学习到的流容量(flow capacity,对应注意力权重)汇聚至汇(sink,对应)。
在注意力机制外部,源(v)的信息来自于上一层网络,汇(R)的信息也将提供给下面的前馈层。
3.2 Flow-Attention
基于上述观察,我们可以通过分别从流入和流出两个角度,控制注意力机制与外部网络的交互,来实现「固定资源」,从而分别引起源和汇内部的竞争,以避免平凡注意力。不失一般性,我们将注意力机制与外部网络的交互信息量设置为默认值1.
(1)汇(R)的流入守恒:
不难得到,未经过守恒之前,对于第个汇,其流入的信息量为:。为了固定每个汇流入的信息量为单位1,我们将
作为归一化引入信息流(注意力权重)的计算。经过归一化之后,第个汇的流入信息量为:
此时,由于汇的流入守恒,各个源(V)之间存在天然的竞争关系,我们计算此时每个源(V)给出的信息量,即可得到:竞争情况下,每个源所提供的信息量,这也代表着每个源的重要性。
(2)源(V)的流出守恒:与前述过程类似,未经过守恒之前,对于第个源,其流出的信息量为:。为了固定每个源流出的信息量为单位1,我们将作为归一化引入信息流(注意力权重)的计算。经过归一化之后,第j个源的流出信息量为:
。此时,由于源的流出守恒,各个汇()之间存在天然的竞争关系,我们计算此时每个汇()接受的信息量,即可得到:竞争情况下,每个结果所需要最终所接受的信息量。
(3)整体设计
基于上述结果,我们设计如下Flow-Attention机制,具体包含竞争(Competition)、聚合(Aggregation)、分配(Allocation)三部分:其中Competition将竞争机制引入中,突出重要的信息;Aggregation基于矩阵结合律实现线性复杂度;Allocation通过将竞争机制引入,控制传递到下一层的信息量。上述过程中的所有操作均为线性复杂度。同时,Flow-Attention的设计仅仅依赖于网络流中的守恒原理,对信息流的重新整合,因此并没有引入新的归纳偏好,保证了模型的通用性。将标准Transformer中的二次复杂度Attention替换为Flow-Attention,即得到了Flowformer。
4. 实验
本文在标准数据集上进行了广泛的实验:
- 覆盖了长序列、视觉、自然语言、时间序列、强化学习五大任务;
- 考察了标准(Normal)和自回归任务(Causal)两种注意力机制类型。
- 涵盖了多种序列长度的输入情况(20-4000)。
- 对比了各领域经典模型、主流深度模型、Transformer及其变体等多种基线方法。
如下表所示,Flowformer在五大任务上均表现优秀,验证了模型的通用性。详细实验结果请见论文。
5. 分析
为了进一步说明Flowformer的工作原理,我们对ImageNet分类任务中的注意力(对应Flow-Attention中的)进行了可视化实验,从中可以发现:
- 如果仅仅使用核方法进行分解,如Linear Transformer,会造成模型注意力分散,无法有效捕捉到关键区域;
- 经典Transformer和Flowformer均可以准确捕捉到图像的关键位置,但是后者在计算复杂度上具有优势;
- cosFormer在注意力机制中引入一维局部性假设,在语言任务上效果突出。但是在图像(将2D数据展开成1D序列)中,如果不将局部性假设扩展至二维,则无法适配视觉任务。这也印证了Flowformer中「没有引入新的归纳偏好」设计方式的优势。
上述可视化表明,通过Flow-Attention将竞争引入注意力机制设计可以有效避免平凡注意力。更多可视化实验可见论文。
6. 总结
本文提出的Flowformer通过将网络流中的守恒原理引入设计,自然地将竞争机制引入到注意力计算中,有效避免了平凡注意力问题,在实现线性复杂度的同时,保持了标准Transformer的通用性。Flowformer在长序列、视觉、自然语言、时间序列、强化学习五大任务上取得优秀效果。此外,Flowformer中「无特殊归纳偏好」的设计理念也对通用基础架构的研究具有一定的启发性。在未来工作中,我们将进一步探索Flowformer在大规模预训练上的潜力。
以上是任务通用!清华提出主干网络Flowformer,实现线性复杂度|ICML2022的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

想象一下,一个人工智能模型,不仅拥有超越传统计算的能力,还能以更低的成本实现更高效的性能。这不是科幻,DeepSeek-V2[1],全球最强开源MoE模型来了。DeepSeek-V2是一个强大的专家混合(MoE)语言模型,具有训练经济、推理高效的特点。它由236B个参数组成,其中21B个参数用于激活每个标记。与DeepSeek67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

AI,的确正在改变数学。最近,一直十分关注这个议题的陶哲轩,转发了最近一期的《美国数学学会通报》(BulletinoftheAmericanMathematicalSociety)。围绕「机器会改变数学吗?」这个话题,众多数学家发表了自己的观点,全程火花四射,内容硬核,精彩纷呈。作者阵容强大,包括菲尔兹奖得主AkshayVenkatesh、华裔数学家郑乐隽、纽大计算机科学家ErnestDavis等多位业界知名学者。AI的世界已经发生了天翻地覆的变化,要知道,其中很多文章是在一年前提交的,而在这一

波士顿动力Atlas,正式进入电动机器人时代!昨天,液压Atlas刚刚「含泪」退出历史舞台,今天波士顿动力就宣布:电动Atlas上岗。看来,在商用人形机器人领域,波士顿动力是下定决心要和特斯拉硬刚一把了。新视频放出后,短短十几小时内,就已经有一百多万观看。旧人离去,新角色登场,这是历史的必然。毫无疑问,今年是人形机器人的爆发年。网友锐评:机器人的进步,让今年看起来像人类的开幕式动作、自由度远超人类,但这真不是恐怖片?视频一开始,Atlas平静地躺在地上,看起来应该是仰面朝天。接下来,让人惊掉下巴

1、检查wifi密码:确保自己输入的wifi密码是正确的,注意区分大小写。2、确认wifi是否正常工作:检查wifi路由器是否正常运行,可将其他设备连接至同一路由器,以确定问题是否出在设备上。3、重启设备和路由器:有时候,设备或路由器出现故障或网络问题,重启设备和路由器可能会解决问题。4、检查设备设置:确保设备无线功能处于开启状态,并且未将wifi功能禁用。

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

谷歌力推的JAX在最近的基准测试中性能已经超过Pytorch和TensorFlow,7项指标排名第一。而且测试并不是在JAX性能表现最好的TPU上完成的。虽然现在在开发者中,Pytorch依然比Tensorflow更受欢迎。但未来,也许有更多的大模型会基于JAX平台进行训练和运行。模型最近,Keras团队为三个后端(TensorFlow、JAX、PyTorch)与原生PyTorch实现以及搭配TensorFlow的Keras2进行了基准测试。首先,他们为生成式和非生成式人工智能任务选择了一组主流

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP
