SimMTM: 用于掩码时间序列建模的简单预训练框架《SimMTM: A Simple Pre-Training Framework for Masked Time-Series Modeling》(预训练模型、时序表征学习、掩码建模、流行学习、近邻聚合、低级表示学习(掩码)、高级表示学习(对比)、segment-wise 和point- wise)
今天是2024年7月3日10:15,写一篇1月7日就看过的论文,哈哈哈哈哈哈哈哈哈,突然想到这篇论文了。
论文:SimMTM: A Simple Pre-Training Framework for Masked Time-Series Modeling
或者是:SimMTM: A Simple Pre-Training Framework for Masked Time-Series Modeling
GitHub:https://github.com/thuml/SimMTM(已跑,机器带不起来,弃.)
NeurIPS 2023的论文。
(鸽了那么久,总算是开始写这篇了.)
摘要
时间序列分析被广泛应用于各个领域。最近,为了减少标注费用并使各种任务受益,自监督预训练引起了人们的极大兴趣。其中一个主流范例是掩码建模,它通过学习根据未掩码部分重建掩码内容,成功地对深度模型进行了预训练。然而,由于时间序列的语义信息主要包含在时间变化中,随机掩码一部分时间点的标准方式会严重破坏时间序列中重要的时间变化,使得重构任务过于困难,无法指导表征学习。因此,我们提出了用于掩码时间序列建模的简单预训练框架--SimMTM。通过将掩码建模与流形学习联系起来,SimMTM 提出通过对流形外的多个邻域进行加权聚合来恢复被掩码的时间点,这样就能从多个被掩码的序列中组合出被破坏但互补的时间变化,从而简化重建任务。SimMTM 还能进一步学习揭示流形的局部结构,这对掩码建模很有帮助。实验表明,在预测和分类这两个典型的时间序列分析任务中,与最先进的时间序列预训练方法相比,SimMTM 的微调性能达到了最先进的水平,涵盖了域内和跨域设置。代码见 https://github.com/thuml/SimMTM。
1 引言
时间序列分析在金融分析、能源规划等广泛的现实世界应用中具有极其重要的意义[47, 51]。大量的时间序列是从物联网和可穿戴设备中逐步收集的。然而,时间序列的语义信息主要埋藏在人类无法辨别的时间变化中,因此很难对其进行注释。最近,自监督预训练得到了广泛的探索[23, 15],它使深度模型受益于在大规模无标记数据中学到的代理知识,进一步促进了各种下游任务的性能。主要是作为一种公认的预训练范式,掩码建模在许多领域取得了巨大成功,如掩码语言建模(MLM)[7, 31, 32, 3, 10]和掩码图像建模(MIM)[11, 50, 20]等。本文将预训练方法扩展到时间序列,尤其是掩码时间序列建模(MTM)。
掩码建模的典型技术是通过学习根据未掩码部分重建掩码内容来优化模型[7]。然而,与图像和自然语言不同的是,图像和自然语言中的补丁或单词包含了大量甚至是冗余的语义信息,而我们观察到,时间序列中有价值的语义信息主要包含在时间变化中,如趋势、周期性和峰谷等,而这些变化可能与现实世界中独特的天气过程、异常故障等相对应。因此,直接掩码一部分时间点会严重破坏原始时间序列的时态变化,这使得重构任务过于困难,无法指导时间序列的表征学习。(图 1)。
根据堆叠去噪自编码器[40]中的分析,如图 1 所示,我们可以将随机掩码的序列看作是原始时间序列在流形之外的 "邻居",重构过程就是将掩码序列投影回原始序列的流形。然而,正如我们在上文所分析的,由于随机掩码破坏了基本的时间变化,直接重建可能会失败。受流形视角的启发,我们超越了掩码建模的直接重构常规,提出了从多个 "邻域",即多个掩码序列重构原始数据的自然思路。虽然在每个随机掩码序列中,原始时间序列的时间变化已被部分剔除,但多个随机掩码序列将相互补充,使重建过程比直接从单个掩码序列重建原始序列更易于操作。这一过程还将对模型进行预训练,以隐含地揭示时间序列流形的局部结构,从而有利于掩码建模和表征学习[35, 41]。
图 1:(a)典型掩码建模和(b)SimMTM 在流形透视和重建性能两方面的比较。展示的是恢复 50%的掩码时间序列。
基于上述见解,我们在本文中提出了 SimMTM 作为一种简单而有效的时间序列预训练框架。SimMTM 不是直接从未被发现的部分重建被掩码的时间点,而是从多个随机掩码的时间序列中恢复原始时间序列。在技术上,SimMTM 提出了邻域聚合重构设计,即根据在序列表示空间中学习到的相似性,聚合时间序列的点表示。除了重构损失外,还提出了一种约束损失,用于指导基于时间序列流形邻域假设的序列性表征学习。通过上述设计,SimMTM 在将预训练模型微调到下游任务时,即使预训练和微调数据集之间存在明显的领域偏移,也能在各种时间序列分析任务中取得一致的先进水平,涵盖了低层次预测和高层次分类任务。总的来说,我们的贡献总结如下:
- 受掩码流形视角的启发,我们提出了掩码时间序列建模的新任务,即根据流形外的多个掩码序列重建流形上的原始时间序列。
- 从技术上讲,我们将 SimMTM 作为一个简单而有效的预训练框架,根据在序列表示空间中学习到的相似性,聚合点表示进行重建。
- 在典型的时间序列分析任务中,包括低级预测和高级分类,SimMTM 始终保持着最先进的微调性能,涵盖了域内和跨域设置。
2 相关工作
2.1 自监督预训练
自监督预训练是从大规模数据中学习可泛化的共享知识并进一步惠及下游任务的重要研究课题[15]。最初,这一课题在计算机视觉和自然语言处理领域得到了广泛探索。精心设计的人工自监督任务被提出,大致可分为对比学习 [12, 5, 4] 和掩码建模 [7, 11]。最近,继成熟的对比学习和掩码建模范式之后,又有人提出了一些时间序列的自监督预训练方法[9, 27, 34, 33, 36, 54, 52, 6]。
对比学习。对比学习的关键在于根据人工设计的正负对优化表示空间。与此相反,反面表示往往相距甚远 [48, 14]。SimCLR [37] 提出的典型设计将同一样本的不同增强视为正对,将不同样本间的增强视为负对。
最近,在时间序列预训练中,人们利用时间序列的不变特性提出了许多正负对设计。具体来说,为了使表征学习与时间变化无缝关联,TimCLR [53] 采用了 DTW [25] 来生成相移和振幅变化增强,这更适合时间序列语境。TS2Vec [55] 将多个时间序列分割成多个片段,并从实例和片段两个方面进一步定义了对比度损失。TS-TCC [8] 提出了一种新的时间对比学习任务,即让增强预测彼此的未来。Mixing-up [45] 利用一种数据增强方案,通过混合两个数据样本来生成新样本。LaST [42] 的目的是基于变异推理,在潜空间中拆分季节-趋势表征。随后,CoST [46] 采用时域和频域的对比损失来学习具有区分性的季节和趋势表征。此外,TF-C[57] 提出了一种新颖的时频一致性架构,并优化了同一实例的基于时间和基于频率的表征,使其相互接近。需要注意的是,对比学习主要关注高层信息[49],而序列表征或片段表征本质上与时间序列预测等低层任务不匹配。(确实是这样的,表示赞同,目前论文没出来的问题就是这里,因为我想用对比学习做时序预测,哈哈哈哈哈哈,脑瘫)因此,本文主要讨论掩码建模范式。
掩码建模。掩码建模范式通过学习从未掩码部分重建掩码内容来优化模型。这种范式在计算机视觉和自然语言处理中得到了广泛的探索,即分别预测句子中被掩码的单词[7]和图像中被掩码的斑块[2, 11, 50]。至于时间序列分析,TST [56] 遵循典型掩码建模范式,根据剩余时间点学习预测被移除的时间点。接下来,PatchTST [26] 提出预测掩码子序列级补丁,以捕捉局部语义信息并减少内存使用。Ti-MAE [21] 将掩码建模作为辅助任务,以提升基于 Transformer 的高级方法的预测和分类性能。然而,正如我们之前所说,直接掩码时间序列会破坏本质的时间变化,使得重构过于困难,无法指导表征学习。与以往工作中的直接重构不同,SimMTM 提出了一种新的掩码建模任务,即从多个随机掩码序列中重构原始时间序列。
2.2 对掩码建模的理解
掩码建模在堆叠去噪自编码器中已有探索[40],掩码被视为在原始数据中添加噪声,掩码建模就是将邻域中的掩码数据投射回原始流形,即去噪。它最近被广泛用于预训练,可以无监督地从数据中学习有价值的低层次信息[49]。受流形视角的启发,我们超越了经典的去噪过程,通过聚合邻域内的多个掩码时间序列,将掩码数据投射回流形。
3 SimMTM
如前所述,为了解决随机掩码时间序列会破坏基本时间变化信息的问题,SimMTM 提出从多个被掩码的时间序列中重建原始时间序列。为此,SimMTM 首先学习多个时间序列在序列表示空间中的相似性,然后根据预先学习的序列相似性聚合这些时间序列的点表示。接下来,我们将详细介绍模型架构和预训练协议两方面的技术。
3.1 总体架构
SimMTM 的重构过程涉及以下四个模块:掩码、表示学习、序列相似性学习和点式重构。
掩码。给定 {x i } iN=1 作为 N 个时间序列样本的迷你批次,其中 x i∈R L×C 包含 L 个时间点和 C 个观测变量,我们可以通过沿时间维度随机掩码一部分时间点,轻松为每个样本 x i 生成一组掩码序列,形式化为:
其中 r∈[0, 1] 表示掩码部分。x ji ∈R L×C 表示 x i 的第 j 个掩码时间序列,其中掩码时间点的值用零代替。通过上述过程,我们可以得到一批增强时间序列。为清楚起见,我们将所有(N (M + 1))输入序列集合为 X = iN=1 {x i }∪{x ji } jM=1 。
表征学习。经过编码器层和投影器层后,我们可以得到点维表征 Z 和序列维表征 S,它们可以形式化为:
其中,z i ,z ji∈R L×d 模型,s i ,s ji∈R 1×d 模型。编码器(-)表示模型编码器,它可以将输入数据投射到深度表示中,并在微调过程中传输给下游任务。在本文中,我们用公认的 Transformer [39] 和 ResNet [13] 来实现编码器。至于 Projector(-),我们在时间维度上采用了一个简单的 MLP 层,以获得序列表示。更多细节可参见第 4 节。从技术上讲,编码器是分别应用于输入序列的,即 iN=1 (Encoder(x i ) ∪ {Encoder(x ji )} jM=1 ) ,投影器也是如此。为了简洁起见,这里我们采用集合式的形式化。
序列相似性学习。需要注意的是,直接对多个掩码时间序列进行平均将导致过度平滑问题[40],阻碍表征学习。因此,为了精确地重建原始时间序列,我们尝试利用序列表示 S 之间的相似性进行加权聚合,即利用时间序列流形的局部结构(这里再仔细地看一下)。为简化起见,我们将系列相似性的计算形式化如下:
其中,R 是序列表示空间中 (N (M + 1)) 个输入样本的成对相似性矩阵,用余弦距离来衡量。R u,v 是计算得出的序列表示 u、v ∈ S 之间的相似度。
点式聚合。如图 2 所示,根据学习到的序列相似性,第 i 个原始时间序列的聚合过程为:
图 2:SimMTM 的结构,它根据从数据中对比学习到的系列相似性,通过自适应聚合多个掩码时间序列来重建原始时间序列。
其中,z ′ 表示 s ′ 的相应点向表示,即 z ′ = Projector(s ′ )。z i∈ R L×d 模型是重建后的点向表示,τ 表示序列相似性软最大归一化的温度超参数。值得注意的是,如公式(4)所述,对于每个时间序列 x i,重建不仅基于其自身的掩码序列 {x j i } jM=1 。我们还将其他序列表示 S\{s i } 引入聚合,这就要求模型抑制相关性较差的噪声序列干扰,精确学习掩码序列和原始序列的相似表示,即引导模型更好地学习流形结构。解码后,我们可以得到重建的原始时间序列,即:
其中 x i∈R L×C 是对 x i 的重构。解码器(-)沿信道维度实例化为一个简单的 MLP 层 [50]。
3.2 自监督预训练
按照掩码建模范式,SimMTM 由重建损失进行监督:
需要注意的是,重构过程是直接基于序列相似性的,而如果没有序列表示空间的明确约束,就很难保证模型能捕捉到精确的相似性。因此,为了避免琐碎的聚合,我们还利用时间序列流形的邻域假设来校准序列表示空间 S 的结构:
其中,s +i 和 s i - 分别指与 s i 相近和相远的元素。式(7)表明,原始时间序列及其掩码序列将与 S 中其他序列的表示接近而远离。对于每个序列表示 s∈ S,我们定义其假定接近序列的集合为 S + ⊂ S。根据上述形式化,我们可以将流形约束定义为数列表示空间:(有一说一,我感觉很像对比学习了)
这可以优化学习到的序列表示,从而更好地满足公式 (7) 中的邻域假设。最后,SimMTM 的整体优化过程可以表示如下:
其中,Θ 表示深度架构的所有参数集。为了权衡式(9)中的两个部分,我们采用了文献[17]提出的调整策略,该策略可以根据每个损失的同余不确定性自适应地调整超参数λ。
(现在21:16,不想看了,好想摸鱼,好想回寝室躺着,哈哈哈哈哈哈,今天就先这样了.)
(今天是7月4日,10:26,继续,今天看完,下午跑代码.)
4 实验
为了全面评估 SimMTM,我们对两个典型的时间序列分析任务进行了实验:预测和分类,涵盖了低级和高级表示学习。此外,我们还介绍了每个任务在域内和跨域设置下的微调性能。
基准测试。我们在表 1 中总结了实验基准,包括 12 个真实世界的数据集,涵盖两个主流时间序列分析任务:时间序列预测和分类。具体来说,我们在预测任务中采用了 Autoformer [47] 的标准实验设置,在分类任务中采用了 TF-C [57] 提出的实验设置。
实现。我们将 SimMTM 与六种具有竞争力的先进基准方法进行了比较,其中包括对比学习方法: TF-C [57]、CoST [46]、TS2Vec [55]、LaST [42],掩码建模方法: TiMAE[21]、TST[56]。TF-C [57] 和 TiMAE [21] 是之前最好的预训练方法。我们对域内和跨域设置进行了实验。对于域内设置,我们使用相同的数据集对模型进行预训练和微调。至于跨域设置,我们在特定数据集上对模型进行预训练,然后根据不同的数据集对编码器进行微调。更多详情见附录 A。
统一编码器。为了进行公平比较,我们尝试为这些预训练方法统一编码器。具体来说,我们采用具有信道独立性 [26] 的 vanilla Transformer [39] 作为预测的统一编码器。独立于信道的设计允许模型在不同变异数的数据集之间完成跨域转移。至于分类,我们使用 1D-ResNet [13] 作为共享编码器。值得注意的是,对于 LaST [42] 和 TFC [57],由于其设计与模型结构密切相关,我们直接报告了其论文中的结果,或用正式代码进行了重现。对于其他基线和 SimMTM,正文中的结果来自统一编码器。附录 A.2 还比较了其正式论文中的结果。对于所有基线,使用统一编码器得到的结果一般都超过了他们自己报告的结果。
4.1 主要结果
我们在图 3 中总结了域内和跨域环境下的预测和分类结果。在所有这些场景中,SimMTM 都明显优于其他基线方法。值得注意的是,虽然基于掩码的方法 Ti-MAE [21] 在预测任务(图 3 的 x 轴)中取得了良好的性能,但在分类任务(y 轴)中却失败了。此外,基于对比的方法在低层次预测任务中也失败了。这些结果表明,以前的方法无法同时覆盖高层次和低层次任务,突出了 SimMTM 在任务通用性方面的优势。
图 3:时间序列预训练方法在预测(MSE ↓)和分类(Acc ↑)任务中的性能比较,包括域内(左)和跨域(右)设置。
4.2 预测
域内。如表 2 所示,通过 SimMTM 预训练,模型性能显著提高(SimMTM vs. Random init.)。此外,SimMTM 始终优于其他预训练方法。与高级掩码建模基线 Ti-MAE [21]相比,SimMTM 在所有基准测试中平均降低了 8.3% 的 MSE 和 4.3% 的 MAE;与对比基线 CoST [46]相比,SimMTM 降低了 14.7% 的 MSE 和 12.0% 的 MAE。同样值得注意的是,Ti-MAE [21] 和 TST [56] 的表现都优于所有基于对比的基线。这表明,与序列对比式预训练相比,基于点向重构的掩码建模更适合预测任务。
表 2:基于过去 336 个时间点预测未来 O 个时间点的域内设置。所有结果均为 4 种不同 O∈{96, 192, 336, 720} 选择的平均值。MSE 或 MAE 越小,表示预测效果越好。完整结果见附录 E。
跨域。如表 3 所示,我们提出了多个场景来验证跨域设置下的有效性,其中 SimMTM 的表现始终优于其他基线。需要注意的是,独立于信道的编码器使比较基线能够在具有不同变量数的数据集之间传输预训练模型: Weather → {ETTh1, ETTm1}。但对于具有特定模型设计的 LaST 和 TF-C,它们不能应用于这些情况。虽然在一些跨域场景中(如天气 → ETTh1 和 ETTh2 → ETTm1)观察到了负迁移,但 SimMTM 在总体上仍然明显优于其他基线。
表 3:基于过去 336 个时间点预测未来 O 个时间点的跨域设置。所有结果均为 O∈{96, 192, 336, 720} 的 4 种不同选择的平均值。MSE 或 MAE 越低,表示预测效果越好。全部结果见附录 E。
4.3 分类
域内。我们在表 4 中研究了域内预训练对分类任务的影响。需要注意的是,与预测不同,分类任务要求模型学习高层次的时间序列表征。从表 4 中我们可以发现,对比预训练基线取得了有竞争力的表现。相比之下,基于掩码的模型 Ti-MAE [21] 和 TST [56] 表现不佳,与随机初始化相比,TST 甚至出现了负迁移现象,这说明对比式学习一般更适合分类任务。令人惊讶的是,虽然 SimMTM 遵循的是掩码建模范式,但在我们特别设计的重建任务中,它仍能在分类任务中取得最佳性能。这得益于多个掩码序列的邻域聚合,使模型能够利用时间序列流形的局部结构。
表 4:分类的域内和跨域设置。对于域内设置,我们在同一数据集癫痫上对模型进行预训练和微调。在跨领域设置中,我们在 SleepEEG 上对模型进行预训练,然后在多个目标数据集上对模型进行微调: 癫痫、FD-B、手势、肌电图。准确率 (%) 分数被记录下来。全部结果见附录 E。
跨域。我们在表 4 中实验了四种跨领域转移情况:SleepEEG → {癫痫、FD-B、手势、EMG},其中目标数据集与预训练数据集不同。由于预训练数据集和微调数据集之间存在较大差距,基线在大多数情况下表现不佳,而 SimMTM 仍然明显优于其他基线和随机初始化。特别是在 SleepEEG → EMG 数据集方面,SimMTM 明显超过了之前最先进的 TF-C(准确率:97.56% 对 81.74%)。这些结果表明,SimMTM 可以从预训练数据集中精确捕获有价值的知识,并使广泛的下游数据集一致受益。
4.4 模型分析
消融。如图 4 所示,我们对 SimMTM 中的两部分训练损失进行了消减。可以看出,L 重构和 L 约束对最终性能至关重要。特别是在 SleepEEG → EMG 实验中,SimMTM 明显优于随机初始化,其中重构损失和约束损失分别带来了 9.7% 和 16.0% 的绝对改进。此外,我们还可以发现,与 L 重构相比,L 约束对最终结果的贡献更大。这得益于我们的设计,即约束损失能发现一个适当的时间序列流形,有助于从多个掩码序列中重建,而如果没有这个流形,邻域聚合将退化为琐碎的平均值。
图 4:在域内和跨域设置下,SimMTM 对时间序列预测(左侧部分)和分类(右侧部分)任务中的重建损失 (L rec. ) 和约束损失 (L con. ) 的分析。附录 E 列出了更多的消融情况。
表征分析。为了直观地说明 SimMTM 的优势,我们在表 5 中提供了表征分析。首先,我们可以发现 SimMTM 在分类任务中的 CKA 值明显小于预测任务中的 CKA 值,前者是高级任务,后者需要低级表示。这些结果表明,SimMTM 可以针对不同任务学习自适应表征,而我们在预训练损耗方面的设计可以使其受益。具体来说,分类预训练数据集的时间变化要比预测数据集更加多样。因此,L 约束在分类中更容易优化,从而得到更小的 CKA 值。其次,从 |∆ CKA | 中可以看出,由 SimMTM 预训练的模型与最终微调模型在表征学习特性上的差距较小,这也是 SimMTM 能够持续改进下游任务的原因。
表 5:不同方法在分类和预测任务中的表征分析。对于每个模型,我们计算第一层和最后一层编码器表征之间的中心核对齐(CKA)相似度(%)[18],以衡量深度模型的表征学习特性。由于底层表征通常包含低层或详细信息,较小的 CKA 相似度意味着顶层包含与底层不同的信息,表明模型倾向于学习高层表征或更抽象的信息。为了进行比较,我们还计算了预训练模型和微调模型之间的 |∆ CKA |,数值越小,表示预训练和微调之间的表征差距越小,表征的通用性和可移植性越强。
模型的通用性。从表 6 中我们可以发现,作为一个通用的时间序列预训练框架,SimMTM 可以持续提高各种高级基础模型的预测性能,即使是最先进的时间序列预测模型 PatchTST [26]。这种通用性还表明,我们可以通过使用高级基础模型作为编码器来进一步提高模型的性能。另外值得注意的是,与 PatchTST 论文[26]中使用的典型子序列掩码建模所导致的负转移现象不同,SimMTM 的一致性改进进一步验证了我们设计的有效性。
表 6:在域内设置下,将 SimMTM 应用于四个高级时间序列预测模型的性能。"+子序列掩码 "指的是 PatchTST [26] 自己提出的子序列掩码建模预训练方法。MSE 和 MAE 是 {96,192,336,720} 中所有预测长度的平均值。各预测期的详细结果见附录 E。
针对有限数据场景进行微调。预训练模型的一个重要应用是为下游任务提供先验知识,尤其是在数据有限的情况下,这对深度模型的快速适应至关重要。因此,为了验证 SimMTM 和其他预训练方法在数据有限场景中的有效性,我们在 ETTh2 上对模型进行预训练,并在 ETTh1 上对其进行微调,同时对剩余的训练数据比例进行不同的选择。所有结果如图 5 所示。我们可以发现,与其他时间序列预训练方法相比,SimMTM 在不同的数据比例下都取得了显著的性能提升。具体来说,对于 10% 的数据微调设置,SimMTM 明显优于基于掩码的高级方法 Ti-MAE [21](MSE:0.591 vs. 0.660)。与基于对比的方法 TF-C [57]相比,SimMTM 的 MSE 也降低了 26.0%。这些结果进一步验证了 SimMTM 能够有效地从数据集中获取有价值的知识,并提高最终性能,即使在数据有限的情况下也是如此。
图 5:模型分析。左图是在数据有限的情况下将 ETTh2 预训练模型微调为 ETTh1,MSE 越小表示性能越好。右图显示了 SimMTM 在 ETTh1 "input-336-predict-96 "域内设置中不同掩码比 r 和掩码序列数 M 下的 MSE 性能,红色越深表示性能越好。
掩码策略。需要注意的是,重建原始时间序列的难度会随着掩码比例的增加而增加,但当相邻掩码序列的数量增加时,难度会降低。我们探讨了掩码比与用于重建的掩码序列数之间的潜在关系,即公式(1)中分别为 r 和 M。图 5 中的实验结果表明,我们需要设置 M ∝ r 才能获得更好的结果。实验中,我们选择掩码率为 50%,并在本文中采用三个掩码序列进行重建。此外,我们还可以发现,只使用一个掩码序列(M = 1)进行预训练的效果一般比设置较大的 M 时要差,因为后者能使模型发现输入序列与其相邻序列之间的关系。直观理解见图 1。这些结果进一步凸显了我们的设计在流形学习中的优势。
5 结论
本文介绍了用于掩码时间序列建模的简单预训练框架 SimMTM。SimMTM 超越了以往根据未掩码时间点重建原始时间序列的惯例,提出了一种新的掩码建模任务,即根据多个相邻掩码序列重建原始序列。具体来说,SimMTM 基于序列相似性聚合点向表示,而序列相似性受到时间序列流形上邻域假设的严格限制。在实验中,SimMTM 可以最大程度地缩小预训练模型和微调模型之间的差距,因此,与最先进的时间序列预训练方法相比,SimMTM 在不同的预测和分类任务中取得了一致的先进水平,涵盖了域内和跨域设置。未来,我们将进一步把 SimMTM 扩展到大规模和多样化的预训练数据集,以追求时间序列分析的基础模型。
(现在14:42,看完了,附录也看了,感觉还是得去看看代码这个流行到底是怎么实现的,就酱.)