一种物联网流量异常检测模型建立方法及检测方法

文档序号:32387478发布日期:2022-11-30 06:50阅读:47来源:国知局
一种物联网流量异常检测模型建立方法及检测方法

1.本发明涉及网络安全技术领域,具体而言,涉及一种物联网流量异常检测模型建立方法及检测方法。


背景技术:

2.随着越来越多的物联网设备的接入,物联网应用正面临着由于物联网客户端异常导致的严重安全风险,需要对物联网数据进行有效处理实现异常检测。联邦学习可以有效维护用户隐私并减少客户端和服务器的通信开销、消息延迟,不断利用边缘设备数据进行迭代更新。因此,现有技术将联邦学习方法引入到物联网异常检测中。
3.但是参与联邦学习的物联网设备因其设备之间的独立性、数据间的异构性、数据分布的不平衡和安全隐私设计等特点,边缘设备可能有意或无意地偏离规定的联邦训练过程,更容易受到对抗攻击的影响,例如中毒或变成恶意代理。由于数据是在边缘设备上收集的,设备可能存在波动,在数据收集阶段往往会包含噪声,而异常检测方法受训练数据的影响,因此模型参数会受到噪声数据的影响。同时参与方可能欺骗性的宣称自己训练数据及模型训练表现的相关情况,并向服务器传递假数据,以此来加入到全局模型的聚合中,从而从中收益获利。综上所述,导致基于联邦学习的物联网流量异常检测模型的检测结果不够准确。


技术实现要素:

