APP下载

基于深度学习的伺服系统状态预测算法

2019-04-01刘亚楠

计算机应用与软件 2019年3期
关键词:多任务步数误差

张 鹏 杨 涛 刘亚楠

1(中国民航大学适航学院 天津 300300)2(中国民航大学电子信息与自动化学院 天津 300300)

0 引 言

伺服系统在航空航天、军事、高精度数控机床等精密机械传动与控制领域得到了广泛的应用。而对这些设备开展状态预测和故障诊断,以便在故障发生前及时提供预警或采取保护措施,对保障设备安全运行具有重要现实意义[1]。

伺服系统一般包括机械系统、控制系统和驱动系统三个主要部分。在大型系统(如飞控系统)中,往往包含多个伺服系统,且系统之间存在复杂的耦合关系,难以建立其准确的物理模型[2],导致基于模型的方法难以适用。国内外学者普遍采用数据驱动的方法用于状态预测和故障诊断。

目前数据驱动的状态预测方法主要分为传统统计方法和人工智能方法[3]。传统统计方法在平稳序列上能够取得较好预测结果,但其缺陷在于过度依赖序列特征[4],因此不适用于以非平稳序列为主的伺服系统状态预测。人工智能的方法分为统计机器学习方法[5]与深度学习方法[6],能够在给定输入输出数据的基础上,自动拟合输入输出数据之间的非线性关系,在实际中取得了较好的效果,且同样适用于非平稳的序列。文献[7]通过收集高压断路器历史动作数据,利用支持向量机(SVM)预测其下一次的动作数据,用于发现其潜在故障,达到故障诊断的目的。文献[8]提出一种最小二乘支持向量机(LS-SVM)算法,用于风力发电机的状态预测当中。文献[9]利用小波神经网络实现了交通状态的短时预测,将小波基作为特征函数来优化BP神经网络。上述方法在各自领域都取得了一定的效果,但是需要大量工程实践与信号处理技术来提取信号特征,特征参数的选取依赖人工经验且只适用于小数据量的系统。

对于伺服系统状态预测而言,统计机器学习方法难以适用,原因如下:(1) 过度依赖人工经验选取特征参数,特征参数选取直接影响模型性能。(2) 伺服系统运行时是一个连续的控制过程,其原始参数具有时间长、状态参数多的“大数据”特点,利用信号处理技术来提取原始参数特征效率低、效果差[10]。因此,该领域的研究方向逐渐转移到深度学习上。

深度学习算法能够从原始数据中自动地提取数据的多层特征表示,在不同的状态预测任务中均取得了最佳效果[10-12]。文献[10]将LSTM用于多种序列预测任务当中,预测精度高于传统模型,且适用性更广。文献[11]在风电短期预测中应用了LSTM模型,且预测精度高于传统BP神经网络与支持向量机。文献[12]首次将LSTM 网络用于锂电池剩余寿命预测当中,准确预测了锂电池一个周期内的剩余寿命曲线。

上述研究表明,基于深度学习的状态预测方法比传统方法性能更加优越,能够摆脱传统算法对数据特征提取的依赖。但上述研究都是基于单任务学习的预测,在实际应用中,往往需要对具有共同特征参数的多个状态参数进行预测。为解决上述问题,本文将多任务学习[13]的思想引入伺服系统状态预测当中。多任务学习是一种归纳迁移机制,主要思想是充分利用隐含在多个相关任务训练信号中的特定领域信息,在并行训练的过程中促使模型学习到适用于不同任务的共有特征,从而提升模型的泛化性能[13]。多任务学习在不同领域得到了广泛的研究[14-15]。文献[14]提出一种用于人脸重建与识别的MTLSAE算法,将人脸姿态恢复与脸部局部细节信息保留两个任务共同建模,识别率高于对比算法。文献[15]在视觉语音识别中引入多任务学习框架,将姿态分类作为辅助任务,同单任务的方法相比,其效果有显著提升。

本文在研究深度学习理论的基础上,提出一种多任务学习框架下的状态预测方法,并将其用于伺服系统的状态预测中,以脱离对人工提取数据特征的依赖。实验结果表明,所提方法能够自动从数据中提取特征,且预测精度优于对比算法。

1 深度学习理论

