首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 半监督学习 / 基于半监督学习的异常流量检测模型训练方法及装置

基于半监督学习的异常流量检测模型训练方法及装置

阅读:468发布:2020-05-11

专利汇可以提供基于半监督学习的异常流量检测模型训练方法及装置专利检索,专利查询,专利分析的服务。并且本 说明书 的 实施例 提供了一种基于半 监督学习 的异常流量检测模型训练方法及装置。在该方法中,获取异常流量检测模型的训练样本集,训练样本集包括有标记训练样本集和无标记训练样本集;通过使用当前训练样本集来对当前异常流量检测模型进行 半监督学习 训练,直到满足训练结束条件,该训练结束条件包括:当前模型训练过程中针对当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对当前无标记训练样本集的异常预测率的变化率不大于预定 阈值 。利用该方法,可以在保护数据隐私的情况下实现模型训练。,下面是基于半监督学习的异常流量检测模型训练方法及装置专利的具体信息内容。

1.一种基于半监督学习的异常流量检测模型训练方法,包括:
获取异常流量检测模型的训练样本集,所述训练样本集包括有标记训练样本集和无标记训练样本集,所述有标记训练样本中的各个训练样本具有访问流量特征数据以及标记数据,所述无标记训练样本集中的各个训练样本具有访问流量特征数据;
基于当前训练样本集对当前异常流量检测模型进行半监督学习训练,直到满足训练结束条件,其中,在未满足训练结束条件时,对当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,所述训练结束条件包括:当前模型训练过程中针对当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对所述当前无标记训练样本集的异常预测率的变化率不大于预定阈值
2.如权利要求1所述的异常流量检测模型训练方法,还包括:
在未满足训练结束条件时,
对所述训练样本集中的训练样本进行聚类;
根据所述聚类结果,从所述当前无标记训练样本集中确定所述至少一个待标记训练样本。
3.如权利要求2所述的异常流量检测模型训练方法,其中,根据所述聚类结果,从所述当前无标记训练样本集中确定所述至少一个待标记训练样本包括:
将所述当前无标记训练样本集中的所述聚类结果为离群点的训练样本,确定为所述至少一个待标记训练样本。
4.如权利要求2所述的异常流量检测模型训练方法,其中,根据所述聚类结果,从所述当前无标记训练样本集中确定所述至少一个待标记训练样本包括:
从所述聚类结果中的各个聚类中选择出至少一个目标聚类;以及
将所述至少一个目标聚类中的无标记训练样本,确定为所述至少一个待标记训练样本。
5.如权利要求4所述的异常流量检测模型训练方法,其中,从所述聚类结果中的各个聚类中选择出至少一个目标聚类包括:
针对所述聚类结果中的各个聚类,确定该聚类中的有标记训练样本在总有标记训练样本中的有标记样本占比;
根据各个聚类的有标记样本占比,确定所述至少一个目标聚类。
6.如权利要求1所述的异常流量检测模型训练方法,还包括:
在未满足训练结束条件时,将所述当前无标记样本集中的位于预定分类概率区间之内的训练样本确定为所述至少一个待标记训练样本。
7.如权利要求1到6中任一所述的异常流量检测模型训练方法,其中,在未满足训练结束条件时,采用主动学习方式来对所述当前无标记训练样本集中的至少一个训练样本标注标记以加入所述当前有标记训练样本集来进行下一模型训练过程。
8.一种基于半监督学习的异常流量检测模型训练装置,包括:
训练样本集获取单元,获取异常流量检测模型的训练样本集,所述训练样本集包括有标记训练样本集和无标记训练样本集,所述有标记训练样本中的各个训练样本具有访问流量特征数据以及标记数据,所述无标记训练样本集中的各个训练样本具有访问流量特征数据;
模型训练单元,基于当前训练样本集对当前异常流量检测模型进行半监督学习训练,直到满足训练结束条件,其中,在未满足训练结束条件时,对当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,所述训练结束条件包括:当前模型训练过程中针对当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对所述当前无标记训练样本集的异常预测率的变化率不大于预定阈值。
9.如权利要求8所述的异常流量检测模型训练装置,其中,所述模型训练单元包括:
模型预测模,将当前训练样本集提供给当前异常流量检测模型来进行异常预测,以确定针对当前无标记训练样本集中的各个当前无标记训练样本的当前异常预测率;
变化率确定模块,确定所述各个当前无标记训练样本的当前异常预测率相对于上一模型训练过程中针对所述各个当前无标记训练样本的上一异常预测率的变化率;以及样本标记模块,在所确定出的变化率大于预定阈值时,对所述当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,
其中,所述模型预测模块、所述变化量确定模块和所述样本标记模块循环操作,直到满足所述训练结束条件。
10.如权利要求9所述的异常流量检测模型训练装置,其中,所述样本标记模块包括:
待标记样本确定子模块,从所述当前无标记训练样本集中确定至少一个待标记训练样本;以及
样本标记子模块,对所确定出的至少一个待标记训练样本标注标记以加入所述当前有标记训练样本集。
11.如权利要求10所述的异常流量检测模型训练装置,其中,所述待标记样本确定子模块:
对所述训练样本集中的训练样本进行聚类;
根据所述聚类结果,从所述当前无标记训练样本集中确定所述至少一个待标记训练样本。
12.如权利要求11所述的异常流量检测模型训练装置,其中,所述待标记样本确定子模块:
将当前无标记训练样本集中的所述聚类结果为离群点的训练样本,确定为所述至少一个待标记训练样本。
13.如权利要求11所述的异常流量检测模型训练装置,其中,所述待标记样本确定子模块:
从所述聚类结果中的各个聚类中选择出至少一个目标聚类;以及
将所述至少一个目标聚类中的无标记训练样本,确定为所述至少一个待标记训练样本。
14.如权利要求13所述的异常流量检测模型训练装置,其中,所述待标记样本确定子模块:
针对所述聚类结果中的各个聚类,确定该聚类中的有标记训练样本在总有标记训练样本中的有标记样本占比;
根据各个聚类的有标记样本占比,确定所述至少一个目标聚类。
15.如权利要求10所述的异常流量检测模型训练装置,其中,所述待标记样本确定子模块:
将所述当前无标记样本集中的位于预定分类概率区间之内的训练样本确定为所述至少一个待标记训练样本。
16.一种电子设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到7中任一所述的方法。
17.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到7中任一所述的方法。

