问题背景:deep LSTM模型在建模多元时间序列(MTS)性能有待提高,尤其是高度非线性和长间隔的MTS数据集。原因:监督学习方法在RNN中随机初始化神经元,从而使最终必须正确学习MTS数据集中的相关变量的潜在特征的神经元失效。
提出模型:无监督学习下的一种pre-trained LSTM-based stacked autoencoder (LSTM-SAE),替代深度LSTM中的随机权重初始化策略。
在文献中很少使用LSTM(浅层或深层体系结构)对MTS问题进行建模。原因是由于DLSTM模型中的神经被初始化。在大多数标准ANN方法中,神经元的权重在使用随机梯度下降法随机初始化。在这种情况下,反向传播算法可能会陷入多个局部最小值内,特别是在对几个非线性变量进行建模时。
DLSTM在仅建模一个变量或特征的UTS分类问题中表现良好。相反,MTS分类问题中具有多个变量的特征是高度相关的。这种情况下,大量神经元的随机初始化将导致学习算法收敛到不同的局部最小值,具体取决于参数初始化的值。以前的研究表明,使用随机权重初始化和监督训练来训练具有多个层的深度网络所提供的结果要比训练浅层架构差。
贡献:
1.为先前的模型DLSTM开发一个无监督的预训练框架。
2.提出一种新的基于LSTM的自动编码器学习方法,以解决DLSTM的随机权重初始化问题。
3.提出一个基于未标记时序的鲁棒预测模块,可将时序观测值转换为容易被使用和分析的代表性特征。
decoder的初始状态--为了随机初始化(图2. )
SAE:1层lstm--encoder,1层lstm--decoder。
LSTM-SAE的学习包括两阶段:1.预训练。2.微调。
预处理阶段:用贪心逐层架构训练LSTM-SAE块,如图3. 分四步:
1. 训练堆栈中的第一个LSTM-AE,保留其encoder层作为第二个LSTM-AE块的输入。
2. 加载保存的encoder层,用它对输入进行编码; 使用encoded inputs训练堆栈中的第二个LSTM-AE块,重建original inputs,而不是encoded inputs,为了使encoder学习原始输入的特征。 然后,保存其LSTM encoder层,将其用作堆栈中第三个LSTM-AE块的输入。
3.加载保存的两个encoder层,用它们对输入进行两次编码; 使用encoded inputs训练第三个LSTM-AE块,重建原始输入,并保存其LSTM encoder层。
4.使用三个保存的LSTM编码器初始化三层DLSTM模型; 以该模型训练阶段中描述的相同方式进行。
(这个阶段可以泛化到大于3层,if needed.)
微调阶段:
微调开始是在DLSTM后面加上一个输出层。
LSTM-SAE是DLSTM 的延伸。不同处在于:LSTM-SAE在自动编码器方式使用无监督预训练的LSTMs,DLSTM是使用随机初始化方式。
实验
数据集:1. 共享单车数据集。2011.1.1-2012.12.31。十个变量:Season, Holiday, Weekday, Working day, Weather sit, Temperature, Feeling temperature, Humidity, Wind speed, and Count of total rental bikes。样本总数17379个,训练集10512,验证2628,测试集4238个。预测未来每小时的租赁单车数。
2. PM2.5浓度数据集。2010.1.1-2014.12.31。8个变量:PM2.5浓度,露点,温度,压力,组合风向,累计风速,累计下雪小时和累计下雨小时,我们对风向进行了整数编码。数据集总共43,800个观测值,训练集30,660个用于训练,验证4380,测试集8760个。预测将来的每小时PM2.5浓度。
度量指标:RMSE, MAE, SMAPE.
总结:
本文以分层无监督学习的方式提出了一种基于LSTM的预训练 LSTM-SAE 方法,取代之前的深 LSTM (DSLTM)模型单元随机权重初始化方法,解决多元时间序列预测问题。实验结果表明,分层预训练方法提高了DLSTM的性能,并更好更快的收敛。另外,逐层预训练方式可以从动态变化的多元输入中自动学习潜在特征。但是,无监督预训练方法的副作用在于,需要更长的训练时间才能依次实现两个阶段:预训练阶段和微调阶段。这将激励我们结合适当的选择性注意机制来改善训练时间并降低时间复杂度。