Appearance
模型精读导航
Abstract
这里维护两条并行的学习轨道:
- 论文轨:按发展脉络读论文,建立"为什么这个模型出现"的历史感
- 精读轨:对每个模型做 BFS 分层代码精读,建立"代码怎么跑通"的工程感
两条轨道不必完全同步,但每个精读文档必须建立在真实 TFB 入口之上。
1. 当前学习状态(2026-04-25)
已完成论文学习
按实际学习顺序:
| 顺序 | 模型 | Phase | 会议 | 核心创新 |
|---|---|---|---|---|
| 1 | DLinear | Phase 2 | ICLR 2023 | 线性基线挑战 Transformer;排列不变性缺陷 |
| 2 | PatchTST | Phase 3 | ICLR 2023 | Patch token + Channel Independence |
| 3 | Informer | Phase 1 | AAAI 2021 🏆 | ProbSparse Attention, |
| 4 | Autoformer | Phase 1 | NeurIPS 2021 | Auto-Correlation + 趋势季节分解 |
| 5 | iTransformer | Phase 3 | ICLR 2024 | 倒置 token:变量作序列维,注意力在变量间 |
| 6 | TimesNet | Phase 3 | ICLR 2023 | 1D→2D reshape,Inception 捕捉周期结构 |
| 7 | FEDformer | Phase 1 | ICML 2022 | 频域注意力(FFT/Wavelet)+ MOEDecomp |
| 8 | Non-stationary | Phase 1 | NeurIPS 2022 | De-stationary Attention,还原非平稳统计量 |
| 9 | FITS | Phase 3 | ICLR 2024 | 复频域线性插值,~10K 参数 |
| 10 | TimeMixer | Phase 4 | ICLR 2024 | 多分辨率池化 + PDM/FMM 双向混合 |
| 11 | DUET | Phase 4 | — | 时间×通道双向聚类路由,MoE gating |
已完成 BFS 精读文档
✅ 完整精读(有调试形参 + 全层文档)
| 模型 | Phase | 文件数 | 核心精读点 |
|---|---|---|---|
| DLinear | Phase 2 | 5 | 静态分解 + Linear,共享/独立权重路径 |
| PatchTST | Phase 3 | 11 | Patch unfold、CI reshape、ViT Encoder |
| Informer | Phase 1 | 13 | ProbSparse、Distilling ConvLayer、context_filling |
| Autoformer | Phase 1 | 13 | Auto-Correlation(FFT 互相关)、Decoder 双路 trend 累加 |
| iTransformer | Phase 3 | 10 | 倒置 token、变量轴注意力 |
| TimesNet | Phase 3 | 9 | FFT 周期、1D→2D reshape、Inception Block |
| FITS | Phase 3 | 5 | rfft→截断→复数域 Linear→irfft |
| DUET | Phase 4 | 10 | MoE 路由、SparseDispatcher、Mahalanobis Mask |
| TimeMixer | Phase 4 | 10 | 多尺度 AvgPool、PDM 双向混合、FMM CI 还原 |
🔶 部分完成(有总览,无完整 BFS 层级)
| 模型 | Phase | 文件数 | 缺少什么 |
|---|---|---|---|
| FEDformer | Phase 1 | 2 | 仅总览 + FourierBlock 一篇;无 Layer0/Layer1/收束 |
| Non-stationary | Phase 1 | 1 | 仅概念笔记;无 BFS 精读文档 |
🚫 暂搁置(TFB 无代码)
| 模型 | Phase | 原因 |
|---|---|---|
| CycleNet | Phase 4 | ts_benchmark/baselines/ 里无对应代码 |
| TimeXer | Phase 4 | 同上 |
| TimesFM | Phase 5 | 同上 |
2. 下一步计划
论文轨:Phase 5 预览
Phase 4 完结(TimeMixer + DUET)
↓
Phase 5 预览:TimesFM(零样本基础模型,概念层阅读)精读轨:补完现有缺口
| 优先级 | 任务 | 预计产出 |
|---|---|---|
| ⭐⭐⭐ | FEDformer 全层 BFS | Layer0/Layer1/FourierBlock/MOEDecomp/收束 |
| ⭐⭐ | Non-stationary 精读 | DSAttention 机制(De-stationary projection) |
| ⭐ | 选一个已精读模型实验 | 修改模块验证 → 选 TimeMixer 或 DLinear |
3. 两条轨道的关系
论文轨(理解 WHY) 精读轨(理解 HOW)
───────────────── ─────────────────
读摘要 + Method BFS 分层文档
建立 motivation 意识 tensor shape 追踪
跨模型对比 toy 数值验证不强制要求两轨同步。论文轨可以超前跑,精读轨选重点做(不必每篇都 BFS)。 当前重点精读的判据:
- 架构有新组件(注意力变种 / 新嵌入方式)
- 代码实现和论文公式之间有非显而易见的映射
- 自己看代码超过 30 分钟还没搞清楚
满足任意一条就值得做精读文档。
4. 文档目录结构(实际状态)
modelread/
├── 00-模型精读导航.md ← 本文档
├── 01-学习计划与路线逻辑.md ← Phase 叙事线 + 我现在在哪
├── assets/ ← 所有 SVG 图(统一存放)
├── DLinear/ ← ✅ 完整
├── PatchTST/ ← ✅ 完整
├── Informer/ ← ✅ 完整
├── Autoformer/ ← ✅ 完整
├── iTransformer/ ← ✅ 完整
├── TimesNet/ ← ✅ 完整
├── FITS/ ← ✅ 完整
├── DUET/ ← ✅ 完整
├── TimeMixer/ ← ✅ 完整
├── FEDformer/ ← 🔶 部分(仅 2 文件)
├── Nonstationary/ ← 🔶 部分(仅概念笔记)
└── archive/ ← 旧文档归档5. 精读文档规范(速查)
每个模型的 BFS 文档遵循 ts-model-coderead skill 规范:
| 要点 | 规则 |
|---|---|
| 分层 | 每个调用深度独立 md 文件,不合并 |
| toy 数值 | 所有维度取不同数值;每步追踪具体数字 |
| SVG | 双残差块、多头拆分、热力图等必须有 SVG |
| 代码块 | 只放原始源码,shape 注解写在代码块外的 Markdown 散文里 |
| 跨模型对比 | 总览文档必须有 ≥5 维的模型对比表 |
详细规范见 skill:C:\Users\兴平\.claude\skills\ts-model-coderead\SKILL.md
6. 阶段性问题清单
学完每个阶段后,能回答这些问题说明理解到位:
- Phase 1–2 检验(已学模型)
- 从 Informer 到 Non-stationary,每篇的 motivation 是什么?能画出因果链吗?
- Autoformer 和 FEDformer 都用了频域,但目的根本不同——各是什么?
- DLinear 的"排列不变性"缺陷,用一个具体例子解释:给 Transformer 打乱 token 顺序,输出会变吗?为什么?
- Phase 3 检验(已学模型)
- PatchTST(Channel Independence)和 iTransformer(Channel Dependence)假设相反,各自什么时候更好?能给出一个实际场景吗?
- FITS 的"复频域线性插值 = 时域预测"从物理直觉上怎么理解?
- TimesNet 的 1D→2D reshape:如果 seq_len=24,主周期=8,reshape 后的 2D 矩阵是什么形状?每行代表什么?
- Phase 4 检验(已学模型)
- TimeMixer 的多分辨率 AvgPool 和 FEDformer 的随机频率采样解决的是同一个问题吗?区别在哪?
- DUET 解决的"分布漂移"和 Non-stationary Transformer 解决的"过平稳化"是同一个问题吗?
- DUET 的 MoE gating 和 Mahalanobis Mask 各自在防止什么:路由崩塌?通道穿越?
- Phase 5 检验(待读)
- TimesFM 为什么选 Decoder-only 而不是 Encoder-Decoder?
- NLP 的预训练数据(文本)和时序预训练数据有什么本质区别?这使得时序基础模型面临什么独特挑战?