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

一种基于增量自编码器的网络异常检测方法

2022-10-26 18:58:52 来源:中国专利 TAG:


1.本发明涉及网络与信息安全技术领域,尤其涉及一种基于增量自编码器的网络异常检测方法。


背景技术:

2.近年来,网络技术的高速发展使得网络的使用已经成为人们工作和生活中必不可少的一部分,网络规模逐渐扩大,使得更多的网络安全问题暴发出来。例如,分布式拒绝服务攻击或蠕虫攻击会使局域网在短时间内陷入毁瘫,造成系统可靠性下降,甚至造成信息损毁或泄漏。apt等非规则性安全攻击行为的兴起,使得传统防护模式面临巨大挑战。
3.传统的网络安全防护技术主要有身份鉴别、密码技术、防火墙技术等,然而这些技术都属于静态防御技术,无法抵御来自网络内部的攻击,也无法实时地检测攻击行为。异常检测作为一种主动防御技术,通过发掘网络流量中包含的行为特征,能够及时有效地感知网络运行状态,为采取下一步防御策略提供支持。将机器学习算法应用于网络异常行为检测已经取得了较好的应用效果,其主要方法是构建行为特征向量并据此训练分类或者聚类模型从而实施检测。异常样本的标记和生成依赖于深入的专家知识,因此有标签异常样本的获取往往比较难且数据量少。无监督学习的方法不依赖于样本标签,通过建立正常行为样本的生成模型来对偏离正常行为模式的异常样本进行检测,大大增加了异常行为检测的实用性。然而异常检测模型需要进行经常性更新以适应新的网络环境,现有的方法大多以批量学习方式来更新模型,也就是一次性给定所有需要学习的数据,后续一旦积累了新的数据,需要将新旧数据合并来更新模型,使得老模型信息的丢失,造成“遗忘灾难”,导致计算和存储空间的极大浪费,特别是对于卫星、空间站等小型重要的终端而言,节省计算和存储开销非常重要。


技术实现要素:

