Patching:将标准化后的时间序列
嵌入:使用一个简单的线性层将每个补丁
Patch Reprogramming
目标:将时间序列的嵌入向量
文本原型(Text Prototypes):原始词嵌入为
Reprogramming过程:
对每个注意力头
通过注意力机制计算重编程后的补丁表示:
Prompt-as-Prefix(PaP)
动机:直接将时间序列转换为自然语言存在挑战,尤其是在处理高精度数字和不同语言模型的标记化方式上。因此,引入了一种Prompt-as-Prefix的方法,通过在输入上下文前添加提示(prompts),以指导语言模型对重编程后的补丁进行转换和推理。
组成部分:
实现方式:将上述三个组成部分整合为自然语言格式的提示,作为输入嵌入之前的前缀,提供额外的上下文和指引,从而增强模型对时间序列数据的理解和推理能力。
Output Projection
STEP(KDD 2022)
本文提出了一种新的框架,将空间-时间图神经网络(STGNNs)与可扩展的时间序列预训练模型相结合,称为 STEP。该框架主要包括两个阶段:预训练阶段和预测阶段。
预训练阶段
在预训练阶段,作者设计了一个基于 Transformer 块的时间序列自编码模型,称为 TSFormer(Time Series based on Transformer blocks)。该模型通过掩码自编码策略进行训练,旨在高效地从超长时间序列中学习时间模式,并生成包含丰富上下文信息的段级表示。
输入处理
给定时间序列
其中
掩码学习
我们随机掩盖一部分patches,掩码比例为
编码器
编码器由一系列 Transformer 块组成,仅对未被掩盖的补丁进行操作。首先,将未掩盖的补丁通过输入嵌入层映射到隐藏空间:
其中
接下来,添加可学习的位置编码(positional encoding)以保留时序信息。注意,位置编码作用于所有ptaches,尽管掩码标记在编码器中未被使用。
Transformer 编码器生成未掩盖patches的隐藏表示
解码器
解码器也是一系列 Transformer 块,作用于完整的patch集合(包括掩码标记),将隐藏表示重建回原始的数值信号。解码器仅在预训练阶段用于执行序列重建任务。最终,通过多层感知机(MLP)预测每个补丁的重建序列:
其中
损失函数
我们使用平均绝对误差(MAE)作为损失函数,仅在被掩盖的补丁上计算:
其中
预测阶段
在预测阶段,我们利用预训练的 TSFormer 编码器为每个时间序列产生段级表示,这些表示提供了丰富的上下文信息,可用于增强下游的 STGNN,进行图结构学习预测。
图结构学习
为了学习时间序列之间的依赖关系(即时间序列之间的图结构),作者设计了一个基于表示的图结构学习模块。
首先,获取时间序列
其中
接下来,计算
为了参数化边缘的存在概率,我们定义:
其中
使用 Gumbel-Softmax 重参数化技巧,我们从
其中
图结构正则化损失定义为:
其中
下游 STGNN 模型
下游的 STGNN 模型(例如 Graph WaveNet)以最后一个patch
其中
最终,通过回归层预测未来的时间序列:
损失函数
综合考虑预测误差和图结构正则化,损失函数定义为:
其中预测误差
TSMixer(TMLR 2023)
TSMixer 的架构
从上图中,我们可以看到该模型主要由两个步骤组成:混合层和时间投影。
对于时间混合,MLP 由全连接层、ReLU 激活函数和 dropout 层组成。
输入(其中行代表时间,列代表特征)被转置,以便 MLP 应用于时域并在所有特征之间共享。该单元负责学习时间模式。
在离开时间混合单元之前,再次对矩阵进行转置,并将其发送到特征混合单元。
特征混合单元由两个 MLP 组成。由于它应用于特征域,因此它在所有时间步之间共享。在这里,不需要转置,因为特征已经在水平轴上。
请注意,在两个混合器中,我们都有归一化层和残差连接。后者帮助模型学习更深层的数据表示,同时保持合理的计算成本,而归一化是改进深度学习模型训练的常用技术。
混合完成后,输出将发送到时间投影步骤。
时间投影步骤是在 TSMixer 中生成预测的过程。
在这里,矩阵再次转置并通过全连接层发送以生成预测。最后一步是再次转置该矩阵,使特征位于水平轴上,时间步长位于垂直轴上。
TSMixer 的扩展架构
在某些时候,现实世界还允许使用未来的数据
暂时不关心这部分,待更新。
Valley
Valley 的整体架构包括:
整个方法的流程如下:
输入处理
对于输入的视频或者图像,首先以一定的帧率从视频中采样得到
其中,
视觉特征提取
使用预训练的 CLIP 模型中的视觉编码器(ViT-L/14)对每一帧图像进行特征提取,得到每一帧的视觉特征:
每个视觉特征包含 256 个空间位置的 patch 特征和一个全局的 [CLS] 特征,表示为:
时序建模
为了整合不同时间帧的视觉特征,作者设计了三种时序建模策略,在这里统一表示为函数
其中,
平均池化(v1)
第一种策略是对相同位置的空间特征在时间维度上进行平均:
其中,
加权平均(v2)
第二种策略是引入一个可学习的线性层,用于学习每一帧在时间上的重要性得分,然后对空间特征进行加权平均:
Transformer 时序编码(v3)
第三种策略是使用一个 Transformer 编码器对每个空间位置的特征在时间维度上进行建模,以捕获时序变化信息:
生成统一的视觉特征表示
为了保留全局的时序信息,将经过时序建模的空间特征
其中,
特征投影
使用一个可训练的线性投影层,将视觉特征映射到与语言模型兼容的特征空间:
融合视觉和语言特征
将投影后的视觉特征
训练策略
为了使模型具备良好的视觉理解和指令跟随能力,作者采用了两阶段的训练策略:
第一阶段:预训练
在预训练阶段,只训练投影层,使得视觉特征能够被 LLM 理解:
第二阶段:指令微调
在第二阶段,训练投影层和 LLM,以提升模型的指令跟随能力:
mPLUG-2