基于强化学习单元匹配循环神经网络的滚动轴承状态趋势预测
2020-09-10王家序汤宝平
李 锋,陈 勇,王家序,汤宝平
(1.四川大学 机械工程学院,四川 成都 610065;2.四川大学 空天科学与工程学院,四川 成都 610065;3.重庆大学 机械传动国家重点实验室,重庆 400044)
0 引言
滚动轴承是机械设备中应用最广泛的组件之一,其健康状态直接影响整个机械设备的安全运行,对滚动轴承进行有效地状态趋势预测,能够为预防和排除机械设备的安全隐患、提高机械设备的可靠性提供技术保障[1]。从主流的技术和应用研究现状来看,状态趋势预测方法主要分为基于物理模型的预测方法和基于数据驱动的预测方法两大类。基于物理模型的方法因对研究对象的先验知识要求非常高而适用性较低,并且由于对安装在结构复杂、运行环境恶劣及部件之间相互影响较大的设备中的轴承建立完备的物理失效预测模型非常困难,该方法在滚动轴承上的使用和推广受到很大限制[2];基于数据驱动的预测方法通过分析设备的传感器监测数据得到设备潜在的退化规律,从而预测设备的状态趋势,该方法仅需收集足够的性能退化数据,并将其转换为相关信息和性能退化模型,即可对未来数据进行预测,而且该方法对设备相关先验知识的要求比较低,使用简单、效率高且模型通用性好[3],因此获得越来越多的关注和研究[4-7]。基于数据驱动的状态趋势预测方法分为3类:①现代模型预测方法,如灰色模型(Grey Model, GM)和粒子滤波(Particle Filter, PF)等;②数值分析预测方法,如支持向量回归(Support Vector Regression, SVR)等;③人工智能的预测方法,如神经网络和专家系统等。Zhang等[8]利用实时数据和历史数据建立了动态加权Markov模型,并利用PF对滚子轴承状态趋势进行预测;Loutas等[9]采用经过贝叶斯处理的支持向量回归(Epsilon-Support Vector Regression, E-SVR)模型预测滚子轴承退化趋势;Rai等[10]设计了一个时滞神经网络(Time Delay Neural Network, TDNN)预测滚子轴承的健康指标。然而上述预测方法仍有不足:对于PF,重采样阶段会对样本有效性和多样性造成损失,导致样本出现贫化现象;因为E-SVR的核函数类型和核参数依然很难准确设定,所以预测结果不确定;人工神经网络如TDNN的隐层层数和节点数的选择没有成熟的理论指导,一般根据经验选取,导致模型的预测精度和计算效率不理想。
作为解决序贯决策的机器学习方法,强化学习采用持续的“交互—试错”机制[11-12]进行Agent与环境的不断交互,从而学得完成任务的最优策略,契合了人类提升智能的行为决策方式[13-14]。针对神经网络隐层层数和节点数根据经验选取造成非线性逼近能力和泛化性能不可控的问题,结合强化学习在智能决策方面的优势,在循环神经网络(Recurrent Neural Network, RNN)的基础上,本文提出一种新型神经网络理论——强化学习单元匹配循环神经网络(Reinforcement Learning Unit MacthingRecurrent Neural Network, RLUMRNN)。在RLUMRNN中构造单调趋势识别器,该识别器利用最小二乘线性回归法对输入序列进行线性拟合,并通过拟合函数的斜率来判断输入序列的趋势(上升、下降、平稳),用这3种趋势和不同隐层层数及隐层节点数分别表示Q值表的状态和动作,Agent根据更新后的Q值表采取最佳的动作(即选择隐层层数和节点数与每种序列趋势单元最匹配的RNN),增强了RLUMRNN的非线性逼近能力和泛化性能,使所提出的状态退化趋势预测方法对具有复杂变化规律的滚动轴承状态退化趋势有较好的适应性;另外,在Q值表更新过程中,构造关于输出误差的新型奖励函数,避免Agent盲目搜索,提高了网络的收敛速度。
利用上述RLUMRNN的优势,本文提出基于RLUMRNN的状态趋势预测方法,将该方法用于滚动轴承状态趋势预测,可以达到较高的预测精度和计算效率。
1 强化学习单元匹配循环神经网络
1.1 强化学习
强化学习是基于Markov决策过程(Markov Decision Process, MDP)的理论框架[15]。如图1所示,一个标准的强化学习框架中主要有动作、奖励、状态、环境4个要素,其目标是学习一个行为策略,使Agent选择的动作最终能够获得环境最大的奖励。
记t时刻的状态为st,下一个时刻的状态为st+1,t时刻状态和下一时刻状态下采取的动作分别为at和at+1。定义折扣累积奖励期望值
(1)
式中:π为策略空间;γ为折扣因子,0<γ<1;rt+k为t+k时刻状态下采取动作at+k获得的奖励。
在每次采取动作后,就通过贝尔曼方程对Q值进行迭代更新,表达式为
Q(st+1,at+1)=(1-α)Q(st,at)+
α(r(st,at,st+1)+γV(s))。
(2)
式中:α为调节系数;r(st,at,st+1)表示从状态st选择动作at达到状态st+1获得的奖励,状态st下的价值函数
(3)
st状态下的最优策略,即获得最大奖励的决策函数(即Agent)
(4)
1.2 循环神经网络
循环神经网络通过使用带有自反馈的神经元,能够处理任意长度(存在时间关联性)的序列;与传统的深度前馈神经网络相比,其更符合生物神经元的连接方式。一个单隐层的循环神经网络结构如图2所示。
设t时刻网络的输入为xt,则其隐层状态
ht=σ(Uxt+Wht-1+b)。
(5)
式中:U为隐层输入权值矩阵;W为自反馈权值矩阵;b为隐层偏置向量。根据隐层输出ht计算网络的最终输出
yt=σ(Vht+c)。
(6)
式中:V为输出层权值矩阵;c为输出层偏置向量。
1.3 强化学习单元匹配循环神经网络
RLUMRNN模型通过构造单调趋势识别器将时间序列分为3个基本趋势单元(上升、下降、平稳),并利用强化学习分别为每一个趋势单元选择一个隐层层数和节点数与其变化规律相适应的循环神经网络,其模型如图3所示。
RLUMRNN模型的详细思路如下:
(1)强化学习选择RNN的过程
记时间序列为xt=[x1,x2,…,xt]T;在时域坐标里与xt相对应的点的坐标为(1,x1),(2,x2),…,(t,xt)。首先构造最小二乘线性回归单调趋势识别器,并利用该识别器对点(1,x1),(2,x2),…,(t,xt)进行线性拟合,设拟合的直线方程为
x=βt+ω,
(7)
则平方拟合误差为
(8)
为了求出最优的拟合方程,根据微积分求极值思想,需满足如下条件:
(9)
将这3种趋势状态作为强化学习的环境状态,Agent根据当前的趋势状态从动作集a中选择执行一个动作,动作集a如表1所示。
表1 动作集a
在选择动作的过程中,采用由状态集s和动作集a构成的Q值表代替折扣累积奖励期望值,如表2所示。
表2 Q值表
根据Q值表,采用决策函数(即Agent)为每一个状态选择一个对应的动作,决策函数
(10)
式中:i∈1,2,3;a*(si)∈a1,a2,…,ad表示在状态si下决策函数选择的动作。
得到状态si下的动作a*(si)后,再通过a*(si)表示的网络隐层数和节点数设置一个多隐层的RNN,得到一个与时间序列xt(即趋势状态si)对应的RNN,记为i-RNN。
(2)计算网络输出过程
将时间序列xt=[x1,x2,…,xt]T作为i-RNN的输入,若i-RNN隐层为一层,隐层节点为m个,则隐层状态和最终输出分别为:
(11)
(12)
若i-RNN隐层为两层,隐层节点为m个,则第一隐层状态、第二隐层状态和最终输出分别为:
(13)
(14)
(15)
1.4 学习算法
RLUMRNN的学习过程分为两个步骤:①更新强化学习Q值表;②更新每个趋势状态对应的最终i-RNN权值。
(1)强化学习Q值表的更新
(16)
结合输出误差,在状态si下,选择执行动作a得到的奖励
(17)
式中e为自然指数。显然,该新构造的奖励函数满足r∈(0,1)且与输出误差E负相关,即误差越大,得到的奖励值越小。
再根据得到的奖励和贝尔曼方程更新计算Q值表中在状态si下选择执行动作a的Q值:
q(si,a)′=(1-α)q(si,a)+
(18)
(2)最终i-RNN权值的更新
本文采用随机梯度下降法对权值进行更新,若最终i-RNN隐层为一层,则根据式(11)和式(12)及链式求导法则,可计算各权值的梯度分别为:
(19)
(20)
(21)
同理,若最终i-RNN隐层为两层,则根据式(13)~式(15)可计算各权值的梯度分别为:
(22)
(23)
(24)
(25)
求得梯度后,分别采用如下公式进行更新:
(26)
式中:W′,U′,V′,H′为更新后的权值矩阵;ψ为学习率。以此类推,若最终i-RNN隐层为n层,则可对n层中的各权值进行更新。
综上,在RLUMRNN中,构造单调趋势识别器来判断输入序列的趋势(上升、下降、平稳),用这3种趋势和不同隐层层数及隐层节点数分别表示Q值表的状态与动作,Agent根据更新后的Q值表选择执行最优的动作(即选择隐层层数和隐层节点数与每种序列趋势单元最匹配的RNN),增强了RLUMRNN的泛化能力,使所提预测方法具有较高的预测精度;另外,为了明确强化学习的学习目标(即使i-RNN的输出误差E较小),避免Agent在Q值表更新过程中的盲目搜索动作,通过输出误差计算奖励,避免了Agent的盲目搜索,提高了RLUMRNN的收敛速度,使所提预测方法具有较高的计算效率。
2 基于RLUMRNN的滚动轴承状态趋势预测方法
本文提出的基于RLUMRNN的滚动轴承状态趋势预测方法的实现流程(如图4)如下:
(1)采用奇异谱熵[16]对滚动轴承全寿命振动数据进行特征提取。
(2)对特征(即奇异谱熵)进行滑动平均降噪处理,并将处理后的奇异谱熵作为滚动轴承状态退化特征。
(3)将该特征输入到RLUMRNN进行训练。由1.4节的学习过程可知,RLUMRNN的训练分为用单调趋势识别器判断输入序列的趋势、强化学习的训练和最终与趋势状态对应的i-RNN的训练3个过程。
(4)将训练好的与趋势状态对应的i-RNN用于滚动轴承状态趋势预测。
RLUMRNN的训练过程如下:
取样一段奇异谱熵序列[xg,xg+1,…,xg+(l+1)t-1]作为训练样本,将该序列分解为:
T1=[xg,xg+1,…,xg+t-1]→
T2=[xg+t,xg+t+1,…,xg+2t-1]→
⋮
Tl=[xg+(l-1)t,xg+(l-1)t+1,…,xg+lt-1]→
将样本依次输入RLUMRNN,根据强化学习Q值表的更新过程完成强化学习的训练,即先利用单调趋势识别器为l组训练样本判别趋势状态,再由强化学习根据最终训练更新好的Q值表选择执行最佳动作,为所判别的趋势状态选择对应的i-RNN(1-RNN,2-RNN,3-RNN)。然后,采用随机梯度下降法分别对强化学习选择的i-RNN进行M次训练,每次训练前从状态si的训练样本中随机抽取一组样本(包括作为期望输出的样本)输入对应的i-RNN,再根据i-RNN的更新法则完成i-RNN的一次训练,循环重复以上训练过程M次,就完成了i-RNN的M次训练,即完成了RLUMRNN的完整训练过程。
通过将信息熵与奇异值分解相结合而构造的奇异谱熵可定量度量由奇异值分解所反映的信号的复杂程度。奇异谱熵的构造过程如下:
(1)对时间时间序列x进行m维相空间重构,得到n×m维矩阵Y,根据奇异值分解原理必存在n×s的矩阵U、s×s的对角阵Λ和s×m的矩阵Γ,使如下关系成立:
Y=U·Λ·ΓT。
(27)
式中对角阵Λ的主对角线元素λ1≥λ2≥…λs≥0,当信号具有较高的信噪比时,对其进行奇异值分解后得到
Λ=diag(λ1,λ2,…,λk,0,…,0)。
(28)
式中k
(2)通过奇异值计算奇异谱熵。奇异谱熵定义如下:
(29)
因为奇异值λi的大小反映了不同模式在总模式中的比重,所以奇异谱熵SE反映了时域信号在奇异谱划分下各模式的分布,体现了信号能量分布的时域复杂程度。在正常状态下,滚动轴承的振动时域信号近似为高斯分布,此时信号主要源于保持架的转频和轴频,以及保持架对轴旋转所产生的微弱调制,信号频率成分比较简单,能量集中于少数几个频率分量,从奇异谱熵的机理可知,其奇异值分解结果集中于少数几个模式,故此时信号的奇异谱熵取值较低;随着滚动轴承最细微性能退化的出现,信号中出现了微弱的故障频率(包括引起的微弱共振),信号能量分布开始分散,奇异值分解结果也随之分散,从而使奇异谱熵有所增加;当出现明显的性能退化时,噪声信号频率成分所占比例急剧增加,能量分散加剧,导致奇异谱熵增大。因此,可采用奇异谱熵获取反映滚动轴承内在复杂性的特征,来描述滚动轴承状态的退化特征。
3 实例分析
采用Cincinnati大学实测的滚动轴承退化数据[17]验证所提状态趋势预测方法。实验装置如图5所示,轴承实验台的转轴上安装有4个Rexnord公司制造的ZA-2115双列滚子轴承,交流电机通过带传动以2 000 r/min的恒定转速带动转轴旋转,实验过程中轴承被施加6 000 lbs的径向载荷。采样频率为20 kHz,采样长度为20 480个点,每隔10 min采集一次轴承的振动数据,轴承持续运行直到不能正常工作。在第一组实验中,实验台持续运行21 560 min后,轴承3出现内圈故障而失效。本文采用该组实验采集到的轴承3的完整退化数据验证本文所提方法。
轴承3的全寿命振动数据共计2 156组,每组数据的长度为20 480个点,分别从每一组数据中提取前10 000个数据点进行矩阵重组得到维数1 000×10的矩阵并计算奇异谱熵,如图6a所示。对奇异谱熵序列进行滑动平均降噪处理得到降噪后的奇异谱熵序列,如图6b所示。由图6b可知,从起始点至第200点奇异谱熵快速攀升,轴承处于跑合阶段;从第200点~1 700点奇异谱熵变化速率缓慢,奇异谱熵曲线比较平直,轴承处于运行较为平稳的阶段;第1 700点之后奇异谱熵变化速率开始持续加快,奇异谱熵曲线急剧上升,轴承处于状态退化加剧即故障加剧阶段,直至失效。因为该轴承失效为其内圈故障逐渐恶化造成,所以在平稳运行阶段后期(即第1 300点~第1 700点区间),轴承实际处于初始退化即故障早期阶段。取处于初始退化阶段的第1 301点~第1 500点(共200个点)作为训练样本(即g=1 301,作为训练样本的奇异谱熵序列为[x1 301,x1 302,…,x1 500]);根据第2章阐述的RLUMRNN预测过程预测最后656个点(即第1 501点~第2 156点)的奇异谱熵。
RLUMRNN各参数设置如下:单调趋势识别器临界值λ=-7×10-6,μ=7×10-6;强化学习过程训练轮数P=5,动作选择参考值ε=[0.9,0.7,0.5,0.3,0.1],每轮训练次数Kρ=100ερ;动作集为可选隐层数[1,2,3]和可选隐层节点数3~10两两组合一共24种动作的集合;Q值表中各Q值初始数据为[0,1]的随机值;Q值更新折扣因子γ=0.1,Q值更新调节系数α=0.1;i-RNN学习率ψ=0.001,训练次数M=2 000;训练样本组数l=49;预测回合数N=164,每回合预测次数(即样本维数,也即输入节点数)t=4;输出节点数为1。设置好RLUMRNN的参数后,再对RLUMRNN进行训练,训练分两步:
(1)训练强化学习,并选择与3种趋势状态对应的i-RNN。首先对作为训练样本的奇异谱熵序列进行分解,可得:
T1=[x1 301,x1 302,x1 303,x1 304]→
T2=[x1 305,x1 306,x1 307,x1 308]→
⋮
T49=[x1 493,x1 494,x1 495,x1 496]→
其次利用单调趋势识别器判别以上49组训练输入样本的趋势状态。然后将训练输入样本及其期望输出依次输入RLUMRNN,根据1.4节采用ε-贪婪策略并结合由输出误差构造的奖励函数对Q值表进行P=5轮迭代更新(各轮更新次数分别为90,70,50,30,10),以完成强化学习的训练。最后强化学习依据最终更新的好的Q值表选择执行最佳动作,为所判别的3种趋势状态选择对应的i-RNN(1-RNN,2-RNN,3-RNN)。
(2)采用随机梯度下降法分别对强化学习选择的i-RNN进行M=2 000次训练。每次训练前从状态si的训练样本中随机抽取一组样本(包括作为期望输出的样本)输入对应的i-RNN,根据i-RNN的更新法则完成i-RNN的一次训练。循环重复以上训练过程2 000次,就完成了i-RNN的2 000次训练,即完成了RLUMRNN的完整训练过程。
为更好地评估模型预测效果,采用Nash系数(NSE)、平均绝对百分比误差(MAPE)和均方根误差(RMSE)作为预测精度评价指标,即:
(30)
(31)
(32)
表3 5种状态退化趋势预测方法的预测效果对比
将RNN,MK-LSSVM,GA-BPNN,ELM进行状态退化趋势预测所耗用的计算时间(即训练时间与预测时间之和)与RLUMRNN所耗用的计算时间进行对比,记录各预测方法重复执行100次的平均计算时间,结果如图9所示。可见,RLUMRNN,RNN,MK-LSSVM,GA-BPNN,ELM消耗的时间分别为10.739 s,8.616 s,28.855 s,33.514 s,15.971 s,显然RLUMRNN的计算时间比MK-LSSVM,GA-BPNN,ELM都要短得多,仅比RNN稍长。以上比较结果表明,将RLUMRNN应用于双列滚子轴承的状态退化趋势预测,比MK-LSSVM,GA-BPNN,ELM具有更高的收敛速度和计算效率。
4 结束语
本文在所提出的RLUMRNN中,通过构造单调趋势识别器判断输入序列的趋势,用3种趋势状态与不同隐层层数和隐层节点数分别表示Q值表的状态和动作,根据更新后最终的Q值表选择执行最优动作(即选择隐层层数和隐层节点数与每种序列趋势单元最匹配的循环神经网络),使RLUMRNN获得了较理想的非线性逼近能力和泛化性能。另外,在强化学习过程中,为了明确强化学习的学习目标(即使RNN的输出误差较小),采用输出误差构造新型奖励函数,以避免Agent在Q值表更新过程中的盲目搜索动作,提高了RLUMRNN的收敛速度。基于以上RLUMRNN在非线性逼近能力、泛化性能、收敛速度上的优势,本文进一步提出基于RLUMRNN的滚动轴承状态趋势预测方法:首先构造滑动平均奇异谱熵作为滚动轴承状态的退化特征,然后将该特征输入RLUMRNN预测滚动轴承状态的趋势,最后通过双列滚子轴承状态趋势预测实例验证了该方法的有效性。