一种鲁棒多模态网络运维故障检测方法、系统及产品
未命名
09-13
阅读:86
评论:0

1.本发明涉及网络运维技术领域,特别是涉及一种鲁棒多模态网络运维故障检测方法、系统及产品。
背景技术:
2.近年来,运维技术在各行各业的重要性越来越高,由于数字化程度越来越高、系统规模越来越大、组件监控粒度越来越细、监控数据量越来越大以及新技术和新组件的不断引入,这些导致网络运维难度日益增大,运维工程师也被海量高速的运维监控数据所淹没。传统的网络故障诊断方法主要依靠人工经验和专业知识来判断和解决问题,这种方法存在着一定的主观性和局限性,不能满足大规模网络的需求。
3.近年来,随着机器学习技术的发展,一些基于数据驱动的故障诊断方法被提出。这些方法主要依赖于机器学习算法,通过分析网络设备的数据,自动诊断网络故障。然而,传统的数据驱动方法通常只能利用单一模态的数据来进行诊断,无法利用运维领域多模态的数据共同进行故障检测和诊断。此外,单一类型的数据可能会存在数据不全、数据噪声等问题,会影响到故障诊断的准确性和可靠性。
4.因此,为了提高网络故障诊断的准确性和可靠性,需要一种能够同时利用多模态数据进行故障诊断的方法。然而,在网络运维领域,由于数据的信噪比等原因,多模态模型常常会产生对其中某一模态的偏置,从而导致模型性能下降。而现有的一些消偏方法常常会以牺牲在与训练数据独立同分布的数据上的性能为代价,提升非独立同分布数据的性能。这两种情况都不利于系统的鲁棒性。
技术实现要素:
5.本发明提供一种鲁棒多模态网络运维故障检测方法、系统及产品,以解决现有的多模态学习模型仅能学习到日志数据的分布特征,而不能学习到数据的信息特征,导致系统的鲁棒性不足的问题。
6.第一方面,本发明实施例提供一种鲁棒多模态网络运维故障检测方法,包括以下步骤:
7.步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特征表示;
8.步骤2,将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;
9.步骤3,将步骤1和步骤2中提取的不同模态的特征表示进行信息融合,得到多模态特征向量;
10.步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;
11.步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;
12.步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。
13.基于第一方面,在步骤3中,所述将步骤1和步骤2中提取的不同模态的特征进行信息融合,得到多模态特征向量,包括:
14.将所述日志文件的特征表示和所述kpi时间序列的特征表示分别经过线性层,相加经过激活函数,得到对应的表示;
15.将所述对应的表示经过线性层得到注意力权重,采用softmax归一化得到最终的注意力权重;
16.将所述注意力权重进行加权表示,得到多组kpi时间序列的特征表示的融合表示;
17.采用哈达玛积对所述融合表示和所述日志文件的特征表示进行处理,得到结合自顶向下注意力机制的多模态特征向量。
18.基于第一方面,所述多模态特征向量em,定义如下:
19.em=e
mk
⊙el
(l),
20.式中,e
mk
为多组kpi时间序列的特征表示的融合表示,
⊙
为哈达玛积,e
l
(l)为日志文件的特征表示;
21.其中,e
mk
定义如下:
[0022][0023]
式中,j表示第j组kpi性能指标数据,为第j组kpi性能指标数据对应的最终的注意力权重,j∈[1,nk],ek(k)为kpi时间序列的特征表示,kj为第j组kpi性能指标数据(共nk组),α为经过线性层得到的注意力权重,wa为线性层,eq为日志文件的特征表示和kpi时间序列的特征表示分别经过线性层,相加经过激活函数relu(
·
),得到的对应的表示,中的t表示线性层w
α
的转置,e
q,i
=relu(w
lel
(l)+w
kek,i
(k)
t
),1≤i≤nk,e
q,i
为日志文件的特征表示结合任意一个1-nk组的kpi时间序列的特征表示得到的特征表示,e
l
(l)为日志文件的特征表示,e
k,i
(k)表示为第i个kpi时间序列的特征表示对应的输入ek(k)的结果,[e
k,i
(k)]
t
中的t表示e
k,i
(k)的转置,w
l
和wk为线性层。
[0024]
基于第一方面,在步骤4中,所述输出为非消偏的分类结果z
nd
,定义如下:
[0025]znd
=softmax(fcn(em)),
[0026]
式中,fcn(
·
)为全连接网络,em为多模态特征;
[0027]
在步骤5中,所述输出为单模态下的n维特征向量en,定义如下:
[0028]en
=fcn(e
l
(l)),
[0029]
式中,fcn(
·
)为全连接网络,e
l
(l)为日志文件的特征表示。
[0030]
基于第一方面,在步骤6中,所述将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果,包括:
[0031]
将步骤5的输出输入至sigmoid激活函数,再与步骤4)的输出做内积,得到融合信息结果;
[0032]
将所述融合信息结果在n维空间上进行softmax运算,得到最终预测结果;
[0033]
其中,所述最终的预测结果z
pred
,定义如下:
[0034]zpred
=softmax(z)=softmax(z
nd
·
σ(en)),
[0035]
式中,z
nd
为步骤4中的非消偏分类结果,en为步骤5中单模态下的n维特征向量,σ
(
·
)为sigmoid激活函数。
[0036]
基于第一方面,所述鲁棒多模态网络的损失函数是通过以下步骤计算得到的:
[0037]
将步骤5的输出输入第二分类器中,进行n标签分类,通过计算所述标签分类与真实标签的交叉熵损失,得到单模态损失函数;
[0038]
计算步骤6的最终预测结果与真实结果的交叉熵损失,得到多模态损失函数;
[0039]
引入宽松控制因子对多模态损失函数进行优化,得到最终的损失函数;
[0040]
其中,最终的损失函数lo,定义如下:
[0041]
lo=γl1+l2=-[a]log(z
pred
)
γ-[a]log(softmax(cn(en))),
[0042]
其中,单模态损失函数l2,定义如下:
[0043]
l2=-[a]log(softmax(cn(en))),
[0044]
其中,多模态损失函数l1,定义如下:
[0045]
l1=-[a]log(z
pred
),
[0046]
式中,γ∈(0,1)表示宽松控制因子,a表示所述真实结果,[a]表示真实结果对应的所述真实标签,z
nd
为步骤4中的非消偏分类结果,σ(
·
)为sigmoid激活函数,en为步骤5中单模态下的n维特征向量,cn表示第二分类器。
[0047]
基于第一方面的检测方法,所述方法还包括:
[0048]
在训练过程中,针对每一轮第一分类器输出所计算的损失函数,进行宽松优化,并对宽松控制因子进行调整,调整如下:
[0049][0050]
式中,l1表示当前的第一分类器输出并计算的损失函数值,l*1表示上一轮第一分类器输出并计算的损失函数值。
[0051]
基于上述同样的发明构思,在第二方面,本发明提供一种鲁棒多模态网络运维故障检测系统,包括:
[0052]
第一提取模块,用于步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特征表示;
[0053]
第二提取模块,用于步骤2,将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;
[0054]
第一融合模块,用于步骤3,将步骤1和步骤2中的不同模态的特征进行信息融合,得到多模态特征向量;
[0055]
第一分类模块,用于步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;
[0056]
第三提取模块,用于步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;
[0057]
第二融合模块,用于步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。
[0058]
第三方面,本发明提供一种电子设备,包括:
[0059]
存储器,用于存储一个或多个程序;
[0060]
处理器;
[0061]
当所述一个或多个程序被所述处理器执行时,实现如第一方面中任一项所述的鲁棒多模态网络运维故障检测方法。
[0062]
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一项所述的鲁棒多模态网络运维故障检测方法。
[0063]
本发明包括以下优点:
[0064]
(1)本发明实施例充分利用了网络运维中的多模态数据,大大增强了故障预测的可靠性和准确性;
[0065]
(2)本发明实施例采用了消偏优化,解决网络运维中的数据信噪比较低而导致模型学习到数据的偏置的问题;
[0066]
(3)本发明实施例在引入消偏优化后,加入了宽松优化的策略,通过引入宽松控制因子,进一步保证偏置优化的有效性,让系统在对不同分布的数据进行故障预测的时候均能保持较高的准确性,大大增加了系统的鲁棒性。
附图说明
[0067]
图1为本发明实施例提供的一种鲁棒多模态网络运维故障检测方法的流程图;
[0068]
图2为本发明实施例提供的一种多模态信息融合模块的框架流程示意图;
[0069]
图3为本发明实施例提供的一种鲁棒多模态运维故障检测的框架流程示意图;
[0070]
图4为本发明实施例提供的一种鲁棒多模态网络运维故障检测系统的架构图;
[0071]
图5为本发明实施例提供的一种电子设备的示意性结构框图。
具体实施方式
[0072]
本发明提供一种鲁棒多模态网络运维故障检测方法、系统及产品,可以利用机器kpi性能指标以及日志文件的多模态信息对网络运维系统进行故障检测,并在处理不同分布的数据可以保持预测结果的稳定性和可靠性;首先分别对kpi性能指标以及日志文件进行特征提取,接着利用多模态信息融合模块对提取到的多模态特征进行处理,得到对应的多模态特征,通过分类器进行初步分类,再经过消偏处理,得到消偏需要的单模态特征向量,与之前的分类结果相结合,得到最终的故障检测分类结果;此外,在模型的训练阶段,引入了宽松优化的策略,降低模型对数据分布的依赖,从而加强系统故障检测的鲁棒性。
[0073]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0074]
参阅图1,图1为本发明实施例提供的一种鲁棒多模态网络运维故障检测方法的流程图。所述鲁棒多模态网络运维故障检测方法,方法包括以下步骤:
[0075]
步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特征表示;
[0076]
步骤1旨在获取日志文件的特征表示,将文本形式的日志文件l输入编码器得到维度为dz的特征向量;具体为,将t时刻内的文本形式的日志文件根据词表进行分词序列化,之后将序列化的数据l输入transformer模型中,得到对应的特征表示
[0077]
步骤2,将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;
[0078]
步骤2旨在获取kpi性能指标特征表示,将nk组时间序列形式的kpi性能指标k输入编码器得到nk组维度为dz的特征向量;具体为,将t时刻内的时间序列形式的kpi性能指标数据k输入transformer模型中,得到对应的t时刻内的时间序列形式的kpi时间序列的特征表示ek(k);其中所述kpi指标为kpi性能指标,例如,网络延迟,带宽占用率,丢包率,cpu使用率等,通常kpi性能指标以时序数列的形式存在。
[0079]
步骤3,将步骤1和步骤2中提取的不同模态的特征表示进行信息融合,得到多模态特征向量;
[0080]
其中,在步骤3中,所述将步骤1和步骤2中提取的不同模态的特征进行信息融合,得到多模态特征向量,包括:
[0081]
将所述日志文件的特征表示和所述kpi时间序列的特征表示分别经过线性层,相加经过激活函数,得到对应的表示;
[0082]
将所述对应的表示经过线性层得到注意力权重,采用softmax归一化得到最终的注意力权重;
[0083]
将所述注意力权重进行加权表示,得到多组kpi时间序列的特征表示的融合表示;
[0084]
采用哈达玛积对所述融合表示和所述日志文件的特征表示进行处理,得到结合自顶向下注意力机制的多模态特征向量。
[0085]
其中,在本发明实施例中,所述激活函数为relu(
·
)。
[0086]
其中,所述多模态特征向量em,定义如下:
[0087]em
=e
mk
⊙el
(l),
[0088]
式中,e
mk
为m组kpi时间序列的特征表示的融合表示,
⊙
为哈达玛积,e
l
(l)为日志文件的特征表示;
[0089]
其中,e
mk
定义如下:
[0090][0091]
式中,j表示第j组kpi性能指标数据,为第j组kpi性能指标数据对应的最终的注意力权重,j∈[1,nk],ek(k)为kpi时间序列的特征表示,kj为第j组kpi性能指标数据(共nk组),α为经过线性层得到的注意力权重,wa为线性层,eq为日志文件的特征表示和kpi时间序列的特征表示分别经过线性层,相加经过激活函数relu(
·
),得到的对应的表示,中的t表示线性层w
α
的转置,e
q,i
=relu(w
lel
(l)+w
kek,i
(k)
t
),1≤i≤nk,e
q,i
为日志文件的特征表示结合任意一个1-nk组的kpi时间序列的特征表示得到的特征表示,e
l
(l)为日志文件的特征表示,e
k,i
(k)表示为第i个kpi时间序列的特征表示对应的输入ek(k)的结果,[e
k,i
(k)]
t
中的t表示e
k,i
(k)的转置,w
l
和wk为线性层。
[0092]
步骤3旨在获取多模态特征向量,将步骤1提取的日志文件的特征表示e
l
(l)和步骤2提取的kpi时间序列的特征表示ek(k),输入多模态编码器
通过自顶向下的注意力机制,对自底向上得到的单模态特征进行融合,有助于模型提取数据更细粒度的信息em=em(e
l
(l),ek(k));具体为,将步骤1和步骤2通过自底向上的方式得到的不同模态的特征进行信息融合,得到多模态信息特征;首先将分别经过线性层并相加经过激活函数relu(
·
),得到对应的表示其中,e
q,i
=relu(w
lel
(l)+w
kek,i
(k)
t
),1≤i≤nk,e
q,i
为日志文件的特征表示结合任意一个1-nk组的kpi时间序列的特征表示得到的特征表示;接着再将eq经过一个线性层得到对应的注意力权重α,采用softmax进行归一化之后得到最终的注意力权重其中,其中,其中,中的t表示线性层w
α
的转置;由此可以将nk组kpi性能指标的进行加权表示,得到对应的多组kpi时间序列的特征表示的融合表示e
mk
,将多组kpi时间序列的特征表示的融合表示e
mk
和日志文件的特征表示e
l
(l)做哈达玛积,由此就可以得到结合自顶向下注意力机制的多模态特征向量其中,em=e
mk
⊙el
(l)。
[0093]
示例性地,参阅图2,图2为本发明实施例提供的一种多模态信息融合模块的框架流程示意图,具体地,首先将自底向上单模态特征日志文件的特征表示e
l
(l)和kpi性能指标的时间序列的特征表示ek(k)分别经过线性层w
l
和wk,然后将输出相加经过激活函数relu(
·
),得到对应的表示eq,然后将eq经过一个线性层w
α
得到对应的注意力权重α,采用softmax进行归一化之后得到最终的注意力权重将nk组kpi性能指标的进行加权表示,得到对应的多组kpi时间序列的特征表示的融合表示e
mk
,然后将多组kpi时间序列的特征表示的融合表示e
mk
和日志文件的特征表示e
l
(l)做哈达玛积,由此就可以得到结合自顶向下注意力机制的多模态特征向量em,其中,对日志文件进行注意力权重获取的过程中为采用自顶向下注意力机制获取注意力权重。
[0094]
步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;
[0095]
其中,第一分类器为多模态分类器;
[0096]
步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;
[0097]
在步骤4)中,所述输出为非消偏的分类结果z
nd
,定义如下:
[0098]znd
=softmax(fcn(em)),
[0099]
式中,fcn(
·
)为全连接网络,em为多模态特征;
[0100]
在步骤s510中,所述输出为单模态下的n维特征向量en,定义如下:
[0101]en
=fcn(e
l
(l)),
[0102]
式中,fcn(
·
)为全连接网络,e
l
(l)为日志文件的特征表示。
[0103]
步骤4旨在获取非消偏的分类结果,将多模态特征通过多模态分类器得到非消偏的分类结果z
nd
;步骤5旨在获取最终分类结果,将日志文件l输入新的单模态特征提取器中,得到对应单模态下n维特征en,最终得分类的故障结果z
pred
=softmax(z
nd
·
σ(en));具体地,在步骤4中,将步骤3获得的多模态特征向量em输入多模态分类器中,得到对应的输出,具体为,将em作为一个全连接网络的输入,将它从dz维映射到预设的故障类型的种类(包括无故障)n维,得到非消偏的分类结果z
nd
,z
nd
=softmax
(fcn(em)),其中,fcn(
·
)为全连接网络,em为多模态特征;具体地,在步骤5中,将步骤1中的特征表示输入至一个单模态特征提取器中,得到对应的输出;将步骤1中日志文件的dz维特征表示,通过全连接网络映射到n维,得到对应单模态下的n维特征向量en,en=fcn(e
l
(l)),其中,fcn(
·
)为全连接网络,e
l
(l)为日志文件的特征表示。
[0104]
步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。
[0105]
本发明提供一种鲁棒多模态网络运维故障检测系统,可以利用机器kpi性能指标以及日志文件的多模态信息对网络运维系统进行故障检测,并在处理不同分布的数据可以保持预测结果的稳定性和可靠性。本发明首先分别对kpi指标以及日志文件进行特征提取,接着利用多模态信息融合模块对提取到的多模态特征进行处理,得到对应的多模态特征,通过分类器进行初步分类,再通过消偏处理,得到消偏需要的单模态特征向量,与之前的分类结果相结合,得到最终的故障检测分类结果。此外,在模型的训练阶段,引入了宽松优化的策略,降低模型对数据分布的依赖,从而加强系统故障检测的鲁棒性。
[0106]
其中,步骤6中,所述将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果,包括:
[0107]
将步骤5的输出输入至sigmoid激活函数,再与步骤4的输出做内积,得到融合信息结果;
[0108]
将所述融合信息结果在n维空间上进行softmax运算,得到最终预测结果;
[0109]
其中,所述最终的预测结果z
pred
,定义如下:
[0110]zpred
=softmax(z)=softmax(z
nd
·
σ(en)),
[0111]
式中,z
nd
为步骤4中的非消偏分类结果,en为步骤5中单模态下的n维特征向量,σ(
·
)为sigmoid激活函数。
[0112]
在步骤6中,步骤6以及步骤5旨在在于消除偏置影响,由于运维领域的数据信噪比很低,大量数据均为正常数据,而异常数据只占很少部分,深度学习模型在进行训练学习的过程中,可能会产生数据偏置,模型在学习过程中会将系统状态正常和日志文件正常进行强关联,而忽略了另一个机器kpi性能指标的贡献。因此,引入了步骤6消除这种偏置。在完成步骤6之后,可以得到整个系统的损失函数lo,并进行反向传播,更新模型参数。需要注意:步骤6中对应的过程不进行反向传播,以防止编码器直接学习到数据的偏差,也就是说,步骤5中的单模态特征提取器和步骤1之间的参数不会计算相互的梯度,示例性地,具体对应的过程可见图3中带
×
的部分。
[0113]
具体地,首先将步骤5中的n维单模态日志文件特征向量en输入一个sigmoid激活函数,再与步骤4中的分类结果z
nd
做内积,得到对应的融合信息结果z:
[0114]
z=z
nd
·
σ(en),
[0115]
接着再将融合信息结果z在n维空间上做softmax运算,得到最终的预测结果z
pred
,
[0116]zpred
=softmax(z)=softmax(z
nd
·
σ(en)),
[0117]
式中,z为融合信息结果,z
nd
为步骤4中的非消偏分类结果,en为步骤5中单模态下的n维特征向量,σ(
·
)为sigmoid激活函数。
[0118]
此外,所述鲁棒多模态网络的损失函数是通过以下步骤计算得到的:
[0119]
将步骤5的输出输入第二分类器中,进行n标签分类,通过计算所述标签分类与真
实标签的交叉熵损失,得到单模态损失函数;
[0120]
计算步骤6的最终预测结果与真实结果的交叉熵损失,得到多模态损失函数;
[0121]
引入宽松控制因子对多模态损失函数进行优化,得到最终的损失函数;
[0122]
其中,最终的损失函数lo,定义如下:
[0123]
lo=γl1+l2=-[a]log(z
pred
)
γ-[a]log(softmax(cn(en))),
[0124]
其中,单模态损失函数l2,定义如下:
[0125]
l2=-[a]log(softmax(cn(en))),
[0126]
其中,多模态损失函数l1,定义如下:
[0127]
l1=-[a]log(z
pred
),
[0128]
式中,γ∈(0,1)表示宽松控制因子,a表示所述真实结果,[a]表示真实结果对应的所述真实标签,z
nd
为步骤4中的非消偏分类结果,σ(
·
)为sigmoid激活函数,en为步骤5中单模态下的n维特征向量,cd表示第二分类器;其中,第二分类器为单模态分类器。
[0129]
将步骤5的特征输入到第二分类器中,计算该步骤(步骤5)以及步骤6的最终预测结果与真实结果的损失;对最终预测结果与真实结果的损失进行宽松优化处理,得到最终的损失,不断迭代训练模型;具体为,计算步骤6中的分类结果与真实标签的交叉熵损失函数l1,将步骤5的n维单模态特征en输入一个分类器中,进行n标签分类,计算步骤5的输出与真实标签的交叉熵损失函数l2。
[0130]
在本发明实施例中中,损失函数包含交叉熵损失函数l1和交叉熵损失函数l2两部分,具体如下:
[0131]
l1=-[a]log(z
pred
),
[0132]
l2=-[a]log(softmax(cn(en))),
[0133]
基于上述交叉熵损失函数l1和交叉熵损失函数l2,相加得到原始损失函数ce=l1+l2;
[0134]
引入宽松控制因子γ对交叉熵损失函数l1部分进行宽松优化处理,优化后的损失函数lo定义如下:
[0135]
lo=γl1+l2=-[a]log(z
pred
)
γ-[a]log(softmax(cn(en))),
[0136]
其中,a表示所述真实结果,[a]表示真实结果对应的所述真实标签,γ∈(0,1)表示宽松控制因子,z
nd
为步骤4中的非消偏分类结果,σ(
·
)为sigmoid激活函数,en为步骤5中单模态下的n维特征向量,cn表示第二分类器。
[0137]
上述计算损失函数的原理在于,对于交叉熵损失函数,它的导数为:
[0138][0139]
式中,a∈{
±
1}分别对应分类结果是否正确,p为预测概率;可以看出,将经过宽松优化后损失函数的导数与原始导数进行比较:
[0140][0141]
式中,pd是步骤6中得到的最终预测结果,而pb是步骤4中得到的预测结果;由0《γ《
1以及0≤pd≤1,可以得到因此这种方法可以利用较小的梯度变化值来更新训练模型参数以减小log函数的特性导致的模型偏置学习能力,进一步保证偏置优化的有效性,由此提升系统的鲁棒性。
[0142]
进一步地,基于上述鲁棒多模态网络运维故障检测方法,所述方法还包括:
[0143]
在训练过程中,针对每一轮第一分类器输出所计算的损失函数,进行宽松优化,并对宽松控制因子进行调整,调整如下:
[0144][0145]
式中,l1表示当前的第一分类器输出并计算的损失函数值,l*1表示上一轮第一分类器输出并计算的损失函数值;其中,第一分类器为多模态分类器。
[0146]
示例性地,参阅图3,图3为本发明实施例提供的一种鲁棒多模态运维故障检测的框架流程示意图,具体地,首先通过单模态模型提取日志文件的特征表示和kpi性能指标的特征表示,将上述提取的日志文件的特征表示和kpi性能指标的特征表示进行多模态信息融合,将融合后的多模态信息输入故障分类器中得到非消偏的预测结果,该故障分类器为多模态分类器;然后,采用消偏模块,以使模型通过训练一个日志文件数据让模型减少偏置,消偏模块包括步骤5和步骤6,在具体实现过程中,消偏模块通过步骤5和步骤6实现消偏处理,具体为:将提取的日志文件的特征表示输入单模态特征提取器中,得到单模态下的n维特征向量,将上述特征向量输入为sigmoid激活函数后,采用哈达玛积与非消偏的预测结果进行信息融合得到融合信息结果,经过softmax运算后,得到最终预测结果[0.8,0.1,0.1],该最终预测结果[0.8,0.1,0.1]为融合信息结果经过多模态分类器得到的分类结果;将日志文件的特征表示输入故障分类器得到相应的预测结果[0.7,0.2,0.1],该故障分类器为单模态分类器,分别对上述最终预测结果[0.8,0.1,0.1]和上述预测结果[0.7,0.2,0.1]计算交叉熵损失函数,对所述最终预测结果[0.8,0.1,0.1]计算的交叉熵损失函数进行宽松处理后,得到优化的损失函数,得到优化后的预测结果[1,0,0]。
[0147]
在上述实现过程中,通过步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特征表示;步骤2,将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;步骤3,将步骤1和步骤2中提取的不同模态的特征表示进行信息融合,得到多模态特征向量;步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。本发明实施例提供的鲁棒多模态网络运维故障检测方法,充分利用了网络运维中的多模态数据,大大增强了故障预测的可靠性和准确性;采用了消偏优化,解决网络运维中的数据信噪比较低而导致模型学习到有偏置的数据的问题;在引入消偏优化后,加入了宽松优化的策略,通过引入宽松控制因子,进一步保证偏置优化的有效性,让系统在对不同分布的数据进行故障预测的时候均能保持较高的准确性,极大增加了系统的鲁棒性。
[0148]
基于上述同样的发明构思,本发明实施例还提供一种鲁棒多模态网络运维故障检测系统。参阅图4,图4为本发明实施例提供的一种鲁棒多模态网络运维故障检测系统的架
构图,包括:
[0149]
第一提取模块210,用于步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特征表示;
[0150]
第二提取模块220,用于步骤2,将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;
[0151]
第一融合模块230,用于步骤3,将步骤1和步骤2中提取的不同模态的特征进行信息融合,得到多模态特征向量;
[0152]
第一分类模块240,用于步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;
[0153]
第三提取模块250,用于步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;
[0154]
第二融合模块260,用于步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。
[0155]
在上述实现过程中,本发明提出了一种鲁棒多模态网络运维故障检测系统,通过第一提取模块210将日志文件输入对应的单模态模型中,提取日志文件的特征表示;第二提取模块220将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;第一融合模块230将第一提取模块和第二提取模块中提取的不同模态的特征进行信息融合,得到多模态特征向量;第一分类模块240将第一融合模块中的所述多模态特征向量输入至第一分类器中,得到对应的输出;第三提取模块250将第一提取模块中的特征输入至单模态特征提取器中,得到对应的输出;第二融合模块260将第一分类模块和第三提取模块的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。
[0156]
具体地,首先,为了充分利用网络运维领域的海量数据,引入了第一融合模块,该模块可以将第一提取模块提取的日志文件的特征表示以及第二提取模块提取的kpi时间序列的特征表示通过自顶向下的注意力权重进行信息融合,从更细粒度的角度提取数据特征,并获取多模态特征向量。接下来,由于运维领域的数据信噪比很低,大量数据均为正常数据,而异常数据只占很少部分,深度学习模型在进行训练学习的过程中,可能会受到数据偏置的影响,如:对于kpi异常而日志文件正常的故障类型,由于大多数日志文件正常对应的结果均为正常,模型在学习过程中会将系统状态正常和日志文件正常进行强关联,而忽略了另一个机器kpi性能指标的贡献,本发明引入第三提取模块和第二融合模块,通过训练一个仅输入日志文件数据的模块来让模型减少这种偏置。
[0157]
此外,在模型的训练阶段,通常采用交叉熵损失函数来优化模型参数。当模型最终对标签的预测概率为一个数值上相对概率1较小的数p时,由于log函数的特性,就会产生较大的损失。然而在实际情况中,通常故障集合较大,即标签数n较大(如n=100),当p相对1较小(如p=0.4)时,p相对足够小的1/n=0.01是一个比较大的数,在这种情况下,仍会产生-log0.4≈0.40的损失。此时,若根据损失函数对梯度进行较大更新,会强制模型学习异常和单模态数据的某种映射关系,从而使得模型记住某种偏置的能力越强。因此,为了保证系统的鲁棒性,本发明引入了一个宽松优化的策略。通过引入一个宽松控制因子γ,可以将损失函数值减小,从而可以让模型在各种分布的数据上都取得一个较好的性能。
[0158]
本发明提供的鲁棒多模态网络运维故障检测方法,充分利用了网络运维中的多模
态数据,大大增强了故障预测的可靠性和准确性;采用了消偏处理,解决网络运维中的数据信噪比较低而导致模型学习到有偏置的数据的问题;在引入消偏处理后,加入了宽松优化的策略,通过引入宽松控制因子,进一步保证偏置优化的有效性,让系统在对不同分布的数据进行故障预测的时候均能保持较高的准确性,极大增加了系统的鲁棒性。
[0159]
请参阅图5,图5为本发明实施例提供的电子设备的一种示意性结构框图。电子设备包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,如本发明实施例所提供的基于动态类原型生成机制的类增量学习系统对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
[0160]
其中,存储器101可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
[0161]
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0162]
可以理解,图5所示的结构仅为示意,电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
[0163]
在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0164]
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0165]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0166]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0167]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
技术特征:
1.一种鲁棒多模态网络运维故障检测方法,其特征在于,包括以下步骤:步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特征表示;步骤2,将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;步骤3,将步骤1和步骤2中提取的不同模态的特征表示进行信息融合,得到多模态特征向量;步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。2.根据权利要求1所述的检测方法,其特征在于,在步骤3中,所述将步骤1和步骤2中提取的不同模态的特征进行信息融合,得到多模态特征向量,包括:将所述日志文件的特征表示和所述kpi时间序列的特征表示分别经过线性层,相加经过激活函数,得到对应的表示;将所述对应的表示经过线性层得到注意力权重,采用softmax归一化得到最终的注意力权重;将所述注意力权重进行加权表示,得到多组kpi时间序列的特征表示的融合表示;采用哈达玛积对所述融合表示和所述日志文件的特征表示进行处理,得到结合自顶向下注意力机制的多模态特征向量。3.根据权利要求2所述的检测方法,其特征在于,所述多模态特征向量e
m
,定义如下:e
m
=e
mk
⊙
e
l
(l),式中,e
mk
为m组kpi时间序列的特征表示的融合表示,
⊙
为哈达玛积,e
l
(l)为日志文件的特征表示;其中,e
mk
定义如下:式中,j表示第j组kpi性能指标数据,为第j组kpi性能指标数据对应的最终的注意力权重,j∈[1,n
k
],e
k
(k)为kpi时间序列的特征表示,k
j
为第j组kpi性能指标数据(共n
k
组),α为经过线性层得到的注意力权重,w
α
为线性层,e
q
为日志文件的特征表示和kpi时间序列的特征表示分别经过线性层,相加经过激活函数relu(
·
),得到的对应的表示,中的t表示线性层w
α
的转置,e
q,i
=relu(w
l
e
l
(l)+w
k
[e
k,i
(k)]
t
),1≤i≤n
k
,e
q,i
为日志文件的特征表示结合任意一个1-n
k
组的kpi时间序列的特征表示得到的特征表示,e
l
(l)为日志文件的特征表示,e
k,i
(k)表示为第i个kpi时间序列的特征表示对应的输入e
k
(k)的结果,[e
k,i
(k)]
t
中的t表示e
k,i
(k)的转置,w
l
和w
k
为线性层。4.根据权利要求1所述的检测方法,其特征在于,在步骤4中,所述输出为非消偏的分类结果z
nd
,定义如下:z
nd
=softmax(fcn(e
m
)),式中,fcn(
·
)为全连接网络,e
m
为多模态特征;
在步骤5中,所述输出为单模态下的n维特征向量e
n
,定义如下:e
n
=fcn(e
l
(l)),式中,fcn(
·
)为全连接网络,e
l
(l)为日志文件的特征表示。5.根据权利要求1所述的检测方法,其特征在于,在步骤6中,所述将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果,包括:将步骤5的输出输入至sigmoid激活函数,再与步骤4)的输出做内积,得到融合信息结果;将所述融合信息结果在n维空间上进行softmax运算,得到最终预测结果;其中,所述最终的预测结果z
pred
,定义如下:z
pred
=softmax(z)=softmax(z
nd
·
σ(e
n
)),式中,z
nd
为步骤4中的非消偏分类结果,e
n
为步骤5中单模态下的n维特征向量,σ(
·
)为sigmoid激活函数。6.根据权利要求1所述的检测方法,其特征在于,所述鲁棒多模态网络的损失函数是通过以下步骤计算得到的:将步骤5的输出输入第二分类器中,进行n标签分类,通过计算所述标签分类与真实标签的交叉熵损失,得到单模态损失函数;计算步骤6的最终预测结果与真实结果的交叉熵损失,得到多模态损失函数;引入宽松控制因子对多模态损失函数进行优化,得到最终的损失函数;其中,最终的损失函数lo,定义如下:lo=γl1+l2=-[a]log(z
pred
)
γ-[a]log(softmax(c
n
(e
n
))),其中,单模态损失函数l2,定义如下:l2=-[a]log(softmax(c
n
(e
n
))),其中,多模态损失函数l1,定义如下:l1=-[a]log(z
pred
),式中,γ∈(0,1)表示宽松控制因子,a表示所述真实结果,[a]表示真实结果对应的所述真实标签,z
nd
为步骤4中的非消偏分类结果,σ(
·
)为sigmoid激活函数,e
n
为步骤5中单模态下的n维特征向量,c
n
表示第二分类器。7.根据权利要求6所述的检测方法,其特征在于,所述方法还包括:在训练过程中,针对每一轮第一分类器输出所计算的损失函数,进行宽松优化,并对宽松控制因子进行调整,调整如下:式中,l1表示当前的第一分类器输出并计算的损失函数值,表示上一轮第一分类器输出并计算的损失函数值。8.一种鲁棒多模态网络运维故障检测系统,其特征在于,包括:第一提取模块,用于步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特
征表示;第二提取模块,用于步骤2,将kpi指标的时间序列输入对应单模态模型中,提取kpi时间序列的特征表示;第一融合模块,用于步骤3,将步骤1和步骤2中的不同模态的特征进行信息融合,得到多模态特征向量;第一分类模块,用于步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;第三提取模块,用于步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;第二融合模块,用于步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。9.一种电子设备,其特征在于,包括:存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现如权利要求1-7中任一项所述的鲁棒多模态网络运维故障检测方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的鲁棒多模态网络运维故障检测方法。
技术总结
本发明提供了一种鲁棒多模态网络运维故障检测方法、系统及产品,涉及网络运维技术领域,所述方法包括:步骤1,将日志文件输入对应的单模态模型中,提取日志文件的特征表示;步骤2,将KPI指标的时间序列输入对应单模态模型中,提取KPI时间序列的特征表示;步骤3,将步骤1和步骤2中提取的不同模态的特征表示进行信息融合,得到多模态特征向量;步骤4,将步骤3中的所述多模态特征向量输入至第一分类器中,得到对应的输出;步骤5,将步骤1中的特征输入至单模态特征提取器中,得到对应的输出;步骤6,将步骤4和步骤5的输出进行信息融合,得到融合信息结果,将所述融合信息结果进行运算,得到最终预测结果。最终预测结果。最终预测结果。
技术研发人员:马杰 孙望淳 王平辉
受保护的技术使用者:西安交通大学
技术研发日:2023.04.21
技术公布日:2023/9/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:弹箭模态试验方法及试验系统与流程 下一篇:一种碱金属薄膜、制备方法、应用及装置