首页> 中国专利> 基于联邦拆分学习的物联网异构设备异常流量检测方法

基于联邦拆分学习的物联网异构设备异常流量检测方法

摘要

本发明公开了一种基于联邦拆分学习的物联网异构设备异常流量检测方法,由于网关资源受限,无法支撑层数较多的深度学习模型,同时,物联网设备异构,因此提出了针对物联网异构设备的联邦拆分学习方法。将模型一部分部署在网关上,称为客户端模型或者异常检测模型NDM,另一部分部署在拆分服务器上,NDM模型参数在联邦服务器做联邦聚合更新,再将训练好的NDM模型,用于对该设备类型的异常流量检测。本发明中各个网关部署的NDM的数量不尽相同,因而不同网关上相同类型的NDM所拥有的资源也不相同,因此,本发明提出了一个动态划分拆分层的算法‑自适应拆分算法,保证网关上相同类型的NDM模型的拆分层数相同,计算资源和通信资源足够支撑所部署的NDM。

著录项

  • 公开/公告号CN116418589A

    专利类型发明专利

  • 公开/公告日2023-07-11

    原文格式PDF

  • 申请/专利权人 湖南大学;

    申请/专利号CN202310420029.4

  • 发明设计人

    申请日2023-04-19

  • 分类号H04L9/40;H04L67/1001;H04L12/66;G06F18/2433;G06F18/23;G06N3/084;G06N3/098;

  • 代理机构长沙麓创时代专利代理事务所(普通合伙);

  • 代理人张丽

  • 地址 410012 湖南省长沙市岳麓区麓山南路1号

  • 入库时间 2024-04-18 19:54:45

说明书

技术领域

本发明属于网络安全技术领域,特别是涉及一种基于联邦拆分学习的物联网异构设备异常流量检测方法。

背景技术

物联网设备因其低成本和多用途被广泛用于医疗保健、智能城市、农业和交通等领域。有研究者使用基于机器学习的集中式异常检测的方法来检测异常流量,但集中式策略中使用一个异常检测模型训练所有的数据集,尤其是对异构的物联网设备而言,会导致检测的精度低,中心服务器收集数据会造成用户隐私泄露。因此,有研究者引入了联邦学习(Federated Learning,简称FL)框架,联邦学习能够将其本地模型的参数提供给中央服务器,中央服务器聚合更新后将参数下发给本地网关,重复进行训练直到模型收敛,提高了模型的检测精度同时也增强了隐私保护。

FL主要存在的不足之处是每个客户端都需要运行完整的机器学习(MachineLearining,简称ML)模型,而物联网中资源受限的网关设备无法运行完整的模型,如果ML模型是复杂的深度学习模型,网关就更难以运行该模型。

名词解释:

NDM:异常检测模型。

ML:机器学习。

FL:联邦学习。

ANN:人工神经网络。

发明内容

本发明的目的在于提供一种基于联邦拆分学习的物联网异构设备异常流量检测方法。

为解决上述技术问题,本发明是通过以下技术方案实现的:

一种基于联邦拆分学习的物联网异构设备异常流量检测方法,包括如下步骤:

步骤一、构建用于异常检测的深度学习模型即NDM;

步骤二、通过自适应拆分算法得到深度学习模型的切割层,将深度学习模型的切割层及切割层之前的深度学习模型部分分发到网关设备作为客户端模型NA,切割层之后的深度学习模型分发到云服务器作为拆分服务器模型SA;

步骤三、得到训练数据集;

步骤四、训练深度学习模型:将训练数据集发送到各个网关设备的客户端模型NA正向传播进行进行训练,然后客户端模型NA的输出的破碎数据作为对应拆分服务器模型SA的输入,拆分服务器模型SA正向传播继续训练计算出损失函数后更新拆分服务器模型SA的模型参数,然后进行反向传播至拆分服务器模型SA的第一层形成更新后的破碎数据,更新后的破碎数据传播到客户端模型NA的切割层,客户端模型NA进行反向传播更新客户端模型NA的模型参数;然后各网关设备的客户端模型NA的模型参数传输到联邦服务器,联邦服务器通过联邦平均FedAvg算法对深度学习模型的各个模型参数进行聚合,得到聚合后的各个模型参数,将聚合后的各个模型参数传递到各个客户端模型NA,再进行上述训练,直到客户端模型收敛,得到训练好的客户端模型NA;

