TimeTok: Granularity-Controllable Time-Series Generation via Hierarchical Tokenization¶
会议: NeurIPS2026
arXiv: 2605.01418
领域: 时间序列
关键词: 粒度可控生成、层级分词、有限标量量化、条件流匹配、粒度块自回归
一句话总结¶
TimeTok 将时间序列编码成具有由粗到细语义的离散 token 前缀,通过粒度块自回归补充细节、条件流匹配解码控制输出粒度,在条件细化和生成分布指标上表现突出,但并非所有下游预测指标最优。
研究背景与动机¶
时间序列既包含缓慢变化的趋势,也包含局部波动与瞬态事件。TimeGAN、DiffusionTS、TimeVQVAE 等生成方法主要学习训练数据所在粒度的分布,通常不能直接回答“给定这条粗轮廓,可以生成哪些合理细节”,也不能用同一个原生接口指定不同的输出细节程度。把粗信号加噪并不能解决这个问题:噪声可能制造变化,却未必符合真实序列的条件分布。
真正的难点是让表示本身具有可操作的粒度顺序。常规时间序列 token 往往对应位置或局部片段,截去后半部分通常意味着丢失后半段时间,而不是得到整段序列的粗版本。即使为模型额外加入一个粒度标签,如果潜在表示没有层级组织,模型也仍需学习大量粗细粒度配对之间的关系。直接在原始序列上逐级生成则要反复处理整段历史,增加序列长度和学习难度。
本文把粒度可控时间序列生成(GC-TSG)定义为统一任务:从空条件生成指定粒度,或从较粗输入细化到更细目标。这里主要实验中的“粒度”由信息削减算子定义,所有层级保持相同序列长度,不应直接等同于真实传感器采样率。核心 idea:让 token 前缀长度表示整段序列保留的时间细节程度,再沿粒度轴补全 token 块,使粗轮廓条件生成与无条件生成共享同一套模型。
方法详解¶
整体框架¶
TimeTok 先学习“层级分词与流解码”,把连续序列压缩成有序离散 token,并使不同长度的前缀能够解码为不同粒度。随后冻结分词器与解码器,训练“粒度块自回归”模型预测下一层新增的 token。推理时通过“前缀选择与目标控制”保留输入的粗信息,生成到用户指定层级,再由已训练的流解码器把噪声转成连续序列。
训练时有真实序列及其平滑版本作为监督;推理时没有真实细节作为监督,只有粗输入、已生成的 token 和随机噪声。输出细节是条件分布中的合理样本,而不是唯一恢复原始观测。下面虚线表示训练监督或已学习解码器的复用,实线表示 token 建模与推理数据流。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
X["真实序列/粗输入"] --> A["层级分词与流解码"]
S["训练平滑目标"] -.->|多粒度流匹配监督| A
A -->|冻结后用训练 token| B["粒度块自回归"]
B -->|推理时逐块采样| C["前缀选择与目标控制"]
A -->|粗输入的候选前缀| C
C -->|目标层 token 前缀| O["连续序列输出"]
N["高斯噪声"] -->|条件流解码| O
A -.->|复用已训练流解码器| O
关键设计¶
1. 层级分词与流解码:用前缀监督把 token 顺序变成粒度顺序
编码器把输入切成不重叠 patch,线性投影后加入 128 个可学习 register token,由 Transformer 让 register 汇聚整段序列的信息。离散化的是这些 register 的编码结果,而不是按时间顺序截取的原始采样点。因此,一个很短的 token 前缀仍然可以描述完整时间区间的趋势,而不是只描述序列开头。
量化采用有限标量量化(FSQ):每个 register 被映射到六维离散码,各维有 4 个取值,组合词表大小为 \(4^6=4096\)。必须区分“共有 128 个 token 位置”和“每个位置可选 4096 种码”;六维码也不是六个独立时间片。FSQ 在这里提供离散生成接口,真正赋予顺序语义的是后续多粒度解码监督。
模型设置 8 个粒度层级,前缀预算依次为 1、2、4、8、16、32、64、128 个 token。小预算负责趋势,大预算逐渐承载细节。训练并不是任意丢弃 token 后仍要求重建原始细信号,而是给不同预算配上不同程度平滑后的目标:否则少量 token 也会被迫记住全部细节,前缀长度就失去粒度含义。
高斯平滑目标的核心定义如下,最细的第 8 层直接采用原序列,避免把零带宽写成普通高斯核。
核归一化并截断到三倍标准差范围。平滑移除高频细节而不改变序列长度,所以控制的是这种训练定义下的信息粒度,而非直接增减采样点数量。低层到高层的变化也不是确定可逆过程;被平滑掉的不同细信号可能对应同一个粗轮廓。
解码器采用条件流匹配(CFM),接受当前噪声状态、流时间以及所选 token 前缀,学习把高斯噪声运输到对应平滑层级的序列分布。前缀越短,训练目标越平滑;前缀越长,训练目标越细。这样离散表示和连续生成器共同形成“前缀长度—输出粒度”的对应关系,而不是依靠生成完毕后再统一滤波。
2. 粒度块自回归:预测下一层新增信息,而非逐时间点预测
分词器训练后固定下来,VAR Transformer 在其离散表示上建模。令第 0 层预算为 0,后续预算按上述指数序列增长;每一步以已有粗前缀为条件,预测达到下一层预算所需的新增 token 块。前两个块各含 1 个 token,随后块大小为 2、4、8、16、32、64,总共构成 128 个位置。
这不是常规 next-token prediction,也不是在时间轴上预测下一个观测值。它沿粒度轴做 next-block prediction:同一个层级的新 token 作为一组预测,再作为下一层的条件。用户只需要中间粒度时可以停止,不必先生成全部细节。最粗到最细只需推进 8 个粒度阶段,但连续解码仍有流采样开销,不能据此直接宣称端到端推理加速多少倍。
原始空间对照则把 8 层连续序列串成长度约为 \(8T\) 的轨迹,用自回归 Transformer 及混合密度头建模。它在条件实验中还获得真实的全部前置粗层作为上下文。TimeTok 的优势因此不仅是“有粗到细目标”,还在于用一个紧凑、具有顺序语义的前缀表示之前的粒度信息;实验支持这一比较,但不能把性能差异全部归因于单一模块。
3. 前缀选择与目标控制:估计输入所在层级,再只补充缺少的细节
面对未知粒度的粗输入,模型先编码出完整候选 token 序列,再分别用 8 种前缀预算重建输入,计算各层重建的 L2 距离。它不直接选择误差最小的最复杂层,而是根据相邻层的相对误差改善选择层级,保留这一层的前缀。这里是一个重建曲线启发式,不是输入真实采样率的测量,也没有证明它总能识别“真实粒度”。论文没有给出足够明确的闭式判定细节,因此不自行补成精确算法公式。
选定源层级 \(i\) 与更细目标 \(j\) 后,VAR 固定原始前缀,依次生成 \(i+1\) 到 \(j\) 的新增块,最后用对应预算的 token 和随机噪声解码。固定离散前缀能约束粗结构,却不等于输出经过再次平滑后会逐点等于输入;训练目标没有加入这样的硬约束,需通过 C-Cons 实证检验。若完全没有输入,则从 [BOS] 开始生成,到任意目标层停止;生成到第 8 层就是标准生成。
类别条件可以通过 AdaLN 加入。另一个扩展是多域基础分词器:在 UTSD 上构造多粒度表示,以去趋势波动分析(DFA)指数划分 8 个等宽区间,分配每个表示的粒度层级。DFA 分配用于异质预训练设置,与单数据集推理中的重建误差检测不是同一种机制;基础分词器迁移后,仍在下游数据上训练 VAR,不能称为完整生成模型零样本迁移。
一个完整示例¶
考虑一条保持固定长度的普通电力负荷粗波形,主要特征是上午上升、午后下降。以下是解释机制的示意流程,不是论文额外测得的个例结果。
输入先被编码成 128 个候选 token,再用不同预算解码比较。假设重建启发式选到第 3 层,模型保留前 4 个 token;这表示完整波形的较粗结构,而不是最初 4 个采样点。
若目标设为第 6 层,VAR 接着生成第 4 层新增的 4 个 token、第 5 层新增的 8 个、第 6 层新增的 16 个,最终形成 32-token 前缀。流解码器以此前缀和高斯噪声为条件,输出与输入等长、含更多局部变化的波形。
换一个随机种子可以得到另一条细化样本;其细节应来自学到的条件分布,而不是被当作真实缺失读数。若目标改为第 8 层,还需继续生成 32 和 64 个 token 的两块。若直接从 [BOS] 开始到第 6 层,则生成的是无条件中等粒度样本,而不是对这条波形的细化。
损失函数 / 训练策略¶
第一阶段联合训练编码器和条件流解码器,均匀采样粒度层级。令 \(\boldsymbol{\epsilon}\) 为高斯噪声、\(\tau\) 为流时间,线性插值路径和目标速度给出多粒度流匹配损失:
第二阶段冻结编码器和解码器,使用训练序列的离散 token 优化粒度块负对数似然,且 \(n_0=0\):
UTSD 实际用于分词器训练的样本数为 2,954,239,长度为 256。单数据集实验是单变量设置,ETTh1 仅用第一通道;分类评估采用 InceptionTime,预测评估采用 DLinear,都是合成数据训练、真实数据测试(TSTR)。UCR 数据实际按 60%/20%/20% 划分,而非直接照搬表 7 的原始训练/测试数量。论文报告三个随机种子的标准差,但本缓存未完整提供优化器、学习率等可复现超参数,不能自行补写。
实验关键数据¶
主实验¶
标准生成取最细层级,FID 越低越好,ACC/F1 越高越好,预测 MSE 越低越好。下面选取表 2 中有代表性的生成基线;Oracle 表示真实数据训练的下游模型,不是另一个生成器。
| 数据集与指标 | TimeTok | ImagenTime | DiffusionTS | Oracle |
|---|---|---|---|---|
| ECG5000 FID | 0.004 ± 0.001 | 0.020 ± 0.010 | 0.041 ± 0.009 | — |
| ECG5000 ACC | 0.948 ± 0.006 | 0.940 ± 0.007 | 0.896 ± 0.015 | 0.959 ± 0.001 |
| ECG5000 F1 | 0.564 ± 0.047 | 0.477 ± 0.104 | 0.552 ± 0.028 | 0.620 ± 0.010 |
| ItalyPowerDemand FID | 0.007 ± 0.001 | 0.043 ± 0.006 | 0.023 ± 0.005 | — |
| ItalyPowerDemand ACC | 0.982 ± 0.000 | 0.978 ± 0.002 | 0.979 ± 0.003 | 0.982 ± 0.008 |
| Nasdaq FID | 0.091 ± 0.017 | 0.142 ± 0.032 | 0.208 ± 0.015 | — |
| Nasdaq MSE | 0.045 ± 0.001 | 0.046 ± 0.000 | 0.056 ± 0.001 | 0.033 ± 0.000 |
| ETTh1 FID | 0.070 ± 0.006 | 0.074 ± 0.007 | 0.083 ± 0.011 | — |
| ETTh1 MSE | 0.103 ± 0.000 | 0.099 ± 0.000 | 0.101 ± 0.001 | 0.098 ± 0.000 |
TimeTok 在表 2 的 ETTh1 FID 最好,但 MSE 不如 ImagenTime、DiffusionTS 和 Oracle;Nasdaq MSE 优于生成基线,却仍差于 Oracle 的 0.033。FID 改善不能直接推出所有下游任务都改善。
条件生成每个粗输入采样 \(K=5\) 条序列。CRPS 衡量逐点条件预测分布的准确性与校准,再沿时间累加;它既含对真实目标的误差,也含样本间距离项,不能单凭更低分数证明样本更加多样。
C-Cons 是生成序列重新粗化后与粗输入的 RMSE。对于高斯定义,必须补充方差差值对应的平滑,不能直接对中间层再套用从原序列出发的完整源层滤波器:
以下是全部有效粗细层级对的平均值,均越低越好;前三行取表 3,原始空间 AR 行取表 15。
| 条件生成方法 | ECG5000 CRPSsum | ECG5000 C-Cons | Nasdaq CRPSsum | Nasdaq C-Cons |
|---|---|---|---|---|
| TimeTok | 1.587 ± 0.867 | 0.010 ± 0.006 | 15.87 ± 12.48 | 0.096 ± 0.090 |
| TimeGAN | 1.737 ± 0.737 | 0.011 ± 0.005 | 39.11 ± 22.14 | 0.196 ± 0.105 |
| TOTEM | 2.639 ± 1.286 | 0.035 ± 0.019 | 35.97 ± 22.54 | 0.294 ± 0.247 |
| 原始空间 AR Transformer | 5.804 ± 1.658 | 0.040 ± 0.018 | 22.98 ± 18.95 | 0.119 ± 0.107 |
ImagenTime 和 TSGDiff 没有参加条件 GC-TSG 比较,作者认为改造其频域或图表示超出合理适配范围。其他基线经过粒度条件适配,因此结论是对这些适配实现成立,而非证明所有其他生成范式都不可能实现粒度控制。
消融实验¶
下表整合层级检测分析(表 8)和基础分词器扩展(表 6)。两类实验设置不同,不能把各行当作同一模型训练条件下的严格单因素消融。
| 设置 | ECG5000 结果 | Nasdaq 结果 | 对应问题 |
|---|---|---|---|
| TimeTok 重建曲线层级检测 | CRPSsum 1.587 ± 0.867 | — | 推理时估计源层级 |
| TimeTok 给定真实构造层级 | CRPSsum 1.509 ± 0.883 | — | 已知层级参考,差值 0.078 |
| UTSD TimeTok,不使用 DFA | FID 0.042;ACC 0.944;F1 0.583 | FID 0.111;MSE 0.044 | 统一按单数据集方式定义层级 |
| UTSD TimeTok,使用 DFA | FID 0.010;ACC 0.951;F1 0.668 | FID 0.046;MSE 0.042 | 异质数据按 DFA 分配粒度 |
指数预算与均匀预算的比较固定总预算 128,均匀方案为每层累计 16、32、……、128 个 token。图 6–7 显示相近的训练及验证重建曲线,支持粗层不必占用很多 token;原文没有给出精确终点数值,本笔记不从图中猜数。
关键发现¶
- 表 4 的跨层无条件平均 FID 为 ECG5000 0.002 ± 0.001、Nasdaq 0.103 ± 0.014;它们不同于表 2 的单一最细层标准生成分数。
- 替代粗化算子测试中,TimeTok 在 ECG5000 的 CRPSsum 为小波 2.354、移动平均 2.080、降采样 2.126、高斯 1.587(表 17)。这说明存在一定跨算子泛化,但非高斯情形没有对应的 C-Cons,不能扩展为所有粗结构都精确保留。
- 表 18–21 的多评估器结果进一步显示任务依赖:TimeTok 在 ECG5000 合成方法的平均 F1 排名为 1.4,而 ETTh1 平均 MSE 排名为 3.2,ImagenTime 为 1.2。
- 原文存在未解释的数值差异:ECG5000 最细层 FID 在表 2 为 0.004 ± 0.001,在表 10 为 0.006 ± 0.001;表 13 报告的 ItalyPowerDemand/ETTh1 全配对平均结果与表 12 的逐配对行不能直接对应。本笔记保留各表实验边界,不自行修成一致。
亮点与洞察¶
- 粒度是表示接口,而不只是输出滤波参数:短前缀描述整段趋势,新增 token 引入细节。这个设计使中间粒度成为可以独立生成与评估的目标,而非最终样本的过渡脚手架。
- 随机连续解码与离散层级互补:VAR 学习层级之间该补充哪些码,CFM 学习给定码怎样形成连续波形。其价值是提供条件采样能力,但 token 噪声与流噪声的具体贡献仍值得分开研究。
- 迁移应首先检查粒度标签是否可比:UTSD 扩展不把所有观测都视为最细层,而用 DFA 重标定。可借鉴的是跨域表示监督的校准思路,不是把 DFA 指数当作普遍有效的物理粒度真值。
局限与展望¶
- 训练粒度依赖人为定义:主实验主要用高斯平滑形成 8 层、固定长度的单变量序列。真实设备的混叠、不规则采样、缺失值与多变量耦合不能自动由这一设置覆盖。
- 一致性是经验结果而非硬约束:粗前缀固定不保证重粗化后与输入逐点相等。可进一步加入可验证的一致性约束,并研究它与条件分布覆盖之间的关系。
- 未知层级检测仍是启发式:GT 层级比较只给出一个数据集上的平均差距,不能据此保证陌生域、噪声输入或手绘轮廓的检测可靠性。
- 基础分词器证据仍初步:已有多域预训练和两个下游生成数据集的迁移结果,尚不足以证明通用时间序列基础模型能力;下游 VAR 重训成本也需计入。
- 评估与复现仍有边界:CRPSsum 会受时间长度和数据尺度影响,不宜跨数据集直接比较大小;实验还需要更完整的超参数、运行成本与数值冲突说明。生成细节不应被当成真实丢失信息,更不能凭这些基准结果提供医学诊断或金融决策建议。
相关工作与启发¶
- vs TimeVQVAE / TOTEM:都使用离散时间序列表示,但 TimeTok 通过前缀预算与平滑目标绑定,让 token 顺序明确对应粒度。可控性来自这种绑定,而不是仅仅换一个量化器。
- vs DiffusionTS / TimeGAN:这些方法主要优化标准生成;本文增加统一粗细条件接口,并与经过适配的实现比较。优势集中在条件细化及分布匹配,不是普遍更强的预测性能。
- vs VAR / FlowAR / FlexTok:TimeTok 借鉴 next-scale 块生成和可变长度有序前缀,进一步把层级定义为时间序列输入与输出的用户控制变量。创新主要在这三部分的任务对齐,而非首次提出每个基础组件。
- vs 时间序列超分辨率:固定低到高映射是条件细化的一个实例,GC-TSG 还支持中间目标层及无条件生成。后续值得检验在真实降采样而非主要平滑构造下,这个统一接口是否仍成立。
评分¶
- 新颖性: 4/5 — 把有序前缀、块生成与时间粒度监督整合为统一接口,基础组件已有先例。
- 实验充分度: 4/5 — 包含四个数据集、条件配对、多评估器和迁移分析,但真实粒度失配与多变量验证不足。
- 写作质量: 3/5 — 方法主线清晰,部分表号、数值对应及复现细节仍需澄清。
- 价值: 4/5 — 提供可复用的粒度控制表示设计,但生成细节的真实性和部署可靠性需独立验证。