深度学习的概念起源于人工神经网络的研究,有多个隐含层的多层感知器是深度学习模型的显著特征[16]。相对于浅层学习算法,前者具有更好逼近复杂函数的能力,由于具有多隐层结构,能够实现数据特征的逐层转换,保证最有效地信息提取与特征表达。深度学习是一种数据驱动的算法,无需建立系统的准确物理模型,只需要收集系统运行的历史数据,即可获得系统的最优特征表示,从而完成故障诊断、故障分类和故障预测等任务。本文主要研究深度学习中的长短时记忆网络。

本文采用LSTM[17]模型来构建映射关系,LSTM是一种时间递归的神经网络,非常适合处理时间序列数据。相较于传统的递归神经网络(RNN),LSTM通过引入了记忆单元,解决了RNN在实际应用中不能长期依赖的问题。

LSTM由输入层、隐含层和输出层构成,其结构如图1所示。其中,g(t)表示输入单元,h(t)表示状态输出单元,M表示记忆单元,i(t)、o(t)、f(t)分别表示输入门限、输出门限以及遗忘门限。

图1 LSTM结构

由图1可以看出,M的读、写和遗忘操作由三个门限单元来控制。设输入时间序列为x,t为当前时刻,则各单元的状态可用如下公式表示:

输入单元:

g(t)=tanh(Wxgg(t-1)+Whgh(t-1)+bg)

(1)

门控单元:

i(t)=σ(Wxii(t-1)+Whih(t-1)+bi)

(2)

f(t)=σ(Wxfi(t-1)+Whfh(t-1)+bf)

(3)

o(t)=σ(Wxoi(t-1)+Whoh(t-1)+bo)

(4)

记忆单元:

M(t)=f(t)M(t-1)+i(t)g(t)

(5)

状态输出单元:

h(t)=o(t)tanh(M(t))

(6)

式中:σ表示sigmoid激活函数。

2 MTL-LSTM模型

伺服系统状态预测任务可定义如下:给定系统相关的n个状态参数集合X={x1,x2,…,xn}(X中包含了需要预测的状态参数y)在t时间段内的数据,预测状态参数y在d时间后,即t+d时刻的值。

基于多任务的思想,MTL-LSTM模型对所有状态参数分别建立一个预测任务,构成一个具有n个任务的模型,并将n个任务以并行的方式连接,共享LSTM的网络权重,n个任务协同监督网络训练。同时,基于如下两点考虑:(1) 时间间隔越近的数据对状态预测的影响越大;(2) 不同任务下不同特征参数与所预测参数的相关性不同。因此,分别从时间维度和特征参数维度提取数据特征,MTL-LSTM模型结构如图2所示。

图2 MTL-LSTM模型结构

图2左LSTM中P=[p1,p2,…,pT]∈n×t,其中pi为X在i时刻的状态向量,P与X存在如下关系:

P=XT

(7)

(8)

(9)

MTL-LSTM模型所有任务均共享HL与HR,考虑到不同时刻、不同特征参数与每一个任务的相关性不同,因此为每一个任务引入注意力机制[18],其过程可按如下公式描述:

(10)

(11)

(12)

式中:k表示第k个任务;Wα∈1×m与Wβ∈1×f为的权值矩阵,bα与bβ为偏置项,均由训练时学习得到;αk∈1×t表示对第k个任务而言不同时刻点数据所占的权重的集合,βk∈1×n表示第k个任务中不同状态参数的权重集合,αk与βk均在学习过程中不断调整。式(12)将时间、特征两个维度的LSTM隐含层输出向量分别在各自维度下与对应的“权重”相乘求和。然后拼接得到γk∈(t+n)×1,即输入数据的特征表达。最后,预测值由式(13)给出:

(13)

式中:W∈1×(t+n)与b一起由学习得到。同时,实际应用中关键参数的重要程度应大于非关键参数,故为整个网络定义加权损失函数如下:

(14)

3 算例分析

3.1 数据构造

本文以B777客机飞控系统的俯仰控制通道为研究对象,根据飞控系统工作原理[19],从快速存取记录器QAR(Quick Access Recorder)数据中选取22个典型相关参数,采样间隔为1秒,选取参数如表1所示,各参数具体含义参见文献[19]。与传统机器学习方法不同,深度学习不需要精心地选择特征参数,只需要尽可能多地选取能够反映系统运行过程的相关参数,深度学习算法能够自动从数据中获取系统的最优特征表示[16]。

