一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据日志解析系统和方法与流程

2022-05-08 08:54:07 来源:中国专利 TAG:


1.本公开总体上涉及数据日志,并且尤其涉及解析已知或未知格式的数据日志。


背景技术:

2.数据日志最初是作为维护重要事件的历史信息的机制而开发的。作为示例,为了核实和审计的目的,需要记录银行交易。随着技术的发展和互联网的普及,数据日志变得更加普遍,并且由连接的装置生成的任何数据通常都存储在某种类型的数据日志中。
3.作为示例,为组织生成的网络安全日志可以包括由端点、网络装置和外围装置生成的数据。即使是小型组织也预期在日志流量中生成数百千兆字节的数据。即使是轻微的数据丢失也可能导致组织的安全漏洞。


技术实现要素:

4.设计用于摄取数据日志的传统系统无法处理大多数组织中生成的当前数据量。此外,这些传统系统无法扩展以支持数据日志流量的显著增加,这通常会导致丢失或掉落数据。在网络安全日志的上下文中,任何数量的掉落或丢失的数据都可能导致安全风险。如今,组织收集、存储和尝试分析的数据比以往都多。数据日志在来源、格式和时间上是异构的。更复杂的是,数据日志的类型和格式在不断变化,这意味着新类型的数据日志正在被引入到系统,并且这些系统中的许多并不是为了在没有大量人类干预的情况下处理这些变化而设计的。总而言之,传统的数据日志处理系统无法正确处理许多组织中正在生成的大量数据。
5.本公开的实施方式意图解决与数据日志处理相关联的上述缺点和其他问题。本文所描述的实施方式提供一种灵活的、支持人工智能(ai)的系统,所述系统被配置为处理已知或未知格式的大量数据日志。
6.在一些实施方式中,支持ai的系统可以利用自然语言处理(nlp)作为用于处理数据日志的技术。nlp传统上用于诸如文本翻译、交互式聊天机器人和虚拟助手等应用。转向nlp来处理机器生成的数据日志似乎并不立即可行。然而,本公开的实施方式认识到nlp或其他基于自然语言的神经网络的独特能力,如果被适当训练,则解析已知或未知格式的数据日志。本公开的实施方式还使得基于自然语言的神经网络能够解析部分数据日志、不完整数据日志、降级数据日志和各种大小的数据日志。
7.在说明性示例中,公开了一种用于处理数据日志的方法,所述方法包括:从数据源接收数据日志,其中所述数据日志以生成所述数据日志的机器所固有的格式接收;将数据日志提供给被训练成处理基于自然语言的输入的神经网络;用神经网络解析数据日志;接收来自神经网络的输出,其中来自神经网络的输出是响应于神经网络解析数据日志而生成的;以及将来自神经网络的输出存储在数据日志储存库中。
8.在另一示例中,公开了一种用于处理数据日志的系统,所述系统包括:处理器和存储器,所述存储器与所述处理器耦合,其中所述存储器存储数据,当所述数据由所述处理器
执行时使得所述处理器能够:从数据源接收数据日志,其中所述数据日志以生成所述数据日志的机器所固有的格式接收;用训练成处理基于自然语言的输入的神经网络解析数据日志;以及将来自神经网络的输出存储在数据日志储存库中,其中响应于神经网络解析数据日志而生成来自神经网络的输出。
9.在又一示例中,公开了一种训练用于处理数据日志的系统的方法,所述方法包括:向神经网络提供第一训练数据,其中所述神经网络包括自然语言处理(nlp)机器学习模型,并且其中所述第一训练数据包括由第一类型的机器生成的第一数据日志;向所述神经网络提供第二训练数据,其中所述第二训练数据包括由第二类型的机器生成的第二数据日志;确定神经网络已经在第一训练数据和第二训练数据上训练了至少预定的时间量;以及将神经网络存储在计算机存储器中,使得神经网络可用于处理附加数据日志。
10.在另一示例中,提供一种处理器,其包括一个或多个电路,用于使用一个或多个基于自然语言的神经网络来解析一个或多个机器生成的数据日志。一个或多个电路可以对应于在图形处理单元(gpu)中彼此互连的逻辑电路。一个或多个电路可以被配置为从数据源接收一个或多个机器生成的数据日志,并且响应于解析一个或多个机器生成的数据日志而生成输出,其中所述输出被配置为作为数据日志储存库的一部分进行存储。在一些示例中,一个或多个机器生成的数据日志作为数据流的一部分被接收,并且机器生成的数据日志中的至少一个可以包括降级日志和不完整日志。
11.本文描述了附加特征和优点,并且从下面的描述和附图中将变得明显。
附图说明
12.本公开结合附图进行描述,附图不一定按比例绘制:
13.图1是描绘根据本公开的至少一些实施方式的计算系统的框图;
14.图2是描绘根据本公开的至少一些实施方式的神经网络训练架构的框图;
15.图3是描绘根据本公开的至少一些实施方式的训练神经网络的方法的流程图;
16.图4是描绘根据本公开的至少一些实施方式的神经网络操作架构的框图;
17.图5是描绘根据本公开的至少一些实施方式的处理数据日志的方法的流程图;以及
18.图6是描绘根据本公开的至少一些实施方式的预处理数据日志的方法的流程图。
具体实施方式
19.随后的描述仅提供实施方式,并不意图限制权利要求的范围、适用性或配置。相反,随后的描述将为本领域技术人员提供用于实现所描述的实施方式的使能描述。应理解,在不脱离所附权利要求的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
20.从下面的描述将会理解,并且出于计算效率的原因,系统的部件可以在不影响系统的操作的情况下被布置在分布式部件网络内的任何适当位置。
21.此外,应理解,连接元件的各种链路可以是有线、迹线或无线链路,或它们的任何适当组合,或能够向所连接的元件供应数据和/或从所连接的元件传送数据的任何其他适当的已知或以后开发的(一个或多个)元件。例如,用作链路的传输介质可以是任何合适的电信号载体,包括同轴电缆、铜线和光纤、pcb上的电迹线等。
22.如本文所使用的,短语“至少一个”、“一个或多个”、“或”以及“和/或”是开放式表达式,其在操作中既是连接的又是分离的。例如,表述“a、b和c中的至少一个”、“a、b或c中的至少一个”、“a、b和c中的一个或多个”、“a、b或c中的一个或多个”、“a、b和/或c”和“a、b或c”中的每一个是指:a单独;b单独;c单独;a和b一起;a和c一起;b和c一起;或a、b和c一起。
23.如本文所用,术语“自动”及其变型是指当执行过程或操作时,在没有实质的人类输入的情况下完成的任何适当的过程或操作。然而,如果输入是在过程或操作执行之前接收的,则过程或操作可以是自动的,即使过程或操作的执行使用实质的或非实质的人类输入。如果人类输入影响了过程或操作的执行方式,则所述输入被认为是实质的。同意执行过程或操作的人类输入不被认为是“实质的”。
24.本文使用的术语“确定”、“核算”和“计算”及其变型可互换使用,并且包括任何适当类型的方法、过程、操作或技术。
25.本文将参考作为理想化配置的示意图的附图来描述本公开的各个方面。
26.除非另有限定,本文使用的全部术语(包括技术和科学术语)具有与本公开本领域的普通技术人员通常理解的相同的含义。将进一步理解,诸如在常用词典中限定的那些术语应被解释为具有与它们在相关领域和本公开的上下文中的含义一致的含义。
27.如本文所使用的,单数形式“一”、“一个”和“所述”意图也包括复数形式,除非上下文清楚地另外指出。还将理解,当在本说明书中使用时,术语“包括”、“包含”和/或“含有”指定所陈述的特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组合的存在或添加。术语“和/或”包括一个或多个相关联列出项目的任何和全部组合。
28.现在参考图1至图6,将描述用于解析数据日志的各种系统和方法。尽管将结合利用ai、机器学习(ml)和类似技术来描述各种实施方式,但是应理解,本公开的实施方式不限于ai、ml或其他机器学习技术的使用,所述ai、ml或其他机器学习技术可以包括或不包括一个或多个神经网络的使用。此外,本公开的实施方式设想了针对某些任务的神经网络的混合使用,而算法或预限定的计算机程序可以用于完成某些其他任务。换句话说,本文描述或要求保护的方法和系统可以用传统的可执行指令集来执行,所述传统的可执行指令集是有限的,并且在一组固定的输入上操作以提供一个或多个限定的输出。替代地或附加地,可以使用ai、ml、神经网络等来执行本文描述或要求保护的方法和系统。换句话说,本文所述系统或系统的部件被设想为包括有限指令集和/或基于ai的模型/神经网络,以执行本文所描述的过程或步骤中的一些或全部。
29.在一些实施方式中,基于自然语言的神经网络被用来解析机器生成的数据日志。数据日志可以直接从生成数据日志的机器接收,在这种情况下,机器本身可以被视为数据源。可以从用于临时存储一个或多个机器的数据日志的存储区域接收数据日志,在这种情况下,存储区域可以被认为是数据源。在一些实施方式中,可以实时接收数据日志,作为从数据源直接传输到基于自然语言的神经网络的数据流的一部分。在一些实施方式中,数据日志可在它们由机器生成之后的某个时间点被接收。
30.本文所描述的某些实施方式设想使用基于自然语言的神经网络。基于自然语言的神经网络或使用基于自然语言的神经网络的方法的示例是nlp。某些类型的神经网络单词表示,如word2vec,是与上下文无关的。本公开的实施方式设想使用此类上下文无关的神经
网络,所述此类上下文无关的神经网络能够为词汇表中的每个单词创建单个单词嵌入,并且不能区分具有多个含义的单词(例如,磁盘上的文件与单个文件行)。更近的模型(例如,ulmfit和elmo)基于上下文对单词具有多个表示。这些模型通过使用单词加上句子中前面的单词来创建表示,从而实现对上下文的理解。本公开的实施方式还设想了基于上下文的神经网络的使用。在不脱离本公开的范围的情况下,可以使用的神经网络类型的更具体但非限制性的示例是来自变压器(bert)模型的双向编码器表示。bert模型能够创建上下文表示,但也能够在两个方向上考虑周围的上下文—单词之前和之后。尽管本文将描述使用基于自然语言的神经网络的实施方式,所述神经网络已经在包括英语单词、句子等的数据语料库上训练,但是应理解,基于自然语言的神经网络可在包括任何人类语言(例如,日语、汉语、拉丁语、希腊语、阿拉伯语等)或人类语言集合的任何数据上训练。
31.对上下文信息进行编码(在单词之前和之后)对于理解网络日志和其他类型的机器生成的数据日志可以是有用的,因为它们的有序性质。例如,在多个数据日志类型中,源地址出现在目标地址之前。bert和其他基于上下文的nlp模型可以解释此上下文/有序信息。
32.将自然语言模型应用于网络日志和其他类型的机器生成的数据日志的另一个挑战是,网络日志中的许多“单词”不是英语单词;它们包括文件路径、十六进制值和ip地址。其他语言模型在面对未知单词时会返回一个“词典外”条目,但bert和类似的其他类型的神经网络被配置为将网络日志中的单词分解成词典中的单词片段。例如,processid变成了两个词典中的单词片段—process和##id。
33.不同组的数据日志可以用于训练本文所描述的基于语言的神经网络中的一个或多个。例如,数据日志(诸如windows事件日志和apache web日志)可以用作训练数据。网络日志的语言与bert标记器和神经网络训练的英语语料库不同。
34.可以通过使用标记器和在大型数据日志语料库上从头开始训练的表示来进一步提高模型的速度和准确性。例如,bert单词片段标记器可以将accountdomain分解为a##cco##unt##d##oma##,其中被认为比数据日志语言中accountdomain的有意义的单词片段更精细。在不脱离本公开的范围的情况下,也设想使用标记器。
35.还可以将解析器被配置为以网络速度移动,以跟上生成的大量数据日志。在一些实施方式中,预处理、标记化和/或后处理可在图形处理单元(gpu)上执行,以实现更快的解析,而无需与主机存储器来回通信。然而,应理解,在不脱离本公开的范围的情况下,也可以使用中央处理单元(cpu)或其他类型的处理架构。
36.参考图1至图6,将根据本公开的至少一些实施方式描述说明性计算系统100。计算系统100可以包括通信网络104,所述通信网络104被配置为便于机器对机器的通信。在一些实施方式中,通信网络104可以使得各种类型的机器之间能够通信,所述各种类型的机器在本文也可以被称为数据源112。一个或多个数据源112可以作为公共网络基础设施的一部分来提供,这意味着数据源112可由公共实体拥有和/或操作。在此类情况下,拥有和/或操作包括数据源112的网络的实体可能对从各种数据源112获得数据日志感兴趣。
37.数据源112的非限制性示例可以包括通信端点(例如,用户装置、个人计算机(pc)、计算装置、通信装置、服务点(pos)装置、膝上型计算机、电话、智能电话、平板计算机、可穿戴装置等)、网络装置(例如,路由器、交换机、服务器、网络接入点等)、网络边界装置(例如,
防火墙、会话边界控制器(sbc)、网络地址转换器(nat)等)、安全装置(访问控制装置、读卡器、生物识别读取器、锁、门等)和传感器(例如,接近传感器、运动传感器、光传感器、噪声传感器、生物识别传感器等)。数据源112可以替代地或附加地包括数据存储区域,所述数据存储区域用于存储由连接到通信网络104的各种其他机器生成的数据日志。数据存储区域可以对应于用于临时存储数据日志直到处理系统108准备好检索和处理数据日志的装置的位置或类型。
38.在一些实施方式中,提供处理系统108来从数据源112接收数据日志,并且解析数据日志以用于分析包含在数据日志中的内容的目的。处理系统108可在也连接到通信网络104的一个或多个服务器上执行。处理系统108可以被配置为解析数据日志,然后评估/分析解析的数据日志,以确定数据日志中包含的任何信息是否包括可动作数据事件。为了便于讨论和理解,处理系统108被描绘为系统100中的单个部件。应理解,处理系统108及其部件(例如,处理器116、(一个或多个)电路124和/或存储器128)可以部署在任何数量的计算架构中。例如,处理系统108可以被部署为服务器、服务器的集合、单个服务器中的刀片的集合、在裸机上、在与数据源112相同的场所上、在云架构(企业云或公共云)中和/或经由一个或多个虚拟机。
39.通信网络104的非限制性示例包括互联网协议(ip)网络、以太网网络、无限带宽(ib)网络、光纤通道网络、互联网、蜂窝通信网络、无线通信网络、其组合(例如以太网光纤通道)、其变型等。
40.如上所述,数据源112可以被认为是主机装置、服务器、网络装置、数据存储装置、安全装置、传感器或其组合。应理解,(一个或多个)数据源112可以被分配至少一个网络地址,并且分配给它的网络地址的格式可以取决于网络104的性质。
41.处理系统108被示为包括处理器116和存储器128。尽管处理系统108仅被示为包括一个处理器116和一个存储器128,但是应理解,处理系统108可以包括一个或多个处理装置和/或一个或多个存储器装置。处理器116可以被配置为执行存储在存储器128中的指令和/或存储在存储器128中的神经网络132。作为一些非限制性示例,存储器128可以对应于被配置为存储指令的任何适当类型的存储器装置或存储器装置的集合。可以用于存储器128的合适存储器装置的非限制性示例包括快闪存储器、随机存取存储器(ram)、只读存储器(rom)、其变型、其组合等。在一些实施方式中,存储器128和处理器116可以集成到公共装置中(例如,微处理器可以包括集成存储器)。
42.在一些实施方式中,处理系统108可以将处理器116和存储器128配置为gpu。处理器116可以包括一个或多个电路124,所述一个或多个电路124被配置为执行存储在存储器128中的神经网络132。替代地或附加地,处理器116和存储器128可以被配置为cpu。gpu配置可以使得在多组数据上能够并行操作,这可以便于对来自一个或多个数据源112的一个或多个数据日志的实时处理。如果被配置为gpu,则电路124可以被设计成具有数千个同时运行的处理器内核,其中每个内核都专注于进行高效的计算。授予patterson等人的名称为“用于在数据科学中执行数据分析操作的图形处理单元系统(graphics processing unit systems for performing data analytics operations in data science)”的美国专利申请第16/596,755号中描述了可以用于执行(一个或多个)神经网络132的gpu架构的合适但非限制性的示例的附加细节,其全部内容通过引用并入本文。
43.无论被配置为gpu和/或cpu,处理器116的电路124都可以被配置为以高效的方式执行(一个或多个)神经网络132,从而使能实时处理从各种数据源112接收到的数据日志。当执行(一个或多个)神经网络132的处理器116处理/解析数据日志时,神经网络132的输出可以被提供给数据日志储存库140。在一些实施方式中,当执行(一个或多个)神经网络132的处理器116处理不同数据格式和数据结构的各种数据日志时,(一个或多个)神经网络132的输出可以作为组合数据日志144存储在数据日志储存库140中。组合数据日志144可以存储为适合于存储数据日志或来自数据日志的信息的任何格式。用于存储组合数据日志144的格式的非限制性示例包括电子表格、表格、分隔文件、文本文件等。
44.处理系统108还可以被配置为分析存储在数据日志储存库140中的(一个或多个)数据日志(例如,在直接从数据源112接收到的数据日志已经被(一个或多个)神经网络132处理/解析之后)。处理系统108可以被配置为通过用处理器116执行数据日志评估136来单独地或作为组合数据日志144的一部分来分析(一个或多个)数据日志。在一些实施方式中,数据日志评估136可由不同于用于执行神经网络132的处理器116来执行。类似地,用于存储(一个或多个)神经网络132的(一个或多个)存储器装置可以对应于或可以不对应于用于存储数据日志评估136的指令的(一个或多个)相同存储器装置。在一些实施方式中,数据日志评估136存储在与(一个或多个)神经网络132不同的存储器装置128中,并且与使用gpu架构来执行神经网络132相比,可以使用cpu架构来执行。
45.在一些实施方式中,处理器116在执行数据日志评估136时,可以被配置为分析组合数据日志144,基于组合数据日志144的分析检测可动作事件,并且将可动作事件转移到系统管理员152的通信装置148。在一些实施方式中,可动作事件可以对应于网络威胁的检测(例如,对计算系统100的攻击、计算系统100中恶意代码的存在、计算系统100中的网络钓鱼企图、计算系统100中的数据泄露等)、数据异常、计算系统100中用户的行为异常、计算系统100中应用的行为异常、计算系统100中装置的行为异常等。
46.如果处理器116在执行数据日志评估136时检测到可动作数据事件,则可以向由系统管理员152操作的通信装置148提供报告或警报。提供给通信装置148的报告或警报可以包括导致可动作数据事件的机器/数据源112的识别。替代地或附加地,报告或警报提供与数据源112生成导致可动作数据事件的数据日志的时间相关的信息。报告或警报可以作为电子消息、电子邮件、短消息服务(sms)消息、听觉指示、视觉指示等中的一个或多个提供给通信装置148。通信装置148可以对应于被配置为从处理系统108接收电子通信并且向系统管理员152呈现来自电子通信的信息的任何类型的网络连接装置(例如,pc、膝上型计算机、智能电话、蜂窝电话、可穿戴装置、pos装置等)。
47.在一些实施方式中,数据日志评估136可以作为存储在存储器128中的指令的警报分析集来提供,并且可由处理器116执行。数据日志评估136的非限制性示例如下示出:
48.上面所示的说明性数据日志评估136代码,当由处理器116执行时,可以使处理器116能够读取网络警报,按天汇总网络警报,并且核算跨多天的滚动z分数值,以在警报量中寻找异常值。
49.现在参考图2和图3,将根据本公开的至少一些实施方式描述神经网络训练架构和方法的附加细节。训练224中的神经网络可由训练引擎220训练。在被充分训练后,训练引擎220最终可以产生经过训练的神经网络132,所述经过训练的神经网络132可以被存储在处理系统108的存储器128中,并且被处理器116用来处理/解析来自数据源112的数据日志。
50.在一些实施方式中,训练引擎220可以从标记器212接收标记的输入216。标记器212可以被配置为从多个不同类型的机器204a-n接收训练数据208a-n。在一些实施方式中,每种类型的机器204a-n可以被配置为生成不同类型的训练数据208a-n,所述不同类型的训练数据208a-n可以是原始数据日志、解析的数据日志、部分数据日志、降级数据日志、一段数据日志或已被划分成许多片段的数据日志的形式。在一些实施方式中,每个机器204a-n可以对应于不同数据源112,并且不同类型的训练数据208a-n中的一个或多个可以是来自数据源112的原始数据日志、来自数据源112的解析的数据日志、部分数据日志的形式。尽管一些训练数据208a-n作为原始数据日志被接收,但是其他训练数据208a-nb可以作为解析的数据日志被接收。
51.在一些实施方式中,标记器212和训练引擎220可以被配置为共同处理从不同类型的机器204a-n接收的训练数据208a-n。标记器212可以对应于支持日志/句子的非截断的子词标记器。标记器212可以被配置为返回编码张量、注意掩码和元数据,以重组损坏的数据日志。替代地或附加地,标记器212可以对应于单词片段标记器、句子片段标记器、基于字符的标记器或能够将数据日志标记为用于训练引擎220的标记的输入216的任何其他合适的标记器。
52.作为非限制性示例,标记器212和训练引擎220可以被配置为在整个数据日志上训练和测试训练224中的神经网络,所述整个数据日志都足够小以适合一个输入序列并且实现0.9995的微f1分数。然而,以此方式训练的模型可能无法解析大于最大模型输入序列的数据日志,并且当来自同一测试集的数据日志被改变为具有可变的起始位置(例如,微f1:0.9634)时或被切成更小的片段(例如,微f1:0.9456)时,模型性能可能会受到影响。为了阻止训练224模型中的神经网络学习字段的绝对位置,可在多条数据日志上对训练224中的神经网络进行训练。还可以可能期望在数据日志、降级数据日志和可变长度的数据日志或日志片段中的可变起始点上训练训练224模型中的神经网络。在一些实施方式中,训练引擎220可以包括使训练引擎220能够调整训练数据208a-n(或标记的输入216)的这些特征中的一个、一些或全部来增强训练224模型中的神经网络的训练的功能。具体地,但不限于,训练引擎220可以包括使能训练数据混洗228、起始点变化232、训练数据降级236和/或长度变化240的(一个或多个)部件。对训练数据的调整可以导致与固定起始位置类似的准确度,并且所得到的(一个或多个)经过训练的神经网络132可在可变起始位置(例如,微f1:0.9938)的日志片段上表现良好。
53.当训练引擎220在数据日志片段上训练训练224模型中的神经网络时,可以实现稳健且有效的经过训练的神经网络132。可以通过在推断之前将每个数据日志分成重叠的数据日志片段,然后从每个数据日志片段的中间一半重新组合和获取预测来测量经过训练的神经网络132的测试准确度。这允许模型在两个方向上具有最多的上下文来进行推理。当被适当训练时,经过训练的神经网络132可以表现出解析训练集之外的数据日志类型的能力(例如,不同于用于训练神经网络132的训练数据208a-n的类型的数据日志类型)。当在九个不同的windows事件日志类型中的每一个的仅1000个示例上训练时,经过训练的神经网络132可以被配置为准确地(例如,微f1:0.9645)解析以前从未见过的windows事件日志类型或来自非windows数据源112的数据日志。
54.图3描绘了可以对应于基于语言的神经网络的训练神经网络的说明性但非限制性
的方法300。方法300可以用于训练nlp机器学习模型,其是训练224中的神经网络的一个示例。方法300可以用于以预先训练的nlp模型开始,所述模型最初是在特定语言(例如,英语、日语、德语等)的数据语料库上训练的。当训练预先训练的nlp模型(有时称为微调)时,训练引擎220可在训练224中更新神经网络的内部权重和/或层。训练引擎220还可以被配置为向经过训练的神经网络132添加分类层。替代地,方法300可以用于从头开始训练模型。从头开始训练模型可以受益于使用许多数据源112和许多不同类型的机器204a-n,机器中的每个提供不同类型的训练数据208a-n。
55.无论是微调预先训练模型还是从头开始,方法300都可以通过获得初始训练数据208a-n开始(步骤304)。可以从不同类型的一个或多个机器204a-n接收训练数据208a-n。尽管图2示出了三种以上不同类型的机器204a-n,但是应理解,训练数据208a-n可以来自更多或更少数量的不同类型的机器204a-n。在一些实施方式中,不同类型的机器的数量n可以对应于大于或等于一的整数值。此外,训练数据的类型的数量不一定需要等于不同类型的机器的数量n。例如,两种不同类型的机器可以被配置为产生相同或类似类型的训练数据。
56.方法300可以通过确定在训练224中神经网络是否需要任何附加训练数据或不同类型的训练数据208a-n来继续(步骤308)。如果此查询得到肯定回答,则从适当的数据源112获得附加训练数据208a-n,所述附加训练数据208a-n可以对应于与提供的初始训练数据不同类型的机器204a-n。
57.此后,或如果步骤308的查询得到否定的回答,则方法300继续,标记器212对训练数据进行标记,并且为训练引擎220产生标记的输入216(步骤316)。应理解,标记步骤可以对应于可选步骤,并且无需在训练224中充分训练神经网络。在一些实施方式中,标记器212可以被配置为提供标记的输入216,所述标记的输入216通过嵌入、拆分单词和/或位置编码来标记训练数据。
58.方法300还可以包括将训练数据划分成数据日志片段的可选步骤(步骤320)。可以基于最终将在处理系统108中使用的存储器128的最大大小来选择数据日志片段的大小。可选的划分步骤可在训练数据已经被标记器212标记之前或之后执行。例如,标记器212可以接收已经被划分成适当大小的数据日志片段的训练数据208a-n。在一些实施方式中,可以为训练引擎220提供不同大小的日志片段。
59.除了可选地调整用于在训练224中训练神经网络的数据日志片段的大小之外,方法300还可以提供调整其他训练参数的能力。因此,方法300可以通过确定其他调整是否将用于在训练224中训练神经网络来继续(步骤324)。此类调整可以包括但不限于通过以下方式调整训练:(i)混洗训练数据228;(ii)改变训练数据232的起始点;(iii)降级至少一些训练数据236(例如,将错误注入训练数据或擦除训练数据的一些部分);以及/或(iv)改变训练数据或其部分的长度240(步骤328)。
60.训练引擎220可在各种类型的训练数据208a-n上训练训练224中的神经网络,直到确定训练224中的神经网络被充分训练(步骤332)。对训练是否充分/完成的确定可以基于定时部件(例如,训练224中的神经网络是否已经对训练数据208a-n进行了至少预定量的时间的训练)。替代地或附加地,确定训练是否足够/完整可以包括用未包括在训练数据208a-n中的新数据日志分析训练224中的神经网络的性能,以确定训练224中的神经网络是否能够以至少最小的所需准确度解析新数据日志。替代地或附加地,确定训练是否足够/完成可
以包括请求和接收指示训练完成的人类输入。如果步骤332的询问得到否定回答,则方法300继续训练(步骤336)并且返回到步骤324。
61.如果步骤332的询问得到肯定回答,则训练引擎220可以输出训练224中的神经网络作为经过训练的神经网络132,并且可以存储在存储器128中,用于来自数据源112的数据日志的后续处理(步骤340)。在一些实施方式中,可以基于神经网络132处理/解析实际数据日志来接收附加反馈(人类反馈或自动反馈)。此附加反馈可以用于在正式训练过程之外进一步训练或微调神经网络132(步骤344)。
62.现在参考图4至图6,将根据本公开的至少一些实施方式描述利用经过训练的神经网络132或多个经过训练的神经网络132来处理或解析来自数据源112的数据日志的附加细节。图4示出了其中可以采用(一个或多个)经过训练的神经网络132的说明性架构。在所描绘的示例中,多个不同类型的装置404a-m向(一个或多个)经过训练的神经网络132提供数据日志408a-m。不同类型的装置404a-m可以对应于也可以不对应于不同数据源112。在一些实施方式中,第一类型的装置404a可以不同于第二类型的装置404b,并且每个装置可以被配置为相应地向(一个或多个)经过训练的神经网络132提供数据日志408a、408b。如上所讨论的,(一个或多个)神经网络132可能已经被训练成处理基于语言的输入,并且在一些实施方式中,可以包括nlp机器学习模型。
63.数据日志408a-m中的一个、一些或全部可以以生成数据日志408a-m的装置404a-m的类型所固有的格式被接收。例如,第一数据日志408a可以以第一类型的装置404a所固有的格式(例如,原始数据格式)被接收,第二数据日志408b可以以第二类型的装置404b所固有的格式被接收,第三数据日志408c可以以第三类型的装置404c所固有的格式被接收