说明书全文

基于半监督学习的异常流量检测模型训练方法及装置

技术领域

[0001] 本说明书实施例涉及互联网领域,具体地,涉及一种基于半监督学习的异常流量检测模型训练方法及装置。

背景技术

[0002] 随着网络技术的飞速发展,网络技术已经融入到了人们生活中的方方面面,例如网络打车、网络购票等。但是,网络给人们所带来的诸多便利的同时,也给人们生活也带来了一些险,例如用户隐私信息泄露的风险。
[0003] 目前,黑客可以不断调整针对运营方服务器的攻击方式,以绕过防火墙等安全设施而入侵访问服务器。然而,由于攻击风险类型的多样化而导致运营方的安全防护策略一般难以全面覆盖,无法防范多样化的异常流量。
[0004] 针对上述问题,目前业界暂无较佳的解决方案。发明内容
[0005] 鉴于上述问题,本说明书的实施例提供了一种基于半监督学习的异常流量检测模型训练方法及装置。利用该方法及装置,采用半监督学习方式对异常流量检测模型进行训练,在连续的模型训练过程中丰富有标记训练样本集,并通过针对异常预测率的变化率来确定是否结束训练过程,能够实现在尽量少地应用标记训练样本的同时还保障了异常流量检测模型的性能,可以有效检测异常流量,有利于保护数据隐私。
[0006] 根据本说明书实施例的一个方面,提供了一种基于半监督学习的异常流量检测模型训练方法,包括:获取异常流量检测模型的训练样本集,所述训练样本集包括有标记训练样本集和无标记训练样本集,所述有标记训练样本中的各个训练样本具有访问流量特征数据以及标记数据,所述无标记训练样本集中的各个训练样本具有访问流量特征数据;基于当前训练样本集对当前异常流量检测模型进行半监督学习训练,直到满足训练结束条件,其中,在未满足训练结束条件时,对当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,所述训练结束条件包括:当前模型训练过程中针对当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对所述当前无标记训练样本集的异常预测率的变化率不大于预定阈值
[0007] 可选地,在上述方面的一个示例中,所述方法还可以包括:在未满足训练结束条件时,对所述训练样本集中的训练样本进行聚类;根据所述聚类结果,从所述当前无标记训练样本集中确定所述至少一个待标记训练样本。
[0008] 可选地,在上述方面的一个示例中,根据所述聚类结果,从所述当前无标记训练样本集中确定所述至少一个待标记训练样本可以包括:将所述当前无标记训练样本集中的所述聚类结果为离群点的训练样本,确定为所述至少一个待标记训练样本。
[0009] 可选地,在上述方面的一个示例中,根据所述聚类结果,从所述当前无标记训练样本集中确定所述至少一个待标记训练样本可以包括:从所述聚类结果中的各个聚类中选择出至少一个目标聚类;以及将所述至少一个目标聚类中的无标记训练样本,确定为所述至少一个待标记训练样本。
[0010] 可选地,在上述方面的一个示例中,从所述聚类结果中的各个聚类中选择出至少一个目标聚类包括:针对所述聚类结果中的各个聚类,确定该聚类中的有标记训练样本在总有标记训练样本中的有标记样本占比;根据各个聚类的有标记样本占比,确定所述至少一个目标聚类。
[0011] 可选地,在上述方面的一个示例中,还可以包括:在未满足训练结束条件时,将所述当前无标记样本集中的位于预定分类概率区间之内的训练样本确定为所述至少一个待标记训练样本。
[0012] 可选地,在上述方面的一个示例中,在未满足训练结束条件时,采用主动学习方式来对所述当前无标记训练样本集中的至少一个训练样本标注标记以加入所述当前有标记训练样本集来进行下一模型训练过程。
[0013] 根据本说明书实施例的另一方面,提供了一种基于半监督学习的异常流量检测模型训练装置,包括:训练样本集获取单元,获取异常流量检测模型的训练样本集,所述训练样本集包括有标记训练样本集和无标记训练样本集,所述有标记训练样本中的各个训练样本具有访问流量特征数据以及标记数据,所述无标记训练样本集中的各个训练样本具有访问流量特征数据;模型训练单元,基于当前训练样本集对当前异常流量检测模型进行半监督学习训练,直到满足训练结束条件,其中,在未满足训练结束条件时,对当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,所述训练结束条件包括:当前模型训练过程中针对当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对所述当前无标记训练样本集的异常预测率的变化率不大于预定阈值。
[0014] 可选地,在上述方面的一个示例中,所述模型训练单元可以包括:模型预测模,将当前训练样本集提供给当前异常流量检测模型来进行异常预测,以确定针对当前无标记训练样本集中的各个当前无标记训练样本的当前异常预测率;变化率确定模块,确定所述各个当前无标记训练样本的当前异常预测率相对于上一模型训练过程中针对所述各个当前无标记训练样本的上一异常预测率的变化率;以及样本标记模块,在所确定出的变化率大于预定阈值时,对所述当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,其中,所述模型预测模块、所述变化量确定模块和所述样本标记模块循环操作,直到满足所述训练结束条件。
[0015] 可选地,在上述方面的一个示例中,所述样本标记模块可以包括:待标记样本确定子模块,从所述当前无标记训练样本集中确定至少一个待标记训练样本;以及样本标记子模块,对所确定出的至少一个待标记训练样本标注标记以加入所述当前有标记训练样本集。
[0016] 可选地,在上述方面的一个示例中,所述待标记样本确定子模块对所述训练样本集中的训练样本进行聚类,并根据所述聚类结果来从所述当前无标记训练样本集中确定所述至少一个待标记训练样本。
[0017] 可选地,在上述方面的一个示例中,所述待标记样本确定子模块将当前无标记训练样本集中的所述聚类结果为离群点的训练样本,确定为所述至少一个待标记训练样本。
[0018] 可选地,在上述方面的一个示例中,所述待标记样本确定子模块从所述聚类结果中的各个聚类中选择出至少一个目标聚类,以及将所述至少一个目标聚类中的无标记训练样本来确定为所述至少一个待标记训练样本。
[0019] 可选地,在上述方面的一个示例中,所述待标记样本确定子模块针对所述聚类结果中的各个聚类来确定该聚类中的有标记训练样本在总有标记训练样本中的有标记样本占比,并根据各个聚类的有标记样本占比来确定所述至少一个目标聚类。
[0020] 可选地,在上述方面的一个示例中,所述待标记样本确定子模块可以将所述当前无标记样本集中的位于预定分类概率区间之内的训练样本确定为所述至少一个待标记训练样本。
[0021] 根据本说明书的实施例的另一方面,还提供一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的基于半监督学习的异常流量检测模型训练方法。
[0022] 根据本说明书的实施例的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的基于半监督学习的异常流量检测模型训练方法。附图说明
[0023] 通过参照下面的附图,可以实现对于本说明书的实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本说明书的实施例,但并不构成对本说明书的实施例的限制。在附图中:
[0024] 图1示出了根据本说明书的实施例的基于半监督学习的异常流量检测模型训练方法的一示例的流程图
[0025] 图2示出了根据本说明书的实施例的在未满足训练结束条件时标注待标记训练样本的过程的一示例的流程图;
[0026] 图3示出了根据本说明书的实施例的从当前无标记训练样本集中确定待标记训练样本的过程的一示例的流程图;
[0027] 图4示出了根据本说明书的实施例的根据聚类结果来确定待标记训练样本的一示例的流程图;
[0028] 图5示出了根据本说明书的实施例的从聚类结果中的各个聚类中选择出至少一个目标聚类的一示例的流程图;
[0029] 图6示出了根据本说明书的实施例的基于半监督学习的异常流量检测模型训练装置的一示例的结构框图
[0030] 图7示出了根据本说明书的实施例的模型训练单元的一示例的结构框图;
[0031] 图8示出了根据本说明书的实施例的样本标记模块的一示例的结构框图;
[0032] 图9示出了根据本说明书的实施例的基于半监督学习的异常流量检测模型训练的电子设备的一示例的硬件结构图;和
[0033] 图10示出了适于应用本说明书的实施例的基于异常流量检测模型的异常流量检测装置的一示例的架构示意图。

