CN116992972A - 机器学习模型训练方法以及装置 - Google Patents

机器学习模型训练方法以及装置 Download PDF

Info

Publication number
CN116992972A
CN116992972A CN202210439069.9A CN202210439069A CN116992972A CN 116992972 A CN116992972 A CN 116992972A CN 202210439069 A CN202210439069 A CN 202210439069A CN 116992972 A CN116992972 A CN 116992972A
Authority
CN
China
Prior art keywords
business
machine learning
domain knowledge
learning model
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210439069.9A
Other languages
English (en)
Inventor
夏怒
刘诗凯
刘瑞宏
于键
王换军
黄一鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210439069.9A priority Critical patent/CN116992972A/zh
Publication of CN116992972A publication Critical patent/CN116992972A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种机器学习模型的训练方法以及装置,应用于人工智能领域。其中,方法包括:获取业务的领域知识,领域知识通过标准格式表示。根据领域知识获取多个第一业务事件。将第一历史业务数据输入至机器学习模型,以预测每个第一业务事件的第一发生概率。将多个第一业务事件和第一发生概率输入至逻辑推理模型,以获取第一推理结果,第一推理结果指示每个第一业务事件是否发生。根据第一发生概率和第一推理结果之间的差异确定第一损失值。根据第一损失值更新机器学习模型的参数。通过本方案,提供了一种具体的融合机器学习和逻辑推理的方案。

Description