,并且第m数据日志408m可以以第m类型的装置404m所固有的格式被接收,其中m是大于或等于一的整数值。数据日志408a-m不一定需要以相同的格式提供。相反,可以以不同于其他数据日志408a-m的格式提供数据日志408a-m中的一个或多个。
64.数据日志408a-m可以对应于完整数据日志、部分数据日志、降级数据日志、原始数据日志或其组合。在一些实施方式中,数据日志408a-m中的一个或多个可以对应于原始数据日志的替代表示或结构化转换。例如,提供给(一个或多个)神经网络132的一个或多个数据日志408a-m可以包括去重的数据日志、数据日志的摘要、清除的数据日志(例如,具有从中移除或混淆的敏感/个人可识别信息(pii)信息的数据日志)、其组合等。在一些实施方式中,在数据流中直接从生成数据日志的数据源112接收数据日志408a-m中的一个或多个。例如,第一类型的装置404a可以对应于数据源112,所述数据源112使用适合于通过通信网络104传输数据日志的任何类型的通信协议将第一数据日志408a作为数据流传输。作为更具体但非限制性的示例,数据日志408a-m中的一个或多个可以对应于网络日志,所述网络日志包括通过通信网络104从一个机器传送到另一机器的安全数据。
65.因为(一个或多个)数据日志408a-m可以以固有格式提供给神经网络132,所以(一个或多个)数据日志408a-m可以包括由经由通信网络104通信的机器生成的各种类型的数据或数据字段。说明性地,一个或多个数据日志408a-m可以包括文件路径名、互联网协议(ip)地址、媒体访问控制(mac)地址、时间戳、十六进制值、传感器读数、用户名、账户名、域名、超链接、主机系统元数据、连接持续时间信息、通信协议信息、通信端口识别和/或原始数据净荷。包含在(一个或多个)数据日志408a-m中的数据的类型可以取决于生成(一个或
多个)数据日志408a-m的装置404a-m的类型。例如,对应于通信端点的数据源112可在数据日志408中包括应用信息、用户行为信息、网络连接信息等,而对应于网络装置或网络边界装置的数据源112可以包括与网络连通性、网络行为、服务质量(qos)信息、连接时间、端口使用等相关的信息。
66.在一些实施方式中,(一个或多个)数据日志408a-m可以首先被提供给预处理阶段412。预处理阶段412可以被配置为在将数据日志传递到神经网络132之前标记数据日志408a-m中的一个或多个。预处理阶段412可以包括类似于标记器212的标记器,其使得预处理阶段412能够使用单词嵌入、拆分单词和/或位置编码来标记(一个或多个)数据日志408a-m。
67.预处理阶段412还可以被配置为执行其他预处理任务,诸如将数据日志408划分成多个数据日志片段,然后将数据日志片段提供给神经网络132。数据日志片段的大小可以彼此不同,并且可以彼此重叠或不重叠。例如,一个数据日志片段可能与另一个数据日志片段具有一定量的重叠或公共内容。可以基于存储器128的限制和/或处理器116的限制来确定数据日志片段的最大大小。替代地或附加地,可以基于在神经网络132的训练期间使用的训练数据232的大小来确定数据日志片段的大小。预处理阶段412替代地或附加地被配置为执行预处理技术,其包括去重处理、摘要处理、敏感数据清理/混淆等。
68.应理解,(一个或多个)数据日志408a-m不一定需要完整或没有降级。换句话说,如果神经网络132已经被充分训练,则神经网络132有可能成功地解析不完整的数据日志408a-m和/或降级的数据日志408a-m,所述不完整的数据日志408a-m和/或降级的数据日志408a-m缺少在数据源112处生成数据日志408a-m时包括的至少一些信息。此类丢失可能由于网络连接问题(例如,丢失分组、延迟、噪声等)而发生,因此可能期望训练神经网络132以适应不完美数据日志408a-m的可能性。
69.神经网络132可以被配置为解析(一个或多个)数据日志408a-m,并且构建可以存储在数据日志储存库140中的输出416。作为示例,神经网络132可以提供输出416,所述输出416包括已经被解析的不同数据日志408a-m的重构的全键/值。在一些实施方式中,神经网络132可以解析不同格式的数据日志408a-m,无论此类格式对于神经网络132是已知的还是未知的,并且生成表示不同数据日志408a-m的组合的输出416。具体地,当神经网络132解析不同数据日志408a-m时,神经网络132基于解析每个数据日志408a-m而生成的输出可以以公共数据格式存储为组合数据日志144的一部分。
70.在一些实施方式中,神经网络132的输出416可以对应于组合数据日志144的条目、组合数据日志144的一组条目、或组合数据日志144要引用的新数据。输出416可以存储在组合数据日志144中,以便使处理器116能够执行数据日志评估136,并且在组合数据日志144中搜索可动作事件。
71.现在参考图4和图5,将根据本公开的至少一些实施方式描述处理数据日志408a-m的方法500。方法500可以从从各种数据源112接收数据日志408a-m开始(步骤504)。一个或多个数据源112可以对应于第一类型的装置404a,其他数据源112可以对应于第二类型的装置404b,其他数据源112可以对应于第三类型的装置404c,

