基于时序分析和gru网络的光调制解调器故障预测方法
技术领域
1.本发明涉及通信设备故障预测技术领域,更具体地,涉及一种基于时序分析和gru网络的光调制解调器故障预测方法。
背景技术:2.光调制解调器(optical modem),又称光猫或单端口光端机,是将光纤接入企业和单位内部的重要通信设备。随着光纤技术的日渐成熟,光纤到户已成为互联网接入的主要方式,据工业部和信息化部官网消息,截止2019年12月底,我国互联网宽带接入端口中,光纤接入端口的比重高达91.3%。这意味着光猫已经取代传统的调制解调器,成为网络接入的主流通信设备。然而,承载有固话、宽带等通信业务的光猫由于长期上电运行,有时会出现拨号不通、宽带上网掉线等通信故障现象,严重时甚至持续数天,给用户造成极大的通信损失。如果能在故障发生前对其进行预测,从而提前采取预防措施,就可以在一定程度上避免故障的发生,降低通信损失。由此可见,对光调制解调器进行通信故障预测,具有重要的研究意义。
3.随着近年来机器学习的迅速发展,许多研究者试图将各种机器学习算法应用在故障预测领域,具有代表性的算法如决策树算法、逻辑回归算法、k均值聚类算法、svm支持向量机和卷积神经网络等,均被广泛应用在各种设备的故障预测上,取得了显著的成果。然而,在通信设备的故障预测领域,相关模型和算法的应用还较少;尤其是在光调制解调器的故障预测领域,国内还未开展过相关的研究。
技术实现要素:4.针对以上提到的现有技术中面临的技术问题,本发明提出了一种基于时序分析和gru网络的光调制解调器故障预测方法,用以在光调制解调器的故障发生前对故障进行预测,从而能够提前采取预防措施,在一定程度上避免故障的发生并降低通信损失。
5.为实现上述目的,本发明提供了一种基于时序分析和gru网络的光调制解调器故障预测方法,包括步骤:
6.获取光调制解调器的包括基本运行状态参数、运行日志数据和故障检修记录的原始训练数据集,对该原始训练数据集进行预处理以获取纯数值化的运行状态参数数据集和运行日志数据集;
7.选取合适的时间窗口大小,对所述运行状态参数数据集和所述运行日志数据集进行时间窗口划分,以获取总数据集;
8.对所述总数据集中的每个时间窗口进行状态参数信息和日志信息的特征提取,以获取时间窗口向量和时间窗口流;
9.根据所述故障检修记录,为每个时间窗口打上标签值;
10.将所述时间窗口向量作为输入,基于所述时间窗口流按预设比例划分的训练集和测试集,构建、训练和测试gru神经网络模型,以获取终态gru神经网络模型;
11.基于所述终态gru神经网络模型获取光调制解调器故障预测值,并基于该预测值对光调制解调器的故障进行预警。
12.进一步地,所述选取合适的时间窗口大小,对所述运行状态参数数据集和所述运行日志数据集进行时间窗口划分,以获取总数据集具体包括:
13.根据粒度的需要,选取合适的时间窗口大小t;
14.对所述运行状态参数数据集进行时间窗口划分,将时间戳值连续的t个状态参数向量划入同一个时间窗口中,获取对应时间窗口的运行状态参数向量数组;
15.对所述运行日志数据集进行时间窗口划分,将发生时间落在某时间窗口内的日志信息划入到该时间窗口内,获取该时间窗口的运行日志向量数组;
16.基于所述运行状态参数向量数组和所述运行日志向量数组,获取总数据集。
17.进一步地,t=60。
18.进一步地,所述对所述总数据集中的每个时间窗口进行状态参数信息和日志信息的特征提取,以获取时间窗口向量和时间窗口流具体包括:
19.对连续值状态参数信息进行特征提取,提取包括均值、方差、最大值、最小值和变化趋势中的一种或多种特征,以获取每个连续值状态参数在当前时间窗口内的第一特征向量;
20.对离散值状态参数信息进行特征提取,提取包括起始稳定值、变化次数和最后稳定值中的一种或多种特征,以获取每个离散值状态参数在当前时间窗口内的第二特征向量;
21.对日志信息进行特征提取,依次遍历每个时间窗口的配置信息序列、告警信息序列和错误信息序列,统计各种配置类型、告警类型和错误类型的日志信息条数,以获取日志信息在当前时间窗口内的第三特征向量;
22.基于所述第一特征向量、所述第二特征向量和所述第三特征向量以获取所述时间窗口向量和所述时间窗口流。
23.进一步地,提取所述变化趋势的特征具体包括:
24.定义单调系数α,用以表征连续值状态参数在当前时间窗口内的单调性;
25.定义增幅系数β,用以表征连续值状态参数在当前时间窗口内的变化幅度大小;
26.变化趋势trend的计算公式为:
27.trend=k1α+k2β;
28.其中,k1和k2为权重系数,k1》0,k2》0,权重系数用于调整α与β对变化趋势的相对权重影响。
29.进一步地,所述根据所述故障检修记录,为每个时间窗口打上标签值具体包括:
30.根据所述故障检修记录,得到所有发生通信故障的时间点,将这些时间点归属的时间窗口标签值设置为1,表示该时间窗口为在该时间窗口内发生了通信故障的故障窗口;
31.定义常量n0,对故障窗口前的连续n0个时间窗口,将其标签值设置为其中
△
t=|t
a-ti|,即当前窗口ta与故障窗口ti的时间点之差,表示当前窗口与故障窗口的距离;
32.对于所有与故障窗口的距离
△
t》n0的时间窗口,均认为是正常窗口,将其标签值
设置为0。
33.进一步地,构建的gru神经网络模型具体包括输入层、隐藏层和输出层;
34.输入层:输入的参数为所述时间窗口向量;
35.隐藏层:使用单隐藏层结构;将当前的输入记为x
t
,重置门和更新门分别记为r
t
和z
t
,上一时刻的隐状态记为h
t-1
,当前时刻的隐状态记为h
t
,当前时刻的候选隐状态记为则重置门r
t
和更新门z
t
的计算公式如下:
36.r
t
=σ(x
twxr
+h
t-1whr
+br),
37.z
t
=σ(x
twxz
+h
t-1whz
+bz),
38.其中,w
xr
、w
xz
、w
hr
和w
hz
是权重参数,br和bz是偏置参数;
39.候选隐状态的计算公式如下:
[0040][0041]
其中,w
xh
和w
hh
是权重参数,bh是偏置参数,符号
⊙
是hadamard积运算符;使用tanh非线性激活函数来确保候选隐状态的值保持在(﹣1,1)的区间,其表达式为:
[0042][0043]
最后,t时刻的隐状态h
t
的计算公式如下:
[0044][0045]
输出层:输出预测值y’∈[0,1],表示在当前运行状态下发生故障的概率,其表达式为:
[0046]
y’=tanh(w
hoht
+bo)
[0047]
其中,w
ho
为输出层权重矩阵,bo为输出层偏置参数,采用tanh作为激活函数。
[0048]
进一步地,使用huber’s robust loss作为训练时的损失函数,其表达式为:
[0049][0050]
其中,y表示实际标签值,y’表示模型输出的预测值;
[0051]
使用小批量随机梯度下降算法,通过求平均误差损失来得到总体损失。
[0052]
进一步地,基于所述时间窗口流按预设比例划分的训练集和测试集训练和测试gru神经网络模型具体包括:
[0053]
采用留出法,将已完成特征提取的所述时间窗口流切分为k份连续的子序列,再将这k份子序列按预设比例划分为训练集和测试集,同时保持训练集和测试集中含故障窗口的子序列占总子序列的比例相等;
[0054]
将训练集输入到gru神经网络模型中,设置学习率为0.03~0.1,训练迭代次数为1000次,开始模型的训练;训练完成以后,将测试集输入到gru神经网络模型中,测试并得到最终损失值,取损失值最小时的学习率再对模型进行一次训练,得到所述终态gru神经网络模型。
[0055]
进一步地,所述基于所述终态gru神经网络模型获取光调制解调器故障预测值,并基于该预测值对光调制解调器的故障进行预警具体包括:
[0056]
每隔第一预设时间读取一次运行状态参数,每隔第二预设时间读取一次运行日志数据,合并状态参数和日志数据,提取时间窗口特征,构建时间窗口,将所述时间窗口向量输入到所述终态gru神经网络模型中获得输出值,当输出的预测值大于预设阈值时,判断故障即将发生,发出故障报警,否则不响应;同时,存储本时间窗口的隐状态,参与下一时间点的隐状态计算,如此循环往复。
[0057]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0058]
本发明的方法首先从多台企业级光调制解调器中连续采集基本运行状态参数、运行日志数据和故障检修记录,从中提取关键的时序特征,包括各参数均值、方差、趋势值和各类型告警日志条数等,构建时间窗口,并根据故障检修记录,对每个时间窗口进行标记;接下来,将相应的时间窗口向量输入到gru网络模型中进行训练,并将训练好的gru网络模型用于真实情景下光调制解调器通信故障的预测及告警,从而能在光调制解调器的通信故障发生前对其进行预测并提前采取预防措施,可在一定程度上避免故障的发生,降低通信损失。该方法也填补了国内在光调制解调器的故障预测技术领域的技术空白。
附图说明
[0059]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0060]
图1为本发明实施例提供的一种基于时序分析和gru神经网络的光调制解调器故障预测方法的总体流程示意图;
[0061]
图2为本发明实施例提供的进行时间窗口划分后的数据结构示意图;
[0062]
图3为本发明实施例提供的进行窗口特征提取后的数据结构示意图。
具体实施方式
[0063]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0064]
本技术的说明书、权利要求书或上述附图中的术语“第一”、“第二”或“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”或“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备并没有限定于已列出的步骤或单元,而是可选地还可以包括没有列出的步骤或单元,或可选地还可以包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0065]
如图1所示,在一个实施例中,一种基于时序分析和gru神经网络的光调制解调器故障预测方法主要包括s1-s6的步骤。
[0066]
s1、获取光调制解调器的包括基本运行状态参数、运行日志数据和故障检修记录
的原始训练数据集,对该原始训练数据集进行预处理以获取纯数值化的运行状态参数数据集和运行日志数据集。更具体的,包括s11-s12的步骤。
[0067]
s11、通过智能网管系统,从多台千兆企业级光猫中连续不间断地采集光猫的基本运行状态参数、运行日志数据和故障检修记录,作为原始的训练数据集。
[0068]
基本运行状态参数主要包括:
[0069]
1)光模块信息:如发光状态、发送光功率、接收光功率、误码率和工作温度等,记为g1,g2,g3…
gd;
[0070]
2)核心模块信息:如cpu使用率、内存使用率、设备运行时长、cpu温度、主板温度、工作电压、工作电流和总连接端口数等,记为k1,k2,k3……kt
;
[0071]
3)wlan接口状态信息:如收/发字节数、收/发帧数、收/发错误帧数、收/发帧丢弃数等,记为r1,r2,r3……rm
;
[0072]
4)lan1~lan8接口状态信息:如每端口连接状态(在线/离线)、连接模式(全双工/半双工)、连接速率、每端口发送/接收字节数、每端口发送/接收帧数和错误帧数等,记为l
1i
,l
i2
,l
i3
……
l
in
(i=1,2,
…
,8)。
[0073]
将这些参数的总和记为光猫的状态参数信息,用一个向量τi表示,即:
[0074]
τi={i,g1,g2,g3…
gd,k1,k2,k3……kt
,
[0075]
r1,r2,r3……rm
,l
1i
,l
i2
,l
i3
……
l
in
}
[0076]
其中i是时间戳,即采集的时间点;τi即表示i时刻的光猫状态参数向量;
[0077]
用ds表示收集到的全部状态参数数据集,则ds可表示为一个按时间顺序排列的状态参数向量的数组;即:
[0078]ds
=[τ1,τ2,τ3,τ4,τ5,
……
τn](n为时间序列号)
[0079]
运行日志数据记录着光猫在运行过程中发生的操作和异常等,运行日志中的信息主要可以分为三种类型:配置信息、告警信息和错误信息。配置信息的内容包括操作时间c
t
和操作类型cc;告警信息的内容包括告警时间w
t
和告警类型wc;错误信息的内容包括报告时间e
t
和错误类型ec。
[0080]
用i
t
表示t时刻产生的一条日志数据,如上所述,i
t
可以是一条配置日志数据、一条告警日志数据或一条错误日志数据,按类型不同可分别表示为:
[0081]it
={c
t
,cc}或{w
t
,wc}或{e
t
,ec}
[0082]
用d
l
表示总的运行日志数据集,则d
l
可表示为一个按时间顺序排列的运行日志信息的数组,即:
[0083]dl
=[la,lb,lc……
lm]
[0084]
注意,这里的下标a、b和c不一定是连续的自然数,因为日志产生的时间是不固定和非连续的,不像状态参数信息那样每一时刻都会固定产生一条。
[0085]
s12、对数据进行必要的数据清洗和数据预处理,包括将字符型数据转换为数值型数据、将日期类型转换为时间戳、数据的归一化等。处理完后得到纯数值化的运行状态参数数据集ds和运行日志数据集d
l
。
[0086]
s2、选取合适的时间窗口大小,对所述运行状态参数数据集和所述运行日志数据集进行时间窗口划分,以获取总数据集。为了提取数据中的时序特征,减小数据规模,需要将数据进一步划分为时间窗口。更具体的,包括s21-s23的步骤。
[0087]
s21、首先,根据实际情景以及粒度的需要,选取合适的时间窗口大小t。
[0088]
根据经验,t应满足若t选择过小,则无法有效降低数据规模和提取数据的时序特征,导致训练耗时过长;若t选择过大,则会导致划分出的时间窗口数量过少,导致训练效果欠拟合。优选的,选择t=60作为时间窗口大小。
[0089]
s22、接下来是对运行状态参数数据集ds的处理:将时间戳值连续的t个状态参数向量划入同一个时间窗口中,即将ds划分为:
[0090]ds
=[{τ1,τ2,τ3……
τ
t
},{τ
t+1
,τ
t+2
,τ
t+3
……
τ
2t
},
……
,{τ
n-t+1
,τ
n-t+2
,τ
n-t+3
……
τn}]
[0091]
其中,形如{τ
at+1
,τ
at+2
,τ
at+3
……
τ
(a+1)t
}为一个时间窗口,记为wa,即:
[0092]
wa={τ
at+1
,τ
at+2
,τ
at+3
……
τ
(a+1)t
}
[0093]
s23、接着是对运行日志数据集d
l
的处理:将每个时间窗口中出现的日志数据划入到对应的该时间窗口中,作为该时间窗口的特征之一。
[0094]
具体操作为:对任意在数据集d
l
中搜索时间戳落在[at+1,(a+1)t]区间内的日志信息,将其加入到wa中。
[0095]
经过此步处理后,一个时间窗口可表示为:
[0096]
wa={[τ
at+1
,τ
at+2
,τ
at+3
……
τ
(a+1)t
],[c1,c2,
…cs
],[w1,w2,
…ws
],[e1,e2,
…es
]}
[0097]
其中,[τ
at+1
,τ
at+2
,τ
at+3
……
τ
(a+1)t
]表示该时间窗口的运行状态参数向量数组,[c1,c2,
…cs
]、[w1,w2,
…ws
]和[e1,e2,
…es
]分别表示该时间窗口内的配置信息序列、告警信息序列和错误信息序列,也即该时间窗口的运行日志向量数组。
[0098]
经过此步处理后,总数据集可以表示为:
[0099]dx
=[w0,w1,w2,
……
,w
n/t
]。
[0100]
进行时间窗口划分后的数据结构示意图如图2所示。
[0101]
s3、对所述总数据集中的每个时间窗口进行状态参数信息和日志信息的特征提取,以获取时间窗口向量和时间窗口流。更具体的,包括s31-s32的步骤。
[0102]
s31、对状态参数信息进行特征提取,状态参数分为连续值和离散值。连续值指的是在运行过程中会持续变化的状态参数,如cpu温度、内存使用率、工作电压和发送光功率等;离散值是指取值单一且一般不会变化的状态参数,如光模块的发光状态、端口的连接模式和连接状态等。
[0103]
s311、对连续值状态参数信息进行特征提取。
[0104]
对于每一个连续值状态参数b,提取以下5个特征:均值μ、方差s、最大值max、最小值min和变化趋势trend。
[0105]
1)均值μ计算公式:
[0106][0107]
2)方差s计算公式:
[0108][0109]
3)最大值max和最小值min的计算公式:
[0110]
max=max{bi}, min=min{bi}
[0111]
4)变化趋势trend是本发明定义的一个特殊参数,用于表征变量在时间窗口内的改变趋势;对于变化趋势trend,其计算方式如下:
[0112]
41)定义单调系数α,用以表征状态参数b在当前时间窗口内的单调性:
[0113][0114]
其中,ф(i)表达式为:
[0115][0116]
在此定义下,α的绝对值越大,状态参数b在时间窗口内的单调性越强;当α》0时,总体呈现上升趋势;当α《0时,总体呈现下降趋势。
[0117]
42)定义增幅系数β,用以表征状态参数b在当前时间窗口内的变化幅度大小:
[0118][0119]
在此定义下,β的绝对值越大,状态参数b在当前时间窗口内的变化幅度越大;当β》0时,b的取值在当前窗口内的增幅为正;反之增幅为负。
[0120]
43)变化趋势trend的计算公式为:
[0121]
trend=k1α+k2β
[0122]
其中,k1和k2为权重系数(k1,k2》0),用于调整α与β对变化趋势的相对权重影响。
[0123]
在此定义下,当trend》0时,状态参数b在当前时间窗口内总体呈现增长趋势;当trend《0时,b在当前窗口内总体呈现减小趋势;并且,trend的绝对值越大,其增长/减小的趋势越显著。
[0124]
经过此步骤的提取,每个连续值状态参数b在当前时间窗口内的特征可用向量θ(即权利要求书中所述的第一特征向量)表示为:
[0125]
θ=(b
μ
,bs,b
max
,b
min
,b
trend
)。
[0126]
s312、对离散值状态参数信息进行特征提取。
[0127]
对于每一个离散值状态参数d,提取以下三个特征:(在当前时间窗口内的)起始稳定值ds、变化次数dc和最后稳定值de。
[0128]
其中,起始稳定值是指状态参数b在当前时间窗口的起始时间点处的值;最后稳定值是指状态参数b在当前时间窗口的结束时间点处的值;变化次数是指状态参数b在当前时间窗口内取值变化的次数。前两个特征值通过直接采集时间窗口的起始值和结束值得到,变化次数则通过遍历一次整个时间窗口数据,统计b的取值变化的次数得到。
[0129]
在大多数时间窗口中,变化次数均为0,起始稳定值ds和最后稳定值de相同;在少数时间窗口中,这些值发生了1次跳变(如端口状态由连接变为断开),即变化次数为1,此时,ds≠de;在极少数时间窗口中,这些值发生了反复跳变(如电源的反复掉电和复位),即变化次数大于1。在以上几种情况中,ds、dc和de三个参数均能有效描述该参数在该时间窗口中的
变化特征。
[0130]
经过此步骤的提取,每个离散值状态参数在当前时间窗口内的特征可用向量ω(即权利要求书中所述的第二特征向量)表示为:
[0131]
ω=(ds,dc,de)。
[0132]
s32、对日志信息进行特征提取。对于每个时间窗口wa,依次遍历其配置信息序列[c1,c2,
…cs
]、告警信息序列[w1,w2,
…ws
]和错误信息序列[e1,e2,
…es
],统计各种配置类型、告警类型和错误类型的日志信息条数,作为时间窗口的特征。
[0133]
提取后日志信息的特征可用向量σ(即权利要求书中所述的第三特征向量)表示为:
[0134]
σ=(c1,c2,
…
,c
p
,w1,w2,
…
,wq,e1,e2,
…
,er)。
[0135]
其中,ci表示第i种配置类型的日志条数,wi表示第i种告警类型的日志条数,ei表示第i种错误类型的日志条数。
[0136]
至此,时间窗口的特征已提取完毕,可将其用时间窗口向量w`a表示为:
[0137]
w`a=(θ1,θ2,
…
,θs,ω1,ω2,
…
,ω
t
,σ)。
[0138]
其中,θ1~θs依次表示各连续值状态参数的特征向量(如前所述,包括均值、方差、最大值、最小值和变化趋势);ω1~ω
t
依次表示各离散值状态参数的特征向量(包括起始稳定值、最后稳定值和变化次数),σ表示日志信息的特征向量。这些参数将作为后面的输入用于训练gru神经网络。最后得到的时间窗口流为:
[0139]
d`
x
=[w`0,w`1,w`2,
……
,w`
n/t
]。
[0140]
进行窗口特征提取后的数据结构示意图如图3所示。
[0141]
s4、根据所述故障检修记录,为每个时间窗口打上标签值。更具体的,包括s41-s43的步骤。
[0142]
s41、首先,根据故障检修记录,得到所有发生通信故障的时间点,将这些时间点归属的时间窗口标签值设置为y=1,表示该时间窗口为故障窗口(在该时间窗口内发生了故障)。
[0143]
s42、其次,合理推断与故障窗口临近的时间窗口,都存在一定程度的故障发生率。因此,定义一个常量n0,对故障窗口前的连续n0个窗口,将其标签值设置为其中
△
t=|t
a-ti|,即当前窗口ta与故障窗口ti的时间点之差,表示此窗口与故障窗口的距离。
[0144]
s43、对于所有与故障窗口的距离
△
t》n0的时间窗口,均认为是正常窗口,将其标签值设置为y=0。
[0145]
s5、将所述时间窗口向量作为输入,基于所述时间窗口流按预设比例划分的训练集和测试集,构建、训练和测试gru神经网络模型,以获取终态gru神经网络模型。更具体的,包括s51-s52的步骤。
[0146]
s51、gru网络模型的具体构建。gru网络模型,即门控循环单元(gated recurrent unit,gru)神经网络,其是循环神经网络(rnn)的一种变体,广泛应用于时间序列模型的处理中。门控循环单元神经网络与普通的循环神经网络之间的关键区别在于:其支持隐状态的门控。具体而言,它在普通循环神经网络的基础上,增加了重置门(reset gate)和更新门
(update gate)。其中,重置门有助于捕获序列中的短期依赖关系,更新门有助于捕获序列中的长期依赖关系,由于增加了这两个门控单元,相比普通的循环神经网络,gru对关键信息的捕获能力更强。本发明基于gru神经网络进行通信故障预测模型的训练和预测,该gru神经网络的结构如下所述。
[0147]
1)输入层:输入的参数为时间窗口w`a的特征向量(即所述的时间窗口向量),即(θ1,θ2,
…
,θs,ω1,ω2,
…
,ω
t
,σ);在下文中,将输入记为x
t
。
[0148]
2)隐藏层:使用单隐藏层结构,隐藏层神经元个数设置为512,输入层与隐藏层全连接;重置门和更新门同样设置为512
×
1的矩阵。
[0149]
将当前的输入记为x
t
,重置门和更新门分别记为r
t
和z
t
,上一时刻的隐状态记为h
t-1
,当前时刻的隐状态记为h
t
,当前时刻的候选隐状态记为则重置门r
t
和更新门z
t
的计算公式如下:
[0150]rt
=σ(x
twxr
+h
t-1whr
+br),
[0151]zt
=σ(x
twxz
+h
t-1whz
+bz),
[0152]
其中,w
xr
、w
xz
、w
hr
和w
hz
是权重参数,br和bz是偏置参数。
[0153]
候选隐状态的计算公式如下:
[0154][0155]
其中,w
xh
和w
hh
是权重参数,bh是偏置项(偏置参数),符号
⊙
是hadamard积(按元素乘积)运算符。在这里,使用tanh非线性激活函数来确保候选隐状态的值保持在(﹣1,1)之间,其表达式为:
[0156][0157]
最后,t时刻的隐状态h
t
的计算公式如下:
[0158][0159]
3)输出层:输出为一个预测值y’∈[0,1],表示在当前运行状态下,发生故障的概率:
[0160]
y’=tanh(w
hoht
+bo),
[0161]
其中,w
ho
为输出层权重矩阵,bo为输出层偏置项。同样采用tanh作为激活函数。
[0162]
损失函数:为了提高模型的鲁棒性,防止梯度爆炸的问题,优选的,使用huber’s robust loss作为训练时的损失函数,其表达式为:
[0163][0164]
其中,y表示实际标签值,y’表示模型输出的预测值。该损失函数通过在当差值大于1时将损失函数降为线性,从而有效地缓解了梯度爆炸的问题。
[0165]
优化算法:使用小批量随机梯度下降算法。传统的随机梯度下降法每次需在整个训练集上计算误差损失,代价过于高昂,本发明优选的采用小批量随机梯度下降算法,具体
做法是:每次选取b=500个时间窗口,计算其预测值与真实标签之间的差值
△
y1,
△
y2,
…
,
△y500
,求平均误差损失,来近似等效为总体损失,即:
[0166][0167]
模型的初始化:将所有权重矩阵随机初始化为均值为0、方差为0.1的随机数阵;所有偏置参数均初始化为0矩阵;同时,为了适应时间序列中首窗口无前置隐状态的情况,在训练前将隐状态初始化为0矩阵。
[0168]
s52、gru神经网络的训练和测试。采用留出法,将已完成特征提取的时间窗口流(即d`
x
=[w`0,w`1,w`2,
……
,w`
n/t
])切分为k份连续的子序列,再将这k份子序列按9:1的比例划分为训练集和测试集,同时保持训练集和测试集中含故障窗口的子序列占总子序列的比例相等。
[0169]
将训练集输入到模型中,依次设置学习率为0.03~0.1,训练迭代次数为1000次,开始模型的训练;模型训练完成以后,将测试集输入到模型中,测试并得到最终损失值,取损失值最小时的学习率再对模型进行一次训练,得到最终的模型,即终态gru神经网络模型。
[0170]
s6、基于所述终态gru神经网络模型获取光调制解调器故障预测值,并基于该预测值对光调制解调器的故障进行预警。更具体的,在企业级光调制解调器的实际运行过程中,每隔30秒读取一次运行状态参数,每隔30分钟读取一次运行日志数据,然后按上述方式,合并状态参数、日志数据,并提取时间窗口特征,构建时间窗口,将相应的时间窗口向量输入到模型中获得输出值,当输出的预测值大于0.6时,则认为故障即将发生,发出故障报警,否则不响应;同时,存储本时间窗口的隐状态,参与下一时间点的隐状态计算,如此循环往复。
[0171]
需要说明的是,附图中的流程图或框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。还要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0172]
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别的,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本公开的范围。
[0173]
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
技术特征:1.一种基于时序分析和gru网络的光调制解调器故障预测方法,其特征在于,包括步骤:获取光调制解调器的包括基本运行状态参数、运行日志数据和故障检修记录的原始训练数据集,对该原始训练数据集进行预处理以获取纯数值化的运行状态参数数据集和运行日志数据集;选取合适的时间窗口大小,对所述运行状态参数数据集和所述运行日志数据集进行时间窗口划分,以获取总数据集;对所述总数据集中的每个时间窗口进行状态参数信息和日志信息的特征提取,以获取时间窗口向量和时间窗口流;根据所述故障检修记录,为每个时间窗口打上标签值;将所述时间窗口向量作为输入,基于所述时间窗口流按预设比例划分的训练集和测试集,构建、训练和测试gru神经网络模型,以获取终态gru神经网络模型;基于所述终态gru神经网络模型获取光调制解调器故障预测值,并基于该预测值对光调制解调器的故障进行预警。2.如权利要求1所述的光调制解调器故障预测方法,其特征在于,所述选取合适的时间窗口大小,对所述运行状态参数数据集和所述运行日志数据集进行时间窗口划分,以获取总数据集具体包括:根据粒度的需要,选取合适的时间窗口大小t;对所述运行状态参数数据集进行时间窗口划分,将时间戳值连续的t个状态参数向量划入同一个时间窗口中,获取对应时间窗口的运行状态参数向量数组;对所述运行日志数据集进行时间窗口划分,将发生时间落在某时间窗口内的日志信息划入到该时间窗口内,获取该时间窗口的运行日志向量数组;基于所述运行状态参数向量数组和所述运行日志向量数组,获取总数据集。3.如权利要求2所述的光调制解调器故障预测方法,其特征在于,t=60。4.如权利要求2所述的光调制解调器故障预测方法,其特征在于,所述对所述总数据集中的每个时间窗口进行状态参数信息和日志信息的特征提取,以获取时间窗口向量和时间窗口流具体包括:对连续值状态参数信息进行特征提取,提取包括均值、方差、最大值、最小值和变化趋势中的一种或多种特征,以获取每个连续值状态参数在当前时间窗口内的第一特征向量;对离散值状态参数信息进行特征提取,提取包括起始稳定值、变化次数和最后稳定值中的一种或多种特征,以获取每个离散值状态参数在当前时间窗口内的第二特征向量;对日志信息进行特征提取,依次遍历每个时间窗口的配置信息序列、告警信息序列和错误信息序列,统计各种配置类型、告警类型和错误类型的日志信息条数,以获取日志信息在当前时间窗口内的第三特征向量;基于所述第一特征向量、所述第二特征向量和所述第三特征向量以获取所述时间窗口向量和所述时间窗口流。5.如权利要求4所述的光调制解调器故障预测方法,其特征在于,提取所述变化趋势的特征具体包括:定义单调系数α,用以表征连续值状态参数在当前时间窗口内的单调性;
定义增幅系数β,用以表征连续值状态参数在当前时间窗口内的变化幅度大小;变化趋势trend的计算公式为:trend=k1α+k2β;其中,k1和k2为权重系数,k1>0,k2>0,权重系数用于调整α与β对变化趋势的相对权重影响。6.如权利要求1所述的光调制解调器故障预测方法,其特征在于,所述根据所述故障检修记录,为每个时间窗口打上标签值具体包括:根据所述故障检修记录,得到所有发生通信故障的时间点,将这些时间点归属的时间窗口标签值设置为1,表示该时间窗口为在该时间窗口内发生了通信故障的故障窗口;定义常量n0,对故障窗口前的连续n0个时间窗口,将其标签值设置为其中
△
t=|t
a-t
i
|,即当前窗口t
a
与故障窗口t
i
的时间点之差,表示当前窗口与故障窗口的距离;对于所有与故障窗口的距离
△
t>n0的时间窗口,均认为是正常窗口,将其标签值设置为0。7.如权利要求1所述的光调制解调器故障预测方法,其特征在于,构建的gru神经网络模型具体包括输入层、隐藏层和输出层;输入层:输入的参数为所述时间窗口向量;隐藏层:使用单隐藏层结构;将当前的输入记为x
t
,重置门和更新门分别记为r
t
和z
t
,上一时刻的隐状态记为h
t-1
,当前时刻的隐状态记为h
t
,当前时刻的候选隐状态记为则重置门r
t
和更新门z
t
的计算公式如下:r
t
=σ(x
t
w
xr
+h
t-1
w
hr
+b
r
),z
t
=σ(x
t
w
xz
+h
t-1
w
hz
+b
z
),其中,w
xr
、w
xz
、w
hr
和w
hz
是权重参数,b
r
和b
z
是偏置参数;候选隐状态的计算公式如下:其中,w
xh
和w
hh
是权重参数,b
h
是偏置参数,符号
⊙
是hadamard积运算符;使用tanh非线性激活函数来确保候选隐状态的值保持在(﹣1,1)的区间,其表达式为:最后,t时刻的隐状态h
t
的计算公式如下:输出层:输出预测值y’∈[0,1],表示在当前运行状态下发生故障的概率,其表达式为:y’=tanh(w
ho
h
t
+b
o
)其中,w
ho
为输出层权重矩阵,b
o
为输出层偏置参数,采用tanh作为激活函数。8.如权利要求7所述的光调制解调器故障预测方法,其特征在于,使用huber’s robust loss作为训练时的损失函数,其表达式为:
其中,y表示实际标签值,y’表示模型输出的预测值;使用小批量随机梯度下降算法,通过求平均误差损失来得到总体损失。9.如权利要求1所述的光调制解调器故障预测方法,其特征在于,基于所述时间窗口流按预设比例划分的训练集和测试集训练和测试gru神经网络模型具体包括:采用留出法,将已完成特征提取的所述时间窗口流切分为k份连续的子序列,再将这k份子序列按预设比例划分为训练集和测试集,同时保持训练集和测试集中含故障窗口的子序列占总子序列的比例相等;将训练集输入到gru神经网络模型中,设置学习率为0.03~0.1,训练迭代次数为1000次,开始模型的训练;训练完成以后,将测试集输入到gru神经网络模型中,测试并得到最终损失值,取损失值最小时的学习率再对模型进行一次训练,得到所述终态gru神经网络模型。10.如权利要求9所述的光调制解调器故障预测方法,其特征在于,所述基于所述终态gru神经网络模型获取光调制解调器故障预测值,并基于该预测值对光调制解调器的故障进行预警具体包括:每隔第一预设时间读取一次运行状态参数,每隔第二预设时间读取一次运行日志数据,合并状态参数和日志数据,提取时间窗口特征,构建时间窗口,将所述时间窗口向量输入到所述终态gru神经网络模型中获得输出值,当输出的预测值大于预设阈值时,判断故障即将发生,发出故障报警,否则不响应;同时,存储本时间窗口的隐状态,参与下一时间点的隐状态计算,如此循环往复。
技术总结本发明公开了一种基于时序分析和GRU网络的光调制解调器故障预测方法,该方法首先从多台企业级光调制解调器中连续采集基本运行状态参数、运行日志数据和故障检修记录,从中提取关键的时序特征,包括各参数均值、方差、趋势值和各类型告警日志条数等,构建时间窗口,并根据故障检修记录,对每个时间窗口进行标记;接下来,将相应的时间窗口向量输入到GRU网络模型中进行训练,并将训练好的GRU网络模型用于真实情景下光调制解调器通信故障的预测及告警,从而能在光调制解调器的通信故障发生前对其进行预测并提前采取预防措施,可在一定程度上避免故障的发生,降低通信损失。该方法也填补了国内在光调制解调器的故障预测技术领域的技术空白。域的技术空白。域的技术空白。
技术研发人员:徐小涛 高泳洪 熊涛 卢迅 崔明玉
受保护的技术使用者:中国人民解放军国防科技大学
技术研发日:2022.07.26
技术公布日:2022/11/1