4.本发明解决的问题是如何实现高效且精准的物联网流量异常检测。
5.为解决上述问题,本发明提供一种物联网流量异常检测模型建立方法及检测方法。
6.本发明提供一种物联网流量异常检测模型建立方法,包括如下步骤:
7.步骤s100、客户端获取物联网设备发送的流量数据。
8.步骤s200、所述客户端根据服务端发送的初始模型参数构建与全局模型对应的局部模型,其中,所述全局模型与所述局部模型为tcn模型。
9.步骤s300、所述客户端根据所述流量数据训练所述局部模型,得到训练表现数据,并将所述训练表现数据传输至所述服务端。
10.步骤s400、所述服务端对各个所述客户端上传的所述训练表现数据进行打分,并根据打分结果选择参与全局模型聚合的所述客户端。
11.步骤s500、参与全局模型聚合的所述客户端利用分类器对所述流量数据进行筛选,得到样本数据,并根据所述样本数据训练所述局部模型,得到所述局部模型收敛时的局部模型参数,将所述局部模型参数发送至所述服务端。
12.步骤s600、所述服务端根据各个所述局部模型参数更新所述全局模型,并将更新后的所述全局模型的模型参数发送至各个所述客户端,返回执行构建所述局部模型的步骤,迭代更新所述全局模型直至所述全局模型收敛,获得异常检测模型。
13.由此,客户端获取物联网设备发送的流量数据,作为物联网异常检测模型构建的数据集,保证异常检测模型构建过程的正常运行。客户端根据服务端发送的初始模型参数构建与全局模型对应的局部模型,全局模型与局部模型为tcn模型,采用tcn模型作为异常检测模型,可以更好地控制异常检测模型的内存大小并保留更长的历史信息,减少计算资源消耗,提高训练和预测的稳定性。客户端根据流量数据训练局部模型,得到训练表现数据,并将训练表现数据传输至服务端,采用分层样本选择机制,分别从节点层面和数据层面进行筛选,即服务端对各个客户端上传的训练表现数据进行打分,并根据打分结果选择参与全局模型聚合的客户端,从节点层面,即客户端进行选择,避免联邦学习中恶意客户端对异常检测模型构建的影响,实现对异常检测模型准确度的把控。参与全局模型聚合的客户端利用分类器对流量数据进行筛选,得到样本数据,并根据样本数据训练局部模型,得到局部模型收敛时的局部模型参数,将局部模型参数发送至服务端。利用分类器进行数据分类,避免恶意数据或假数据对异常检测模型构建的影响,从数据层面对异常检测模型的构建及检测进行了质量把控。采用分层样本选择机制分别对客户端和训练数据进行筛选,有效排除了联邦学习环境下异常客户端对异常检测模型准确性的影响,降低了低质量数据参与异常检测模型构建的概率,从节点层面和数据层面对模型训练进行把控,有效提高了异常检测模型的准确率。服务端根据各个局部模型参数更新全局模型,并将更新后的全局模型的模型参数发送至各个客户端,返回执行构建局部模型步骤,迭代更新全局模型直至全局模型收敛,获得异常检测模型,利用高质量样本数据训练获得的局部模型参数更新全局模型,有效减少了全局模型迭代更新的次数,提升物联网流量异常检测模型的构建效率及准确度,构建高效且精准的物联网流量异常检测模型。
14.可选地,所述服务端对各个所述客户端上传的所述训练表现数据进行打分,并根据打分结果选择参与全局模型聚合的所述客户端,包括:
15.所述服务端接收各个所述客户端发送的所述训练表现数据,根据所述打分算法对所述训练表现数据进行打分,获得打分结果,根据所述打分结果计算各所述客户端之间的曼哈顿相似度,根据各所述客户端之间的曼哈顿相似度,利用mini batch k-means算法对所述客户端进行聚类,选择参与全局模型聚合的所述客户端,并向被选择的所述客户端返回信息。
16.可选地,所述参与全局模型聚合的所述客户端利用分类器对所述流量数据进行筛选,得到样本数据,包括:
17.参与全局模型聚合的所述客户端接收所述服务端返回的信息,根据所述信息,利用随机森林分类器对所述流量数据进行分类,得到所述样本数据。
18.可选地,所述服务端对各个所述客户端上传的所述训练表现数据进行打分包括:
19.所述服务端根据第一公式计算所述训练表现数据的分数,所述第一公式表示为:
[0020][0021]
其中,为第t轮第i个客户端的得分,为第i个客户端第t轮聚合时异常检测模型训练的模型损失,nni为第i个客户端的训练数据量,n为各个客户端的训练数据的总量,k为异常检测模型分类,异常检测模型为二分类模型,k的取值为0和1。
[0022]
可选地,所述tcn模型包括两个扩张因果卷积单元和非线性映射层,每个扩张因果
卷积单元依次包括一维扩张因果卷积、权值归一化层、relu激活函数层和dropout操作层,所述非线性映射层用于将所述扩张因果卷积单元输出与输入进行非线性变换,得到所述tcn模型输出。
[0023]
可选地,所述获取物联网设备发送的流量数据包括:
[0024]
获取所述物联网设备发送的所述流量数据,对所述流量数据进行预处理,得到预处理后的所述流量数据,其中,所述预处理包括数据归一化。
[0025]
可选地,在所述客户端根据服务端发送的模型参数构建与全局模型对应的局部模型之前,所述物联网流量异常检测模型建立方法还包括:
[0026]
构建自编码器,根据所述流量数据对预设的所述自编码器进行训练,获得堆叠稀疏自编码器。
[0027]
将预处理后的所述流量数据输入所述堆叠稀疏自编码器进行编码,获得编码后的所述流量数据。
[0028]
可选地,所述构建自编码器包括:
[0029]
所述客户端调取多个稀疏自编码器,所述稀疏自编码器包括输入层、隐藏层和输出层,将多个所述稀疏自编码器按照隐藏层中的神经元数量从小至大进行排序。
[0030]
保留第一个所述稀疏自编码器的输入层和隐藏层、最后一个所述稀疏自编码器的所述隐藏层和输出层以及其余所述稀疏自编码器的所述隐藏层,将相邻的所述稀疏自编码器通过所述隐藏层进行顺序连接,构建预训练的所述堆叠稀疏自编码器。
[0031]
可选地,所述客户端根据服务端发送的初始模型参数构建与全局模型对应的局部模型之前,所述物联网流量异常检测模型建立方法还包括:
[0032]
所述服务端确认异常检测模型训练的任务和目标,根据所述异常检测模型训练的任务和目标构建所述全局模型,并获取所述全局模型的初始模型参数,将所述初始模型参数广播至所述客户端。
[0033]
本发明又一种物联网流量异常检测方法,包括:
[0034]
利用物联网设备获取流量数据;
[0035]
将所述流量数据输入根据如上所述的物联网流量异常检测模型建立方法建立的异常检测模型,获取流量异常检测分类结果;
[0036]
根据所述分类结果,选择物联网异常流量。
附图说明
[0037]
图1为本发明实施例的物联网流量异常检测模型建立方法的流程示意图;
[0038]
图2为本发明实施例的联邦学习环境下的分层样本选择机制流程示意图;
[0039]
图3为本发明实施例的tcn模型的结构示意图;
[0040]
图4为本发明实施例的tcn模型中一维扩张因果卷积的计算过程示意图;
[0041]
图5为本发明实施例的堆叠稀疏自编码器的结构示意图;
[0042]
图6为本发明实施例的检验ssae-tcn异常检测模型在联邦学习下的可行性实验的结果示意图;
[0043]
图7为本发明实施例的检测异常客户端对联邦学习环境下物联网数据异常检测模型的影响的实验结果示意图;
[0044]
图8为本发明实施例的高质量样本数据对联邦学习环境下物联网数据异常检测模型的影响的实验结果示意图。
具体实施方式
[0045]
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0046]
本发明实施例是一种物联网流量异常检测模型建立方法在联邦学习环境下实行的。联邦学习是基于分布式机器学习的框架,主要思想是使大量能够存储本地数据进而进行各类计算和应用的边缘设备(称为客户端)能够在设备端利用产生的数据协同训练全局机器学习模型,而无需共享其原始数据来获取训练模型。
[0047]
参照图1所示,本发明实施例的一种物联网流量异常检测模型建立方法,包括:
[0048]
步骤s100、客户端获取物联网设备发送的流量数据。
[0049]
具体地,客户端与物联网设备(例如监控摄像头)通过例如蓝牙、无线局域网等方式连接,客户端可随时获取物联网设备传输的数据。
[0050]
步骤s200、所述客户端根据服务端发送的初始模型参数构建与全局模型对应的局部模型,其中,所述全局模型与所述局部模型为tcn模型。
[0051]
具体地,基于联邦学习,服务端构建初始全局模型,即tcn模型,并将初始全局模型的初始模型参数发送至客户端,客户端根据服务端发送的初始模型参数构建与全局模型对应的局部模型,即tcn模型。
[0052]
在tcn模型中,利用因果卷积可以使模型拥有处理时序数据因果关系的能力,保证数据传递单向性;采用扩张卷积可以实现间隔采样,扩大卷积计算的感受野,保留更长的历史信息;利用残差单元可以克服网络过深导致的网络退化问题,并且减少计算资源消耗,提高训练和预测的稳定性,使得训练深层网络更加容易。因此,选择tcn模型构建异常检测模型可以出色完成异常检测任务。
[0053]
步骤s300、所述客户端根据所述流量数据训练所述局部模型,得到训练表现数据,并将所述训练表现数据传输至所述服务端。
[0054]
具体地,客户端根据获取的流量数据对局部模型进行训练,得到训练表现数据,训练表现数据包括局部模型的训练损失和客户端的训练数据量,并将训练表现数据发送至服务端。为了定义各个客户端的局部模型质量评估过程,用一个e维向量w来代表联邦学习模型中的参数,在第t轮得到全局模型的目标函数为:
[0055][0056]
其中,t为第t轮全局模型迭代,i为客户端,为客户端i基于局部数据(xi,yi)训练得到的模型参数,为客户端i的模型损失函数,k为参与联邦学习的客户端的数量,为数据总量。由上述目标函数可知,客户端的数量和局部模型的训练损失对局部模型参数的衡量有着重要的作用。对于每个客户端上传的模型参数,都有一个可以计算的预测误差,预测误差高度依赖于局部模型的检测精度,例如,较大的预测误差意味着所选客户端的状态很可能偏离其他设备的正常状态。而客户端的数据量代表着参与
到模型训练的数据数量,数据量越大,客户端训练模型的训练效果越充分,出现偏斜分布和极端情况的概率越小。因此利用局部模型的训练损失和客户端的训练数据数量作为训练表现数据。
[0057]
步骤s400、所述服务端对各个所述客户端上传的所述训练表现数据进行打分,并根据打分结果选择参与全局模型聚合的所述客户端。
[0058]
具体地,服务端接收各个客户端发送的训练表现数据,根据预设的打分机制对各个客户端发送的训练表现数据进行打分,并根据打分结果,利用聚合算法对各个客户端进行筛选,选择参与全局模型聚合的客户端,从节点层面对异常检测模型的准确度进行把控。
[0059]
步骤s500、参与全局模型聚合的所述客户端利用分类器对所述流量数据进行筛选,得到样本数据,并根据所述样本数据训练所述局部模型,得到所述局部模型收敛时的局部模型参数,将所述局部模型参数发送至所述服务端。
[0060]
具体地,经打分机制筛选后选择的客户端利用数据分类器对参与局部模型训练的流量数据进行筛选,获得高质量的流量数据作为样本数据,从数据层面对流量数据进行筛选,以获得高质量的模型参数更新全局模型,采用分层样本选择机制,分别从节点层面和数据层面实现对异常检测模型准确度的把控,并提升模型构建及检测效率。根据样本数据对局部模型进行训练,直至局部模型收敛,获得参与全局模型聚合的客户端的局部模型参数,并将各局部模型参数发送至服务端。
[0061]
步骤s600、所述服务端根据各个所述局部模型参数更新所述全局模型,并将更新后的所述全局模型的模型参数发送至各个所述客户端,返回执行构建所述局部模型的步骤,迭代更新所述全局模型直至所述全局模型收敛,获得异常检测模型。
[0062]
具体地,服务端对各客户端传输的局部模型参数进行计算处理,例如平均值计算等方法,获得最优模型参数,根据最优模型参数更新全局模型,而后重复执行步骤s200和步骤s300,迭代获取局部模型参数对全局模型进行迭代更新,直至全局模型收敛,获得异常检测模型。
[0063]
进一步地,如图2所示,联邦学习下分层样本选择机制流程,其中客户端模型3为经打分机制进行客户端选择后的异常客户端。第一步初始阶段,服务端确认异常检测模型训练的任务和目标,服务端初始化模型参数并广播给所有的参与的客户端;第二步利用初始化模型参数机进行局部模型训练,获取训练表现数据;第三步传递局部模型训练表现数据;第四步服务端根据各个客户端的模型表现数据,利用打分机制计算各个客户端的得分,选择进行全局模型聚合的客户端;第五步向被选择的客户端返回信息;第六步进行数据分类,获取样本数据,根据样本数据进行局部模型训练,获取模型参数;第七步客户端传递局部模型参数;第八步根据模型参数迭代更新全局模型参数。
[0064]
本实施例中,客户端获取物联网设备发送的流量数据,作为物联网异常检测模型构建的数据集,保证异常检测模型构建过程的正常运行。客户端根据服务端发送的初始模型参数构建与全局模型对应的局部模型,全局模型与局部模型为tcn模型,采用tcn模型作为异常检测模型,可以更好地控制异常检测模型的内存大小并保留更长的历史信息,减少计算资源消耗,提高训练和预测的稳定性。客户端根据流量数据训练局部模型,得到训练表现数据,并将训练表现数据传输至服务端,采用分层样本选择机制,分别从节点层面和数据层面进行筛选,即服务端对各个客户端上传的训练表现数据进行打分,并根据打分结果选
择参与全局模型聚合的客户端,从节点层面,即客户端进行选择,避免联邦学习中恶意客户端对异常检测模型构建的影响,实现对异常检测模型准确度的把控。参与全局模型聚合的客户端利用分类器对流量数据进行筛选,得到样本数据,并根据样本数据训练局部模型,得到局部模型收敛时的局部模型参数,将局部模型参数发送至服务端。利用分类器进行数据分类,避免恶意数据或假数据对异常检测模型构建的影响,从数据层面对异常检测模型的构建及检测进行了质量把控。采用分层样本选择机制分别对客户端和训练数据进行筛选,有效排除了联邦学习环境下异常客户端对异常检测模型准确性的影响,降低了低质量数据参与异常检测模型构建的概率,从节点层面和数据层面对模型训练进行把控,有效提高了异常检测模型的准确率。服务端根据各个局部模型参数更新全局模型,并将更新后的全局模型的模型参数发送至各个客户端,返回执行构建局部模型步骤,迭代更新全局模型直至全局模型收敛,获得异常检测模型,利用高质量样本数据训练获得的局部模型参数更新全局模型,有效减少了全局模型迭代更新的次数,提升物联网流量异常检测模型的构建效率及准确度,构建高效且精准的物联网流量异常检测模型。
[0065]
可选地,所述服务端对各个所述客户端上传的所述训练表现数据进行打分,并根据打分结果选择参与全局模型聚合的所述客户端,包括:
[0066]
所述服务端接收各个所述客户端发送的所述训练表现数据,根据所述打分算法对所述训练表现数据进行打分,获得打分结果,根据所述打分结果计算各所述客户端之间的曼哈顿相似度,根据各所述客户端之间的曼哈顿相似度,利用mini batch k-means算法对所述客户端进行聚类,选择参与全局模型聚合的所述客户端,并向被选择的所述客户端返回信息。
[0067]
具体地,客户端根据流量数据对局部模型进行初步训练后,将获得的训练表现数据(即模型损失和训练数据量)发送至服务端,服务端根据打分机制对各客户端发送的训练表现数据进行打分。在各个客户端向服务端发送训练表现数据的过程中,可能存在恶意客户端传递造假数据的情况,从中收益获利。因此,根据打分结果计算与各客户端之间的曼哈顿相似度,以排除假数据对客户端选择的影响。曼哈顿相似度计算过程如公式所示:
[0068][0069]
其中,similarity
man
为曼哈顿相似度,scorei为i客户端的得分,scorej为j客户端的得分,score
i-scorej为i客户端与j客户端的得分的差距,n为训练数据量。mini batch k-means算法是k-means算法的一种优化变种,是一种能尽量保持聚类准确性下并能大幅度降低计算时间的聚类模型,同时仍试图优化目标函数,mini batch是指每次训练算法时随机抽取的数据子集,采用这些随机选取的数据进行训练,大大的减少了计算的时间,减少收敛时间,考虑到实际应用过程中可能存在客户端数量众多的情况,快速的完成分类任务就尤为重要,因此选用mini batch k-means算法来完成根据相似度数据进行客户端选择任务。根据各客户端之间的曼哈顿相似度,利用mini batch k-means聚类算法对各客户端进行聚类,能快速获得参与全局模型聚合的客户端,筛选异常客户端,以增加异常检测模型建立的效率。参与全局模型聚合的客户端选择完成后,服务端向被选择的客户端返回信息,提示客户进行数据筛选。
[0070]
本实施例中,服务端利用打分机制对各客户端发送的训练表现数据进行打分,而后根据打分结果计算各客户端之间的曼哈顿相似度,将各客户端之间的曼哈顿相似度作为
客户端选择的条件,避免异常客户端传递造假数据影响客户端选择的准确率,在打分机制的基础上,进一步增强选择的客户端的可信度。选用mini batch k-means聚类算法进行客户端选择任务,能够减少客户端聚类时间,实现客户端的快速选择,进而增加异常检测模型建立的效率。
[0071]
可选地,所述参与全局模型聚合的所述客户端利用分类器对所述流量数据进行筛选,得到样本数据,包括:
[0072]
参与全局模型聚合的所述客户端接收所述服务端返回的信息,根据所述信息,利用随机森林分类器对所述流量数据进行分类,得到所述样本数据。
[0073]
具体地,客户端接收服务端返回的信息,利用随机森林分类器对流量数据进行分类,得到样本数据,随机森林分类器是一个包含多个决策树的分类器,集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,提升了分类的有效性,同时随机森林分类器具有准确率高、处理速度快、能有效在大数据集上运行等优点,经随机森林分类器进行数据分类后获取样本数据,根据高质量样本数据训练获取高质量的局部模型,在服务端进行聚合后得到的全局模型具有更快的收敛速度和更高的准确率。
[0074]
本实施例中,采用随机森林分类器对流量数据进行分类,获得准确率较高的高质量样本数据以进行局部模型训练,大大增加了数据数据分类的准确率,进而提高异常检测模型的准确率。随机森林分类器具有处理速度快、有效在大数据集上运行等优点,可以有效提高异常检测模型构建的效率及异常检测模型的泛化能力。
[0075]
可选地,所述服务端对各个所述客户端上传的所述训练表现数据进行打分包括:
[0076]
所述服务端根据第一公式计算所述训练表现数据的分数,所述第一公式表示为:
[0077][0078]
其中,为第t轮第i个客户端的得分,为第i个客户端第t轮聚合时异常检测模型训练的模型损失,ni为第i个客户端的训练数据量,n为各个客户端的训练数据的总量,k为异常检测模型分类,异常检测模型为二分类模型,k的取值为0和1。
[0079]
具体地,客户端接收服务端发送的初始模型参数,更新局部模型后根据流量数据对局部模型进行训练,获取输出值和目标值。模型损失函数为负对数似然函数(negative log-likelihood loss,nll loss),利用模型输出和目标值计算模型损失的损失函数:
[0080]
l=-∑
k target
k log predk,
[0081]
其中,l为损失函数,k为分类,因为异常检测模型为二分类模型,所以k的取值为0、1,targetk为每条数据目标值为k的概率;predk为模型的预测输出值为k的概率。
[0082]
客户端将计算获取的模型损失和客户端内的数据数量传输至服务端,服务端根据第一公式计算训练表现数据的分数,根据分数对客户端进行评价选择,选取安全性较高的客户端进行数据筛选步骤,从节点层面对异常选择模型构建质量进行把控。
[0083]
本实施例中,利用第一公式计算各客户端训练表现数据的得分,可有效提高计算准确率,根据得分结果进行客户端的选择,从节点层面对异常检测模型构建质量进行把控,增加客户端选择的准确率。
[0084]
可选地,所述tcn模型包括两个扩张因果卷积单元和非线性映射层,每个扩张因果
卷积单元依次包括一维扩张因果卷积、权值归一化层、relu激活函数层和dropout操作层,所述非线性映射层用于将所述扩张因果卷积单元输出与输入进行非线性变换,得到所述tcn模型输出。
[0085]
具体地,如图3所示,tcn模型的残差单元中包括两层扩张因果卷积单元,每层扩张因果卷积单元包括一维扩张因果卷积、权值归一化、relu(rectified linear units,线性修正单元)激活函数和参数正则化dropout操作。输入x经两层扩张因果卷积单元计算后输出。其中一维扩张因果卷积的计算过程如图4所示,对于一维输入序列,扩张因子通常以2的次方指数增加,扩张卷积操作对输入序列数据执行计算操作公式:
[0086][0087]
其中,f(s)为扩张卷积对输入序列数据s执行计算操作,k为卷积核大小,f为过滤器函数,x为输入序列,d为扩张因子,x
s-d*i
为历史数据。通过激活函数对输入和经过残差单元转换的输出进行非线性变换计算可得到输出output,计算过程可以描述为公式:
[0088]
output=activation(g(x)+x),
[0089]
其中,output为tcn模型输出,g(x)为残差单元输出,x为输入。
[0090]
本实施例中,采用tcn模型,利用因果卷积可以使模型拥有处理时序数据因果关系的能力,保证数据传递单向性。采用扩张卷积可以实现间隔采样,扩大卷积计算的感受野,保留更长的历史信息,克服网络过深导致的网络退化问题,并且减少计算资源消耗,提高训练和预测的稳定性,使得训练深层网络更加容易。
[0091]
可选地,所述获取物联网设备发送的流量数据包括:
[0092]
获取所述物联网设备发送的所述流量数据,对所述流量数据进行预处理,得到预处理后的所述流量数据,其中,所述预处理包括数据归一化。
[0093]
具体地,由于物联网设备运行环境的不稳定性,物联网设备收集得到的数据中的值可能存在缺失等情况,此类数据输入到异常检测处理过程中可能会导致偏差甚至无法进行异常检测过程,客户端接收获取物联网设备(例如监控摄像头)传输的初始流量数据后,对初始流量数据进行预处理,例如数据归一化、处理np.inf数据和删除存在空数据的nan的行等,有效降低了原始数据缺失或存在噪声等情况对异常检测模型准确率的影响。
[0094]
本实施例中,对获取的初始流量数据进行预处理,有效降低了原始数据缺失或存在噪声等情况对异常检测模型构建的影响,增加异常检测模型的准确率。
[0095]
可选地,在所述客户端根据服务端发送的模型参数构建与全局模型对应的局部模型之前,所述物联网流量异常检测模型建立方法还包括:
[0096]
构建自编码器,根据所述流量数据对预设的所述自编码器进行训练,获得堆叠稀疏自编码器。
[0097]
将预处理后的所述流量数据输入所述堆叠稀疏自编码器进行编码,获得编码后的所述流量数据。
[0098]
可选地,所述构建自编码器包括:
[0099]
所述客户端调取多个稀疏自编码器,所述稀疏自编码器包括输入层、隐藏层和输出层,将多个所述稀疏自编码器按照隐藏层中的神经元数量从小至大进行排序。
[0100]
保留第一个所述稀疏自编码器的输入层和隐藏层、最后一个所述稀疏自编码器的
所述隐藏层和输出层以及其余所述稀疏自编码器的所述隐藏层,将相邻的所述稀疏自编码器通过所述隐藏层进行顺序连接,构建预训练的所述堆叠稀疏自编码器。
[0101]
具体地,考虑到物联网流量数据的上下文特征、维度特征、隐私保护、数据存储、通信开销,将栈式自编码器(stacked autoencoder,sae)和稀疏自编码器结合,构建堆叠稀疏自编码器(stacked sparse autoencoder,ssae),可以在有限的内存下保留更多数据,有效对数据逐层进行特征提取,更好的保留时序数据的特征,获取具有良好表征的低维数据,以提高自编码器的泛化能力。如图5所示,堆叠稀疏自编码器是将栈式自编码器和稀疏自编码器结合,由多个单层基本稀疏自编码器构成的神经网络结构,其中稀疏自编码器包括输入层、隐藏层和输出层。获取多个单层的稀疏自编码器,并将多个单层的稀疏自编码器按照隐藏层的神经元数量从小到大进行排序,其中,第一个稀疏自编码器的隐藏层神经元数量最少,最后一个稀疏自编码器的隐藏层神经元数量最多。保留第一个稀疏自编码器的输入层和隐藏层,保留最后一个稀疏自编码器的隐藏层和输出层,其余的稀疏自编码器仅保留隐藏层,将多个处理完毕的稀疏自编码器通过隐藏层进行顺序连接,实现多个编码器级联,构成堆叠稀疏自编码器。初始流量数据在进行输入时,对数据进行逐层特征提取,可以发现数据特征间的内在规律,尽可能保留良好表征的低维数据。根据预处理后的流量数据训练预先构建的自编码器,获得训练好的堆叠稀疏自编码器。其中,基于联邦学习,堆叠稀疏自编码器与全局模型结合构建ssae-tcn模型作为异常检测模型的基础模型,可以有效提高异常检测效率,降低异常检测任务运行的内存需求、时间开销、数据存储开销。
[0102]
物联网设备获取的原始数据为一维时间序列数据,一维时间序列数据通常数据量大、结构复杂,利用原始数据完成异常检测,通常会存在较大的计算开销和较长时间的延迟,因此,将预处理后的流量数据输入训练好的堆叠稀疏自编码器中,对流量数据进行编码,以编码后的流量数据对局部模型进行训练,有效对原始数据进行降维,降低数据计算复杂度。
[0103]
本实施例中,构建堆叠稀疏自编码器,并利用堆叠稀疏自编码器对流量数据进行编码,可以发现数据特征间的内在规律,对一维时间序列数据的逐层降维、对数据逐层进行特征提取,更好的保留时序数据的特征,获取具有良好表征的低维数据,降低数据计算复杂度,进而增加异常检测模型的计算效率。
[0104]
可选地,所述客户端根据服务端发送的初始模型参数构建与全局模型对应的局部模型之前,所述物联网流量异常检测模型建立方法还包括:
[0105]
所述服务端确认异常检测模型训练的任务和目标,根据所述异常检测模型训练的任务和目标构建所述全局模型,并获取所述全局模型的初始模型参数,将所述初始模型参数广播至所述客户端。
[0106]
具体地,服务端进行初始化,确认异常检测模型训练的任务和目标,服务器采用tcn模型构建初始的全局模型,并获取对应的全局模型参数,将对应的初始化模型参数广播给所有的参与流量检测模型构建的客户端,客户端根据全局模型参数更新局部模型,即tcn模型,以进行后续的模型训练。
[0107]
本实施例中,服务端构建全局模型并获取对应的初始模型参数,并将初始模型参数广播至客户端,更新局部模型,保证异常检测模型构建的正常运行,同时,统一局部模型与全局模型参数,效提高了异常检测模型构建的准确度。
[0108]
进一步地,为了验证本实施例提出的堆叠稀疏自编码器与tcn模型结合构建的ssae-tcn模型对于异常检测任务具有良好的数据表征,利用堆叠稀疏自编码器编码后数据与原始数据进行对比试验,分别执行基于tcn模型的异常检测分类预测任务,对比两种数据在异常检测任务中的表现,得到的实验结果如表所示:
[0109][0110]
通过表中的实验验证数据可以得出,使用编码后的数据进行异常检测的正确率为98.12%、精度为98.90%、召回率为98.43%,f1分数为0.9871,与利用原始数据进行分类任务所得的模型在评价指标方面的表现相差无几,由此可知经过编码不会导致数据对于异常检测任务有太多损失,证明经过特征提取后的数据保存了良好的数据表征。其次,在异常检测模型训练所需的时间方面,编码数据相对于未编码数据完成分类任务所需的时间大幅度减少,由106.66分钟缩短到38.56分钟。证明利用编码后的数据可以有效的降低数据的维度,进而降低边缘设备的计算和时间成本。此外,利用编码后的数据进行异常检测任务模型收敛所需的训练轮数也明显小于在原始数据下的训练轮数,同时不会导致异常检测的评价指标数据降低。由此可以得出,堆叠稀疏自编码器可以应用于物联网数据降维并能够提高异常检测的整体效率。通过以上实验数据可以得出,通过堆叠稀疏自编码器进行特征提取可以显著减少训练数据的特征维度并保留良好的数据表征。通过降低数据特征的维度可以显著减少异常检测任务的计算时间和内存开销,使得预测分类模型更加高效、更加轻量化。
[0111]
进一步地,选用多种对比算法验证ssae-tcn模型的效果,广泛用于时序数据处理的循环神经网络算法的变体:长短期记忆人工神经网络(long short-term memory,lstm)与门控循环单元(gated recurrent unit,gru)以及tcn模型。检测得到的不同模型表现以及评价指标的测试结果如表所示:
[0112]
[0113]
根据表中的实验结果表明,在集中式异常检测环境下,提出的异常检测方法的正确率为98.62%,精度为98.90%,召回率为98.43%,f1分数为0.9871。相对于实验中采用的对比方法,提出的ssae-tcn异常检测模型显示出良好的分类效果。此外,根据实验对比可以得出:提出的ssae-tcn异常检测模型在进行异常检测任务时的内存消耗和训练时间明显少于标准的基于lstm、gru以及tcn模型的方法,且分类表现更好。通过以上实验数据可以证明提出的ssae-tcn模型对比rnn算法可以高效完成物联网数据异常检测任务。
[0114]
进一步地,集中式异常检测得到的模型的检测性能是联邦学习环境下各局部模型不断迭代聚合得到的全局模型检测性能的目标。为了检验提出的ssae-tcn异常检测方法在联邦学习下的可行性,进行实验验证。实验仍利用cic-ids-2017数据集,联邦学习下物联网数据异常检测的实验设置为客户端数量设置10个,各个客户端的数据根据训练数据集进行分层抽样,划分后的客户端数据分布保持与原训练数据集基本尽量保持同分布且各个客户端的训练数据的数量保持平均。联邦学习下,利用数据在本地进行3轮的局部更新,全局更新10轮得到的全局模型的验证效果对比集中式异常检测进行10轮迭代的对比表现如图6所示。从图6中可以看出,对比集中式异常检测进行全局数据的训练结果,联邦学习环境下利用局部数据训练后进行全局聚合得到的全局模型进行异常检测多轮迭代后的准确度在97%左右,虽然与集中式异常检测的检测稳定后98%以上的正确率存在差距,但也拥有着良好的异常检测效能,并且联邦学习环境下模型收敛所需要的全局聚合的轮数更少。由此可见,联邦学习训练得到的全局模型的异常检测效果在可接受的范围内。
[0115]
进一步地,为了检测异常客户端对联邦学习环境下物联网数据异常检测的影响,进行实验验证。实验中各个客户端异常检测的训练数据和测试数据来自cic-ids-2017数据集的数据。各个客户端之间的训练数据各不相同,测试数据用于测试全局聚合后产生的全局模型的表现。攻击数据集来自cic-ids-2017数据集的取样,混合高比例篡改数据作为攻击客户端的数据样本,攻击客户端的意图是让模型根据输入的数据特征做出错误的判断。为了模拟恶意客户端篡改训练数据,数据样本被毒化的情况,实验假设攻击客户端获得了白盒的环境。因此,异常客户端数据可以来源于正确数据进行标签反转产生。为了模拟联邦学习场景,实验环境中参数设定有10个客户端。每个客户端都分配有一个单独的训练数据。其中正常客户端的训练数据都是根据数据集时序顺序设置的。为了验证客户端选择机制的有效性,通过设置10个客户端执行局部训练任务,其中一个客户端利用攻击数据集作为本地训练数据集,将进行客户端筛选和未进行客户端筛选得到的全局模型测试效果描述如图7所示。从图7中可以得出,在未进行客户端选择的环境下,异常数据的局部模型参与全局聚合会对全局模型的效果产生不良的影响,导致多轮全局模型更新后的模型测试正确率从97%以上下降到85%。对比经过客户端选择后,只有9个在正常数据集下进行训练的客户端参与计算全局模型。两种情况下的全局模型表现可以得出,根据客户端的表现进行客户端选择的方法的有效性。
[0116]
进一步地,对于每个客户端,拥有多个标记样本。但是全局模型聚合的目标是获得了比现有解决方案具有更快收敛速度和更高准确度的全局模型。因此,需要为目标任务选择高质量的样本,高质量样本对全局模型有积极影响。将通过随机森林分类器进行客户端的数据筛选,并将进行数据筛选后得出的全局模型与未经数据筛选的其中一个客户端的局部模型训练效果进行对比,结果如图8所示。根据图8可以看出,进行数据过滤可以更好的完
成局部模型的训练过程,经过各个客户端数据过滤后的全局模型测试有着更好的表现,证明所提出的数据过滤方法的有效性。实验结果验证了提出的分层样本选择机制实现了对高质量数据样本的准确、高效的选择,从而获得了比现有解决方案具有更快收敛速度和更高准确度的全局模型。
[0117]
本发明实施例还提供了一种物联网流量异常检测方法,包括:
[0118]
利用物联网设备获取流量数据。
[0119]
将所述流量数据输入根据上述所述的物联网流量异常检测模型建立方法建立的异常检测模型,获取流量异常检测分类结果。
[0120]
根据所述分类结果,选择物联网异常流量。
[0121]
具体地,利用物联网设备(例如智能摄像头)获取原始流量数据,将原始流量数据输入上述训练完成的物联网流量异常检测模型,输出分类结果,并根据分类结果,筛选出物联网异常流量。
[0122]
本实施例中,将利用物联网设备(例如智能摄像头)获取原始流量数据输入物联网流量异常检测模型,获取精准的物联网流量检测结果,在此基础上,高效且精准的筛选出物联网异常流量,实现物联网应用的正常通信,有效提高了物联网应用通信的安全性。
[0123]
虽然本公开披露如上,但本公开的保护范围并非仅限于此。本领域技术人员在不脱离本公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1