具体实施方式

[0034] 以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书的实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
[0035] 如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
[0036] 术语“主动学习”可以表示通过算法主动提出需要对哪些样本进行标注,这部分样本经人工标注完后加入训练样本集进行训练。术语“聚类”表示将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程,其可以用来衡量数据源中不同数据之间的相似性,并能将数据源分类到不同的簇中。
[0037] 此外,术语“异常流量”可以表示针对服务端的非正常的访问请求,例如恶意攻击请求或黑产访问请求,等等。
[0038] 图1示出了根据本说明书的实施例的基于半监督学习的异常流量检测模型训练方法的一示例的流程图。
[0039] 如图1所示的流程100中,在块110中,获取异常流量检测模型的训练样本集,训练样本集包括有标记训练样本集和无标记训练样本集。具体地,有标记训练样本中的各个训练样本具有访问流量特征数据以及标记数据,无标记训练样本集中的各个训练样本具有访问流量特征数据而不具有对应的标记数据。这里,访问流量特征数据可以是诸如URL、HTTP请求和用户属性之类的信息的特征数据,例如URL长度、URL内容信息、URL信息熵、HTTP请求头和HTTP请求体信息等。
[0040] 此外,针对有标记训练样本集中的训练样本的标记数据包括用于指示存在异常流量风险的正标签和用于指示无异常流量风险的负标签,也就是说,有标记训练样本集包括正标签训练样本和负标签训练样本。在一些实施方式中,当正标签训练样本和负标签训练样本相差较大时,可以采用样本平衡方式来平衡正标签样本和负标签样本的数量。示例性地,当有标记训练样本集中的正标签训练样本相对于负标签训练样本的数量占比低于设定比例阈值时,针对正标签训练样本进行上采样处理,以实现对正标签训练样本的数量进行扩充。
[0041] 接着,可以基于当前训练样本集对当前异常流量检测模型进行半监督学习训练,即,循环执行块120到150的操作,直到满足训练结束条件,训练结束条件包括:当前模型训练过程中针对当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对当前无标记训练样本集的异常预测率的变化率不大于预定阈值。这里,在不同轮次的模型训练过程中,异常流量检测模型所使用的训练样本集是不一样的,从而使得训练出的异常流量检测模型不同,进而针对当前无标记训练样本集中的各个无标记训练样本,当前异常流量检测模型和上一异常流量检测模型的异常预测率可能也会发生变化。
[0042] 具体地,在块120中,将当前训练样本集提供给当前异常流量检测模型来进行异常预测,以确定针对当前无标记训练样本集中的各个当前无标记训练样本的当前异常预测率。这里,当前异常预测率可以是使用当前异常流量检测模型针对当前无标记训练样本集中的各个无标记训练样本进行异常预测而得到的异常预测率。
[0043] 接着,在块130中,确定各个当前无标记训练样本的当前异常预测率相对于上一模型训练过程中针对各个当前无标记训练样本的上一异常预测率的变化率。这里,随着模型训练过程的连续进行,在不同模型训练过程中所使用的无标记训练样本集是不一样的。示例性地,如果当前无标记训练样本集中存在80个无标记训练样本,而在上一无标记训练样本集中可能会存在100个无标记训练样本,则可以使用当前异常流量检测模型和上一异常流量检测模型来确定当前无标记训练样本集中的80个无标记训练样本中的每一者的异常预测率,并计算出各个无标记训练样本的两次异常预测率的差值,并根据当前无标记训练样本集中的各个无标记训练样本(即,80个无标记训练样本)的异常预测率的差值来计算出异常率的变化率,例如,可以计算各个无标记训练样本的异常预测率的差值的平均值,作为异常率的变化率。
[0044] 接着,在块140中,判断所确定出的变化率是否大于预定阈值。这里,该预定阈值可以是通过经验或多次实验而预先确定的。如果在块140中变化率大于预定阈值,则执行块150的操作。另外,在进行首轮次的迭代训练操作时,不存在异常预测率的变化率,此时可以直接进行之后的如块150的操作。
[0045] 在块150中,可以对当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集,以得到经过调整后的训练样本集,然后返回到块120,将经过调整后的训练样本集作为当前训练样本集来进行下一模型训练过程。
[0046] 如果在块140中变化率不大于预定阈值,则训练结束。
[0047] 如上面所描述的,下一轮次的模型训练过程所对应的有标记训练样本集会比上一轮次的模型训练过程所对应的有标记训练样本集更加丰富。因此,如果在当前轮次的模型训练过程中使用更丰富的有标记训练样本集,而相对于上一模型训练过程没有在预测结果上实现较明显的变化或优化效果(即,当前无标记训练样本集对应的异常预测率的变化率较低),则可以确定此模型已经基本收敛。反之,如果新加入的有标记训练样本使得连续两轮模型训练过程所对应的预测结果产生较大的波动,则说明此模型可能还需要进一步优化,例如可能会需要加入更多新的有标记训练样本。
[0048] 图2示出了根据本说明书的实施例的在未满足训练结束条件时标注待标记训练样本的过程的一示例的流程图。
[0049] 如图2所示的流程200,在块210中,从当前无标记训练样本集中确定至少一个待标记训练样本。例如,可以通过随机方式或特定方式来从当前无标记训练样本集中确定待标记训练样本。
[0050] 接着,在块220中,对所确定出的至少一个待标记训练样本标注标记以加入当前有标记训练样本集。相应地,将该已标注标记的至少一个无标记训练样本从当前无标记训练样本集中移除,从而得到新的当前无标记训练样本集和新的当前有标记训练样本集。
[0051] 在本说明书的实施例的一个示例中,在未满足训练结束条件时,可以采用主动学习方式来对当前无标记训练样本集中的至少一个训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程。示例性地,可以基于各种样本选择算法(例如,聚类算法或其他选择算法)来在当前无标记训练样本集中确定至少一个待标记训练样本,并将所确定的至少一个待标记训练样本提供给专家或研发人员,以由专家或研发人员标注相应的标记,并对有标记训练样本集和无标记训练样本集进行更新。由此,在每一轮次的模型训练过程中,通过主动学习的方式筛选无标记训练样本进行标注以丰富有标记训练样本集直到模型收敛,可以保障异常流量检测模型具有较高性能。
[0052] 图3示出了根据本说明书的实施例的在未满足训练结束条件时,从当前无标记训练样本集中确定待标记训练样本的过程的一示例的流程图。
[0053] 如图3所示的流程300,在块310中,对训练样本集中的训练样本进行聚类。例如,可以采用诸如K-means算法、密度聚类算法之类的各种类型的聚类算法进行聚类。
[0054] 接着,在块320中,根据聚类结果,从当前无标记训练样本集中确定至少一个待标记训练样本。这里,聚类结果可以是通过聚类算法所确定的聚类和/或离群点。
[0055] 在本说明书的实施例的一个示例中,可以将当前无标记训练样本集中的聚类结果为离群点的训练样本,确定为至少一个待标记训练样本。这里,离群点所对应的训练样本是与其他的各个聚类所对应的训练样本群之间存在显著差异的,从离群点所对应的当前无标记训练样本上更容易找到先前被忽略的或未知异常流量类型的样本。进而,通过将对应离散点的当前无标记训练样本进行标注,可以提高异常流量检测模型针对更多先前被忽略的或未知异常类型的样本的识别能,提升模型的性能。
[0056] 图4示出了根据本说明书的实施例的根据聚类结果来确定待标记训练样本的一示例的流程图。
[0057] 如图4所示的流程400,在块410中,从聚类结果中的各个聚类中选择出至少一个目标聚类。示例性地,可以根据聚类的大小,选择足够大(例如超过阈值)的聚类作为目标聚类。应理解的是,还可以通过其他的方式来选择目标聚类,更多细节将在下文中展开。
[0058] 接着,在块420中,将至少一个目标聚类中的无标记训练样本,确定为至少一个待标记训练样本。由此,基于目标聚类所确定的各个待标记训练样本之间是存在共性的,使得研发人员或专家能够更容易地对各个训练样本标注上对应的标记数据,可以有效降低人工标记工作的负担。
[0059] 图5示出了根据本说明书的实施例的从聚类结果中的各个聚类中选择出至少一个目标聚类的一示例的流程图。
[0060] 如图5所示的流程500,在块510中,针对聚类结果中的各个聚类,确定该聚类中的有标记训练样本在总有标记训练样本中的有标记样本占比。这里,在聚类结果中的各个聚类所包含的有标记训练样本的数量可能是不一样的,例如在第一聚类中具有100个有标记样本,而在第二聚类中具有2个有标记样本(即,有标记样本占比过低),导致有标记样本在不同聚类上会出现分布不平衡的情况。
[0061] 接着,在块520中,根据各个聚类的有标记样本占比,确定至少一个目标聚类。例如,可以将有标记样本占比低于设定比例阈值的聚类确定为目标聚类。由此,可以确保目标聚类中的有标记样本占比是较低的,选择该聚类来作为目标聚类,可以有助于平衡不同聚类中的有标记训练样本的数量,从而提高模型的泛化能力。
[0062] 需说明的是,在本说明书的实施例中,除了如图3-5中通过聚类的方式来确定待标记训练样本之外,还可以使用其他方式来确定待标记训练样本。
[0063] 在本说明书实施例的一个示例中,在未满足训练结束条件时,将当前无标记样本集中的位于预定分类概率区间之内的训练样本确定为至少一个待标记训练样本。这里,预定分类概率区间可用于根据样本的异常率来将异常流量样本和正常流量样本进行区分。举例来说,当针对样本所预测的异常率可以是选自0~1的值时,预定分类概率区间可以是在0.5附近的0.45~0.55。由此,通过选择对应预定分类概率区间的至少一个无标记训练样本进行标记,丰富有标记训练样本,能够提高异常流量检测模型针对正常数据样本和异常数据样本的识别能力。
[0064] 图6示出了根据本说明书的实施例的基于半监督学习的异常流量检测模型训练装置的一示例的结构框图。
[0065] 如图6所示,模型训练装置600包括训练样本集获取单元610和模型训练单元620。
[0066] 训练样本集获取单元610被配置为获取异常流量检测模型的训练样本集,所述训练样本集包括有标记训练样本集和无标记训练样本集,所述有标记训练样本中的各个训练样本具有访问流量特征数据以及标记数据,所述无标记训练样本集中的各个训练样本具有访问流量特征数据。训练样本集获取单元610的操作可以参照上面参考图1中的块110所描述的操作。
[0067] 模型训练单元620被配置为基于当前训练样本集对当前异常流量检测模型进行半监督学习训练,直到满足训练结束条件,其中,在未满足训练结束条件时,对当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,所述训练结束条件包括:当前模型训练过程中针对当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对所述当前无标记训练样本集的异常预测率的变化率不大于预定阈值。模型训练单元620的操作可以参照上面参考图1中的块120-150所描述的操作。
[0068] 图7示出了根据本说明书的实施例的模型训练单元的一示例的结构框图。
[0069] 如图7所示,模型训练单元620包括模型预测模块710、变化率确定模块720和样本标记模块730。
[0070] 模型预测模块710被配置为将当前训练样本集提供给当前异常流量检测模型来进行异常预测,以确定针对当前无标记训练样本集中的各个当前无标记训练样本的当前异常预测率。模型预测模块710的操作可以参照上面参考图1中的块120所描述的操作。
[0071] 变化率确定模块720被配置为确定所述各个当前无标记训练样本的当前异常预测率相对于上一模型训练过程中针对所述各个当前无标记训练样本的上一异常预测率的变化率。变化率确定模块720的操作可以参照上面参考图1中的块130的操作。
[0072] 样本标记模块730被配置为在所确定出的变化率大于预定阈值时,对所述当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,其中,模型预测模块710、变化量确定模块720和样本标记模块循环操作,直到满足训练结束条件。样本标记模块730的操作可以参照上面参考图1中的块140和块150的操作。
[0073] 图8示出了根据本说明书的实施例的样本标记模块的一示例的结构框图。
[0074] 如图8所示,样本标记模块730包括待标记样本确定子模块731和样本标记子模块732。
[0075] 待标记样本确定子模块731被配置为从当前无标记训练样本集中确定至少一个待标记训练样本。待标记样本确定子模块731的操作可以参照上面参考图2中所描述的块210的操作。
[0076] 样本标记子模块732被配置为对所确定出的至少一个待标记训练样本标注标记以加入当前有标记训练样本集。样本标记子模块732的操作可以参照上面参考图2中所描述的块220的操作。
[0077] 在本说明书的实施例的一个示例中,待标记样本确定子模块731对所述训练样本集中的训练样本进行聚类,并根据所述聚类结果来从所述当前无标记训练样本集中确定所述至少一个待标记训练样本。针对本说明书实施例的示例的更多细节,可以参照上面参考图3所描述的流程300的操作。
[0078] 进一步地,在一个示例中,待标记样本确定子模块731可以将当前无标记训练样本集中的所述聚类结果为离群点的训练样本,确定为所述至少一个待标记训练样本。
[0079] 在另一示例中,待标记样本确定子模块731可以从所述聚类结果中的各个聚类中选择出至少一个目标聚类,并将所述至少一个目标聚类中的无标记训练样本来确定为所述至少一个待标记训练样本。针对该实施方式的更多细节,可以参照上面参考图4所描述的流程400的操作。
[0080] 可选地,待标记样本确定子模块731可以针对所述聚类结果中的各个聚类,确定该聚类中的有标记训练样本在总有标记训练样本中的有标记样本占比,并根据各个聚类的有标记样本占比来确定所述至少一个目标聚类。更多细节,可以参照上面参考图5所描述的流程500的操作。
[0081] 此外,可选地,在一个示例中,待标记样本确定子模块731还可以将当前无标记样本集中的位于预定分类概率区间之内的训练样本确定为至少一个待标记训练样本。
[0082] 如上参照图1到图8,对根据本说明书的实施例的基于半监督学习的异常流量检测模型训练方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本说明书的装置的实施例。上面的基于半监督学习的异常流量检测模型训练方法可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
[0083] 图9示出了根据本说明书的实施例的基于半监督学习的异常流量检测模型训练的电子设备900的一示例的硬件结构图。如图9所示,电子设备900可以包括至少一个处理器910、存储器(例如非易失性存储器)920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
[0084] 在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:获取异常流量检测模型的训练样本集,所述训练样本集包括有标记训练样本集和无标记训练样本集,所述有标记训练样本中的各个训练样本具有访问流量特征数据以及标记数据,所述无标记训练样本集中的各个训练样本具有访问流量特征数据;基于当前训练样本集对当前异常流量检测模型进行半监督学习训练,直到满足训练结束条件,其中,在未满足训练结束条件时,对当前无标记训练样本集中的至少一个待标记训练样本标注标记以加入当前有标记训练样本集来进行下一模型训练过程,所述训练结束条件包括:当前模型训练过程中针对所述当前无标记训练样本集的异常预测率相对于上一模型训练过程中针对所述当前无标记训练样本集的异常预测率的变化率不大于预定阈值。
[0085] 应该理解,在存储器920中存储的计算机可执行指令当执行时使得至少一个处理器910进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
[0086] 在本说明书中,电子设备900可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
[0087] 根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
[0088] 在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
[0089] 可读存储介质的实施例包括软盘硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或上下载程序代码。
[0090] 图10示出了适于应用本说明书的实施例的基于异常流量检测模型的异常流量检测装置的一示例的架构示意图。
[0091] 如图10所示,在该架构1000中,至少一个客户端通过网络1010可以向服务端1020发送访问请求,以请求访问服务端中的数据。这里,客户端可以是诸如台式机1032、笔记本电脑1034和手机1036之类的终端设备。另外,服务端1020通过私有数据集来提供服务。在本说明书的一个示例中,在服务端1020上存储有该私有数据集,在本说明书的另一示例中,服务端1020可以对私有数据集进行远程调用。在一些应用场景下,黑客会利用客户端,并采用多种攻击方式来通过服务端1020来窃取私有信息,对数据隐私的安全性提出了极大的挑战。
[0092] 在本说明书的实施例中,异常流量检测装置1040可以通过本地或远程调用异常流量检测模型来识别访问请求是否属于异常流量,并能对异常流量执行相应的安全策略操作(例如不执行响应,或告警)。这里,异常流量检测模型是使用图1所述的方法训练出的异常流量检测模型。
[0093] 本领域技术人员应当理解,上面说明书的各个实施例可以在不偏离发明实质的情况下做出各种变形修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
[0094] 需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0095] 以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0096] 上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
[0097] 本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