本节摘要:CNN-LSTM 用卷积抽局部再交给门控记更长依赖;ConvLSTM 把卷积塞进细胞,面向有空间网格的序列;TFT 把门控、注意力、变量选择绑在一起。集成把多个弱对照的输出再组合。混合会同时继承两族的代价。SOURCE 把它们列为变体,不是默认起点。单族对照已经失败、失败原因对应两族互补时,再上混合。
阅读完本节,你应当能够:
SOURCE 点名的混合包括:CNN-LSTM/GRU、ConvLSTM、Informer/Autoformer/FEDformer、TFT。前两个是结构拼接,中间是 Transformer 效率轴,TFT 是多变量产品向结构。拼接的正当理由只有一条:单族的失败模式正好是另一族的强项。
例如:日负荷形状卷积已经学得很好,但跨周的事件记忆不够——CNN 编码、LSTM 解码说得通。若 CNN 单独和 LSTM 单独在测试误差上已经持平,拼起来多半是把过拟合通道加倍。冷库温度这种短依赖,混合几乎没有理由。
ConvLSTM 把卷积运算放进 LSTM 的门和细胞,为的是同时保留空间邻域和时间状态。交通网格、雷达回波是它的主场。把变电站单条负荷强行 reshape 成假图像再 ConvLSTM,是错配。对照轴是数据有没有空间维,不是名字听起来更全。
正当拼接: 局部模板失败? → 加卷积前端 长事件失败? → 加门控或注意力后端 多通道噪声? → 加变量选择 没有单族失败 → 不要拼接
Temporal Fusion Transformer 被 SOURCE 概括为:注意力 + 门控 + 变量选择,处理多变量非线性,并提供可解释性。变量选择会压低无用协变量的权重,这直接针对第 2 章“吵通道先被学会”的反例。若你只有一两个干净外生,TFT 的选择器没有舞台,原版较小模型更合适。
Informer 一类针对长序列注意力的平方账单。窗口没长到显存报警,它们的稀疏化设计是额外超参,不是免费午餐。把“论文年份更新”当成混合理由,会把对照表变成文献综述。
集成学习在 SOURCE 的标题里与混合并列。简单平均几个不同归纳偏置的模型(MLP、TCN、GRU),常能降一点方差。堆叠是在验证段上再训一个元学习器。堆叠的泄漏面很大:若元学习器用了测试段,或验证段太短,集成器会记住哪段偶然谁准。规则:元学习只吃验证段,测试段只评一次;验证段太短就只用简单平均,不上堆叠。
| 结构 | 互补的两伤 | 额外代价 | 不要用的时候 |
|---|---|---|---|
| CNN-LSTM | 局部 + 逐步记忆 | 两套超参 | 单族已够 |
| ConvLSTM | 空间邻域 + 时间 | 实现重 | 没有空间网格 |
| TFT | 多变量选择 + 对齐 | 数据与调参 | 通道很少 |
| 长序 Transformer 变体 | 平方复杂度 | 结构复杂 | 窗口并不长 |
| 简单平均 | 方差 | 推理乘模型数 | 模型高度相关 |
| 堆叠 | 偏差再拟合 | 泄漏风险 | 验证段短 |
高度相关的三个 LSTM 不同随机种子,平均收益很小,因为错在同一处。集成要的是错误不相关:一个偏季节、一个偏外生冲击。先看残差相关,再决定要不要平均。推理延迟乘以模型数,在线场景可能不可接受,那是第 6 章在线对照的内容。
我倾向的加项顺序:单族最优 → 简单平均前两名(若残差相关低)→ 仍不够再试一个有明确互补理由的混合。跳过前两步直接 TFT+集成,日志无法归因。
⚠️ 常见坑:在测试段上挑“今天谁准听谁”,这是事后上帝视角,不是集成。
💡 关键直觉:混合赢在互补的失败模式。没有失败模式的混合,只是把容量加到过拟合。
港口若 CNN 残差仍含周班期、LSTM 残差仍含台风后的长尾,二者残差相关低,平均才有意义。若两者残差几乎重合,平均只是把同一错误说两遍。
把验证残差做成序列,算两模型残差相关。接近 1,平均几乎无收益,还加倍推理成本。明显低于 1,且错误发生在不同类型的日(一个错节日、一个错高温),简单平均才进对照。三个随机种子的同结构 LSTM 相关通常很高,那不叫集成,叫浪费。
堆叠元学习器只吃验证段。验证只有两个月,元学习器会记住这两个月谁碰巧准。规则是:验证短,禁止堆叠,最多平均。测试段看一次。有人用测试上“今天谁准听谁”,那是事后选择,不是算法。
CNN-LSTM 的拼接要能用一句话说清失败模式:卷积单独看,日形状已经好,残差里还有跨周事件;LSTM 单独看,跨周好,日形状毛。两句都真,才拼接。一句假,回去加特征。TFT 同理:通道超过一手能数清、质量参差,变量选择才有舞台。为了“架构图好看”上 TFT,验证集先替你交学费。
推理乘模型数会在 6.5 被延迟门槛卡死。离线集成冠军若上不了线,日志里应提前写 P95 时延。混合与集成不是终点装饰,是有条件加项。无条件加项,对照主调就破了。
卷积单独日形状好、残差仍有跨周事件,且 LSTM 单独相反,两句都真才 CNN-LSTM。一句假,回去加特征。ConvLSTM 需要真空间网格。TFT 需要一手数不清的参差通道。长序变体需要平方已经咬显存。残差相关接近 1,平均无收益。验证短禁止堆叠。测试上今天谁准听谁不是集成。P95 时延提前写进日志,离线冠军上不了线要提前承认。加项顺序:单族、平均、有理由混合。跳过前两步,对照主调破了。
三个同结构不同种子相关高,平均收益小。一个偏季节一个偏外生冲击,残差相关低,简单平均才进场。堆叠吃验证,验证短禁止。CNN-LSTM 要能一句话说清互补失败。没有单族失败的混合只是容量加倍过拟合。推理乘模型数,在线可能不合格,提前用 P95 卡。SOURCE 把混合与集成列为变体不是默认起点。加项顺序写进章程:单族最优、残差相关低则平均、仍不够再试一个有理由的混合。测试段挑今天谁准,是事后上帝视角。
没有普适阈值,但接近 1 时不要平均。先看错误是否发生在不同类型的日。同结构多种子通常相关高,不叫集成。验证两个月禁止堆叠元学习器。CNN-LSTM 两句失败模式都真才拼接。没有空间网格不要 ConvLSTM。通道少不要 TFT。窗口不长不要长序变体。P95 时延提前写。测试上谁准听谁是事后选择。章程顺序:单族、相关低则平均、有理由再混合。SOURCE 列为变体,起点仍是单族。无失败模式的混合只是把过拟合通道加倍。
混合与集成只允许在单族日志已经写清失败模式之后出现。卷积日形状好但跨周事件残差仍在,循环相反,两句都真才拼接。没有空间网格不要把单条负荷reshape成假图像。通道少不要上重的变量选择器。窗口不长不要上稀疏长序变体。残差相关接近一,平均只是把同一错误说两遍。验证段短禁止再训元学习器。测试段按天挑选谁准,是事后上帝视角。推理时延乘模型数,实时场景可能直接不合格,离线冠军要提前用分位延迟门槛卡掉。章程顺序写进仓库:单族最优,相关低则简单平均,仍不够再试一个有理由的混合。为架构图好看而拼接,验证集会替你交学费。变体不是默认起点。
把混合申请表设计成必须填写的两句失败模式、一张残差相关、一列延迟、一个验证长度。两句填不出就驳回拼接。相关接近一驳回平均。延迟超预算驳回集成。验证太短驳回堆叠。申请表通过才允许改结构文件。测试段按日挑选谁准,申请表直接作废。空间网格没有则驳回把卷积塞进细胞的结构。通道很少驳回重选择器。窗口不长驳回稀疏长序。申请表是为了把“变体”关在条件后面,SOURCE 把它们列为变体不是起点。章程顺序不得颠倒。把申请表模板放进实验仓库,每次想拼接先填,填不出来回去加特征或换损失。这比再讲一遍什么是集成更有效。
申请表驳回后,下一步不是换一张更复杂的图,而是回到单族失败模式是否写错。写错就改诊断,写对却拼不上就加特征或换损失。把驳回原因存档,避免下周用同一套空话再申请一次。存档比允许拼接更能为对照主调节省时间。延迟列要用上线硬件测,不要用训练机的乐观数字填表。
驳回存档的价值是防止同一套空话下周再来。失败模式写错就改诊断,写对却拼不上就加特征或换损失,不要换更复杂的图。延迟列必须用上线硬件,训练机乐观数字会让集成在值班时爆掉。相关接近一时平均只是重复错误。验证短时堆叠会记住两个月的偶然。把这些驳回理由当成过滤器,过滤器比允许拼接更省对照时间。变体仍是条件后面的加项,不是起点。
过滤器存档之后,本周只允许处理存档里最靠前的那条驳回。处理完再开下一条,禁止并行开三张拼接图。这样对照主调才不会在加项阶段散掉。上线硬件测延迟这一条单独签字,未签字的集成不得进入部署候选。
下一章把这些族放到同一套划分、损失、指标、调参和诊断规则下对照,避免有人用训练误差打测试误差。