机器学习模型训练方法以及装置
技术领域
本申请涉及人工智能技术领域,尤其涉及一种机器学习模型的训练方法以及装置。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
在AI研究的历史中,机器学习和逻辑推理两者基本是独立发展起来的。一般来讲,从人类决策来看,通常需要结合感知和推理来解决问题。结合机器学习和逻辑推理以模仿人类的决策过程,从而发展出更先进的人工智能技术,其中感知对应于通过机器学习方式实现的数据驱动过程,而推理对应于通过逻辑推理实现的知识驱动的过程。
如何融合机器学习和逻辑推理,使二者协同工作是一个难题。
发明内容
本申请实施例提供了一种具体的融合机器学习和逻辑推理的方案。
第一方面,本申请的实施例提供了一种机器学习模型的训练方法,包括:首先,获取业务的领域知识,领域知识通过标准格式表示。本申请实施例提供的方案可以应用于多种不同的业务中,比如应用于故障分析业务中,领域知识可以包括网元信息、网络的拓扑结构、网络中各个服务之间的调用关系、网络协议、故障传播关系等等。再比如应用于法院案件判决质量辅助评估业务中,领域知识可以包括法律法规、高级法院出具的指导意见等等。再比如可以应用于控制优化业务中,应用于生物医药生产业务中、娱乐业务中等等。
然后,根据领域知识获取多个第一业务事件。通过标准格式表示的领域知识后,可以很容易的从中提取待验证的事实,本申请实施例也将其称之为第一业务事件。将第一历史业务数据输入至机器学习模型,以预测每个第一业务事件的第一发生概率。基于第一业务事件的数目可以确定伪标签的数目,或者说基于第一业务事件以及第一业务事件的数目可以确定机器学习模型的分类维度。
其次,将第一历史业务数据输入至机器学习模型后,机器学习模型基于第一历史业务数据,输出每个伪标签对应的取值,进而可以获取每个第一业务事件的发生概率,这里称之为第一发生概率。将多个第一业务事件和第一发生概率输入至逻辑推理模型,以获取第一推理结果,第一推理结果指示每个第一业务事件是否发生。利用机器学习模型输出的伪标签的取值为每个待验证的事实赋值,即将第一业务事件的发生概率和机器学习模型输出的伪标签进行匹配。将赋值后的第一业务事件,以及第一历史业务对应的标签作为逻辑推理模型的输入,以获取第一业务事件的真伪。逻辑推理模型已知最终的结论,即已知第一历史业务对应的标签,逻辑推理模型在获知了这一结论后,反推输入的各个第一业务事件的真伪,即反推第一业务事件发生或者未发生。
最后,根据第一发生概率和第一推理结果之间的差异确定第一损失值。根据第一损失值更新机器学习模型的参数。
第一方面提供了一种具体的融合机器学习和逻辑推理的方案,在机器学习模型的训练过程中,引入领域知识。由于在机器学习模型的训练阶段引入了领域知识,使机器学习模型的预测结果更加准确。所以,在推理阶段利用机器学习模型预测的目标业务事件的发生概率,来指导逻辑推理模型的输出,也更有助于逻辑推理模型输出准确的推理结果。
此外,将领域知识通过标准格式进行表示,由于是通过标准格式表示的领域知识,可以通过通用的转化方式,将领域知识转化为逻辑程序,节省了工程师的编码时间,提升机器学习模型的训练效率。
在第一方面的一种可能的实施方式中,该方法还包括:根据多个第一业务事件之间的依赖关系构建第二业务事件。将第二业务事件、多个第一业务事件以及多个第一业务事件的标签输入至逻辑推理模型,以获取第二推理结果,第二推理结果指示第二业务事件是否发生。若获取到第二业务事件发生,则保存第二业务事件。在这种实施方式汇总,可以根据有限的待验证事实或者说有限的第一业务事件,不断推演出更多的待验证事实或者说不断推演出第二业务事件,降低对工程师的依赖。
在第一方面的一种可能的实施方式中,该方法还包括:将第二历史业务数据输入至机器学习模型,以预测每个第二业务事件的第二发生概率。根据第二发生概率和第二推理结果之间的差异确定第二损失值。根据第二损失值再次更新机器学习模型的参数。在这种实施方式中,由于自动的补充更多的待验证事实,待验证的事实越多,越有利于基于逻辑推理模型的输出更好的指导机器学习模型输出更准确的结果。
在第一方面的一种可能的实施方式中,领域知识具体通过三元组信息表示,三元组信息包括基于领域知识获取的第一术语、基于领域知识获取的第二术语以及第一术语和第二术语之间的关系。领域知识通常通过文本的方式表示,当获取了表示某个领域知识的文本后,可以对该文本其进行拆解,将其拆解为至少一组三元组信息。在这种实施方式中,给出了一种简洁的标准格式。
在第一方面的一种可能的实施方式中,领域知识包括以下知识中的至少一种:目标网络中的节点名称、目标网络的拓扑结构、目标网络中服务之间的调用关系、节点和服务之间的部署关系以及目标网络适用的网络协议,目标网络用于执行业务。
在第一方面的一种可能的实施方式中,多个第一业务事件包括以下事件中的至少一种:目标网络中的任意节点故障、目标网络中第一节点故障导致第二节点故障。
在第一方面的一种可能的实施方式中,第一历史业务数据包括以下数据中的至少一种:告警数据、日志以及关键绩效指标KPI。
在第一方面的一种可能的实施方式中,根据领域知识获取多个第一业务事件,包括:根据领域知识和目标规则获取多个第一业务事件,目标规则包括领域知识和多个第一业务事件之间的映射关系。比如,以标准格式为三元组格式为例进行说明,每一个三元组格式包括了两个术语之间的关系,如果明确每一种关系对应的转化方式,则可以直接将根据三元组格式表示的领域知识转化为第一业务事件,降低对工程师的依赖。
第二方面,本申请提供了一种机器学习模型的训练装置。该机器学习模型的训练装置用于执行上述第一方面提供的任一种可能的实施方式中描述的方法。
在一种可能的设计方式中,本申请可以根据上述第一方面提供的任一种方法,对机器学习模型的训练装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
示例性的,本申请可以按照功能将机器学习模型的训练装置划分为获取模块以及处理模块等。上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第一方面或其相应的可能的实施方式提供的技术方案,此处不再赘述。
第三方面,本申请提供了一种机器学习模型的训练装置,包括:存储器,用于存储计算机可读指令。还包括,与存储器耦合的处理器,用于执行存储器中的计算机可读指令从而执行如第一方面或第一方面任意可能实现方式中所描述的方法。
第四方面,本申请提供了一种计算机集群,计算机集群包括至少一台计算机,每台计算机包括处理器和存储器。至少一台计算机的处理器用于执行至少一台计算机的存储器中存储的指令,以使计算机集群执行如第一方面或第一方面任意可能实现方式中所描述的方法。
第五方面,本申请一种计算机可读存储介质,包括指令,当其在计算机集群上运行时,使得计算机集群执行如第一方面或第一方面任意可能实现方式中所描述的方法。
第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机集群上运行时,使得计算机集群执行第一方面或第一方面任意可能实现方式中所描述的方法。
第七方面,本申请提供了一种芯片系统,包括:处理器,处理器用于从存储器中调用并运行该存储器中存储的计算机程序,执行如第一方面或其相应的可能的实施方式提供的方法。
需要说明的是,第二方面至第七方面所带来的有益效果可以参照第一方面以及第一方面可能的实现方式所带来的有益效果进行理解,这里不再重复赘述。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
在本申请中,上述任一种装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
附图说明
图1为一种可能的在机器学习模型的训练过程中引入领域知识的方法的流程示意图;
图2为本申请实施例提供的机器学习模型的获取系统的架构图;
图3为本申请实施例提供的一种机器学习模型的训练方法的流程示意图;
图4为本申请实施例提供的一种机器学习模型的训练方法的场景示意图;
图5为本申请实施例提供的另一种机器学习模型的训练方法的流程示意图;
图6为本申请实施例提供的一种业务数据的处理方法的流程示意图;
图7为本申请实施例所适用的一种典型的应用场景示意图;
图8为本申请实施例所适用的另一种典型的应用场景示意图;
图9为本申请实施例提供的另一种机器学习模型的训练方法的流程示意图;
图10为本申请实施例提供的训练装置的硬件结构示意图;
图11为本申请实施例提供的训练装置的另一种硬件结构示意图;
图12为本申请实施例提供的业务数据处理装置的硬件结构示意图;
图13为本申请实施例提供的业务数据处理装置的另一种硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种机器学习模型的训练方法以及装置,为了更好的理解本申请实施例提供的方案,下面首先对本申请实施例提供的方案的研究思路进行介绍:
首先,以深度神经网络为例,对机器学习模型的通用训练过程进行介绍。深度神经网络中的每一层的工作可以用数学表达式来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由/>完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
由上述对机器学习模型的通用训练过程的介绍可知,机器学习模型的训练过程对训练数据的数目、以及对训练数据的标注的数目依赖性非常高。具体表现在,在训练过程中,需要依赖大量的训练数据,对机器学习模型的权重向量(本申请也将其称为机器学习模型的权重参数或者机器学习模型的参数)进行调整,以使深度神经网络的输出尽可能的接近真正想要预测的值。其中,真正想要预测的值往往通过训练数据的标注(本申请也将其称为标签)进行表示。所以,如果训练数据的数目很少,或者训练数据的标注的数目很少,则得到的机器学习模型的性能将会很差,可能表现在分类结果不准确。
为了解决上述机器学习模型在训练过程中存在的问题,考虑在机器学习模型的训练过程中引入领域知识。其中,领域知识可以理解为一组有内在联系的知识的集合。举例说明,在法律领域,领域知识可以包括法律法规、法院判例等等,在信息通讯技术(information communication technology,ICT)智能运维领域中,领域知识可以包括网络协议、网元信息、网络拓扑结构等等。
接下来,参阅图1,给出一种可能的在机器学习模型的训练过程中引入领域知识的方案。在这种方案中,首先需要工程师理解领域知识,并基于理解的领域知识编写逻辑程序。或者说,需要工程师将理解的领域知识转变成可以运行的代码,以作逻辑推理。然后,由工程师基于逻辑程序确定待验证的事实。举例说明,在获取了逻辑程序后,可以确定逻辑推理要素,比如满足A条件,满足B条件,则可以判断C事实成立。其中,A条件,B条件就可以视为逻辑推理要素,本申请实施例也将其称之为待验证的事实。接下来,基于待验证的逻辑事实的数目可以确定伪标签的数目,或者说基于待验证的逻辑事实确定机器学习模型的分类维度。其中,伪标签是指利用机器学习模型得到的未经验证的分类结果。做好这些准备工作后,将训练数据输入至机器学习模型(本申请实施例也将其称之为数据驱动模型),机器学习模型基于训练数据,按照之前设定好的伪标签,输出每个伪标签对应的取值。比如,预先设定了100个伪标签,并设定该100个伪标签的位置,比如第一位置的伪标签为“节点A是根因故障节点”,则机器学习模型基于训练数据输出该100个伪标签对应的取值。假设该100个伪标签对应的取值中,第一个位置的伪标签对应的取值为0.8,则说明节点A是根因故障节点的概率是0.8。利用机器学习模型输出的伪标签的取值为每个待验证的事实赋值后,将赋值后的待验证的事实,以及训练数据对应的标签作为逻辑推理模型的输入,以获取待验证的事实的真伪。逻辑推理模型是用来进行逻辑推理的模型,具体的,在这种方案中,逻辑推理模型已知最终的结论,即已知训练数据的标签,比如节点B是根因故障节点。逻辑推理模型在获知了这一结论后,反推输入的各个待验证的事实的真伪,比如,某一个待验证的事实为“节点A是根因故障节点”,这明显和该结论矛盾,所以这一待验证的事实为伪的,或者说这一待验证的事实是假的。再根据逻辑推理模型输出的结果,确定指导标签,本申请实施例也将其称为反绎标签,用于表示每一个待验证的事实的真伪,通常是一个只包括0和1的向量,其中0表示待验证的事实是假的,1表示待验证的事实是真的。至此,可以理解为机器学习模型的输出用于表示每一个待验证的事实发生的概率,而逻辑推理模型的输出用于表示每一个待验证的事实发生或者不发生。最后根据伪标签和反绎标签之间的差异确定损失值,并根据该损失值更新数据驱动模型的参数。
这种方案在机器模型的训练过程中引入了领域知识,根据领域知识构建了逻辑推理模型,利用逻辑推理模型的输出对机器学习模型的输出进行修正,来训练机器学习模型输出更准确的结果。但是这种方案也存在一些缺陷,具体表现在这一方案对工程师的依赖程度高。比如,需要工程师先理解领域知识,才能编写出逻辑程序。此外,还需要工程师能够从逻辑程序中提取待验证的事实,或者说需要工程师来判断待验证的事实之间的依赖关系。这些缺陷可能导致机器学习模型的训练效率低下,无法大规模的应用这种方案。
为了解决这些缺陷,本申请实施例想到可以将领域知识通过标准格式进行表示,方便不同工程师都能快速的理解领域知识。由于是通过标准格式表示的领域知识,可以通过通用的转化方式,将领域知识转化为逻辑程序,节省了工程师的编码时间。在此基础上,还可以根据有限的待验证事实,不断推演出更多的待验证事实,降低对工程师的依赖,自动的补充更多的待验证事实,更好的指导机器学习模型输出更准确的结果。
基于上述研究思路,下面对本申请实施例提供的方案进行介绍:
参阅图2,图2为本申请实施例提供的机器学习模型的获取系统的架构图,在图2中,该系统包括执行模块210、训练模块220、存储模块230、存储模块240和存储模块250。
在训练阶段,存储模块230中存储有训练数据集合。在本申请实施例提供的方案中,训练数据集合包括业务数据,业务数据可以包括与用户有关的数据或者是与网络有关的数据,具体的可能是业务设备在运行过程中产生的数据,比如日志。再比如,可能是业务设备基于用户的操作而产生的数据,比如基于用户的语音输入操作,产生的语音数据,基于用户的文本输入操作,产生的文本数据,基于用户的拍摄操作,产生的图像数据等等。在一个可能的实施方式中,业务为故障根因定位时,业务数据可以包括告警数据、日志以及关键绩效指标(key performance indicator,KPI)。其中,业务设备可以是终端,比如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端,用于安防的设备(比如监控摄像设备、烟雾报警设备、灭火设备),智能音箱,5G系统(5G system)中的设备,用户设备/用户终端(user equipment,UE)等,还可以是物理机、虚拟机、一体机、通信网络中的节点等等。存储模块240中存储有通过标准格式表示的领域知识。关于领域知识已经在上文进行了介绍,这里不再重复介绍。此外,如何获取通过标准格式表示的领域知识将在下文进行介绍,这里暂不展开论述。
训练模块220生成机器学习模型201以及逻辑推理模型202,利用存储模块230中存储的训练数据集合对机器学习模型201进行迭代训练,在迭代训练的过程中,利用逻辑推理模型202的输出指导机器学习模型202作出更准确的预测,或者说提升机器学习模型202的预测准确率,以得到成熟的机器学习模型201。
在推理阶段,执行模块210可以调用存储模块250中的数据、代码等,也可以将数据、指令等存入存储模块250中。存储模块250可以配置于执行模块210中,也可以为执行模块210外部的存储器。存储模块250中可以用于存储待处理的业务数据,以便于执行模块将该业务数据作为成熟的机器学习模型201的输入,机器学习模型201针对该业务数据获取伪标签,利用伪标签为待验证事实赋值,并将赋值后的待验证事实作为逻辑推理模型202的输入,逻辑推理模型基于这些赋值后的待验证事实,推导出合理的结论,即判定每个待验证事实是否发生。
需要说明的是,存储模块230、存储模块240以及存储模块250可以表现为任意形式的存储介质,不限定为传统意义上的数据库。
本申请的一些实施例中,例如图2中,“用户”可以直接与执行模块210进行交互,也即执行模块210与客户模块集成于同一模块中。作为示例,在一些应用场景中,执行模块210可以表现为电子设备。在另一些应用场景中,执行模块210具体可以表现为配置有显示屏的执行模块,则在推理阶段,执行模块210在完成一个任务之后,可以向用户展示推理结果等,比如执行模块210在完成了故障根因定位的任务后,可以向用户展示故障根因。
执行模块210还可以表现为其它形态,此处不一一进行列举,但图2仅是本申请实施例提供的一种机器学习模型的获取系统的架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。
在本申请的另一些实施例中,执行模块210配置有输入/输出接口,“用户”可以通过客户设备的输入/输出接口向执行模块210输入至少一个任务,执行模块210通过输入/输出接口将处理结果返回给“用户”。
在本申请的另一些实施例中,图2所示的系统中的各个模块可以分别部署在多个设备上,比如执行模块210和存储模块250可以是独立的,分别部署在两个设备上。在本申请的另一些实施例中,图2所示的系统中的各个模块也可以部分或全部集成到一个或多个设备上,比如执行模块210和存储模块250也可以部署在同一个设备上。
下面对本申请实施例提供的一种机器学习模型的训练方法进行介绍。
参阅图3,为本申请实施例提供的一种机器学习模型的训练方法的流程示意图,可以包括以下步骤:
301、获取业务的领域知识,领域知识通过标准格式表示。
本申请实施例提供的方案可以应用于多种不同的业务中,比如应用于故障分析业务中,领域知识可以包括网元信息、网络的拓扑结构、网络中各个服务之间的调用关系、网络协议、故障传播关系等等。再比如应用于法院案件判决质量辅助评估业务中,领域知识可以包括法律法规、高级法院出具的指导意见等等。再比如可以应用于控制优化业务中,应用于生物医药生产业务中、娱乐业务中等等。
当获取了某个业务的领域知识后,按照统一的格式对其进行表示。本申请实施例也将这种统一的格式称为标准格式。由于领域知识都是通过统一的格式进行表示,不同的工程师都可以很容易的掌握领域知识想表达的内容,进而采用统一的编码方式,将每条领域知识都转化为逻辑程序。相比于图1描述的方案,需要工程师先充分理解领域知识,然后将理解的领域知识转变成可以运行的代码,本申请实施例将领域知识通过标准格式进行表示,可以有效提升将领域知识转变为可以运行的代码的效率。
为了更好的理解方案,下面以标准格式为三元组格式为例对方案进行举例说明:
三元组信息包括基于领域知识获取的第一术语、基于领域知识获取的第二术语以及第一术语和第二术语之间的关系。
领域知识通常通过文本的方式表示,当获取了表示某个领域知识的文本后,可以对该文本其进行拆解,将其拆解为至少一组三元组信息。例如,领域知识对应的文本包括“节点61是训练(train)服务对应的虚拟机,train服务运行时会调用数据存储单元(DB)”。对这一文本进行拆解后,可以获取三组三元组信息,比如“61是一个节点”、“61属于train”以及“train调用DB”。针对于“61是一个节点”这一三元组信息,“61”和“节点”可以看做两个术语,“是”是该两个术语之间的关系。针对于“61属于train”这一三元组信息,“61”和“train”可以看做两个术语,“属于”是该两个术语之间的关系。针对于“train调用DB”这一三元组信息,“train”和“DB”可以看做两个术语,“调用”是该两个术语之间的关系。为了更直观的展示三元组格式,可以参照表1进行理解:
表1:
第一术语 关系 第二术语
61 节点
61 属于 train
train 调用 DB
然后,采用统一的编码方式,将每条领域知识都转化为逻辑程序。以上述表1为例,这三组三元组信息可以转化为如下逻辑程序:
is(62,Node),on(62,Train),call(train,DB)。
由于知识图谱通常通过三元组信息进行表示,所以知识图谱可以视为通过标准格式表示的领域知识。
302、根据领域知识获取多个第一业务事件。
通过步骤301获取了通过标准格式表示的领域知识后,可以很容易的从中提取待验证的事实,本申请实施例也将其称之为第一业务事件。第一业务事件是逻辑推理要素,可以根据业务的类型确定第一业务事件。示例性的,下面以故障分析业务为例进行说明:
故障分析业务需要定位故障根因节点,而每一个节点都有可能是故障根因节点,所以第一业务事件可以包括每个节点是故障根因节点。遍历通过标准化格式表示的全部领域知识后,可以很容易的从中提取出哪些是节点,进而可以快速得到一些第一业务事件,比如根据is(62,Node)可以得到“节点61是故障根因节点”这个第一业务事件。此外,考虑到故障是可以传导的,第一业务事件还可以包括哪些节点/服务会被哪些节点/服务传导故障,或者说哪些节点/服务故障后导致哪些节点/服务故障。遍历通过标准化格式表示的全部领域知识后,可以很容易的从中提取出哪些服务之间存在调用关系,以及节点和服务之间的关系,进而可以快速得到另一些第一业务事件,比如根据call(train,DB)可以得到“train会被DB传导故障”这个第一业务事件,再比如根据is(62,Node)、on(62,Train)、call(train,DB)可以得到“节点62会被DB传导故障”这个第一业务事件。由于本申请实施例提供的方案采用了标准格式表示领域知识,所以除了这里列举的几种确定第一业务事件的方式,本申请实施例还可以基于领域知识中各个术语之间的依赖关系,采用数据挖掘的方式,获取逻辑推理要素,以确定第一业务事件。在一个可能的实施方式中,可以基于关联挖掘算法自动分析通过标准格式表示的领域知识中业务内在关联关系,配置机器学习模型的输出、逻辑推理模型的输入、以及生成机器学习模型的输出和逻辑推理模型的输入两者之间的映射关系。
303、将第一历史业务数据输入至机器学习模型,以预测每个第一业务事件的第一发生概率。
基于第一业务事件的数目可以确定伪标签的数目,或者说基于第一业务事件以及第一业务事件的数目可以确定机器学习模型的分类维度。将第一历史业务数据输入至机器学习模型后,机器学习模型基于第一历史业务数据,输出每个伪标签对应的取值,进而可以获取每个第一业务事件的发生概率,这里称之为第一发生概率。其中,机器学习模型的输出可以是一个向量,该向量的维度数目根据第一业务事件的数目确定,每个维度的取值对应一种第一业务事件的发生概率。
以故障分析业务为例进行说明,第一历史业务数据可以包括告警数据、日志以及KPI。
304、将多个第一业务事件和第一发生概率输入至逻辑推理模型,以获取第一推理结果,第一推理结果指示每个第一业务事件是否发生。
利用机器学习模型输出的伪标签的取值为每个待验证的事实赋值,即将第一业务事件的发生概率和机器学习模型输出的伪标签进行匹配。
将赋值后的第一业务事件,以及第一历史业务对应的标签作为逻辑推理模型的输入,以获取第一业务事件的真伪。逻辑推理模型已知最终的结论,即已知第一历史业务对应的标签,逻辑推理模型在获知了这一结论后,反推输入的各个第一业务事件的真伪,具体的,可以获取各个第一业务事件的真伪是否与该结论存在矛盾,其中,第一业务事件的第一发生概率可以作为逻辑推理模型在推理过程中的参考信息,比如第一业务事件A的第一发生概率较大,逻辑推理模型可以暂时先认为该第一业务事件A是真的,即该第一业务事件A会发生,基于此,再继续进行逻辑推理,以判断在满足结论的前提条件下,其他第一业务事件是否会发生,如果可以形成合理的推理,则最终确定该第一业务事件A会发生,以此可以加速逻辑推理的过程。反之,如果不能形成合理的推理,则最终确定该第一业务事件A不会发生,在此基础上,继续进行逻辑推理。最终,逻辑推理模型形成合理的推理,输出第一推理结果,以指示每一个第一业务事件是否发生,比如通过“True”表示某个第一业务事件会发生,是真的,通过“False”表示某个第一业务事件不会发生,是假的。
再根据逻辑推理模型输出的结果,确定反绎标签,用于表示每一个第一业务事件的真伪。其中,反绎标签和伪标签的格式保持一致,比如反绎标签和伪标签均通过向量表示,两个向量的维度相同,并且同一个位置的维度用于表示相同的第一业务事件的发生概率。其中,反绎标签由于用于指示第一业务事件发生或者不发生这两种情况,所以反绎标签的每个维度的取值可以只对应0或者1,比如0表示第一业务事件是假的或者说第一业务事件不发生,1表示第一业务事件是真的或者说第一业务事件发生。
305、根据第一发生概率和第一推理结果之间的差异确定第一损失值,并根据第一损失值更新机器学习模型的参数。
通过多次利用历史业务数据对机器学习模型进行训练,对机器学习模型的参数进行多次更新,可以使机器学习模型预测第一发生概率越来越准确,或者说使第一发生概率越来越接近第一推理结果。可以理解为重复执行步骤303至步骤305直至满足停止条件,其中停止条件可以根据需求设定,比如停止条件包括机器学习模型收敛,或者迭代训练的次数达到某一指定值。
为了更好的理解本申请实施例提供的方案,下面结合故障分析业务场景对本申请实施例提供的方案进行介绍:
假设故障分析业务场景获取到如图4所示的领域知识,图4展示了几种服务、节点、故障之间的关系。具体的,包括:训练服务上有节点62,或者说节点62是训练服务对应的一个虚拟机;节点62上可能存在cpu_full这一故障;集成(integ)服务上有节点68,或者说节点68是集成服务对应的一个虚拟机;节点68上可能存在cpu_full这一故障;DB上有节点60,节点60上可能存在cpu_full这一故障,还可能存在link_full这一故障。训练服务会调用集成服务和DB,集成服务和训练服务都会调用DB。将领域知识转化为通过标准格式表示,下面通过表2至表4展示将上述领域知识通过三元组信息表示。
表2:
第一术语 关系 第二术语
62 is node
62 on train
train call DB/integ
表3:
第一术语 关系 第二术语
68 is node
68 on integ
integ call DB
表4:
第一术语 关系 第二术语
60 is node
60 on DB
DB has cpu_full/link_full
node has cpu_full
接下来,从上述通过标准格式表示的领域知识中获取第一业务事件,或者说获取待验证的事实。由于应用于故障分析业务场景,所以第一业务事件需要包括各种故障类型,根据每一种故障类型可以确定一种第一业务事件,以此确定机器学习模型的多种分类维度。此外,故障是可以传播的,所以第一业务事件还可以包括各种故障传播关系,根据每一种故障传播关系可以确定一种第一业务事件,以此还可以确定更多的机器学习模型的分类维度。需要说明的是,通过数据挖掘技术,可以自动的从标准格式表示的领域知识中获取多种第一业务事件。也可以通过人为设定的方式从标准格式表示的领域知识中获取多种第一业务事件。示例性的,根据上述表2至表4,第一业务事件可以包括:
第i个样本中,节点62发生cpu_full故障;
第i个样本中,节点62被集成服务的故障影响;
第i个样本中,节点62被数据存储单元的故障影响;
第i个样本中,节点68发生cpu_full故障;
第i个样本中,节点68被数据存储单元的故障影响;
第i个样本中,节点60发生cpu_full故障;
第i个样本中,节点60发生link_full故障。
则待赋值的第一业务事件可以通过如下逻辑程序表示:
pseudo_label(node_error_class(i,62,root“cpu_full”)),&conf;
pseudo_label(node_error_class(i,62,non_root“integration”)),&conf;
pseudo_label(node_error_class(i,62,non_root“database”)),&conf;
pseudo_label(node_error_class(i,68,root“cpu_full”)),&conf;
pseudo_label(node_error_class(i,68,non_root“database”)),&conf;
pseudo_label(node_error_class(i,60,root“cpu_full”)),&conf;
pseudo_label(node_error_class(i,60,root“link_full”)),&conf。
其中,pseudo_label(node_error_class(i,62,root“cpu_full”)),&conf表示第i个样本中,节点62发生cpu_full故障的概率。pseudo_label(node_error_class(i,62,non_root“integration”)),&conf表示第i个样本中,节点62被集成服务的故障影响的概率。pseudo_label(node_error_class(i,62,non_root“database”)),&conf表示第i个样本中,节点62被数据存储单元的故障影响的概率。pseudo_label(node_error_class(i,68,root“cpu_full”)),&conf表示第i个样本中,节点68发生cpu_full故障的概率。pseudo_label(node_error_class(i,68,non_root“database”)),&conf表示节点68被数据存储单元的故障影响的概率。pseudo_label(node_error_class(i,60,root“cpu_full”)),&conf表示第i个样本中,节点60发生cpu_full故障的概率。pseudo_label(node_error_class(i,60,root“link_full”)),&conf表示第i个样本中,节点60发生link_full故障的概率。本申请实施例也将第i个样本称为第i个历史业务数据。
将第i个历史业务数据输入至机器学习模型中,根据机器学习模型输出的伪标签为上述第一业务事件赋值。假设机器学习模型输出的伪标签为(0.1,0.2,0.3,0.4,0.5,0.6,0.7),则可以该向量每个维度的取值为上述第一业务事件对应的逻辑程序中的&conf进行赋值,进而可以获取每个第一业务事件的发生概率。比如,在这个例子中,赋值后的第一业务事件,或者说每个第一业务事件的发生概率可以通过如下逻辑程序表示:
pseudo_label(node_error_class(i,62,root“cpu_full”)),0.1;
pseudo_label(node_error_class(i,62,non_root“integration”)),0.2;
pseudo_label(node_error_class(i,62,non_root“database”)),0.3;
pseudo_label(node_error_class(i,68,root“cpu_full”)),0.4;
pseudo_label(node_error_class(i,68,non_root“database”)),0.5;
pseudo_label(node_error_class(i,60,root“cpu_full”)),0.6;
pseudo_label(node_error_class(i,60,root“link_full”)),0.7。
上述逻辑程序依次表示:获取第i个样本中,节点62发生cpu_full故障的概率为0.1。第i样本中,节点62被集成服务的故障影响的概率为0.2。第i个样本中,节点62被数据存储单元的故障影响的概率为0.3。第i个样本中,节点68发生cpu_full故障的概率为0.4。第i个样本中,节点68被数据存储单元的故障影响的概率为0.5。第i个样本中,节点60发生cpu_full故障的概率为0.6。第i个样本中,节点60发生link_full故障的概率为0.7。
将第一业务事件和第一业务事件的发生概率输入至逻辑推理模型,以获取反绎标签,用于表示每一个第一业务事件的真伪。反绎标签和伪标签的格式保持一致,比如反绎标签和伪标签均通过向量表示,两个向量的维度相同,并且同一个位置的维度用于表示相同的第一业务事件的发生概率,或者说伪标签和反绎标签的元素数量是相等的,计算两个标签中相同位置的元素的差值,生成差值序列也称为损失值loss。最后将该loss传递给机器学习模型。机器学习模型基于loss,基于反向梯度优化来调整机器学习模型的参数。
参阅图5,为本申请实施例提供的另一种机器学习模型的训练方法的流程示意图,可以包括以下步骤:
501、获取业务的领域知识,领域知识通过标准格式表示。
502、根据领域知识获取多个第一业务事件。
503、将第一历史业务数据输入至机器学习模型,以预测每个第一业务事件的第一发生概率。
504、将多个第一业务事件和第一发生概率输入至逻辑推理模型,以获取第一推理结果,第一推理结果指示每个第一业务事件是否发生。
505、根据第一发生概率和第一推理结果之间的差异确定第一损失值,并根据第一损失值更新机器学习模型的参数。
步骤501至步骤505可以参照图3对应的实施例中的步骤301至305进行理解,这里不再重复赘述。
506、根据多个第一业务事件之间的依赖关系构建第二业务事件。
第一业务事件是根据通过标准格式表示的领域知识直接获取的,可以理解为根据通过标准格式表示的领域知识和目标规则获取多个该第一业务事件,目标规则包括领域知识和多个第一业务事件之间的映射关系。比如,以标准格式为三元组格式为例进行说明,每一个三元组格式包括了两个术语之间的关系,如果明确每一种关系对应的转化方式,则可以直接将根据三元组格式表示的领域知识转化为第一业务事件。比如通过三元组格式表示的领域知识为call(A,B),其中call代表术语A和术语B之间的关系,当遍历到包括call这一关系的三元组信息时,则对应转化为第一业务事件:A会被B传导故障。比如,遍历到call(train,DB),则自动获取该三元组信息对应的第一业务事件为“train会被DB传导故障”。
直接通过标准格式表示的领域知识和目标规则获取业务事件,可能导致获取到的业务事件并不全面,对领域知识的表现存在局限。此外,这种方式在一定程度上依赖于工程师设定目标规则,效率低下。因此本申请实施例希望能够自动的构建业务事件,具体的,在构建了一些基础的业务事件后,比如第一业务事件,可以根据这些基础的业务事件构建出新的业务事件,通过这种方式,提高了业务事件的构建效率。而有效的业务事件越多,即逻辑推理要素越多,越有利于逻辑推理模型进行逻辑推理,表现在推理的速度更快,推理的准确率也会更高。
为了根据多个第一业务事件构建第二业务事件,可以利用多个第一业务事件之间的依赖关系,比如,如果某些第一业务事件包括相同的术语,则可以考虑他们之间存在依赖关系。比如第一业务事件A中存在第一术语和第二术语,第一业务事件B中存在第一术语和第三术语,第一业务事件A和第一业务事件B都包括第一术语,则可以考虑根据第一业务事件A和第一业务事件B来构建第二业务事件。比如,一个第一业务事件为X会被Y传导故障,另一个第一业务事件为Z会被X传导故障,则可以构建第二业务事件Z会被Y传导故障。
由于多个第一业务事件的数目可能过于庞大,为了节省开销,可以从多个第一业务中挑选部分第一业务事件用于构建第二业务事件,比如可以通过识别函数从多个第一业务事件中选择部分第一业务事件用于构建第二业务事件。
示例性的,下面以故障分析业务为例,给出一种具体的根据多个第一业务事件的依赖关系构建第二业务事件的方案:
因为在故障分析业务中,故障传播链是一个通用现象,或者说故障是可传导的,所以构建一种可递归的模板:
metarule(chain,[P,Q,R],[P,A,B],[[Q,A,C],[R,C,B]))。
其中,[P,Q,R]也可以通过P:-Q,R表示,代表第一业务事件Q成立并且第一业务事件R成立,则会导致第二业务事件P成立。[P,A,B]表示第二业务事件P的组成是P(A,B),第二业务事件P中包括术语A和术语B,而[Q,A,C]表示第一业务事件Q中包括术语A和术语C,[R,C,B]表示第一业务事件R中包括术语C和术语B。在一个可能的实施方式中,也可以构建更复杂的模板,比如模板中的[Q,A,C]替换为[Q,F,G],通过Q:-F,G表示,代表第一业务事件F成立并且第一业务事件G成立,则会导致第二业务事件Q成立,其中第一业务事件F和第一业务事件G可以再细化为通过术语表示,这是一种递归调用方式。这些构建的第二业务事件是否成立,将在步骤507中进行具体的介绍。
507、将第二业务事件、多个第一业务事件以及多个第一业务事件的标签输入至逻辑推理模型,以获取第二推理结果,第二推理结果指示第二业务事件是否发生。
以一个第二业务事件为例进行说明:
将该第二业务事件,和用于构成该第二业务事件的第一业务事件,以及该多个第一业务事件的标签输入至逻辑推理模型,以获取第二推理结果,第二推理结果指示该第二业务事件是否发生。其中,第一业务事件的标签可以参照图3对应的实施例中描述的第一推理结果进行理解,第一业务事件的标签用于指示第一业务事件是否发生,这里不再重复介绍。如果逻辑推理模型基于构成该第二业务事件的第一业务事件,以及第一业务事件的标签,能够合理的推导出第二业务事件为真,则可以执行步骤508,即保存该第二业务事件,至此成功构建了新的业务事件。如果逻辑推理模型基于构成该第二业务事件的第一业务事件,以及第一业务事件的标签,不能够合理的推导出第二业务事件为真,则舍弃该第二业务事件。需要说明的是,为了保证结果的可靠性,可以对该第二业务事件进行多次验证,如果经过多次验证,都能够基于第一业务事件推导出第二业务事件为真,才执行步骤508,认为成功构建了新的业务事件。具体的,可以参照如下公式(1-1)至公式(1-3)进行理解:
Min(H,size()) (1-3)
其中,e代表第一业务事件,E+代表为标签为真的第一业务事件,E-代表标签为假的第一业务事件,H表示第二业务事件,B表示由通用格式表示的领域事件。公式(1-1)表示该构建的第二业务事件必须满足所有为真的第一业务事件;公式(1-3)构建的第二业务事件不能命中任何为假的第一业务事件;公式(1-3)如果有多个相同的第二业务事件,从中选取最短的第二业务事件进行保存。
为了更好的理解方案,下面再结合几个具体的例子进行介绍:
假设[P,Q,R]表示告警之间的传导关系,P表示第二业务事件“节点1告警导致节点3告警”,Q表示第一业务事件,R表示另一个第一业务事件。具体的,Q表示节点1告警导致节点2告警,R表示节点2告警导致节点3告警,如果逻辑推理模型输出节点1告警导致节点2告警为真,或者说节点1告警导致节点2告警会发生,并且输出节点2告警导致节点3告警为假,或者说节点2告警导致节点3不会发生,则逻辑推理模型会推导出节点1告警导致节点3告警为假,则该第二业务事件不成立。这一过程也可以参照公式alm_chain(节点1,节点3):-alm_chain(节点1,节点2),alm_chain(节点2,节点3)进行理解。
在假设[P,Q,R]表示KPI之间的传导关系,P表示第二业务事件“CPU利用率高导致访问效率低下”,Q表示第一业务事件,R表示另一个第一业务事件。具体的,Q表示CPU利用率高导致服务器瘫痪,R表示服务器瘫痪导致访问效率低下,如果逻辑推理模型输出CPU利用率高导致服务器瘫痪为真,或者说CPU利用率高导致服务器瘫痪会发生,并且输出服务器瘫痪导致访问效率低下为真,或者说服务器瘫痪导致访问效率低下会发生,则逻辑推理模型会推导出CPU利用率高导致访问效率低下为真,则该第二业务事件成立。这一过程也可以参照公式KPI_chain(CPU利用率高,访问效率低下):-KPI_chain(CPU利用率高,服务器瘫痪),KPI_chain(服务器瘫痪,访问效率低下)进行理解。
508、若获取到第二业务事件发生,则保存第二业务事件。
509、将第二历史业务数据输入至机器学习模型,以预测每个第二业务事件的第二发生概率。
510、根据第二发生概率和第二推理结果之间的差异确定第二损失值。
511、根据第二损失值再次更新机器学习模型的参数。
步骤509至步骤511可以参照参照图3对应的实施例中的步骤301至305中描述的利用第一损失值更新机器学习模型的参数的过程进行理解,这里不再重复赘述。
下面对本申请实施例提供的一种业务数据的处理方法进行介绍。
参阅图6,为本申请实施例提供的一种业务数据的处理方法的流程示意图,可以包括以下步骤:
601、将目标业务数据输入至机器学习模型,以预测每个目标业务事件的发生概率。
对应于图3、图5所描述的实施方式,目标业务数据的类型和训练阶段中,历史业务数据的类型保持一致,这里不再重复赘述。比如,以故障分析业务为例进行说明,目标业务数据可以包括告警数据、日志以及KPI。
目标业务事件的发生概率可以参照图3、图5所描述的实施方式中的第一业务事件进行进行理解。在一个可能的实施方式中,还可以参照图5锁描述的实施方式中的第一业务事件以及第二业务事件进行理解,这里不再重复赘述。
该机器学习模型为通过上述图3、图5所描述的实施方式获取的机器学习模型,这里不再重复介绍。
602、将目标业务事件的发生概率输入至逻辑推理模型,以获取推理结果。
由于在机器学习模型的训练阶段引入了领域知识,使机器学习模型的预测结果更加准确。所以,在推理阶段利用机器学习模型预测的目标业务事件的发生概率,来指导逻辑推理模型的输出,也更有助于逻辑推理模型输出准确的推理结果。在故障分析业务中,该推理结果可以指示根因故障、故障传导关系等等。
下面对本申请实施例所适用的典型的应用场景进行介绍。
参阅图7,历史业务数据和目标业务数据可以通过数据湖或者数据库为载体进行存储,换句话说,通过数据湖或者数据库存储历史业务数据和目标业务数据。如图8所示,在故障分析业务中,数据库或者数据湖可以从现网(现网也可以称之为生产环境或者业务运行的环境)中采集数据,比如在故障分析业务中,采集的数据包括告警数据、日志以及KPI。在一个可能的实施方式中,可以对数据湖或者数据库采集到的数据进行预处理,比如可以对采集到的数据进行分类,再比如进行告警的过滤和排序(比如过滤掉垃圾告警,对重要告警进行排序)等等。将预处理后的数据作为历史业务数据或目标业务数据。在训练阶段,还需要获取通过标准格式表示的领域知识,比如知识图谱或者通过标准格式表示的产品文档手册或者通过标准格式表示的专家知识,都可以视为通过标准格式表示的领域知识,如图7所示,在一个可能的实施方式中,通过标准格式表示的领域知识来源于网络知识库,该网络知识库是一种知识图谱,基于产品知识和业务知识构建,包括了网元信息,以及故障传播关系。在训练阶段,基于通过标准格式表示的领域知识以及历史业务数据来训练机器学习模型,在训练过程中,通过逻辑推理模型的输出指导机器学习模型输出越来越准确的预测结果,具体可以参照图3、图5对应的实施例进行理解,这里不再重复赘述。在推理阶段,利用逻辑推理模型的输出,如包括故障根因、故障传播关系等指导系统的运行。比如,指导网络管理、运维管理或者信息管理。或者说,得出推理结果传送给管理系统如网络/运维/信息管理等,这些系统基于推理结果实施行为分析、管理决策、指令生成等。如图8所示,本申请实施例主要部署在用户侧,比如部署在运营商侧,可以将这个整个系统划分为网络人工智能单元,AI训练服务单元,智能运维(artificial intelligence operations,AIOps)单元,跨域智能运维单元,智能运维单元可以向跨域智能运维单元下发推理结果,跨域智能运维单元基于故障推理结果,设计运维计划并向网络管控单元发出控制指令,网络管控单元负现网责数据采集和网络控制功能。
为了更好地理解本申请实施例方案相比于图1所描述的方案的优势,下面结合表5和图9对本申请实施例提供的方案进行梳理:
表5:
以上对本申请实施例提供的方案中机器学习模型的训练过程以及利用训练后的机器学习模型执行业务数据处理任务进行了详细介绍,接下来,将结合附图对本申请实施例提供的装置/设备进行介绍。
图10是本申请实施例提供的训练装置的硬件结构示意图。图10所示的神经网络模型的训练装置5000(该装置5000具体可以是一种计算机设备)包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
存储器5001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002用于执行本申请实施例的模型的训练方法的各个步骤。具体地,处理器5002可以执行上文中图3所示的方法中的步骤或者用于用于执行上文中图5中所示的方法中的步骤。
处理器5002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的模型的训练方法。
处理器5002还可以是一种集成电路芯片,具有信号的处理能力,在实现过程中,本申请的神经网络模型的训练方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器5002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
通信接口5003使用例如但不限于收发器一类的收发装置,来实现装置5000与其他设备或通信网络之间的通信。例如,可以通过通信接口5003获取训练数据(或训练样本)。比如上述各个实施方式中描述的历史业务数据,或者领域知识。
总线5004可包括在装置5000各个部件(例如,存储器5001、处理器5002、通信接口5003)之间传送信息的通路。
参阅图11,为本申请实施例提供的一种训练装置6000的结构示意图。包括获取模块6001、训练模块6002,获取模块6001可以执行上文中图3所示的方法中的步骤301、步骤302。训练模块6002可以执行上文中图3所示的方法中的步骤303至步骤305。或者获取模块6001可以执行上文中图5所示的方法中的步骤501、步骤502。训练模块6002可以执行上文中图5所示的方法中的步骤603至步骤511。
在一个可能的实施方式中,获取模块,用于:获取业务的领域知识,领域知识通过标准格式表示。根据领域知识获取多个第一业务事件。训练模块,用于:将第一历史业务数据输入至机器学习模型,以预测每个第一业务事件的第一发生概率。将多个第一业务事件和第一发生概率输入至逻辑推理模型,以获取第一推理结果,第一推理结果指示每个第一业务事件是否发生。根据第一发生概率和第一推理结果之间的差异确定第一损失值。根据第一损失值更新机器学习模型的参数。
在一个可能的实施方式中,获取模块,还用于:根据多个第一业务事件之间的依赖关系构建第二业务事件。训练模块,还用于:将第二业务事件、多个第一业务事件以及多个第一业务事件的标签输入至逻辑推理模型,以获取第二推理结果,第二推理结果指示第二业务事件是否发生。若获取到第二业务事件发生,则保存第二业务事件。
在一个可能的实施方式中,训练模块,还用于:将第二历史业务数据输入至机器学习模型,以预测每个第二业务事件的第二发生概率。根据第二发生概率和第二推理结果之间的差异确定第二损失值。根据第二损失值再次更新机器学习模型的参数。
在一个可能的实施方式中,领域知识具体通过三元组信息表示,三元组信息包括基于领域知识获取的第一术语、基于领域知识获取的第二术语以及第一术语和第二术语之间的关系。
在一个可能的实施方式中,领域知识包括以下知识中的至少一种:目标网络中的节点名称、目标网络的拓扑结构、目标网络中服务之间的调用关系、节点和服务之间的部署关系以及目标网络适用的网络协议,目标网络用于执行业务。
在一个可能的实施方式中,多个第一业务事件包括以下事件中的至少一种:目标网络中的任意节点故障、目标网络中第一节点故障导致第二节点故障。
在一个可能的实施方式中,第一历史业务数据包括以下数据中的至少一种:告警数据、日志以及关键绩效指标KPI。
在一个可能的实施方式中,获取模块,具体用于:
根据领域知识和目标规则获取多个第一业务事件,目标规则包括领域知识和多个第一业务事件之间的映射关系。
图12是本申请实施例提供的业务数据处理装置的硬件结构示意图。图12所示的业务数据处理装置7000(该装置7000具体可以是一种计算机设备)包括存储器7001、处理器7002、通信接口7003以及总线7004。其中,存储器7001、处理器7002、通信接口7003通过总线7004实现彼此之间的通信连接。
存储器7001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器7001可以存储程序,当存储器7001中存储的程序被处理器7002执行时,处理器7002用于执行本申请实施例的模型的业务数据处理方法的各个步骤。具体地,处理器7002可以执行上文中图6所示的方法中的步骤或者用于用于执行上文中图6中所示的方法中的步骤。
处理器7002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的业务数据处理方法。
处理器7002还可以是一种集成电路芯片,具有信号的处理能力,在实现过程中,本申请的神经网络模型的业务数据处理方法的各个步骤可以通过处理器7002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器7002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
通信接口7003使用例如但不限于收发器一类的收发装置,来实现装置7000与其他设备或通信网络之间的通信。例如,可以通过通信接口7003获取业务数据。
总线7004可包括在装置7000各个部件(例如,存储器7001、处理器7002、通信接口7003)之间传送信息的通路。
参阅图13,为本申请实施例提供的一种业务数据处理装置8000的结构示意图。包括获取模块8001、推理模块8002,获取模块8001可以执行上文中图6所示的方法中与获取动作相关的步骤。推理模块8002可以执行上文中图6所示的方法中的步骤601和步骤602以及其他与推理相关的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”,“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程,方法,系统,产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程,方法,产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括指令,所述指令指示执行上述实施例描述的方法。
本申请实施例还提供了一种计算机程序产品,在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品被计算机执行时,所述计算机执行前述实施例所描述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述AI模型的测试方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (19)

