Gated Transformer Networks for Multivariate Time Series Classification

博客贡献人

徐宁

作者

Minghao Liu , Shengqi Ren , Siyuan Ma , Jiahui Jiao , Yizhou Chen , Zhiguang Wang(Facebook AI) and Wei Song∗

标签

多元时间序列分类,Transformer,门控

摘要

    用于时间序列分类的深度学习模型(主要是卷积网络和 LSTM)已被社区广泛研究,并在医疗保健、金融、工业工程和物联网等不同领域得到广泛应用。 与此同时,Transformer Networks 最近在各种自然语言处理和计算机视觉任务上取得了前沿性能。 在这项工作中,我们探索了当前带有门控的Transformer Networks的简单扩展,称为门控Transformer网络(GTN),用于解决多元时间序列分类问题。 通过合并两座 Transformer 塔(分别对通道相关性和时间步相关性进行建模)的门控,我们展示了 GTN 如何自然而有效地适用于多元时间序列分类任务。 我们对十三个数据集进行了全面的实验,并进行了充分的消融研究。 我们的结果表明,GTN 能够取得与当前最先进的深度学习模型相媲美的结果。 我们还探讨了 GTN 在时间序列建模上的自然解释性的注意力图。 我们的初步结果为 Transformer Networks 的多元时间序列分类任务提供了强有力的基线,并为未来的研究奠定了基础。

当前研究存在的问题

传统基于距离的方法

    早期方法如欧几里得距离,动态时间规整(DTW)依赖预定义的相似度度量,但在处理多变量时间序列时存在可扩展性和性能问题。

卷积网络和LSTM

    将Transformer网络应用于时间序列数据的研究尚处于早期阶段,现有研究主要集中于特定任务(如预测或单变量分类),未形成Transformer对多元时间序列分类的综合研究。

Transformer的早期研究

    将Transformer网络应用于时间序列数据的研究尚处于早期阶段,现有研究主要集中于特定任务(如预测或单变量分类),未形成Transformer对多元时间序列分类的综合研究。

本篇文章贡献

  • 探索了当前 Transformer 网络的门控扩展,称为门控 Transformer 网络,用于解决多元时间序列分类问题。 通过利用 Transformer 与自注意力机制并行处理数据的优势来对序列中的依赖关系进行建模,我们证明了合并 Transformer 网络的两座塔的门控非常有效,这些塔对通道和逐步相关性进行建模 用于时间序列分类任务
  • 13 个多元时间序列基准数据集上评估了 GTN,并通过综合消融研究其他最先进的深度学习模型进行了比较。 实验表明 GTN 实现了具有竞争力的性能。
  • 通过可视化定性研究了模型学习到的特征,以证明 GTN 特征提取的质量
  • 初步探索了 GTN 注意力图在时间序列建模上的可解释性,以研究自注意力如何帮助通道和逐步特征提取。

方法

    区别于原生Transformer在单词上堆叠编码器和解码器以及用于序列生成和预测任务的位置嵌入,本文方法在原生Transformer的基础上添加Embedding、两塔和门控三个扩展部件以满足多元时间序列分类的需求,方法框架如图一所示。

在这里插入图片描述

图1. 门控Tranformer网络的模型架构。

Embedding扩展

原生Transformer中Embedding方法

    在原始的Transformer(例如用于自然语言处理任务时),输入是一个离散的单词序列。每个token会先通过嵌入层,转化为一个固定维度的向量表示(即token embedding)。Transformer对这些离散的嵌入向量进行处理,以捕捉序列中每个元素之间的相关性。

    此外,Transformer还使用位置编码来引入序列的位置信息,因为自注意力机制没有内置的顺序感知能力。通过加上位置编码,模型能够识别每个元素在序列中的相对位置

时间序列中的Embedding方法

    这里最大的不同就在于,时间序列数据是连续的,并且由于时间序列本身已经是数值型数据,并且每个时间步对应的特征值(或通道)是多变量的,因此不像自然语言那样需要通过单词嵌入来获得向量表示。

所以,本文的对Embedding层的构造进行了改进。

(1) 全连接层代替嵌入层
    原始Transformer使用嵌入层来将离散的输入(例如单词ID)转换成嵌入向量。在时间序列中,数据已经是数值型的,所以不需要像处理离散数据那样进行词嵌入。
    解决方案:作者选择使用全连接层代替嵌入层。全连接层能够处理输入的连续值,并将其投影到一个新的特征空间。这个过程相当于对原始的时间序列数据进行特征转换,使得输入序列能够适应后续的自注意力机制。

(2) 非线性激活函数
    为了增强模型的表达能力,作者在全连接层之后引入了一个非线性激活函数tanh。这种非线性转换使得嵌入后的数据更具表达力,能够捕捉到更复杂的模式和关系。

