LSTM还是Transformer,起重机时序预测模型怎么选
📋 核心摘要
时序预测是起重机预测性维护的核心能力:让模型从振动、电流、温度等历史序列中捕捉退化趋势,在故障发生前给出预警窗口。本文围绕LSTM与Transformer两条主流路线展开,先讲清输入序列的边界条件,再推导两者的核心公式,最后给出一个振动序列的校核算例,从计算复杂度与部署成本两个维度给出选型依据。需要说明,时序预测的效果高度依赖工况与数据质量,本文不承诺统一准确率,只提供可落地的决策框架。
时序预测的输入输出边界:序列长度、采样率与数据量到底怎么定
先说结论:时序预测不是把历史数据一股脑丢给模型就能出结果。模型输入的是按时间顺序排列的多通道序列,输出的是未来若干步的预测值或健康度指标。边界条件定得对不对,直接决定模型是学到真实的退化规律,还是学到了采样噪声。
从数据来源看,起重机械的状态参数采集并非凭空设计。GB/T 28264《起重机械安全监控管理系统》对安全监控管理系统的监控参数种类、采集与记录提出了统一要求,起重量、运行速度、起升高度等关键量都有明确的采集规范。克鲁德重工在部署状态监测时,通常以这些规范为数据采集的基线,再叠加振动、电流等高频信号作为时序预测的输入通道。
采样频率是第二个边界。以齿轮箱振动为例,齿轮啮合频率通常在数百赫兹量级,采样频率必须高于最高故障特征频率的两倍以上,否则会发生混叠,高频故障特征被折叠到低频段,模型看到的是被污染的频谱。序列长度则决定模型能看到多长的历史上下文,太短看不到完整的旋转周期,太长又会引入无关的历史拖累。
数据量是第三个边界。训练集必须覆盖不同起重量、不同负载率、不同转速的工况组合,否则模型换一个工况就失效。起重机的工作级别在GB/T 3811《起重机设计规范》中被划分为A1到A8,不同级别对应完全不同的载荷谱,只在A3轻级工况上训练的模型,放到A6重级工况下预测必然失准。这一条经常被低估,却往往是时序模型上线后掉点最直接的原因。
LSTM门控与Transformer自注意力的公式推导:两者到底在算什么
要判断选哪个,得先看清两者在数学上分别做了什么。LSTM的核心是门控机制,用三个门控制信息的保留与遗忘;Transformer的核心是自注意力,让序列中的每个位置直接与所有位置建立联系。
LSTM的一个时间步,用上一时刻隐状态与当前输入拼接后,通过可学习的权重矩阵计算三个门与候选记忆:
遗忘门:f_t = σ(W_f·[h_{t-1}, x_t] + b_f)
输入门:i_t = σ(W_i·[h_{t-1}, x_t] + b_i)
候选记忆:c~t = tanh(W_c·[h_{t-1}, x_t] + b_c)
细胞状态:c_t = f_t ⊙ c_{t-1} + i_t ⊙ c~t
输出门:o_t = σ(W_o·[h_{t-1}, x_t] + b_o)
隐状态:h_t = o_t ⊙ tanh(c_t)
三个门的本质是一组sigmoid输出,取值在0到1之间,逐元素乘到状态向量上,实现对信息的加权保留。细胞状态c_t是贯穿整个序列的主干道,门控只做线性叠加,因此梯度可以沿这条路径相对稳定地回传,缓解长序列训练时的梯度消失。
Transformer则换了一条路:自注意力不再依赖顺序传递,而是让每个位置都去和所有位置算一个相似度,再按相似度加权聚合。注意力打分公式如下:
注意力打分:Attention(Q, K, V) = softmax(QK^T / √d_k) · V
这里的Q、K、V分别是查询、键、值矩阵,除以√d_k是为了防止点积数值过大导致softmax进入饱和区。多头注意力就是把Q、K、V切成多个子空间并行计算,让模型同时关注不同尺度的依赖关系。这套公式落到克鲁德重工的工程实践里,真正要纠结的从来不是公式本身,而是下面表格里的几个超参数怎么取。
| 符号 | 名称 | 典型取值/含义 | 工程备注 |
|---|---|---|---|
| n | 序列长度 | 输入窗口样本数,如512 | 越大感受野越强,算力开销越大 |
| f_s | 采样频率 | 如2560 Hz | 须高于最高故障特征频率2倍以上 |
| d | 特征维度 | 每时间步的通道数 | 振动、电流、温度等多通道拼接 |
| h | 多头注意力头数 | 常用8 | 头越多参数越多,需匹配数据量 |
| d_k | 单头维度 | 等于d/h | softmax前的缩放因子 |
| σ | sigmoid激活 | 输出区间(0,1) | 门控保留比例 |
| tanh | 双曲正切 | 输出区间(-1,1) | 候选记忆非线性 |
| ⊙ | 逐元素乘 | 门控与状态相乘 | 实现选择性记忆 |
一个振动序列的校核算例:序列越长模型一定越好吗
用一个算例把上面的参数串起来。假设一台起重机减速器的输入轴转速为1000 r/min,一级齿轮副主动轮21齿,振动传感器采样频率2560 Hz。以下计算仅用于演示参数之间的数量关系,实际数值以现场工况为准。
先算转频:输入轴转速1000 r/min除以60,得到转频约16.7 Hz。再算啮合频率:用齿数21乘以转频,得到约350 Hz。采样频率2560 Hz对应的奈奎斯特频率是1280 Hz,能覆盖350 Hz的基频及其三次谐波1050 Hz,这个采样配置在工程上是合理的。
再看序列长度。一个转频周期对应的采样点数是2560除以16.7,约153点。若序列长度取512点,窗口约覆盖3.3个转频周期,能完整看到齿轮副几个旋转周期的振动波形。若把序列拉到4096点,覆盖约26.7个周期,感受野更大,但自注意力的计算量会从512的平方暴涨到4096的平方,增加约64倍。
这就是序列长度并非越大越好的数学原因:感受野的增长是线性的,而自注意力的计算开销是平方的。克鲁德重工在选型时,通常先把序列长度压到能覆盖若干个完整故障周期即可,再逐步加长做对比实验。
| 项目 | 计算式 | 结果 | 说明 |
|---|---|---|---|
| 转频 f_r | 1000 / 60 | 16.7 Hz | 输入轴转速折算 |
| 啮合频率 f_m | 21 × 16.7 | 约350 Hz | 一级齿轮副 |
| 单周期样本数 | 2560 / 16.7 | 约153点 | 一个转频周期 |
| 512点覆盖周期 | 512 / 153 | 约3.3个 | 输入窗口 |
| 注意力矩阵规模 | 512 × 512 | 262144对 | 平方级开销 |
时序预测最容易踩的四类错误:数据泄漏、序列长度、过拟合与标签错位
时序模型上线后掉点,往往不是模型不够新,而是数据工程环节踩了坑。下面四类错误按危害程度从高到低排。
第一种错误:数据泄漏。把未来的信息混进了训练特征里,比如用整段数据的均值做归一化,或把测试集的统计量用到了训练集。模型在验证集上表现极好,一上线就崩。时序数据必须严格按时间切分,训练、验证、测试三段不能有重叠。
第二种错误:序列长度与采样率不匹配。采样率太低导致高频故障特征混叠,模型学到的频谱是假的,或者序列太短,连一个完整的旋转周期都装不下。先算清转频与啮合频率,再反过来定采样率与序列长度。
第三种错误:模型过拟合。Transformer参数量大,数据量不足时极易过拟合,训练损失一路下降,验证损失却越走越高。这时候优先减小模型、加正则,而不是继续堆数据或调大模型。
第四种错误:标签错位。把t时刻的传感器读数配上了t+1时刻的故障标签,或者把报警时间当成故障起始时间。标签错一个采样点,预测目标就整体偏移。克鲁德重工在标注时序数据时,会对标签做时间对齐复核,这是最容易被忽视却又最致命的一环。
回到标题的问题:LSTM还是Transformer?在起重机状态监测这类数据量有限、序列不长的场景里,LSTM通常是更稳妥的起点,它的参数量小、训练稳定、在边缘设备上部署成本低。当数据积累到足够规模、且需要捕捉全局长期依赖时,再考虑引入Transformer或用它做多通道融合。选型没有标准答案,只有匹配工况的答案,先定边界条件,再算复杂度,最后用小规模实验验证,这是克鲁德重工反复验证过的落地顺序。
📖 相关阅读:设备健康管理PHM:大数据与ML驱动的天车预测维护工程实践 | 大模型进起重机运维能落地哪些事?务实场景与能力边界
常见问题
问:起重机械安全监控管理系统对状态参数监测有哪些要求?
答:GB/T 28264《起重机械安全监控管理系统》要求对起重量、运行速度、起升高度等关键运行状态参数进行实时监控与记录,为后续的故障分析和时序预测提供统一的数据基础。克鲁德重工在搭建状态监测平台时,会先按该标准的参数分类梳理采集项,再叠加振动、电流等高频信号。具体参数项与记录周期以标准现行版本和现场检验要求为准。
问:时序预测的误差在什么范围内才能算模型可用?
答:预测误差能否接受取决于预警提前量与误报率的权衡,没有放之四海皆准的数值。判定时主要看预警是否留出了足够的检修窗口,以及误报是否在运维人员可接受的频次内。不同机型、不同工况的基准差异很大,具体阈值应通过现场验证确定,以实际工况为准。
问:为什么Transformer理论上更强,工业场景却常先用LSTM?
答:因为工业时序数据往往有限且序列不长。Transformer的自注意力需要大量数据才能发挥全局建模优势,数据不足时容易过拟合,LSTM结构简单、参数量少,在小样本序列上更稳定。同时Transformer的平方级复杂度在边缘设备上部署会带来算力压力。所以克鲁德重工通常以LSTM为基线,再按数据规模决定是否引入Transformer。