1.一种机器学习模型的训练方法,其特征在于,包括:
获取业务的领域知识,所述领域知识通过标准格式表示;
根据所述领域知识获取多个第一业务事件;
将第一历史业务数据输入至机器学习模型,以预测每个所述第一业务事件的第一发生概率;
将所述多个第一业务事件和所述第一发生概率输入至逻辑推理模型,以获取第一推理结果,所述第一推理结果指示每个所述第一业务事件是否发生;
根据所述第一发生概率和所述第一推理结果之间的差异确定第一损失值;
根据所述第一损失值更新所述机器学习模型的参数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述多个第一业务事件之间的依赖关系构建第二业务事件;
将所述第二业务事件、所述多个第一业务事件以及所述多个第一业务事件的标签输入至所述逻辑推理模型,以获取第二推理结果,所述第二推理结果指示所述第二业务事件是否发生;
若获取到所述第二业务事件发生,则保存所述第二业务事件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将第二历史业务数据输入至所述机器学习模型,以预测每个所述第二业务事件的第二发生概率;
根据所述第二发生概率和所述第二推理结果之间的差异确定第二损失值;
根据所述第二损失值再次更新所述机器学习模型的参数。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述领域知识具体通过三元组信息表示,所述三元组信息包括基于所述领域知识获取的第一术语、基于所述领域知识获取的第二术语以及所述第一术语和所述第二术语之间的关系。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述领域知识包括以下知识中的至少一种:目标网络中的节点名称、所述目标网络的拓扑结构、所述目标网络中服务之间的调用关系、所述节点和所述服务之间的部署关系以及所述目标网络适用的网络协议,所述目标网络用于执行所述业务。
6.根据权利要求5所述的方法,其特征在于,所述多个第一业务事件包括以下事件中的至少一种:所述目标网络中的任意节点故障、所述目标网络中第一节点故障导致第二节点故障。
7.根据权利要求5或6所述的方法,其特征在于,所述第一历史业务数据包括以下数据中的至少一种:告警数据、日志以及关键绩效指标KPI。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述根据所述领域知识获取多个第一业务事件,包括:
根据所述领域知识和目标规则获取所述多个第一业务事件,所述目标规则包括所述领域知识和所述多个第一业务事件之间的映射关系。
9.一种机器学习模型的训练装置,其特征在于,包括:
获取模块,用于:
获取业务的领域知识,所述领域知识通过标准格式表示;
根据所述领域知识获取多个第一业务事件;
训练模块,用于:
将第一历史业务数据输入至机器学习模型,以预测每个所述第一业务事件的第一发生概率;
将所述多个第一业务事件和所述第一发生概率输入至逻辑推理模型,以获取第一推理结果,所述第一推理结果指示每个所述第一业务事件是否发生;
根据所述第一发生概率和所述第一推理结果之间的差异确定第一损失值;
根据所述第一损失值更新所述机器学习模型的参数。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,还用于:
根据所述多个第一业务事件之间的依赖关系构建第二业务事件;
所述训练模块,还用于:
将所述第二业务事件、所述多个第一业务事件以及所述多个第一业务事件的标签输入至所述逻辑推理模型,以获取第二推理结果,所述第二推理结果指示所述第二业务事件是否发生;
若获取到所述第二业务事件发生,则保存所述第二业务事件。
11.根据权利要求10所述的装置,其特征在于,所述训练模块,还用于:
将第二历史业务数据输入至所述机器学习模型,以预测每个所述第二业务事件的第二发生概率;
根据所述第二发生概率和所述第二推理结果之间的差异确定第二损失值;
根据所述第二损失值再次更新所述机器学习模型的参数。
12.根据权利要求9至11任一项所述的装置,其特征在于,所述领域知识具体通过三元组信息表示,所述三元组信息包括基于所述领域知识获取的第一术语、基于所述领域知识获取的第二术语以及所述第一术语和所述第二术语之间的关系。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述领域知识包括以下知识中的至少一种:目标网络中的节点名称、所述目标网络的拓扑结构、所述目标网络中服务之间的调用关系、所述节点和所述服务之间的部署关系以及所述目标网络适用的网络协议,所述目标网络用于执行所述业务。
14.根据权利要求13所述的装置,其特征在于,所述多个第一业务事件包括以下事件中的至少一种:所述目标网络中的任意节点故障、所述目标网络中第一节点故障导致第二节点故障。
15.根据权利要求13或14所述的装置,其特征在于,所述第一历史业务数据包括以下数据中的至少一种:告警数据、日志以及关键绩效指标KPI。
16.根据权利要求9至15任一项所述的装置,其特征在于,所述获取模块,具体用于:
根据所述领域知识和目标规则获取所述多个第一业务事件,所述目标规则包括所述领域知识和所述多个第一业务事件之间的映射关系。
17.一种机器学习模型的训练装置,其特征在于,包括:
存储器,存储有可执行的程序指令;
处理器,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以使所述设备实现如权利要求1至8任一所述的方法。
18.如权利要求17所述的装置,其特征在于,所述装置为终端、终端中的芯片或者服务器。
19.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至8任一所述的方法。
CN202210439069.9A 2022-04-25 2022-04-25 机器学习模型训练方法以及装置 Pending CN116992972A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210439069.9A CN116992972A (zh) 2022-04-25 2022-04-25 机器学习模型训练方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210439069.9A CN116992972A (zh) 2022-04-25 2022-04-25 机器学习模型训练方法以及装置