表1 相关参数表

多任务数据构造方式如图3所示。给定n个参数在T时间段内的数据,数据构造过程如下:(1) 将归一化后的相关参数按照时间顺序铺开;(2) 选取滑动窗口大小为w,按照一定的步长s向下截取数据;(3) 在每一次截取时,选取滑动窗口最后一个时刻t在d时间间隔之后的结果作为d步预测标签。单任务数据集构造与多任务类似,只是在第三个步骤时只选取对应预测参数的第t+d时刻的数据作为d步预测标签。本文选取w=22、s=1构造数据集,即每一样本输入由22个飞行参数在过去22个时刻点内的数据构成。

图3 数据构造方式

3.2 实验验证

为验证MTL-LSTM模型的有效性,在深度学习平台KERAS上实现该模型。并与传统LSTM模型[20]、单任务LSTM模型(STL-LSTM,即MTL-LSTM的单任务结构)在不同步数的数据上做对比实验。MTL-LSTM结构参数如图4所示。

图4 MTL-LSTM结构参数

按照3.1节的数据构造方式,为22个飞行参数构建22个任务。在该算例中,所有任务都具有相同的输入数据X,且共享两个LSTM网络的权重,图4中虚线框表示不同任务通过各自的注意力机制得到各自的预测输出Y。对每一任务而言,在训练过程中,输入数据为一个三维的张量(?,22,22),其中?表示批大小。输入数据分别通过左右两个隐含层数为50的LSTM单元提取特征,其中左LSTM从时序维度提取数据特征,输入数据转置之后通过右LSTM提取状态维度的特征,并分别通过注意力机制加权求和,最终得到两个特征张量,张量维度为(?,1,50)。将两个特征张量拼接,得到(?,1,100)维的融合特征向量,再通过128维的全连接层,并连接丢弃率为0.3的Dropout层,以防止过拟合。最后通过一个1维的全连接层激活输出预测值,激活函数为Sigmoid。每一步训练时,将所有任务的损失加权求和,作为模型的整体损失,从而保证模型的并行,优化目标是最小化模型的整体损失。所有超参数均调至最优,其中批大小为32;学习率为0.001;优化器为Adam。训练时若验证集误差在10步以内不再减少,则提前终止训练,并保存验证集误差最低模型。

对比实验过程如下:

(1) 按3.1节所述方式分别构造d=1,3,5时的数据集,其中STL-LSTM的状态预测参数分别是:俯仰角、滚转角。

(2) 分别训练MTL-LSTM、STL-LSTM与LSTM模型。由于是多任务模型,在d步时MTL-LSTM模型只需要训练一次就能对两个参数预测,而STL-LSTM与LSTM模型则需要针对两个参数分别训练。

(3) 预测未来200点内的俯仰角、滚转角状态,并与真实QAR数据相比较。

3.2.1 固定步数预测

对于固定步数预测,三种模型都是预测固定步数之后的状态。状态预测结果如图5所示,其中图5(a)-(c)为俯仰角状态预测结果,图5(d)-(f)为滚转角状态预测结果。为衡量模型性能,采用均方根对数误差(RMSLE)[21]作为评价指标,计算公式如下:

(15)

式中:At为预测值,Ft为真实值。计算值越小表明预测值越接近真实值,证明模型性能越好、预测精度更高。

图5 俯仰角与滚转角状态预测

上述三种模型的误差指标计算如表2和表3所示。其中表2为俯仰角误差对比,表3为滚转角误差对比,表中加粗项代表误差最低的结果。

表3 滚转角误差对比结果

比较图5结果,MTL-LSTM在不同固定步数下,其预测曲线与真实曲线最为接近,STL-LSTM次之,传统LSTM预测结果与真实曲线偏离最远。同时,由表2、表3的误差计算结果可知,MTL-LSTM模型在对俯仰角和滚转角的固定步数预测上的预测误差均最低。在俯仰角状态预测中,MTL-LSTM固定步数预测精度较STL-LSTM平均提升约18.5%,较LSTM平均提升约21.2%。在滚转角状态预测中,MTL-LSTM固定步数预测精度较STL-LSTM平均提升约39.4%,较LSTM平均提升约42.4%。随着预测步数的增大,由于状态序列之间的关联性降低,各模型预测误差均会存在不同程度的下降,相较而言,MTL-LSTM模型的鲁棒性更优。