(3) 位置编码
    自注意力机制本身无法捕捉序列元素的相对顺序,因此在时间序列中,仍然需要引入位置信息。这里作者借鉴了原始Transformer的做法,将位置编码添加到嵌入后的时间序列数据上。位置编码允许模型捕捉时间步的顺序信息,使模型能够感知时间维度的顺序依赖性。

双塔Transformer

    多元时间序列具有多个通道,每个通道都是一个单变量时间序列。常见的假设是,在当前或变形的时间步下,不同通道之间存在隐藏的相关性。捕捉时间步(时序)和通道(空间)信息是多变量时间序列研究的关键。以往常见的方式是利用卷积,通过二维或一维卷积核(固定参数共享)来同时整合时间步和通道的信息,但这种方法存在一定缺陷

  • 固定的局部感受野:卷积核只能处理相邻的时间步或通道之间的关系,对于长时间序列或较复杂的跨通道依赖,无法全面捕捉。
  • 参数共享的限制:不同的时间步和通道可能有不同的依赖模式,但卷积核在整个序列中应用相同的参数来减少计算复杂度,无法灵活处理复杂的模式变化。
  • 空间和时序信息的分离不够明确:卷积会同时捕捉空间和时序信息,无法精细化地分别处理这两类信息,可能导致在某些情况下的表现不佳,尤其是在空间和时序相关性显著不同的任务中。

    所以本文采用双塔Transformer的架构,每个塔的编码器通过注意力机制和掩码显式捕捉时间步和通道之间的相关性,分别且灵活地处理时序和通道依赖,不仅提高了对长距离依赖的捕捉能力,还能根据任务需求更好地适应不同时间步和通道间的变化,弥补了卷积方法的局限性。

时间步编码器

    时间步编码器主要目的是捕捉时间序列中不同时间步之间的相关性。所以和原生Transformer一样,会计算每个时间步与其他所有时间步之间的注意力权重。
    但由于在多元时间序列中,每个时间步都对应多个通道,所以时间步编码器的自注意力机制会跨所有通道计算不同时间步之间的成对注意力权重,这意味着模型考虑了整个时间序列中每个时间步的整体信息(所有通道的综合数据)来决定哪些时间步对当前时间步最重要。
    同时时间步编码器中为了防止模型在当前时间步预测时利用未来的时间步信息,在自注意力机制中使用了掩码将蔚来的时间屏蔽掉,避免信息泄露。

通道编码器

    通道编码器(Channel-wise Encoder)的主要目的是捕捉不同通道(变量)之间的依赖关系
    通道编码器与时间步编码器的区别在于,通道顺序是无序的,即通道顺序是可以任意排列的,所以并不需要像时间步编码器那样使用位置编码。其次,对于掩码的使用,通道编码器并没有时间步编码器那么严格,通道编码器的掩码主要用于确保某些特定情况下的数据被屏蔽(例如缺失通道或无效的通道)。

门控

    本文的门控模块被设计用来融合来自两个编码器的特征输出,确保模型能够根据每个编码器的重要性动态调整特征的组合。保证模型能根据任务的需要灵活地调整各个特征的权重,从而在多变量时间序列分类任务中实现更高的性能。这种机制增强了模型的表达能力,提高了模型的适应性和预测能力

  • 特征提取:首先对两个编码器的输出分别添加一个全连接层,再使用非线性激活函数,将两个输出表示为C和S。
  • 特征拼接:将两个编码器的输出特征 C和S 进行线性拼接,形成一个新的特征向量h。 h = W ⋅ C o n c a t ( C , S ) + b h=W \cdot Concat(C,S)+b h=WConcat(C,S)+b
  • 计算门控权重:对拼接后的特征向量h应用softmax函数,以计算门控权重g1和g2: g 1 , g 2 = S o f t m a x ( h ) g_1,g_2 = Softmax(h) g1,g2=Softmax(h)
  • 加权输出:将每个编码器的输出特征与对应的门控权重相乘,然后进行拼接,得到最终的特征向量 y。 y = C o n c a t ( C ⋅ g 1 , S ⋅ g 2 ) y=Concat(C\cdot g_1,S\cdot g_2) y=Concat(Cg1,Sg2)

实验

数据集

    本文使用了13个多元时间序列数据集,默认情况下,所有数据集都被分为训练和测试,并且这些时间序列没有进行预处理。

Baseline

    本文共选取了9个模型作为Baseline,其中全卷积网络(FCN)和残差网络(ResNet)。 据报道,这些是多元时间序列分类任务中最好的深度学习模型之一。

实验结果

在多数据集下与多个方法的横向对比

在这里插入图片描述

    结果如表1所示。门控Transformer网络(GTN)与全卷积网络(FCN)和残差网络(ResNet)表现出相当的结果。需要注意的是,这三种模型的结果之间没有统计显著差异,但在NetFlow和KickvsPunch数据集上,GTN表现出更优的性能。GTN的一个缺点是相对容易出现过拟合。与FCN和ResNet不同,后者未使用dropout,而GTN结合了dropout和层归一化,以降低过拟合的风险。