,而其他数据源112可以对应于第m类型的装置404m。不同数据源112可以提供不同类型和/或格式的数据日志408a-m,所述不同类型和/或格式的数据日志408a-m对于神经网络132可以是已知的或未知的。
72.方法500可以继续在预处理阶段412对(一个或多个)数据日志408a-m进行预处理(步骤508)。预处理可以包括标记一个或多个数据日志408a-m和/或将一个或多个数据日志408a-m划分成更小的数据日志片段。预处理的数据日志408a-m然后可以被提供给神经网络132(步骤512),在所述神经网络132处数据日志408a-m被解析(步骤516)。
73.基于解析步骤,神经网络132可以建立输出416(步骤520)。可以以组合数据日志144的形式提供输出416,所述输出416可以存储在数据日志储存库140中(步骤524)。
74.方法500可以通过使处理器116能够分析数据日志储存库140和其中包含的数据(例如,组合数据日志144)来继续(步骤528)。处理器116可以通过执行存储在存储器128中的数据日志评估136来分析数据日志储存库140。基于对数据日志储存库140和其中包含的数据的分析,方法500可以通过确定是否已经检测到可动作数据事件来继续(步骤532)。如果查询得到肯定回答,则处理器116可以被配置为生成警报,所述警报被提供给由系统管理员152操作的通信装置148(步骤536)。警报可以包括描述可动作数据事件的信息,可能包括触发可动作数据事件的数据日志408、产生触发可动作数据事件的数据日志408的数据源112、和/或是否已经检测到与可动作数据事件有某种关系的任何其他数据异常。
75.此后,或在步骤532的查询得到否定回答的情况下,方法500可以继续处理器116等待数据日志储存库140中的另一个改变(步骤540),这可以基于或可以不基于在步骤504处接收到新数据日志。在一些实施方式中,所述方法可以返回到步骤504或步骤528。
76.现在参考图6,将根据本公开的至少一些实施方式描述预处理数据日志408的方法600。当在预处理阶段412接收到一个或多个数据日志408a-m时,方法600可以开始(步骤604)。数据日志408a-m可以对应于原始数据日志、解析的数据日志、降级数据日志、有损数据日志、不完整数据日志等。在一些实施方式中,在步骤604中接收到的(一个或多个)数据日志408a-m可以作为数据流(例如,ip数据流)的一部分被接收。
77.方法600可以继续预处理阶段412确定至少一个数据日志408将被划分成日志片段(步骤608)。在此确定之后,预处理阶段412可以将数据日志408划分成适当大小的日志片段(步骤612)。数据日志408可以被划分成大小相等的日志片段,或数据日志408可以被划分成不同大小的日志片段。
78.此后,预处理阶段412可以将数据日志片段提供给神经网络132用于解析(步骤616)。在一些实施方式中,可以基于用于训练神经网络132的训练数据208a-n的特征来选择数据日志片段的大小和可变性。
79.在描述中给出了具体细节以提供对实施方式的透彻理解。然而,本领域普通技术人员将理解,可在没有这些具体细节的情况下实践实施方式。在其他情况下,可能在没有不必要的细节的情况下示出公知的电路、过程、算法、结构和技术,以避免模糊实施方式。
80.尽管本文已经详细描述了本公开的说明性实施方式,但是应理解,本公开的概念可以以其他方式不同地实施和采用,并且除非受到现有技术的限制,否则所附权利要求意图被解释为包括这些变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献