步骤五、将各网关设备得到的流量数据输入训练好的客户端模型NA,训练后的客户端模型NA,得到流量为正常或攻击的输出。

进一步的改进,所述步骤二中,通过自适应拆分算法得到深度学习模型的切割层的方法如下:

2.1)设置所有网关设备上的深度学习模型的初始切割层数L=1,总共有n个网关设备,每个网关上部署了的NDM数量为NG

2.2)得到网关设备的计算时间CT:

设深度学习模型总共训练了T轮,每轮迭代了R次,当前训练轮次为t,网关每次迭代需要iter

其中,表示CT

2.3)得到网关设备的通信时间NT:

服务器上发送数据集给n个网关,根据网关和服务器之间的数据传送时间获得两者的通信时间,设为{NT

NT

2.4)得到网关设备的通信时间和计算时间总和作为网关能力,每一轮训练计算一次网关能力,用公式(2)表示:

表示第i个网关设备在t+1轮的网关能力;

2.4)求每个网关设备上每个NDM平均能获得的网关能力:

NG

如果

其中,τ

如果

[]表示取整数;

τ表示时间阈值,如公式(3)所示:

2.5)确定同一设备类型的NDM切割层数:

不同网关上的同一类型NDM的切割层数相同,并通过下式确定:

TL

进一步的改进,所述步骤四中,根据物联网设备类型把部署在网关的客户端模型划分成多个簇,同一簇内网关设备的客户端模型NA的模型参数在联邦服务器进行聚合,不同簇的不进行聚合。

进一步的改进,簇内深度学习模型的训练步骤如下:

4.1、第h簇内客户端模型NA并行训练直到切割层网络;其中,

其中,

其中,η

当簇内的客户端模型NA完成L次本地迭代训练后,首先将训练好的客户端模型NA参数上传到联邦服务器,然后通过联邦平均FedAvg算法进行聚合,由公式(7)表示,最后将聚合更新后的结果返回给客户端模型;

其中,D

进一步的改进,进行簇内深度学习模型的训练的同时,进行簇间深度学习模型的训练。

进一步的改进,所述用于异常检测的深度学习模型为对比学习模型。

本发明具有以下有益效果:

1.本发明利用联邦学习高效的通信效率和拆分学习分割模型的优点,使资源受限的网关设备上能够部署复杂的深度学习模型,实现网关上的NDM模型对输入输出的流量进行异常检测。

2.设置自适应拆分算法,从而能保证网关上的计算资源和通信资源足够支撑所部署的NDM。

3.与部署在网关设备上的其他检测模型相比,增加的网络层深度可以获得更抽象,更高层次的特征,使得模型的分类性能相对会更好,因此,提高了模型的检测精度。

附图说明:

图1为基于设备类型的物联网异常流量检测方法示意图;

图2为联邦拆分模型系统示意图。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

(1)处理数据集

选取所需要的数据集并进行特征提取,本文采用的是NSL-KDD数据集,它广泛应用于物联网场景。数据集每条记录包含43个特征,设其中41个特征指的是流量输入本身,最后两个是标签(正常或攻击),数据集中存在4种不同类型的攻击:拒绝服务(DoS)、探测、用户到根(U2R)和远程到本地(R2L)。由于数据特征较多并且存在一部分冗余特征,本文使用斯皮尔曼等级相关系数方法来量化数值特征之间的相关性,且每组只保留一个高相关特征,使用方差分析对特征进行重要性排序,并进行数值化和归一化处理。

(2)分类设备类型

与其他设备相比,物联网设备更加异构,不同的物联网设备有不同的服务质量要求