上述实验结果表明,STL-LSTM模型与传统LSTM相比,能够更有效地提取数据特征;而多任务学习框架下的MTL-LSTM模型通过相关任务共同学习,而比STL-LSTM模型预测精度更高,验证了所提方法的有效性。

3.2.2 迭代预测

MTL-LSTM模型与单任务模型相比,一大优势在于MTL-LSTM能够进行迭代预测。所谓迭代预测,即在训练过程中用单步预测方法训练,预测阶段则将当前时刻的预测值作为下一时刻预测时的输入参数,以递归的方式迭代预测输出[22]。相较于固定步数预测而言,迭代预测具有更大的灵活性,不需要针对每一步去训练模型。俯仰角迭代预测结果如图6所示,误差计算结果如表4所示。

表4 俯仰角迭代预测误差

图6 俯仰角迭代预测结果

表4中误差计算结果与表3中MTL-LSTM固定步预测结果相比,迭代预测误差较大,原因在于随着时间的推移,迭代预测上一步的预测误差会累积到下一步,因此时间步数越长,迭代预测误差会越大。相对而言,迭代预测灵活性更高,在满足一定的精度条件下,迭代预测更适合实际应用。

3.2.3 λk对预测结果的影响

对于多任务学习而言,不同任务之间的重要程度存在差异。在飞控系统多元状态预测中,系统关键参数的重要性必然大于非关键参数,因此在式(14)中为不同任务分配不同的惩罚因子λk显得尤为重要。为验证惩罚因子对预测误差的影响,该节实验中将俯仰角视为关键参数,其余参数均视为非关键参数。设关键参数与非关键参数的惩罚因子之比为W(W=1,3,5,7,9),d=3时,俯仰角误差变化趋势如图7所示。

图7 俯仰角误差变化趋势

3.2.4 注意力机制的效果

为探究MTL-LSTM注意力机制在数据特征中的学习效果,将俯仰角单步预测过程中如式(10)、式(11)所示的注意力权重α、β可视化输出,其可视化结果如图8所示,其中图8(a)为时间维度的注意力权重α,图8(b)为特征维度的注意力权重β,右侧刻度为权重对应的颜色区域。

图8 注意力权重可视化

由图8(a)可以看出,从时间维度考虑,离预测值最近的第21、22个时刻点对状态预测的影响最大,其中第22个时刻所占的权重为0.72,对状态预测起主要作用,与实际分析一致。从图8(b)可知,针对特征维度,除俯仰角(第22个参数)本身外,高度变化率(第5个参数)、飞行航迹角(第13个参数)、迎角(第15个参数)、垂直速度(第21个参数)与俯仰角状态预测相关性较大。通过观察对比高度变化率、飞行航迹角、迎角、垂直速度的变化趋势发现,上述参数与俯仰角的变化趋势相似。

4 结 语

本文提出了一种基于多任务学习与LSTM网络的改进模型MTL-LSTM,并将其用于伺服系统的状态预测当中。通过引入多任务学习的思想,利用关联任务共同监督模型训练,从而提升模型泛化性能。同时,本文对传统LSTM网络予以改进,使用两个LSTM网络分别从时间与特征参数两个维度提取数据特征,并在多任务学习中共享此部分权重;在最后预测阶段,针对每一任务独立构建注意力机制,使得每一任务能够针对性地调整不同时刻、不同状态参数的权重,从而提升学习效果。实验表明,本文所提模型比传统LSTM、STL-LSTM模型具有更高的预测精度,具备较高的应用价值。

猜你喜欢

多任务步数误差
数字时代的注意困境:媒体多任务的视角*
结合自监督学习的多任务文本语义匹配方法
面向多任务的无人系统通信及控制系统设计与实现
楚国的探索之旅
微信运动步数识人指南
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
国人运动偏爱健走
基于Reworks操作系统的信息交互软件设计
精确与误差