type
status
date
slug
summary
tags
category
icon
password
论文网站:
Chronos: Learning the Language of Time Series![Chronos: Learning the Language of Time Series]()
Chronos: Learning the Language of Time Series
We introduce Chronos, a simple yet effective framework for pretrained probabilistic time series models. Chronos tokenizes time series values using scaling and quantization into a fixed vocabulary...
代码和预训练模型:
摘要:Chronos, 一个简单但有效的预训练概率时间序列模型框架. Chronos 使用缩放和量化将时间序列值进行分词, 形成一个固定的词汇表, 并在这些分词的时间序列上, 通过交叉熵损失训练现有的基于 transformer 的语言模型架构. 我们基于 T5 系列 (参数范围从 2000 万到 7.1 亿 ) 对 Chronos 模型进行了预训练, 训练数据集包括大量公开可用的数据集, 并辅以我们通过高斯过程生成的合成数据集, 以提高泛化能力. 在一个包含 42 个数据集的综合基准测试中, 该测试包括经典的局部模型和深度学习方法, 我们表明 Chronos 模型: (a ) 在作为训练语料库一部分的数据集上显著优于其他方法;以及 (b) 在新数据集上具有可比的、有时甚至更优越的零样本性能, 相对于那些专门针对这些数据集进行训练的方法. 我们的结果表明, Chronos 模型可以利用来自不同领域的时间序列数据, 以提高在未见过的预测任务上的零样本准确性, 将预训练模型定位为一种可行的工具, 以大大简化预测流程.
解决的问题:难道好的语言模型不应该“直接起作用”于时间序列吗?
回答这个问题促使我们开发了 Chronos, 这是一个为时间序列预测而最小程度调整的语言建模框架. Chronos 通过对真实值进行简单的缩放和量化, 将时间序列标记化为离散的 bin. 通过这种方式, 我们可以在这个“时间序列的语言”上训练现成的语言模型, 而无需更改模型架构 (关于 Chronos 的高级描述, 请参见图 1 ) . 值得注意的是, 这种直接的方法被证明是有效且高效的, 突显了语言模型架构在解决各种时间序列问题时, 只需进行最少修改的潜力.

当然对于开发有用的通用时间序列预测模型, 公开可用的时间序列数据集的稀缺性 (无论是在数量还是质量上 ) 可以说比建模框架更为关键. 除了我们用于训练 Chronos 的公共数据集的综合集合外, 我们方法的一个核心方面是数据增强策略的整合, 包括 TSMixup 和 KernelSynth. TSMixup 从不同的训练数据集中随机采样一组基本时间序列, 并基于它们的凸组合生成新的时间序列;KernelSynth 使用高斯过程通过随机组合核函数来生成合成时间序列. 这些技术解决了时间序列预测中小训练数据集的固有局限性, 增强了模型的鲁棒性和泛化能力.
框架:
1 时间序列分词
1.1 缩放. 这里用到了均值缩放, 均值缩放的一个吸引人的特征是, 它保留了时间序列中的零值, 这些零值通常具有语义意义, 例如产品的零销售额或夜间的零太阳能发电量. 均值缩放通过历史上下文中的绝对值的均值来归一化时间序列的各个条目. 具体来说, 这涉及设置 和 .
1.2 量化. 缩放后的时间序列 仍然是实数值, 不能被语言模型直接处理. 为了将这些实数值转换为离散的 token, 我们采用量化. 如图所示:

分别. bin 中心和边缘的定位可以是数据相关的或均匀的 (Rabanser et al., 2020).
还在时间序列词汇表中加入了两个常用的语言模型中的特殊 tokens:PAD 和 EOS. PAD token 用于将不同长度的时间序列填充到固定长度以进行批量构建, 并用于替换缺失值. EOS token 附加到量化和填充的时间序列的末尾, 以表示序列的结束. 虽然在使用时间序列时, EOS token 并非绝对必要, 但它使得使用流行的语言建模库进行训练和推理变得方便. 这样的 tokens 序列可以很容易地被语言模型 (包括编码器-解码器和仅解码器模型 ) 处理, 像往常一样训练它们. 时间序列建模中的一种常见方法是通过星期几、年中的周等特征来结合时间和频率信息. 也许违反直觉的是, 在 Chronos 中, 我们忽略了时间和频率信息, 将“时间序列”简单地视为一个序列.
我们主要关注编码器-解码器 T5 模型 (Raffel et al., 2020) 的变体. 此外, 我们使用 GPT-2 (Radford et al., 2019) 模型进行了一项实验, 以证明我们的方法可以直接扩展到仅解码器模型. 具体来说, 调整词汇量大小需要截断 (或扩展 ) 语言模型的输入和输出嵌入层.
2 目标函数

Chronos 通过分类执行回归, 选择分类输出分布有两个关键优势. 首先, 它不需要修改语言模型架构或训练目标, 从而可以使用流行的语言建模库及其开箱即用提供的实用程序. 其次, 它对输出分布的结构没有限制, 允许模型学习任意分布, 包括多模态分布. 这种灵活性对于预训练模型来说特别有价值, 因为来自不同领域的时间序列数据集可能遵循不同的输出分布模式.

数据增强:
公共时间序列数据的质量和数量与自然语言处理 (NLP) 领域相比相形见绌, 后者受益于大量高质量的文本数据集, 例如 WikiText-103 、C4 和 The Pile. 这对旨在进行零样本预测的模型提出了挑战, 这些模型依赖于具有多样模式的大规模时间序列数据. 为了解决这个问题, 我们建议通过从真实数据集生成 mixup 增强, 并用合成数据补充训练来增强训练数据的多样性.
这里有两个方法
1 TSMixup: 时间序列 Mixup
Mixup (Zhang et al., 2017) 是一种在图像分类背景下提出的数据增强方案. 它从训练数据集中生成随机图像对及其标签的凸组合, 这减轻了深度学习模型中记忆和过拟合等问题.

4.2 KernelSynth:使用高斯过程生成合成数据
虽然 TSMixup 提高了模式多样性, 但它可能仍然不足以训练通用时间序列模型, 特别是当实际数据有限时. 为了进一步补充训练数据集, 我们提出了 KernelSynth, 一种使用高斯过程生成合成时间序列的方法. KernelSynth 的灵感来自于 Automatic Statistician (Duvenaud 等人, 2013 ) , 其中对 GP 核空间进行组合搜索来解释时间序列的结构. 我们使用该过程的逆过程随机组成 GP 内核来生成新的时间序列.

- Author:Coding
- URL:http://preview.tangly1024.com/article/2adad491-793a-8121-b5e4-dcd5d37cbe7a
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!