(QoS),譬如网络带宽、丢包容忍度等要求。一个联网的摄像头(在流媒体视频时)比一个智能灯泡需要更高的带宽。与智能咖啡机相比,一个联网的烟雾探测器或智能钥匙锁需要更可靠的通信。在烟雾探测器的情况下,消息传递失败可能危及生命。不同的物联网设备有不同且固定的通信模式,通过为每个物联网设备的通信模式构建指纹,然后使用无监督聚类算法将这些指纹分组,最后实现设备类型的识别,将设备类型分为Type1,Type2...Typen。

(3)基于异构设备的联邦拆分学习方法

一般情况下,一个物联网网关会与多个设备相连,会有多种类型设备。针对异构设备,一个物联网网关承载着多个异常检测模型(NDM),本方案中使用对比学习模型用于物联网异常流量检测。由于物联网网关资源受限,本方案中使用拆分学习,将对比学习模型拆分成两部分,一部分部署在网关上,另一部分部署在拆分服务器上,训练好的网关部分的对比学习模型(NDM)用于对该设备类型的异常流量检测。由于每个网关部署的NDM的数量不尽相同,不同网关上的NDM拥有的资源也不相同,因此,本方案提出了一个动态划分切割层的算法-自适应拆分算法,保证相同设备类型的拆分层数相同和网关上的计算资源以及通信资源足够支撑所部署的NDM。

3a.自适应拆分算法

初始化切割层

设置所有网关上的模型的初始切割层数L=1,总共有n个网关设备,每个网关上部署了的NDM数量为NG

评价网关的能力

网关能力可以概括为计算能力和通信能力的总和,计算能力和通信能力分别量化为计算时间和通信时间;

计算时间(CT):

设模型总共训练了T轮,每轮迭代了L次,当前训练伦次为t,网关每次迭代需要iter

通信时间(NT):

云服务器上发送轻量数据集给n个网关,根据网关和服务器之间的数据传送时间就可以获得两者的通信时间,设为{NT

每一轮计算一次网关能力,用公式(2)表示:

求每个网关设备上每个NDM平均能获得的网关能力:

NG

如果

其中,τ

如果

2.5)确定同一设备类型的NDM切割层数

拆分服务器本应按照2.4)来确定每个网关上的NDM的拆分层数,但是每个网关设备有不同类型的NDM,不同网关上的NDM有些同属一个簇,因此需要统一同一设备类型的NDM的切割层数,所以如下所示求同一设备的NDM的切割层数:

TL

因此,这样可以使同一设备类型的切割层数相同。

3b.模型训练

不同类型的物联网设备之间的网络流量模式差异很大,因此将根据设备类型的不同对其进行分类,分成不同的簇,如图1所示,首先,随机初始化模型参数,根据3a中的自适应拆分算法动态地选取网络切割层,训练全局轮数设为T,每轮训练中的本地迭代训练次数为L,当前训练轮次为t,以下为模型的训练过程,如图2所示,包括簇内和簇间训练阶段:

簇内训练:

根据设备类型将NDM模型划分成多个簇,D代表簇的数目,D

①h簇内客户端模型并行训练直到切割层网络,模型参数为

②服务端模型首先通过给定的预测结果y(t,r)和相应的真实标签,计算损失函数的梯度,用

③当簇内设备完成L次本地迭代训练后,首先将训练好的客户端模型参数上传到联邦服务器,然后通过联邦平均FedAvg算法进行聚合,由公式(4)表示,最后将聚合更新后的结果返回给客户端模型;

C

簇间训练:

由于设备的异构性,不同簇里面的所训练得到的模型是不同的,因此,相同簇内都拥有相同的客户端模型,不同簇内的模型有不同的客户端模型,与之相对应的另一部分在云服务器端,每个簇内的模型并行进行训练,同时,簇间也是执行并行训练;所提议的“双并行”的方式操作与仅以顺序方式操作的普通SL方案不同,每个簇中的设备是并行训练的,而簇间同时也是并行进行训练的,从而折叠了整个训练过程,大大减少了训练延迟,极大地提高了模型的训练速度。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号