4.有鉴于此,本发明提供了一种基于增量自编码器的网络异常检测方法,以解决现有技术中老模型信息的丢失、计算量大和存储开销大的技术问题。
5.本发明提供了一种基于增量自编码器的网络异常检测方法,包括:s1.采集网络流量数据,得到无标签样本集;s2.基于所述无标签样本集训练改进的soinn网络,输出神经元集合n和连接关系集合c;其中,所述改进的soinn网络是基于神经元的相似度阈值以及神经元与输入节点之间的距离来更新神经元邻居节点的学习率;s3.初始化增量自编码器,并采用增量学习方法,基于所述神经元集合n和连接关系集合c训练所述增量自编码器,得到异常检测模型;s4.将接收到的样本数据输入所述异常检测模型,计算重构误差得分,并将所述重构误差得分与异常阈值相比较,若所述重构误差得分大于异常阈值,则判定该样本为异常样本,否则判定该样本为正常样本,并将该正常样本输入所述改进的soinn网络进行增量学
习。
6.进一步地,所述s2包括:s21.构建单层soinn网络,初始化两个随机样本中每个训练周期内的神经元集合,计算相关参数,其中,相关参数包括获胜神经元邻居节点的相似度阈值ti、获胜神经元邻居节点与输入样本的距离;其中,获胜神经元是训练周期内神经元集合与样本中最近的两个神经元;s22.基于所述相关参数,更新获胜神经元邻居节点的权重;s23.基于所述权重,输出训练周期内神经元集合n和连接关系集合c。
7.进一步地,所述s21中,所述相关参数还包括获胜神经元邻居节点的学习率,其中,获胜神经元邻居节点的学习率包括第一学习率系数τ1和第二学习率系数τ2。
8.进一步地,所述获胜神经元邻居节点的学习率通过以下步骤获得:计算获胜神经元s1与输入样本的距离以及获胜神经元邻居节点i与输入样本的距离,将该距离与所述获胜神经元邻居节点i的相似度阈值ti相比较,如果,则所述获胜神经元邻居节点的学习率,其中,为预定义参数,命名为学习率系数下限,t为获胜次数;如果,且,表示所述样本与所述获胜神经元邻居节点i的相似度较大,此时根据所述样本与获胜神经元所述邻居节点的距离来确定所述第一学习率系数τ1,则获胜神经元邻居节点的学习率为其中,,如果,且,表示所述样本与所述获胜神经元s1重合,此时根据与获胜神经元的邻居节点的距离来确定所述第二学习率系数τ2,则获胜神经元邻居节点的学习率,其中,。
9.进一步地,所述s22中,根据下式更新获胜神经元邻居节点的权重:其中,wi是获胜神经元邻居节点的权重。
10.进一步地,所述s2还包括:通过所述神经元的相似度阈值以及神经元与输入节点之间的距离来度量该神经元与输入节点是否属于同一个类别,并通过所述神经元的相似度阈值以及神经元与输入节点之间的距离大小来决定进行类内插入还是类间插入。
11.进一步地,所述s3中增量自编码器的构建包括:将所述无标签样本集经过数据预处理后得到单个样本的数据维度和数据,然后再
经过所述改进的soinn网络后,输出单个样本维度的输出神经元;将所述单个样本维度的输出神经元输入自动编码器,得到重构样本,将其中预测为正常的样本通过基于距离度量的样本标签筛选机制来进行二次识别,将识别后的正常样本继续输入所述改进的soinn网络进行增量训练,经过设定轮训练后,形成所述异常检测模型。
12.进一步地,所述s4包括:s41.将所述增量自编码器输出的正常样本输入至所述改进的soinn网络,输出所有获胜神经元邻居节点与该正常样本之间的距离,并选择最近的获胜神经元邻居节点与该正常样本之间的距离作为正常样本的相似度值;s42.对每个所述正常样本的相似度值按照从小到大进行排序;s43.基于排序结果,设定样本筛选比例,采用距离量度样本标签筛选出正常样本,并将筛选出的正常样本作为增量学习的正常样本。
13.进一步地,所述s43还包括:若筛选出的样本均为非正常样本,则启动防御措施。
14.进一步地,所述增量自编码器包括输入层、dropout层和隐藏层。
15.本发明与现有技术相比存在的有益效果是:1.本发明采用改进soinn的增量学习特性与自动编码器相结合,解决了“遗忘灾难”问题,使得模型更新训练更加方便;2.本发明的方案无需保存旧样本,有效节约了计算和存储开销;3.本发明引入距离度量机制,极大提高了样本标记的准确性,使模型能够及时学习到新样本特征,且无需人工进行大量的数据标注,实现了模型的在线更新;4.本发明相比于soinn,lrm-soinn通过神经元的相似度阈值以及该神经元与输入节点的距离来度量该神经元与输入节点的差异性,进一步提升获胜神经元邻居节点的学习效率,使得算法输出神经元更能代表样本特性;5.本发明根据检测结果对模型进行增量更新,使得模型不断学习新的样本特征,实现适应新的网络环境的目的。
附图说明
16.为了更清楚地说明本发明中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
17.图1是本发明实施例提供的一种基于增量自编码器的网络异常检测方法的流程图;图2 是本发明实施例提供的为验证soinn算法改进前后存储开销的对比图;图3是本发明实施例提供的正常样本纯度随筛选比例的变化情况示意图;图4(a)是本发明实施例提供的取前200次增量训练结果的示意图;图4(b)是本发明实施例提供的取前60次增量训练结果的示意图。
具体实施方式
18.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
19.下面将结合附图详细说明根据本发明的一种基于增量自编码器的网络异常检测方法。
20.图1是本发明实施例提供的一种基于增量自编码器的网络异常检测方法的流程图。
21.如图1所示,该网络异常检测方法包括:s1.采集网络流量数据,得到无标签样本集;s2.基于所述无标签样本集训练改进的soinn网络,输出神经元集合n和连接关系集合c;其中,所述改进的soinn网络是基于神经元的相似度阈值以及神经元与输入节点之间的距离来更新神经元邻居节点的学习率; soinn是一种基于竞争学习的神经网络,本发明soinn输出为分布在特征空间的神经元和神经元之间的连接关系,神经元分布大致反映了原始数据的分布特性,连接关系构成了数据的拓扑结构。本发明采用soinn动态地更新网络,不影响之前的学习效果,降低了学习过程中的存储开销。单层soinn网络相较于双层soinn网络具有同样的学习效果,且训练参数进一步简化,算法流程见图3。因此,本发明采用了单层soinn网络算法。
22.所述s2还包括:通过所述获胜神经元的相似度阈值以及获胜神经元与输入节点之间的距离来度量该获胜神经元与输入节点是否属于同一个类别,并通过两者之间的距离大小来决定进行类内插入还是类间插入。
23.在改进之前的soinn算法的神经元自适应调整过程中,通过神经元的相似度阈值t以及该神经元与输入节点的距离d来度量该神经元与输入节点是否属于同一个类别,并通过比较t与d的大小来决定进行类内插入还是类间插入。因此,神经元邻居节点的学习率应当与t、d具有一定的相关性,如图3所示,为输入样本,s1为获胜神经元,s2和s3为获胜神经元邻居节点,s2与s3的学习步长应当与两者的相似度阈值t2、t3以及s1、s2、s3与输入节点的距离相关。的设置在改进之前或之后的soinn算法都要满足两个条件:(c)所述获胜神经元与输入节点的距离始终小于获胜神经元邻居节点与输入节点的距离,因此,两者的学习率要满足:;(d)原始soinn的约束条件为:改进之后的soinn网络的获胜神经元与输入节点的距离的设置也应当满足上述条件。
24.s2包括:
s21.构建单层soinn网络,初始化两个随机样本中每个训练周期内的神经元集合,计算相关参数,其中,相关参数包括获胜神经元邻居节点的相似度阈值ti、获胜神经元邻居节点与输入样本的距离;其中,获胜神经元是训练周期内神经元集合与接收样本中最近的两个神经元;s211.初始化每个训练周期内神经元集合,其中的权重为,连接关系集合为空;s212.接收样本,通过计算欧式距离查找所述每个训练周期内神经元集合n中与输入样本最近的两个神经元s1和s2,即获胜神经元:
ꢀꢀꢀꢀꢀ
(1)
ꢀꢀꢀ
(2)其中,表示神经元的权重;s213.计算获胜神经元s1和s2的相似度阈值,对于任意神经元,设其邻居神经元的集合为,则的相似度阈值的计算公式为:如果如果
ꢀꢀꢀꢀꢀ
(3)否则
ꢀꢀꢀꢀ
(4)若或成立,则进行类间插入,为所述接收样本生成一个新的节点r,,返回步骤s212接收样本,否则执行步骤s214;s214.若所述获胜神经元s1和s2没有连接关系,则建立两个神经元的连接,即,将这条边的年龄设为0,即;s215.更新年龄参数,为s1的邻居神经元;将超龄的边删除,即若,其中为预定义参数;所述s21中,所述相关参数还包括:获胜神经元邻居节点的学习率,其中,获胜神经元邻居节点的学习率包括第一学习率系数τ1和第二学习率系数τ2。
25.所述获胜神经元邻居节点的学习率通过以下步骤获得:计算获胜神经元s1与新输入样本的距离以及获胜神经元邻居节点与输入样本的距离,将该距离与所述获胜神经元邻居节点的相似度阈值ti相比较,其中,i表示获胜神经元邻居节点。
26.如果,则所述获胜神经元邻居节点的学习率,其中,为预定义参数,命名为学习率系数下限,t为获胜次数;
如果,且,表示所述样本与所述获胜神经元邻居节点的相似度较大,此时根据所述样本与所述获胜神经元邻居节点的距离来确定所述第一学习率系数τ1,则获胜神经元邻居节点的学习率为,τ1的确定方法如下:设,其中,x是一个中间参量,由和共同确定,则x的取值范围为:,其中,,所述第一学习率系数满足两个条件:(1)所述第一学习率系数τ1与x成反比关系,即随着x的增大,逐渐减少;(2)当x趋向于0时,趋向于1;时,。
27.如果,且,表示所述样本与所述获胜神经元s1重合,此时根据与获胜神经元的邻居节点的距离来确定所述第二学习率系数τ2,则获胜神经元邻居节点的学习率,其中,。
28.所述第二学习率系数τ2满足两个条件:(3)所述第二学习率系数τ2与所述获胜神经元邻居节点与新输入节点距离成反比关系;(4)获胜神经元邻居节点与新输入节点距离取值范围为,,当时,;当趋向于0时,趋向于1。
29.s22.基于所述相关参数,更新获胜神经元邻居节点的权重;s221.更新获胜神经元及其邻居节点的权重,
ꢀꢀꢀꢀꢀꢀꢀ
(5)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(6)所述s22中,根据公式(6)更新获胜神经元邻居节点的权重。
30.其中,w
s1
是获胜神经元的权重,wi是获胜神经元邻居节点的权重,是获胜神经元的学习率,,,t为获胜次数;s222. 完成一个训练周期后,则删掉设定密度的神经元,否则返回步骤s212,继续
接收新的样本。
31.由此,对步骤s22中权重求法进行改进,对获胜神经元邻居节点的学习率进行改进,更新获胜神经元邻居节点的权重。
32.所述第一学习率系数τ1和第二学习率系数τ2的获得之后包括:更新获胜神经元邻居节点的权重,并将改进的soinn命名为lrm-soinn,其中,lrm-soinn,全拼为soinn with learning rate modification,是自组织增量学习神经网络,是本发明改进的soinn网络。
33.s23.基于所述权重,输出训练周期内神经元集合n和连接关系集合c。
34.基于更新获胜神经元及其邻居节点的权重,输出训练周期内神经元集合n和连接关系集合c。
35.s3.初始化增量自编码器,并采用增量学习方法,基于所述神经元集合n和连接关系集合c训练所述增量自编码器,得到异常检测模型;除正常样本集之外还包括异常样本集。
36.异常检测模型包括训练集和测试集,测试集通过增量自编码器进行预测,得到的正常样本中会包含少量的异常样本,基于距离度量的样本标签筛选机制就是要去除这些样本中的异常数据,使得反馈到lrm-soinn网络中的正常样本纯度更高,甚至接近99.9%。lrm-soinn的输出神经元作为正常样本的代表点,继承了正常样本的总体特征,分析soinn算法可知,样本到神经元的距离可以度量两者之间的相似性。基于此,设计一种基于距离度量的样本标签筛选机制,将最终所选的样本作为增量学习的正常样本。
37.所述s3中增量自编码器的构建包括:将所述无标签样本集经过数据预处理后得到单个样本的数据维度和数据,然后再经过所述改进的soinn网络后,输出单个样本维度的输出神经元;将所述单个样本维度的输出神经元输入自动编码器,得到重构样本,将其中预测为正常的样本通过基于距离度量的样本标签筛选机制来进行二次识别,将识别后的正常样本继续输入所述改进的soinn网络进行增量训练,经过设定轮训练后,形成所述异常检测模型。
38.所述增量自编码器包括输入层、dropout层和隐藏层。
39.本发明采用在自动编码器的输入层和隐藏层加入了dropout层来随机地忽略输入层节点,使得少量的异常数据获得学习的机会的概率进一步降低,使得这些数据对模型的影响变得更小。
40.s4.将接收到的样本数据输入所述异常检测模型,计算重构误差得分,并将所述重构误差得分与异常阈值相比较,若所述重构误差得分大于异常阈值,则判定该样本为异常样本,否则判定该样本为正常样本,并将该正常样本输入所述改进的soinn网络进行增量学习。
41.所述s4包括:s41.将所述增量自编码器输出的正常样本输入至所述改进的soinn网络,增量自编码器并输出所有获胜神经元邻居节点与该正常样本之间的距离,并选择最近的获胜神经元邻居节点与该正常样本之间的距离作为正常样本的相似度值;其中,最近的获胜神经元邻居节点的距离是曼哈顿距离。
42.输入:所述改进的soinn网络的输出神经元集合,初始增量学习样本集表示通过所述增量自编码器模型预测后得到的正常样本集;s411.对于每一初始增量学习样本,计算其到每一个神经元的距离;s412.寻找每一个初始增量学习样本到神经元的最近距离,得到样本距离集合;s42.对每个所述正常样本的相似度值按照从小到大进行排序;s421.采用冒泡排序法对d由小到大进行排序,得到;s422.根据索引得到对应的样本排序;s43.基于排序结果,设定样本筛选比例,采用距离量度样本标签筛选出正常样本,并将筛选出的正常样本作为增量学习的正常样本。
43.s431.确定样本筛选比例λ;s432.得到正常样本集合输出:设定纯度的正常样本集q。
44.其中,设定纯度是纯度较高的纯度,依据人为需要设定,例如,设定纯度包括95%,99%。
45.所述s43还包括:若筛选出的为非正常样本,则启动防御措施。
46.若输出为异常样本,表明网络中存在异常攻击行为,则需要开启防御措施。本发明采用改进soinn的增量学习特性与自动编码器相结合,解决了“遗忘灾难”问题,使得模型更新训练更加方便;无需保存旧样本,有效节约了计算和存储开销;通过引入距离度量机制,极大提高了样本标记的准确性,使模型能够及时学习到新样本特征,且无需人工进行大量的数据标注,实现了模型的在线更新;相比于soinn,改进的soinn网络通过神经元的相似度阈值以及该神经元与输入节点的距离来度量该神经元与输入节点的差异性,进一步提升获胜神经元邻居节点的学习效率,使得算法输出神经元更能代表样本特性;根据检测结果对模型进行增量更新,使得模型不断学习新的样本特征,实现适应新的网络环境的目的。
47.实施例1为检验lrm-soinn与自动编码器结合后的检测效果,对比实验分别为利用soinn增量学习的ae和未进行增量学习的ae。lrm-soinn-autoencoder的auc值为0.9360,仅次于autoencoder,说明lrm-soinn在学习过程中丢失了少量的样本特征,但其依然继承了样本的多数特征。soinn-autoencoder的auc值不如lrm-soinn-autoencoder,说明改进后的soinn提升了邻居节点学习效果,输出的神经元相比于soinn更具代表性。
48.图2 是本发明实施例提供的为验证soinn算法改进前后存储开销的对比图。
49.为验证soinn、lrm-soinn的数据压缩特性,选取1000至50000的样本规模进行实验,结果如图2所示。其中横轴代表样本规模,纵轴代表存储开销,也就是神经网络输出的神
经元数量。由此可知,对ae进行模型更新时,需存储所有已经训练过的样本,而利用soinn和lrm-soinn进行增量学习时,只需存储少数的输出神经元。lrm-soinn略高于soinn,未增加太大的存储开销。
50.图3是本发明实施例提供的正常样本纯度随筛选比例的变化情况示意图。
51.本实验的目的是证明初始增量学习样本集通过基于距离度量的样本标签筛选机制算法后,得到的样本集中正常样本所占比例是否显著提升。实验首先用已经训练好的增量自编码器来预测测试集,得到初始增量学习样本集,然后对该样本集进行筛选得到新的增量学习样本集,通过调节样本筛选比例,来比较筛选前后,正常样本所占比例的变化情况。选择曼哈顿距离作为距离度量方式。经计算,初始增量学习样本集中,正常样本的比例为94.74%,经过筛选后,样本纯度随筛选比例的变化如下图3所示。由图3可知,当筛选比例小于0.4时,正常样本纯度就已经接近100%,证明该方法可进行样本筛选。
52.为验证模型的在线学习能力,先取训练集中1000个正常样本来训练初始模型,然后利用所有的测试集进行异常检测和增量学习。训练周期k代表每检测完k个样本后进行一次增量更新,∞代表不进行增量学习,直接进行测试,实验记录了随着训练周期的改变,模型检测能力变化情况,取值为所有训练周期内各评价指标的算术平均值,如下表1所示。分析可知,随着增量训练周期的缩短,模型整体性能有所提升,表明了本文提出的增量自编码器模型采用基于距离度量机制的样本标签筛选机制后,具备一定的在线学习能力。当训练周期小于500时,auc值达到了0.9以上,表明采用本发明的模型具备良好的分类性能。
53.表1实施例2图4(a)是本发明实施例提供的取前200次增量训练结果的示意图。
54.为检验增量学习效果,不同于离线学习的批量训练,增量学习在更新模型时,只需要用新的训练数据来训练异常检测模型,减少了模型更新的时间。为验证异常检测模型的增量学习能力,首先用初始正常训练集来训练初始模型,然后不断增加正常训练样本数量,观察异常检测模型的性能变化情况。实验数据集划分情况如图4(a)所示。其中初始训练集为30个正常样本,每一个增量训练集规模为50,增量训练次数为200次,测试集为kdd cup测试集中包含正反例的所有样本。
55.图4(b)是本发明实施例提供的取前60次增量训练结果的示意图。
56.如图4(b)所示,为算法改进前后auc值随着数据规模增长的变化情况,为清楚比较两种算法的性能,图4(b)取前60次增量训练进行比较。随着训练数据的不断增加,auc呈现波动上升趋势,且在前几个训练周期内上升较快,表明模型具备增量学习能力且学习能力
较强。改进的soinn网络的性能指标曲线大多在soinn之上,通过计算得知,异常检测模型训练稳定后,改进的soinn网络的auc平均值为0.9232,soinn的auc平均值为0.9105,表明改进的soinn网络的总体性能要优于soinn。
57.上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
58.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
59.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献