Abstract
Transformer 的出现标志着序列建模的重大突破,提供了一种能够利用GPU并行性的高性能架构。然而,在推理时, Transformer 在计算上代价高昂,限制了它们的应用,特别是在资源有限的设置中(例如,移动和嵌入式设备)。针对这一点,作者(1)首先展示了注意力可以被看作是一种特殊的循环神经网络(RNN),具有高效计算其“多对一”RNN输出的能力。
然后作者(2)展示了流行的基于注意力的模型,如 Transformer ,可以被看作是RNN的变体。然而,与传统RNN(例如LSTMs)不同,这些模型不能有效地用新标记更新,这是序列建模中的一个重要属性。为了解决这个问题,作者(3)引入了一种基于并行前缀扫描算法计算注意力的“多对多”RNN输出的新高效方法。在新的注意力公式基础上,作者(4)引入了Aaren ,一个基于注意力的模块,它不仅可以(i)像 Transformer 一样并行训练,而且还可以(ii)有效地用新标记更新,推理时只需要常数内存(像传统RNN一样)。从经验上,作者展示了Aaren在四个流行的序列问题设置(强化学习、事件预测、时间序列分类和时间序列预测任务)中的38个数据集上与 Transformer 取得了相当的性能,同时更加节省时间和内存。
1 Introduction
序列建模领域的进步具有深远影响,因为其应用范围广泛,包括强化学习(例如,机器人和自动驾驶)、时间序列分类(例如,金融欺诈检测和医疗诊断)以及时间序列预测(例如,天气和能源消耗预测)。在过去的几年里,基于Transformer的模型(Vaswani et al., 2017)在序列建模中得到了广泛探讨。这是因为Transformer性能强大并能利用GPU并行处理。因此,针对各种序列设置,如强化学习(Agarwal et al., 2023; Li et al., 2023)、时间序列(Lin et al., 2022; Jiang et al., 2024)和语音处理(Latif et al., 2023),已经撰写了许多Transformer专题的调查论文。
随着低资源领域(如电池供电设备)的快速增长,这些领域部署的模型在计算上必须高效。然而,Transformer在内存和计算上呈二次方扩展,成本较高。尽管可以使用诸如KV缓存(Pope et al., 2023)等技术提高推理时的效率,但Transformer在低资源领域仍然成本高昂,因为它们需要(1)与 Token 数量成线性的内存以及(2)将所有先前 Token 缓存到模型中。在具有长上下文(即大量 Token )的设置中,这些限制的影响尤为严重,如时间序列(例如,气候学和经济)中常见的情况。
为了解决这个问题,作者首先研究了注意力组件,它是导致Transformer计算复杂度呈二次方增长的原因。作者展示了(1)注意力可以被视为一种特殊的循环神经网络(RNN),具有高效计算其多对一RNN输出的能力。利用注意力的RNN公式,作者(2)展示了流行的基于注意力的模型(例如,Transformers和Perceivers)可以被视为RNN。然而,与LSTMs(Hochreiter和Schmidhuber, 1997)和GRUs(Cho et al., 2014)等传统RNN不同,这些基于注意力的模型无法有效地与新 Token 进行更新,这在数据以流形式处理的序列问题设置中是一个重要属性。
为了解决这个问题,作者(3)基于并行前缀扫描算法(Blelloch, 1990)引入了一种新的注意力公式,该算法可以高效地计算注意力的多对多RNN输出。基于这种新的注意力公式,作者(4)引入了Aaren (**[A]**ttention **[a]**s a **[re]**current neural **[n]**etwork),这是一个计算高效的模块,它不仅可以(i)像Transformer一样并行训练,而且还可以(ii)有效地与新 Token 更新,只需要常数内存进行推理(像传统RNN一样)。从经验上,作者展示了Aaren在四个流行的序列数据设置中,包括强化学习、事件预测、时间序列分类和时间序列预测任务上的38个数据集上与Transformer性能相当,同时更加节省时间和内存。
Recurrent Neural Networks
循环神经网络(RNNs)是专门用于序列建模的模型。简而言之,RNNs通过迭代计算隐藏状态来处理序列数据,如下所示:
其中表示步骤索引,代表一个标记,代表隐藏状态,是一个由参数化的神经网络。初始隐藏状态的值通常通过反向传播学习得到。流行的RNNs,如LSTMs(Hochreiter和Schmidhuber, 1997)和GRUs(Cho等人,2014),将隐藏状态的大小固定为一个常数,与步骤索引无关。因此,这些模型在测试时效率很高,每个标记只需要恒定的内存和时间,并且可以轻松地用新标记更新,这是序列建模中的一个重要属性。然而,由于设计上的迭代性,这些流行的RNNs也因缺乏并行性而受到可扩展性问题的困扰。因此,在许多序列建模设置中,RNNs被替换为可并行化的基于注意力的模块,即Transformers(Vaswani等人,2017)。
Attention
注意力从一组上下文标记中检索给定 Query 标记集的信息,如下所示:
其中是 Query 矩阵,是键矩阵,是值矩阵。是权重矩阵(学习参数)。计算上下文标记的加权平均权重。值得注意的是,与RNN不同,注意力不是设计为迭代的;相反,它是为了容易利用GPU并行性而设计的。Transformer(Vaswani等,2017)使用自注意力1,这是注意力的一种特殊情况,其中 Query 标记与上下文标记相同。然而,自注意力需要关于标记数量的二次计算,并且不能有效地与新标记一起更新。因此,Transformer在计算上成本较高,限制了它们在低资源领域的应用。
3 Methodology
针对这一问题,作者提出了一个高效的基于注意力的模块,该模块能够利用GPU并行性,同时在更新时保持高效。首先,在3.1节中,作者展示注意力可以被看作具有特殊能力计算其“多对一”RNN(图1(a))输出的RNN。利用注意力的RNN公式,作者进一步展示,流行的基于注意力的模型,如图 Transformer (图1(b))和感知器(图1(c)),也可以被视为RNN。然而,与传统RNN不同,这些模型无法在引入新标记时高效地更新自身,这在数据作为流式到达的序列问题设置中限制了它们的应用潜力。为了解决这个问题,作者在3.2节中提出了一种基于并行前缀扫描算法计算“多对多”RNN注意力的有效方法。在此基础上,作者在3.3节中介绍了**Aaren [A]注意力[a]**作为一个[**re]**current neural [**n]**etwork),这是一个在计算上高效的模块,它不仅可以(i)像 Transformer 一样并行训练,而且(ii)在推理时可以高效地引入新标记,推理时只需要恒定的内存(像传统RNN一样)。
Attention as a (many-to-one) RNN
Query 向量 的注意力可以被视为一个函数,该函数通过其键和值 将 个上下文标记 映射到单一的输出 。给定 ,输出 可以表示为:
图1:作为 多对一 RNN的注意力。 Query 标记是RNN的初始隐藏状态。(a) 计算注意力的传统方法只计算其最终输出。因此,它可以被视为一种计算注意力 多对一 RNN输出的方法。(b) Transformer的自注意力 (Vaswani et al., 2017) 使用输入标记作为初始隐藏状态。(c) Perceiver的交叉注意力 (Jaegle et al., 2021) 使用输入相关的潜在变量作为初始隐藏状态。
其中分子是 ,分母是 。将注意力视为RNN,作者可以将它们递归地计算为滚动和 和 对于 。然而,在实践中,这是一个不稳定的实现,由于有限的精度表示而遇到数值问题,以及可能非常小或大的指数(即 )。为了缓解这个问题,作者用累积最大项重新编写递推关系,转而计算 和 。值得注意的是,最终结果相同 。
因此,、 和 以下面的方式递归地计算:
将观看注意力视为现有模型的RNN所面临的挑战。
然而,当作者将现有的基于注意力的模型(如Transformers)视为RNN时,这些模型缺乏传统RNN(如LSTMs和GRUs)中常见的重要属性。值得注意的是,LSTMs和GRUs能够有效地用新标记更新自身,只需
常数级的内存和计算,这对于序列建模来说是一个重要的特性,因为在序列建模中数据是按流接收的。相比之下,Transformer的RNN视角(见图1(b))通过添加一个以新标记为其初始状态的新RNN来处理新标记。这个新RNN处理所有之前的标记,需要
线性计算(标记的数量)。在Perceiver中,潜在变量(图1(c)中的
)由于其架构是输入依赖的,这意味着在接收到新标记时它们的值会改变。由于它们的RNN的初始隐藏状态(即潜在变量)发生变化,因此Perceiver将需要从零开始重新计算它们的RNN,这需要
线性计算,其中涉及标记的数量(
)和潜在变量的数量(
)。
Attention as a (many-to-many) RNN
针对这些限制,作者提出开发一个基于注意力的模型,该模型能够利用RNN公式进行有效更新的能力。为此,作者首先引入了一种计算注意力的有效并行化方法,作为一个“多对多”RNN,即一种并行方法来计算 。为此,作者利用了并行前缀扫描算法(Blelloch, 1990)(参见算法1),这是一种通过关联运算符 从 个顺序数据点计算 个前缀计算的并行计算方法。该算法从 高效地计算 。
回想一下 ,其中 ,,以及 。为了高效地计算 ,作者可以通过并行扫描算法计算 ,,和 ,之后结合 和 来计算 。
为此,作者提出了以下关联运算符 ,它作用于形如 的三元组,其中 是一个索引集合,,,以及 。并行扫描算法以输入 。该算法递归应用运算符 ,其工作原理如下:。
其中 , 和 。在递归应用该运算符完成后,算法输出 。这也被称为 。结合输出元组的最后两个值,作者得到 ,从而高效地并行计算 attention 作为一种多对多的 RNN(图3)。
Attention as a Recurrent Neural Network
利用注意力机制的并行多对多公式,作者提出了Aaren作为一个循环神经网络。Aaren的接口与Transformer相同,将个输入映射到个输出,其中第个输出是第个到第个输入的总和。因此,Aaren也(1)自然可堆叠和(2)能够为每个序列标记计算单独的损失项。然而,与使用因果自注意力的Transformers不同,Aaren使用前面提到的方法计算注意力,作为一个多对多的RNN,使其更加高效。Aaren的工作原理如下:
与Transformers中的 Query 是注意力输入标记之一不同,Aaren的 Query 标记是通过反向传播在训练过程中学习的。在图4中,作者包括了一个堆叠的Aaren模型示例,带有输入上下文标记和输出。值得注意的是,由于Aaren利用了注意力的RNN公式,Aarens的堆叠也就是RNN的堆叠。因此,Aarens也能有效地用新标记进行更新,即的迭代计算只需要常数计算,因为它只依赖于和。与基于Transformer的模型(1)需要线性内存(当使用KV缓存时)和(2)需要存储所有之前的标记,包括中间Transformer层的标记不同,基于Aaren的模型(1)只需要常数内存和(2)不需要存储所有之前的标记,这使得Aarens在计算效率上显著优于Transformers。实验
作者实验的目标是在(1)性能和(2)所需资源(时间和内存)方面将Aarens与Transformers进行比较。为了进行全面的比较,作者在四个问题设置上进行了评估:强化学习、事件预测、时间序列预测和时间序列分类。
数据集。 总的来说,作者在个数据集上评估了Aarens和Transformers,其中大部分是现实世界的数据集。这些数据集根据问题设置分为以下几类:个强化学习数据集,个事件预测数据集,个时间序列预测数据集,以及个时间序列分类数据集。对于每个数据集,模型使用个不同的随机种子进行评估。由于篇幅限制,作者请读者参考附录C中关于各个数据集的描述。
模型。 为了直接比较Aarens和Transformers,作者在领域特定的Transformer模型中将Transformers替换为Aarens。对于强化学习,作者在Decision Transformer(Chen等人,2021年)上进行了比较。对于事件预测,作者在Transformer Hawkes Process(Zuo等人,2020年;Bae等人,2023年)上进行了比较。对于时间序列预测,作者在遵循Liu等人(2022年)的输入归一化的Transformer上进行了比较;对于时间序列分类,作者在遵循Wu等人(2023年)库的vanilla因果Transformer上进行了比较。
实现细节。 实验使用流行仓库中的数据集和Transformer实现进行。更具体地说,与Decision Transformer一起进行的强化学习实验是在Barhate(2022年)的代码上运行的。时间序列预测和时间序列分类实验是在Wu等人(2023年)的Time Series Library仓库上运行的。事件预测实验是在Bae等人(2023年)的代码上运行的。由于Transformers和Aarens具有相同的接口,并且都是基于注意力的方法,它们共享同一组超参数。为了公平起见,Transformers和Aarens使用相同的超参数。由于篇幅限制,具体的超参数细节包含在附录E4中。
在这些实验中,作者在强化学习(RL)上比较了Aarens和Transformers。在RL中,模型在训练过程中的目标是学习一种策略,通过在环境中进行尝试和错误互动来从反馈/奖励中学习。因此,RL在诸如机器人、推荐引擎和交通控制等互动设置中很受欢迎。对于这些实验,作者考虑了Decision Transformers(Chen等人,2021年),这是一种在离线方式下在环境互动数据集上训练策略的流行方法。在测试时,Decision Transformers以在线方式进行评估。
作者在D4RL基准测试(Fu等人,2020年)中流行的运动机器人环境中进行评估:半猎豹、蚂蚁、跳蚤和步行者。对于每个运动环境,作者将模型在三种不同数据集上的训练效果进行比较:中等、中等-重放和中等-专家。这些数据集每一个都包含由一个策略生成的100万个时间步。总共,作者在12个RL数据集上比较模型性能。关于单个任务的更多细节,请读者参考附录C.1。表1的结果显示,Aarens在所有12个数据集和四个环境中的性能与Transformer相当。然而,与Transformer不同,由于Aarens也是一种RNN,它能有效地在恒定计算时间内处理新的环境交互,这使得它更适合强化学习。
Event Forecasting
在这些实验中,作者比较了Aarens与Transformers在事件预测(EF)方面的表现。在EF中,模型被给定一个时间上不规则间隔的离散事件序列,并建模下一个事件时间和其标记(即事件标签/类别)的概率分布。EF在许多现实世界场景中都很受欢迎,如金融(例如,交易)、医疗保健(例如,患者观察)和电子商务(例如,购买),在这些场景中,用户或系统动作在时间上不规则发生。
为了进行比较,作者将Transformers Hawkes Process (Zuo et al., 2020)中的Transformers替换为Aarens。遵循Bae et al. (2023)的方法,作者使用对数正态分布的混合来建模下一个事件时间的概率分布。
对于这个设置,作者考虑了8个流行的用于下一个事件预测的基准数据集(Zhang et al., 2020; Zuo et al., 2020; Bae et al., 2023):MIMIC、Wiki、Reddit、Mooc、StackOverflow、Sin、Uber和Taxi。其中8个中的7个是真实世界的数据集,而只有Sin是合成数据集。
8个数据集中的3个(Sin、Uber和Taxi)不包含标记/标签。关于各个数据集的详细信息,请读者参考附录C.2。表2的结果显示,Aarens在所有数据集上的表现与Transformers相当。Aarens高效处理新输入的能力在事件预测设置中尤其有用,因为在这种设置中,事件以不规则的流形式到达。
Time Series Forecasting
在这些实验中,作者比较了Aarens与Transformers在时间序列预测(TSF)方面的表现。在TSF中,模型被赋予一系列时间上连续信号观察值。模型的目标是预测序列未来的个值。TSF模型广泛应用于包括气候(如天气)、能源(如供需)和经济(如股票价格)在内的多个领域。为了进行比较,作者考虑了遵循Liu等人(2022年)的因果掩蔽Transformer,并进行了输入归一化处理。对于这个设定,作者考虑了之前工作中使用的8个真实世界数据集:Weather、Exchange、Traffic、ECL、ETTh1、ETTh2、ETTm1和ETTm2。关于各个数据集的详细信息,作者请读者参考附录C.3。按照Wu等人(2023年)的方法,在给定输入长度为的情况下,模型在上进行评估。由于篇幅限制,表3仅包括的结果。作者请读者参考附录D中的表5以获取完整结果。表3的结果表明,Aarens在所有数据集上的表现与Transformers相当。然而,与Transformers不同,Aarens高效处理时间序列数据,使其更适合时间序列相关领域。
时间序列分类
在这些实验中,作者还比较了Aarens与Transformers在时间序列分类(TSC)方面的表现。在TSC中,模型的目标是预测时间序列的标签。这种设置在许多重要应用中很常见,如模式识别(例如,心电图)、异常检测(例如,银行欺诈)或故障预测(例如,电力网波动)(Dinger等人,2022年)。对于这个设定,作者考虑了来自UEA时间序列分类档案(Bagnall等人,2018年)的10个真实世界流行数据集:EthanolConcentration、FaceDetection、Handwriting、Heartbeat、JapaneseVowels、PEMS-SF、SelfRegulationSCP1、SelfRegulationSCP2、ArabicDigits和UWaveGesture。关于各个数据集的详细信息,作者请读者参考附录C.4。在表4中,作者可以看到Aarens在所有数据集上的表现与Transformers相当。
Analyses
在这些实验中,作者比较了Aarens与Transformers在资源需求方面的表现。为此,作者使用了Barhate(2022)的代码。对于Transformers,作者使用KV缓存来提高其效率。
内存复杂性: 在图5(左)中,作者比较了Aarens和采用KV缓存的Transformers在推理过程中的内存使用情况。作者看到,使用KV缓存技巧的Transformers的内存使用随时间线性增长。相比之下,Aarens无论 Token 数量多少,只使用常数 Level 的内存,使其效率显著提高。
时间复杂性: 在图5(右)中,作者比较了Aarens和采用KV缓存的Transformers顺序处理一系列 Token 所需的累计时间。在Transformers的情况下, Token 数量与累计计算量呈二次关系,即。相比之下,对于Aaren,累计计算量是线性的。在图中,作者可以看到模型所需的累计时间有类似的结果。具体来说,Transformers的累计时间随 Token 数量呈二次增长,而Aaren的累计时间则呈线性增长。
参数数量: 由于学习初始隐藏状态,Aaren模块需要比Transformer模块稍微多一些参数。然而,由于只是一个向量,这种差异是微不足道的。在可比较的模型中,作者实证测量到Transformers使用了个参数。相比之下,等效的Aarens使用了个参数,只增加了约的参数量——这是在内存和时间复杂性方面获得显著收益的微小权衡。
5 Related Work
接近Aaren 的是诸如RWKV(Peng等人,2023年)、RetNet(Sun等人,2023年)和Linear Transformer(Katharopoulos等人,2020年)的注意力近似方法。这些模型提出了基于标准softmax注意力的线性化方法,使它们能够被表述为RNN。然而,这样做的同时,这些模型也编码了一个指数因子,该因子根据标记的时间戳对标记进行偏置,限制了它们潜在的应用。相比之下,Aaren 利用了将softmax注意力精确重构成RNN的方法,使得模型本身能够计算每个标记的权重。
Feng等人(2023年)表明注意力可以通过递归方式计算,并使用它来压缩基于集合的输入。Rabe和Staats(2022年)引入了注意力的递归表述,表明自注意力可以高效地计算。Katharopoulos等人(2020年)表明,带有因果 Mask 的Transformer可以被视为RNN。相比之下,作者(1)展示了更一般的结果,即任何注意力模型都可以被视为RNN。此外,作者(2)引入了Aaren ,这是一种基于并行前缀和的新注意力表述,它在与Transformer相当的结果上实现了更高的效率。
计算前缀扫描/和的问题已经得到了很好的研究,提出了各种有效的并行化算法来计算它们。由于Aaren 只需要前缀扫描的输出,任何计算它的有效算法都可以使用。在这项工作中,作者概述了Hillis和Steele(1986年)的方法。这种方法在并行计算中时间效率高,需要个顺序步骤和的整体计算。相比之下,Ladner和Fischer(1980年)的方法使用了更多的顺序步骤(具体来说,),但只进行了的整体计算。关于并行前缀和算法的更深入介绍,作者推荐读者阅读Blelloch(1990年)的后续工作。
在这项工作中,作者将Transformer应用于一个子集的应用。对于Transformer应用的广泛概述,作者推荐读者阅读Islam等人(2023年)的后续调查。对于应用于本文考虑的具体设置的不同的Transformer模型的概述,作者推荐读者阅读以下调查:(1)关于强化学习中的Transformer,由Li等人(2023年)进行;(2)关于事件预测、时间序列预测、时间序列分类等,由Wen等人(2022年)进行。
6 Conclusion
在本工作中,作者展示了注意力可以被视为一个递归神经网络(RNN),而传统的计算注意力的方式是一种并行的计算其“多对一”RNN输出的方法。基于RNN公式,作者展示了现有的基于注意力的模型可以被视为RNN。然而,与传统的LSTM和GRU等RNN不同,这些方法不能有效地用新标记更新。为此,作者引入了一种基于并行前缀扫描算法的新的并行计算注意力的“多对多”RNN输出的方法。基于新的注意力公式,作者引入了Aaren ,一个新的模块,它不仅可以(i)像Transformers一样并行训练,而且(ii)在推理时可以有效地更新,因此只需要常数级的内存(像RNN一样)。从实验上,作者展示了Aarens在分布四个连续数据设置(强化学习、事件预测、时间序列分类和时间序列预测)的个数据集上的性能与Transformers相当。最后,作者从实验上证明了Aarens在时间和内存效率上显著优于Transformers。
Appendix A Block-by-block method of computing attention as a (many-to-one) RNN.
在主论文中,作者提到了计算注意力的多种方式:(1)传统方式(即并行),需要线性内存;(2)像RNN那样逐token递归计算,只需要常数内存。在这两种方法之间,还有第三种方法,它以下面的方式逐块计算注意力:
其中是一个控制数据处理速度的块大小。以这种方式计算注意力需要内存,其中是一个超参数。通过设置,作者可以恢复处理token一对一的RNN公式,即使用前一个时间步的,,来计算,,。
Appendix B Parallel Prefix Scan's Operator
在本工作中,作者提出了基于并行前缀扫描算法的将注意力公式化为一个“多对多”的RNN。为此,作者定义了一个结合律运算符 ,在算法过程中递归应用。在本节中,作者将展示该运算符的正确性,并证明它满足结合性质。
运算符 作用于形如 的三元组,其中 是一个索引集合,,,以及 。运算符 的作用如下:
其中:
Correctness Proof
为了验证算子的正确性,作者需要证明:,,以及。
展开计算:
展开计算:
展开计算:
从而得到所需的,,以及。
Associative Proof
为了使运算符 适用于并行扫描算法,运算符 必须满足结合性质,即,。
由于详细运算符应用于形式为 的 -元组,如下所示:
因此,证明 是结合的意味着:
由于 是作用于集合的结合运算符,即,,因此 ,,且 ,意味着 满足了所需的结合性质。
Reinforcement Learning
作者用于强化学习实验的代码基于Barhate(2022年)的代码(MIT许可证)。在这些实验中,作者考虑了在深度强化学习领域流行的MuJoCo机器人运动环境(Apache 2.0许可证):
- HalfCheetah是一个两足的2-d机器人,包括一个 Head 、水平的躯干、两个大腿、两个小腿和两只脚。
- Ant是一个3-d的四足机器人,包括一个躯干和四条腿(每条腿2部分)。
- Hopper是一个单足的2-d机器人,包括一个躯干、大腿、小腿和脚。
- Walker(2D)是一个两足的2-d机器人,包括一个垂直的躯干、两个大腿、两个小腿和两只脚。
作者实验中使用的数据集来自D4RL(Fu等人,2020年)(Apache 2.0许可证):
- Medium是由预训练的Soft Actor-Critic策略(Haarnoja等人,2018年)生成的数据集,该策略在训练过程中提前停止。
- Medium-Expert是一个由专家演示和次优演示各占一半组成的数据集。
- Medium-Replay是由训练中等策略时的重放缓冲区中的样本组成的数据集。
Event Forecasting 2024-05-24-02-33-15
作者的事件预测实验和数据集代码基于Bae等人(2023年)的工作(采用CC BY-NC-SA 4.0许可)。在这些实验中,作者考虑了之前工作中使用的个数据集(Bae等人,2023年;Zhang等人,2020年;Zuo等人,2020年)。
其中个数据集包含标记/标签:
- MIMIC(MIMIC-II)是一个基于电子医疗记录系统的数据集,包含匿名患者的临床访问记录。
- Wiki是一个基于维基百科的数据集,包含对编辑次数最多的页面的操作。
- Reddit是一个基于社交媒体平台的数据集,包含最活跃用户的行为。
- Mooc是一个基于在线课程的数据集,包含各种用户执行的动作序列。
- StackOverflow是一个基于问答网站的数据集,包含用户奖励。
另外个数据集不包含标记/标签:
- Sin是一个合成数据集,由周期为、域为的正弦函数生成。
- Uber是一个基于2015年Uber纽约市接客数据的数据集。
- Taxi是一个基于2013年纽约市出租车接客数据的数据集。
Time Series Forecasting 2024-05-24-02-33-15
作者的时间序列预测实验代码基于Wu等人(2023年)的Time series Library仓库(MIT许可证)。对于这些实验,作者考虑了Time Series Library仓库中可用的个流行数据集:
- Weather是一个包含2020年每10分钟记录一次的气象指标的 数据集。
- Exchange是一个包含1990年至2016年8个国家(澳大利亚、英国、加拿大、瑞士、中国、日本、新西兰和新加坡)的每日汇率的数据集。
- Traffic是一个包含旧金山湾区高速公路条车道的每小时占用率的数据集。
- ECL是一个包含个客户电力消耗的数据集。
- ETT(h1、h2、m1和m2)是包含两个电站 Transformer 数据的数据集,其中“h”表示每小时测量,“m”表示分钟级测量。
Time Series Classification
作者的时间序列分类实验代码基于Wu等人(2023年)的Time series Library仓库(MIT许可证)。对于这些实验,作者考虑了Time Series Library仓库中可用的10个UEA数据集(Bagnall等人,2018年):
- EthanolConcentration是一个关于威士忌瓶及其酒精浓度的原始光谱记录数据集。
- FaceDetection是一个关于MEG(磁电图)记录及其类别标签(人脸或打乱)的数据集。
- Handwriting是在书写时从智能手表获取的测量数据集。
- Heartbeat是基于2016年PhysioNet/Computing in Cardiology挑战的心音记录数据集。
- JapaneseVowels是关于日本男性元音发音记录的数据集。
- PEMS-SF是描述加州交通部PEMS(性能测量系统)网站上旧金山湾区高速公路车道的占用率的数据集。
- SelfRegulationSCP1是一个关于健康受试者皮质电位记录的数据集。
- SelfRegulationSCP2是一个关于人工呼吸ALS(肌萎缩侧索硬化)患者皮质电位记录的数据集。
- SpokenArabicDigits是来自44名男性和44名女性阿拉伯母语者的十个口语阿拉伯数字记录的数据集。
- UWaveGestureLibrary是八个手势的加速度计测量数据集。
Full Time Series Forecasting Results
在时间序列预测中,模型的目的是预测序列未来的 个值。遵循之前的工作(Wu等人,2023年)的标准,作者在 上进行了评估。然而,由于篇幅限制,主论文中只包含了 的结果。在这里,表5中作者包含了全部结果。作者看到,对于所有 的值,Aarens 在所有数据集上的表现与Transformers相当。然而,与Transformers不同,Aarens 可以有效地处理新输入,这使得它在诸如时间序列相关的这种顺序设置中更具优势。
Appendix E Hyperparameters + Implementation Details
由于Transformers和Aarens具有相同的接口并且都是基于注意力的方法,它们共享同一组超参数。为了公平起见,Transformers和Aarens都使用了相同的超参数。它们各自设置的具体超参数如下:
强化学习。 对于这些实验,作者发现郑等人(2022年)使用的超参数性能优于默认的Decision Transformers超参数。因此,这些实验使用了郑等人(2022年)的超参数,即嵌入维度为,个注意力头和个Transformers/Aarens块。
事件预测。 对于这些实验,使用了Bae等人(2023年)仓库中的默认超参数(学习率除外)。作者发现默认的学习率值会导致过早地收敛到较差的局部最优。因此,将学习率设置为。
时间序列预测。 对于这些实验,使用了时间序列库仓库(Wu等人,2023年)中的默认Transformers超参数。
时间序列分类。 对于这些实验,使用了时间序列库仓库(Wu等人,2023年)中的默认Transformers超参数。
Appendix F Compute
作者的实验是在Nvidia GTX 1080 Ti(12 GB)和Nvidia Tesla P100(16 GB)GPU的混合配置上运行的。分析是在Nvidia GTX 1080 Ti(12 GB)上进行的。
强化学习实验所需时间大致相同:每个实验大约需要小时。
事件预测实验的时间根据数据集而有所不同:
- MIMIC耗时小时
- Wiki耗时小时
- Reddit耗时小时
- Mooc耗时小时
- StackOverflow耗时小时
- Sin耗时小时
- Uber耗时小时
- Taxi耗时小时
时间序列预测实验是作为一个单独的脚本来运行的,。实验的时间根据数据集而有所不同:
- Weather耗时小时
- Exchange耗时小时
- Traffic耗时小时
- ECL耗时小时
- ETTh1耗时小时
- ETTm1耗时小时
- ETTh2耗时小时
- ETTm2耗时小时
时间序列分类实验是作为一个单独的脚本来运行的。在所有数据集上运行实验总共耗时小时。
Appendix G Limitations and Broader Impact
局限性。 与其注意力 Query 依赖于输入的Transformers(即,)不同,Aarens的注意力 Query 是输入独立的(即,是一个学习到的常数)。在作者的实验中(强化学习、事件预测、时间序列预测和时间序列分类),作者发现Aarens尽管如此,其性能与Transformers相当。然而,在需要大型高度表达性序列模型的设置中,这种差异可能是一个限制,例如,大型语言模型。然而,这超出了作者工作的范围和作者可用资源的范围。
更广泛的影响。 在这项工作中,作者提出了Aaren,一个模块,它在时间上和内存效率上与Transformers相当,同时更高效。由于Aarens可以有效地更新自身(作为一个RNN),而Transformers则不能,因此Aarens更适合序列建模。由于(1)存在广泛的序列建模问题设置,以及(2)低资源领域的数量(例如,电池供电或物联网设备)正在迅速增加,因此Aaren具有广泛的潜在影响。Aaren的普遍适用性意味着其社会影响取决于下游应用。
参考
[1].Attention as an RNN.