消融实验

在这里插入图片描述

    为了说明GTN中各个模块带来的性能提升,分别单独对两个塔,掩码,门控进行了消融实验

  • 掩码效果:掩码机制确保模型的预测仅依赖于已知的前置输出,对语言模型和时间序列数据都有益。使用掩码的塔式Transformer整体性能优于不使用掩码的模型。

  • 通道与时间步编码:通道编码的Transformer在大多数数据集上优于时间步编码的Transformer,证明了多变量时间序列中不同通道间相关性的重要性。

  • 数据集特性:不同时间序列数据对通道信息和时间步信息的依赖程度不同,例如在PEMS数据集中时间步模型表现更好,而在CMUsubject16数据集中通道模型表现更好。

  • 特征拼接的局限性:简单拼接两个塔的特征有时会导致性能下降,无法发挥各自优势。

  • 门控权重的优势:通过引入门控权重,模型能够动态学习在何时依赖特定塔,从而提升整体性能。

注意力图的可视化

    注意力矩阵分别表示通道和时间步之间的相关性。本文选择了一个来自JapaneseVowels数据集的样本来可视化这两种注意力图。对于通道注意力图(上两张),我们计算了不同通道时间序列之间的动态时间规整(DTW)距离。对于每个时间步(下两张),我们还简单计算了不同通道之间的欧几里得距离,因为在同一时间步上没有时间轴,因此不需要DTW。可视化结果如图2所示。
在这里插入图片描述

在这里插入图片描述

    注意力得分指示了不同令牌之间的语义相关性,时间序列中学习到的通道注意力同样显示出共同激活的相似序列,从而使学习更倾向于最终的标签。
    需要注意的是,较小的DTW距离并不意味着两个序列相似。如通道注意力图所示,块c表示c3和c11之间的DTW距离非常小,但实际上c11和c3的趋势和形状差异很大。初步分析表明,通道注意力也倾向于抓住那些在DTW中没有明显区分因素的相似序列。

相关知识链接

PST论文原文

开源代码

总结

[亮点]

  • 提出双塔结构,独立的提取时间步和通道上的相关性,克服了传统卷积方法的局限。
  • 提出在transformer中加入门控机制,可以动态调整时间步和通道编码器的输出权重,增强了模型对不同特征的适应能力,提高了多变量时间序列分类的性能。
  • 提供了通道和时间步注意力图的可视化分析,增强了模型的可解释性,帮助理解不同特征的贡献。

[局限]

  • 文章的对方法的描述不够完整,缺乏细节。
  • 双塔+门控这种架构会导致较高的复杂度,训练成本较高。
  • 因为模型比较复杂,包含参数过多,模型容易出现过拟合问题。

[启发]

  • 通过门控机制来处理多来源特征,并且可以通过动态调整权重来增强模型的适应性。
  • 可以采用不同的编码器将不同的数据类型的数据整合到同一个模型中。

Bib Tex

@article{liu2021gated,
  title={Gated transformer networks for multivariate time series classification},
  author={Liu, Minghao and Ren, Shengqi and Ma, Siyuan and Jiao, Jiahui and Chen, Yizhou and Wang, Zhiguang and Song, Wei},
  journal={arXiv preprint arXiv:2103.14438},
  year={2021}
}
Gated Transformer-XL (GTXL)[^4] 是Transformer模型的一种变体,它特别注重长序列建模。与标准的Transformer不同,GTXL引入了一个自回归掩码机制,允许信息在网络内部传递更远的距离,解决了vanishing gradient(梯度消失)问题。此外,它还包含了门控机制,通过控制信息的遗忘和保留来增强长期依赖性。 具体来说,GTXL包括以下几个关键组件: 1. **Segment-level recurrence**: 变长的输入序列被划分为固定大小的片段,每个片段有自己的注意力机制,但跨片段的上下文可以通过循环层(如LSTM)进行传递,从而保持对整个序列的记忆。 2. **Relative positional encoding**: 除了绝对位置编码,它还包括相对位置编码,使得模型能够更好地理解相对距离。 3. **Gating mechanism**: 使用门控单元(gates),可以动态地决定信息在网络中的流动,有助于避免过早的信息丢失。 4. **Masking strategy**: 自回归掩码结合了局部和全局的考虑,既限制了当前时间步对之前时间步的影响,又允许部分跨片段的依赖。 一个简单的演示可能涉及创建一个GTXL模型实例并调用它的编码功能,虽然具体的代码实现取决于使用的库(如PyTorch或TensorFlow),但大概会如下所示[^5]: ```python # 假设我们有一个GatedTransformerXL类 from gated_transformer_xl import GatedTransformerXL model = GatedTransformerXL(...) # 输入序列 input_sequence = ... # 对序列进行编码 encoded_sequence = model.encode(input_sequence) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值