LSTM+Transformer混合模型架构文档
模型概述
本项目实现了一个LSTM+Transformer混合模型,用于超临界机组协调控制系统的数据驱动建模。该模型结合了LSTM的时序建模能力和Transformer的自注意力机制,能够有效捕捉时间序列数据中的长期依赖关系和变量间的复杂交互。
模型架构图
输入序列 [batch_size, seq_length, n_features]
|
↓
┌─────────────┐ ┌─────────────────┐
│ LSTM 模块 │ │ Transformer 模块 │
└─────────────┘ └─────────────────┘
| |
↓ ↓
┌─────────────────┐ ┌─────────────────┐
│ LSTM 特征提取 │ │ 自注意力机制 │
└─────────────────┘ └─────────────────┘
| |
↓ ↓
┌─────────────────┐ ┌─────────────────┐
│ 层归一化 + Dropout│ │ 层归一化 + Dropout│
└─────────────────┘ └─────────────────┘
| |
└───────────┬───────────┘
↓
┌───────────────────┐
│ 特征融合 │
└───────────────────┘
|
↓
┌───────────────────┐
│ 输出层 (3个预测头) │
└───────────────────┘
|
↓
[主蒸汽压力, 分离器蒸汽焓值, 机组负荷]
模型组件详解
1. LSTM模块
LSTM (Long Short-Term Memory) 模块用于捕捉时间序列数据中的长期依赖关系。
结构:
- 输入层: 接收形状为 [batch_size, seq_length, n_features] 的序列数据
- LSTM层: 包含64个LSTM单元,return_sequences=True,输出整个序列
- 层归一化: 对LSTM输出进行归一化,提高训练稳定性
- Dropout层: 随机丢弃部分神经元,防止过拟合
- 最终LSTM层: 提取序列的最终表示,输出形状为 [batch_size, lstm_units]
2. Transformer模块
Transformer模块基于自注意力机制,能够捕捉序列中不同时间步和不同特征之间的关系。
结构:
- 多头自注意力层: 4个注意力头,key_dim=32
- 残差连接: 将注意力输出与原始输入相加
- 层归一化: 对残差连接的结果进行归一化
- 前馈神经网络: 两个全连接层,第一层维度扩展4倍,第二层恢复原始维度
- 第二个残差连接和层归一化
- 提取最后一个时间步的表示,形状为 [batch_size, n_features]
3. 特征融合
将LSTM和Transformer的输出进行融合,获得更全面的特征表示。
方法:
- 当同时使用LSTM和Transformer时,使用Concatenate层将两者的输出连接起来
- 当只使用其中一个模块时,直接使用该模块的输出
- 当两者都不使用时,使用原始输入的最后一个时间步作为特征
4. 输出层
为每个预测目标设计单独的输出头,实现多输出预测。
结构:
- 对每个输出变量:
- 全连接层(32个神经元,ReLU激活)
- 输出层(1个神经元,Sigmoid激活)
模型训练
损失函数
对每个输出使用均方误差(MSE)损失函数,总损失为三个输出的MSE之和。
优化器
使用Adam优化器,初始学习率为0.001。
回调函数
- EarlyStopping: 当验证损失不再下降时提前停止训练
- ReduceLROnPlateau: 当验证损失平台期时降低学习率
- ModelCheckpoint: 保存性能最佳的模型
领域自适应机制
解决不同季节数据之间的差异问题,实现领域自适应方法。
步骤:
- 使用源域数据训练基础模型
- 克隆基础模型并使用较小的学习率重新编译
- 在目标域数据上微调模型
- 如果没有目标域标签,使用伪标签方法:
- 使用当前模型对目标域数据进行预测
- 将源域数据和带伪标签的目标域数据混合
- 在混合数据上微调模型
消融实验配置
为了验证不同组件的有效性,设计了三种模型配置:
- 仅LSTM: use_lstm=True, use_transformer=False
- 仅Transformer: use_lstm=False, use_transformer=True
- LSTM+Transformer: use_lstm=True, use_transformer=True
模型评估指标
- 均方误差(MSE): 评估预测值与真实值的平方差平均
- 平均绝对误差(MAE): 评估预测值与真实值的绝对差平均
- 训练时间: 评估模型的计算效率