Publications (1)

Publication Number Publication Date
CN116992972A true CN116992972A (zh) 2023-11-03

Family

ID=88520030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210439069.9A Pending CN116992972A (zh) 2022-04-25 2022-04-25 机器学习模型训练方法以及装置

Country Status (1)

Country Link
CN (1) CN116992972A (zh)

Similar Documents

Publication Publication Date Title
JP2019061565A (ja) 異常診断方法および異常診断装置
CN112087334A (zh) 告警根因分析方法、电子设备和存储介质
CN111294812A (zh) 一种资源扩容规划的方法及系统
US11620200B2 (en) System and method for integration testing
CN115170344A (zh) 调控系统运行事件智能处理方法及装置、介质及设备
CN114385403A (zh) 基于双层知识图谱架构的分布式协同故障诊断方法
CN117595504A (zh) 一种电网运行状态的智能监测预警方法
CN113541986B (zh) 5g切片的故障预测方法、装置及计算设备
CN117495421A (zh) 基于电力通信网建设的电网通信工程造价预测方法
Mossin et al. Automatic diagnosis for profibus networks
CN113825165A (zh) 基于时间图网络的5g切片网络拥塞预警方法及装置
CN113572639B (zh) 一种载波网络故障的诊断方法、系统、设备和介质
CN116992972A (zh) 机器学习模型训练方法以及装置
CN113821418B (zh) 故障根因分析方法及装置、存储介质和电子设备
KR20190132223A (ko) 네트워크 장애 원인 분석 장치 및 방법
CN113240098B (zh) 基于混合门控神经网络的故障预测方法、装置和存储介质
CN115767601A (zh) 一种基于多维数据的5gc网元自动化纳管方法及装置
CN114385398A (zh) 一种请求响应状态确定方法、装置、设备和存储介质
CN114238012A (zh) 监测模型生成方法、装置、设备及存储介质
JP2022013844A (ja) 情報処理方法、情報処理装置及びプログラム
CN116996527B (zh) 一种汇聚分流器数据同步的方法及存储介质
CN114722061B (zh) 数据处理方法及装置、设备、计算机可读存储介质
CN115439721B (zh) 电力设备异常少样本缺陷分类模型训练方法、装置
CN117978612B (zh) 网络故障检测方法、存储介质以及电子设备
CN113347021B (zh) 一种模型生成方法、撞库检测方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication