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

一种基于数据精简的高效异常流量检测方法和系统

2022-06-05 10:55:38 来源:中国专利 TAG:


1.本发明涉及一种基于数据精简的高效异常流量检测方法和系统,主要是利用优化技术来获取一批模拟数据,缓解基站上数据存储的压力。


背景技术:

2.随着通讯技术的发展和各种终端应用的出现,网络攻击造成的潜在危害也越来越明显。异常流量检测是一种基于流量数据来自动发现异常通讯请求的技术。然而,传统的异常流量检测方法已经不能满足当今通讯安全的需求,基于机器学习算法的异常检测技术已经逐渐成为主流。机器学习技术可以从历史数据中学得一个模型,使用该模型可以预测新数据是否是异常流量。然而,机器学习模型的训练往往依赖于大量数据,但是基站上的存储容量往往有限,不能存储大量的历史通讯数据。如果将数据存储在远程数据服务器中,又会带来额外的通讯成本。因此,如何精简基站上存储的数据是十分重要的。
3.数据精简的目的是减小存储代价和模型训练的计算代价。在机器学习领域中,有许多数据精简的方法,比如特征选择、特征提取、关键样本选择等。特征选择是指从样本的所有特征中选出一部分最能影响模型性能的特征,并忽略其他特征。这样就可以在训练模型时只使用低维样本,从而更快地收敛。特征提取的目的和特征选择相似,但特征提取基于样本的原始特征构造一组新的特征,这组特征并非是从原始特征中选出的。关键样本选择则不改变样本的维度,从整个数据集中挑选最重要的样本,从而减小样本量。但是,目前的数据精简方法很难和模型的训练过程结合,不能保证使用精简后的数据训练得到的模型仍然能够保持很好的性能。


技术实现要素:

4.发明目的:针对现有技术中存在的问题与不足,本发明提供一种基于数据精简的高效异常流量检测方法和系统,将数据精简的过程和异常流量检测模型的构建过程结合起来,在降低数据存储需求的同时维持模型的性能。本发明的关键是利用优化技术来获取一批模拟数据。这批模拟数据的规模远远小于真实数据,但使用这批模拟数据来训练异常流量检测模型时,模型参数的更新方向与使用真实数据训练时的更新方向几乎一致,从而使得训练出的模型具有与使用真实数据训练出的模型相似的性能。借助这项技术,可以大大缓解基站上数据存储的压力。
5.技术方案:一种基于数据精简的高效异常流量检测方法,它包含两大流程,即数据精简过程和精简化异常流量检测模型训练过程。
6.数据精简过程中,获取基站数据库中的真实数据;随机初始化模拟数据;随机初始化一个异常流量检测模型;分别使用真实数据和模拟数据训练模型,记录模型在两组数据上的损失函数和对应的参数梯度;计算两组梯度之间的欧式距离;最小化上述欧式距离以更新模拟数据;重复上述过程,直到模拟数据收敛,记录模拟数据,并清空基站数据库中的真实数据。精简化异常流量检测模型训练过程中,用户选定一种异常流量检测模型,初始化
该模型;获取之前保存的模拟数据;使用模拟数据训练该模型。本发明基于梯度匹配来获取少量的模拟数据,大大减缓了基站数据库的存储压力,并保证模型的性能不变差。
7.数据精简过程具体为:步骤100,获取基站数据库中现有的真实数据集,将其记作t;步骤101,随机初始化模拟数据集s;步骤102,由用户指定最大迭代次数k;步骤103,随机初始化一个异常流量检测模型m,模型的具体类型和结构可以由用户指定;用户指定一种损失函数,一般为交叉熵损失;步骤104,从真实数据集t中随机采样一小批样本b_t,从模拟数据集s中随机采样一小批样本b_s;步骤105,依据模型m,分别计算其在b_t上的损失函数值l_t和在b_s上的损失函数值l_s;步骤106,分别依据l_t和l_s计算模型m的参数上的梯度g_t和g_s,具体计算方法为本领域的通识知识;步骤107,计算g_t和g_s之间的欧氏距离,基于该欧式距离计算模拟数据集小批b_s上的梯度,并基于相关优化技术更新这一小批模拟数据集,梯度的计算方法与步骤106中类似,均属于本领域的通识知识;步骤108,基于相关优化技术,使用梯度g_t更新模型m;步骤109,检查模拟数据集s是否收敛,若未收敛且当前迭代次数未达到k,则回到步骤104,否则进入步骤110;步骤110,记录更新后的模拟数据集s,清空数据库中的真实数据集t。
8.精简化异常流量检测模型训练过程具体为:步骤200,获取上一流程中更新后的模拟数据集s;步骤201,由用户指定最大迭代次数k;步骤202,随机初始化一个异常流量检测模型m,模型的具体类型和结构可以由用户指定;用户指定一种损失函数,一般为交叉熵损失;步骤203,从模拟数据集s中随机采样一小批样本b_s;步骤204,依据模型m,计算其在b_s上的损失函数l_s;步骤205,依据l_s计算模型m的参数上的梯度g_s,具体计算方法为本领域的通识知识;步骤206,基于相关优化技术,使用梯度g_s更新模型m;步骤207,检查模型m是否收敛,若未收敛且当前迭代次数未达到k,则回到步骤203,否则进入步骤208;步骤208,输出训练好的模型m。
9.所述优化技术是指优化理论中的梯度下降法,利用该方法,我们可以对该问题的损失函数求一个局部最优解,并更新目标参数;所述异常流量检测模型m一般可指定为神经网络,该模型的具体类型、结构等均可由用户指定。如何设计该模型与本技术无关,即,本技术可以用于任意类型、结构的神经网络。
10.构建虚拟数据来代替真实数据,且虚拟数据的构建过程与模型的训练过程相关。
11.所述虚拟数据的构建过程基于对模型参数梯度的匹配,使得虚拟数据能够起到和真实数据相似的训练效果。
12.一种基于数据精简的高效异常流量检测系统,包含数据精简模块和精简化异常流量检测模型训练模块;所述数据精简模块,获取基站数据库中的真实数据;随机初始化模拟数据;随机初始化一个异常流量检测模型;分别使用真实数据和模拟数据训练模型,记录模型在两组数据上的损失函数和对应的参数梯度;计算两组梯度之间的欧式距离;最小化所述欧式距离以更新模拟数据;重复上述过程,直到模拟数据收敛,记录模拟数据,并清空基站数据库中的真实数据;所述精简化异常流量检测模型训练模块,用户选定一种异常流量检测模型,初始化该模型;获取所述数据精简模块保存的更新后的模拟数据;使用模拟数据训练异常流量检测模型。
13.基于数据精简的高效异常流量检测系统的实现过程和方法相同。
14.一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于数据精简的高效异常流量检测方法。
15.一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于数据精简的高效异常流量检测方法的计算机程序。
16.有益效果:与现有技术相比,本发明所提供的基于数据精简的高效异常流量检测方法和系统,只需存储少量的虚拟训练数据,就可以训练出一个异常流量检测模型。因此,本方法降低了基站数据的存储成本,同时降低了模型训练的计算成本。此外,本方法中的模拟数据的生成过程与模型训练过程相关,所以最终得到的异常流量检测模型性能较好。
附图说明
17.图1为本发明实施例中数据精简过程的流程图;图2为本发明实施例中精简化异常流量检测模型训练过程的流程图。
具体实施方式
18.下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
19.利用基站数据库中存储的真实数据里来生成虚拟数据的过程如图1所示。首先,从基站存储的真实数据库中获取数据t,这些数据是真实用户的历史记录(每一条历史记录对应了用户对基站的一次访问,历史记录种包含了这次访问的一些相关信息,比如“访问时刻”、“地理位置”、“基站编号”、“基站状态”、“访问时长”、“流量大小”等,具体有哪些内容取决于基站记录了哪些内容。),并附有异常与否的标记(步骤10);然后,随机初始化一组模拟数据集s,这组数据集以矩阵的形式表示,每行表示一个样本,每列表示一个特征,矩阵的具体大小可以由用户指定。这组数据会在接下来的过程中更新,最终成为可用的模拟数据(步骤11);初始化一个异常流量检测模型m,一般为神经网络(步骤12);开始迭代,每步都首先
从真实数据集t和模拟数据集s中采样一小批样本b_t和b_s(步骤13);使用交叉熵损失函数分别计算模型m在b_t和b_s上的损失值(步骤14),并分别计算这两个损失值在模型m的参数上的梯度(步骤15);计算这两个梯度之间的欧氏距离,并计算该距离对模拟样本s_t的梯度(步骤16);使用计算得的梯度更新模拟样本(步骤17);重复上述过程,直到所有的模拟样本都不再产生较大的变化(步骤18,这里的变化的程度可以由用户指定,衡量变化的标准可以采用样本矩阵之差的f范数);最终,清空数据库中的真实历史记录,减小存储代价,并将规模较小的模拟数据保存下来(步骤19)。
20.使用精简后的模拟数据训练异常流量检测模型的过程如图2所示。首先,通过如图1所示的过程获取模拟数据集s(步骤20);随后,随机初始化一个由用户指定的异常流量检测模型m(步骤21);接着开始迭代,每一步,首先从s中随机采样一个样本小批b_s(步骤22),计算m在s_t上的交叉熵损失函数值(步骤23),并使用其计算模型m上的梯度(步骤24);接着,使用计算得到的梯度来更新模型m的参数(步骤25);检查模型是否已经收敛(步骤26,这里的收敛指标可以由用户指定,比如模型的参数的变化量不超过一个给定的阈值);若模型已经收敛,则将m保存下来,结束(步骤27)。
21.基于数据精简的高效异常流量检测系统,包含数据精简模块和精简化异常流量检测模型训练模块;数据精简模块,获取基站数据库中的真实数据;随机初始化模拟数据;随机初始化一个异常流量检测模型;分别使用真实数据和模拟数据训练模型,记录模型在两组数据上的损失函数和对应的参数梯度;计算两组梯度之间的欧式距离;最小化所述欧式距离以更新模拟数据;重复上述过程,直到模拟数据收敛,记录模拟数据,并清空基站数据库中的真实数据;精简化异常流量检测模型训练模块,用户选定一种异常流量检测模型,初始化该模型;获取所述数据精简模块保存的更新后的模拟数据;使用模拟数据训练异常流量检测模型。
22.显然,本领域的技术人员应该明白,上述的本发明实施例的基于数据精简的高效异常流量检测方法各步骤或基于数据精简的高效异常流量检测系统各模块可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
再多了解一些

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

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

相关文献