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

一种基于异构分层联邦学习的异常检测方法

2022-07-06 05:40:07 来源:中国专利 TAG:


1.本发明涉及联邦学习领域和异常检测领域,尤其涉及一种基于异构分层联邦学习 的异常检测方法。


背景技术:

2.随着nb-iot、emtc和lora等物联网技术持续增强物联网的广域覆盖、低功耗 接入与海量终端接入能力,推动边缘网络终端在物联网中大量部署,物联网络日益复 杂,其面临的网络安全问题也日趋严峻。大规模物联网络往往由多个异构网络(如移 动通信网、互联网和物联网等)组成,涉及海量异构终端接入和数据交互,网络环境 复杂。同时,网络中存在大量用户、产业或工业敏感信息,极易遭受信息泄露、信息 窃取、数据篡改等恶意攻击,面临极大的安全隐患。因此,须建立适用于大规模异构 物联网络的异常检测模型,以确保网络安全运行。
3.物联网终端设备资源受限,无法承载海量数据的存储、计算等任务,因此物联网 异常检测模型须基于分布式架构。目前,传统的分布式机器学习框架,从终端设备中 采集数据,上传至云中心进行存储,并由云中心统一建模,但是仍面临着数据孤岛及 传输安全问题。这是因为移动网、互联网和物联网等多网共存,异构网络之间由于数 据隐私、行业壁垒等因素存在数据无法共享的问题;即便一定程度上允许数据共享, 数据在复杂网络环境中传输时也极易遭受攻击,导致数据丢失或被恶意篡改。因此, 基于云中心构建统一的异常检测模型在异构物联网环境下应用时受到极大限制。
4.另一种可行方案是基于联邦学习实现网络异常检测。以联邦学习作为一种分布式 机器学习框架,允许多个实体(参与者)在中央服务器的协调下协作训练得到全局模 型,进而基于全局模型对网络异常进行识别或分类。由于参与者的原始数据存储于本 地,仅需在中央协调器指导下交换或转移模型参数,从而实现多个参与者在不共享隐 私数据的情况下进行一个全局模型的协作训练;且每个参与者仅需处理本地数据,降 低了单个实体的计算负载。文献“communication-efficient learning of deep networksfrom decentralized data”(基于分散数据的通信高效深度网络学习,icml 2017)提出 的分布式联邦学习框架,适用于物联网样本重叠少,而样本特征重叠(同构)的数据 分布特点,即原始数据分布于网络各实体,但不同实体拥有的样本所反映的对象属性 或特征一致。特别地,文献“fdml:a collaborative machine learning framework fordistributed features”(面向分布式特征的协作机器学习框架,kdd 2019)考虑了网络 实体拥有异构样本特征的情形,提出分布式特征机器学习框架,利用多特征融合提升 模型准确度。同时,该训练架构允许网络实体异步更新,尤其适合在软、硬件能力异 构的物联网终端设备上部署。上述两类典型的联邦学习框架分别对应了联邦学习的两 种类型,即横向联邦学习和纵向联邦学习。
5.文献“communication-efficient learning of deep networks from decentralized data
”ꢀ
(基于分散数据的通信高效深度网络学习,icml 2017)本质上为横
向联邦学习,适 用于样本不重叠但特征一致的多实体联合建模。然而,异构物联网内的各异构网络有 各自数据特点,具体而言,边缘网络数据包通过各种物联网协议聚合至边缘网关,边 缘网关可获取大部分应用层数据内容;而互联网数据包主要呈现目标和源的ip地址、 网络端口、传输时间、到达时间等网络层面的数据内容;在移动通信网侧,则对传输 时延、基站地址、网关地址等数据包传输相关特征会有突出体现等。由于物联网显著 的数据异构特性,即,实体拥有的数据特征不一致,因此无法采用横向联邦学习建模。 若各异构网络基于本地持有的数据单独建立异常检测模型,其本地模型的识别性能很 难达到预期效果。
6.另一方面,纵向联邦学习,如文献“fdml:a collaborative machine learningframework for distributed features”(面向分布式特征的协作机器学习框架,kdd 2019) 的工作,适用于样本特征不一致的情形,可以支持各异构网络之间联合建模。但是, 其假设样本特征相同的数据集中于一个实体,即,对特征同构的数据的存储和计算集 中在单个实体上实现。这种架构不仅要求终端设备有较高的软硬件资源用于本地数据 处理,同时也无法有效利用分散于各个实体的样本数据。因此,在终端资源受限且数 据分散的物联网络中应用极度受限。
7.因此,本领域的技术人员致力于开发一种基于异构分层联邦学习的异常检测方法, 可提高模型识别性能和分类精度,减少通信开销,提升模型训练速度,并确保数据隐 私性,具有更高的安全性,可部署于终端数量大且类型多样的异构物联网。


技术实现要素:

8.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何构建高性能和高 安全性的异构物联网络的异常检测模型。
9.为实现上述目的,本发明提供了一种基于异构分层联邦学习的异常检测方法,包 括如下步骤:
10.步骤1、构建异构分层联邦学习架构;
11.步骤2、簇间基于纵向联邦学习异步更新全局模型;
12.步骤3、簇内基于横向联邦学习同步更新局部模型。
13.进一步地,所述步骤1,包括如下步骤:
14.步骤1.1、异构分层联邦学习框架包括一个总协调方,用于协调簇间模型更新; m个次协调方,各自分管一个同构的簇内局部模型更新;以及归属于不同次协调 方的数量不一的参与方(对应设备终端);其中,对应次协调方j(j=1

m)的 参与方数目为kj,第k(k=1

kj)个参与方持有本地训练数据且 (即,各次协调方中的各参与方持有训练样本总和为n),其中和分别为位于第j个次协调方中第k个参与方的第i个样本的特征值和标签;
15.步骤1.2、设立一个样本协调器,用于指定第t次迭代样本呈现时间表i(t),这 决定了样本(minibatch)从哪些参与方中提取,以及样本提交给训练算法的顺序;
16.步骤1.3、建立簇间只传输预测结果的模型如下式所示:
[0017][0018]
其中α
j,k
为次协调方j中第k个参与方的子模型,作用是将次协调方j中第k 个参与方上的局部特征ξ
j,k
映射到一个局部预测;σ为一个连续可微函数,用来聚合 局部中间预测α
j,k
(x
j,k
,ξ
j,k
);
[0019]
步骤1.4、第t次迭代呈现给训练算法且索引为i(t)样本的目标函数可以用下式 表示:
[0020][0021]
其中l(x;ξ
i(t)
,y
i(t)
)为损失函数,表示每个样本的预测值和真实标签之间的差距,是子模型参数x
j,k
的正则项,用来防止模型过拟合;
[0022]
步骤1.5、子模型的局部梯度计算公式如下所示:
[0023][0024]
其中的h(
·
)函数用来简化与相关的前几个项的符号;
[0025]
步骤1.6、设立push_request指令和pull_request指令,为总协调方与次协调 方之间通信使用。
[0026]
进一步地,所述步骤2,包括如下步骤:
[0027]
步骤2.1、定义次协调方j方的全局参数为xj,内部参与方k的局部参数为x
j,k
, 对上述两个参数进行初始化:在特定的第t(t=0

t)次迭代中,聚合来 自次协调方j中的索引为i(t)的样本所在参与方更新的本地预测结果:
[0028][0029]
将本地预测结果c通过push_request指令上传给总协调方;
[0030]
步骤2.2、总协调方初始化局部预测矩阵[a
i,j
]
n*m
,若接收到来自次协调方j第 t次迭代更新聚合后的预测结果c,令a
i(t),j
=c;
[0031]
步骤2.3、不同的次协调方j在第t次迭代中,向总协调方发送pull_request 指令,
请求获取总协调方关于i(t)最新的预测结果,如果请求成功,则接收到 并发送给次协调方j中的参与方;如果请求失败,则继续发送 pull_request指令;
[0032]
步骤2.4、总协调方若接收到来自次协调方j第t次迭代中的pull_request指令, 且t不超过迭代轮次最慢的次协调方τ次,则发送至次协调方j方,否 则拒绝该pull_request指令;
[0033]
步骤2.5、次协调方j方调动簇内的各参与方进行横向联邦学习,至簇内局部 模型收敛或到达预设横向联邦训练迭代次数t

后,重复所述步骤2.1至收敛或到达 预设纵向联邦训练迭代次数。
[0034]
进一步地,所述步骤3,包括如下步骤:
[0035]
步骤3.1、在次协调方j中各参与方接收到第t次迭代中次协调方j方发送的后,开始横向联邦的迭代t

=1

t

,初始化子模型参数:表明第t次纵向联邦迭代中次协调方j方的第k个参与方的局部参数在横向联邦迭 代中的初始值等于第t次纵向联邦迭代中次协调方j方的全局参数,并且表示第t次纵向联邦迭代中次协调方j方的全局参数等于上一轮横向 联邦经过t

更新后的参数;
[0036]
步骤3.2、次协调方j中各参与方同时根据下式计算梯度
[0037][0038]
次协调方j中各参与方更新局部参数为:
[0039][0040]
η
t

为学习速率,各参与方再将一次横向联邦更新后的局部参数一同发 送至次协调方j;
[0041]
步骤3.3、次协调方j接收到各参与方上传的局部参数后进行聚合,更新全局 参数
[0042][0043]
次协调方j将更新后的全局参数一同下发至各参与方,此时局部参数更新为 [0044]
步骤3.4、重复所述步骤3.2,直至簇内模型收敛或者迭代次数达到预设的t


[0045]
进一步地,所述步骤1.1,归属于同一个次协调方的各参与方拥有不重叠的样 本。
[0046]
进一步地,所述步骤1.1,归属于同一个次协调方的各参与方样本特征同构。
[0047]
进一步地,所述步骤1.1,分属于不同次协调方的参与方样本特征异构。
[0048]
进一步地,所述步骤1.3,模型使用小批量随机梯度下降(sgd)算法。
[0049]
进一步地,所述push_request指令用于次协调方向总协调方上传局部预测结果。
距,是子模型参数x
j,k
的正则项,用来防止模型过拟合。
[0062]
子步骤1.5):对于式(1)建立的模型,根据式(2),给出子模型的局部梯度 计算公式如下:
[0063][0064]
其中h(
·
)函数为与相关的前几项的简化表示。
[0065]
子步骤1.6):设立push_request指令和pull_request指令,为总协调方与次协 调方之间通信使用,push_request指令用于次协调方向总协调方上传局部预测结果, pull_request指令用于次协调方向总协调方请求聚合后的预测结果。
[0066]
步骤2:簇间基于纵向联邦学习异步更新全局模型
[0067]
考虑到不同的次协调方的算力或通信能力差异,允许各次协调方采用异步通 信方式与总协调方进行纵向联邦学习,主要通过push_request指令和pull_request 指令实现。具体分为以下步骤:
[0068]
子步骤2.1):定义次协调方j方的全局参数为xj,内部参与方k的局部参数为x
j,k
, 对上述两个参数进行初始化:在特定的第t(t=0

t)次迭代中,聚合来 自次协调方j中的索引为i(t)的样本所在参与方更新的本地预测结果:
[0069][0070]
将本地预测结果c通过push_request指令上传给总协调方。
[0071]
子步骤2.2):总协调方初始化局部预测矩阵[a
i,j
]
n*m
,若接收到来自次协调方j 第t次迭代更新聚合后的预测结果c,令a
i(t),j
=c。
[0072]
子步骤2.3):不同的次协调方j在第t次迭代中,向总协调方发送pull_request 指令,请求获取总协调方关于i(t)最新的预测结果,如果请求成功,则接收到 并发送给次协调方j中的参与方;如果请求失败,则继续发送 pull_request指令。
[0073]
子步骤2.4):总协调方若接收到来自次协调方j第t次迭代中的pull_request 指令,且t不超过迭代轮次最慢的次协调方τ次(τ值需根据经验设定),则发送 至次协调方j方,否则拒绝该pull_request指令。
[0074]
子步骤2.5):次协调方j方调动簇内的各参与方进行横向联邦学习,至簇内局 部模型收敛或到达预设横向联邦训练迭代次数t

后,重复子步骤2.1至收敛或到达 预设纵向
联邦训练迭代次数。
[0075]
步骤3:簇内基于横向联邦学习同步更新局部模型
[0076]
同一次协调方下的参与方持有的训练数据具有相同特征,不同样本 索引的特点,本步骤基于横向联邦学习对同一次协调方中各参与方在不交互数据 的前提下进行模型训练,具体分为以下步骤:
[0077]
子步骤3.1):在次协调方j中各参与方接收到第t次迭代中次协调方j方发送 的后,开始横向联邦的迭代t

=1

t

,初始化子模型参数: 该等式表明第t次纵向联邦迭代中次协调方j方的第k个参与方的 局部参数在横向联邦迭代中的初始值等于第t次纵向联邦迭代中次协调方j方的全 局参数,并且表示第t次纵向联邦迭代中次协调方j方的全局参数等 于上一轮横向联邦经过t

更新后的参数。
[0078]
子步骤3.2):次协调方j中各参与方同时根据式(4)计算梯度如下式:
[0079][0080]
次协调方j中各参与方根据式(5)更新局部参数为式(6):
[0081][0082]
式(6)中η
t

为学习速率,各参与方再将一次横向联邦更新后的局部参数 一同发送至次协调方j。
[0083]
子步骤3.3):次协调方j接收到各参与方上传的局部参数后进行聚合,更新全 局参数
[0084][0085]
次协调方j将更新后的全局参数一同下发至各参与方,此时局部参数更新为 [0086]
子步骤3.4):重复子步骤3.2,直至簇内模型收敛或者迭代次数达到预设的t


[0087]
在本发明的另一较佳实施方式中,对于式(1)建立的模型,式中α
j,k
为次协调 方j中第k个参与方的子模型,其作用是将次协调方j中第k个参与方上的局部特 征ξ
j,k
映射到一个局部预测。因此,α
j,k
可以选择逻辑回归、svm、深度神经网络等 通用模型,具体可根据问题场景和需求进行灵活设置。另外,外层纵向联邦学习 迭代次数t和内层横向联邦学习迭代次数t

可根据实际需求进行设置,尤其当t

=1 时,所提分层联邦学习框架退化为纵向联邦学习。
[0088]
本发明与现有技术相比较,具有如下显而易见的实质性特点和显著优点:
[0089]
本发明提出基于异构分层联邦学习的异常检测架构与方法,采用网络分簇的思
想, 簇内同构终端进行同步横向联邦学习,簇间终端异构采用纵向联邦学习。
[0090]
1.首先,针对物联网络内多个异构网络拥有的数据特征异构特性,簇间进行纵向 联邦学习可以有效实现多维特征融合,对网络异常“画像”,以提高全局模型识别性能 和分类精度。由于簇间只交互样本的预测结果,不仅能大幅减少通信开销,并确保数 据隐私性,同时也比传统的直接传递模型参数(梯度)的架构具有更高的安全性。
[0091]
2.另外,考虑到同一类型网络内部数据的分散特性,允许簇内同构终端进行横向 联邦学习,可进一步提高模型准确度;允许同构终端交互模型参数,可提升局部模型 训练速度。
[0092]
3.最后,所提架构允许簇内的局部模型更新采用同步方式,而组间进行全局模型 更新时则采用异步方式,这种混合的模型更新方式尤其适合部署于终端数量大且类型 多样的异构物联网。
[0093]
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以 充分地了解本发明的目的、特征和效果。
附图说明
[0094]
图1是本发明的一个较佳实施例的异构分层联邦学习框架示意图。
具体实施方式
[0095]
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便 于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非 仅限于文中提到的实施例。
[0096]
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以 相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有 限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的 厚度。
[0097]
如图1所示算法流程,本实例的具体实现过程如下:
[0098]
1、步骤1,构建异构分层联邦学习架构。
[0099]
子步骤1.1):异构分层联邦学习框架包括1个总调方,用于协调簇间模型更新; m个次协调方,各自分管一个同构的簇内局部模型更新;以及归属于不同次协调 方的数量不一的参与方(对应设备终端)。其中,对应次协调方j(j=1

m)的 参与方数目为kj,第k(k=1

kj)个参与方持有本地训练数据且 (即,各次协调方中的各参与方持有训练样本总和为n),其中和分别为位于第j个次协调方中第k个参与方的第i个样本的特征值和标签。归属于 同一个次协调方的各参与方拥有不重叠的样本,其样本特征同构;分属于不同次 协调方的参与方,其样本特征异构。
[0100]
子步骤1.2):设立一个样本协调器,用于指定第t次迭代样本呈现时间表i(t), 这决定了样本(minibatch)从哪些参与方中提取,以及样本应该提交给训练算法 的顺序。
[0101]
子步骤1.3):建立簇间只传输预测结果的模型如下式所示:
[0102][0103]
其中α
j,k
为次协调方j中第k个参与方的子模型,其作用是将次协调方j中第k 个参与方上的局部特征ξ
j,k
映射到一个局部预测。此外,σ为一个连续可微函数,用 来聚合局部中间预测α
j,k
(x
j,k
,ξ
j,k
)。整个模型使用一个小批量随机梯度下降(sgd) 算法。
[0104]
子步骤1.4):本发明中第t次迭代呈现给训练算法且索引为i(t)样本的目标函 数可以用下式表示:
[0105][0106]
其中l(x;ξ
i(t)
,y
i(t)
)为损失函数,表示每个样本的预测值和真实标签之间的差距,是子模型参数x
j,k
的正则项,用来防止模型过拟合。
[0107]
子步骤1.5):给出子模型的局部梯度计算公式如下所示:
[0108][0109]
其中的h(
·
)函数用来简化与相关的前几个项的符号。
[0110]
子步骤1.6):设立push_request指令和pull_request指令,为总协调方与次协 调方之间通信使用,其中pusn_request指令用于次协调方向总协调方上传局部预 测结果,pull_request指令用于次协调方从总协调方请求聚合后的预测结果。
[0111]
2、步骤2,簇间基于纵向联邦学习异步更新全局模型,具体步骤如下。
[0112]
子步骤2.1):定义次协调方j方的全局参数为xj,内部参与方k的局部参数为x
j,k
, 对上述两个参数进行初始化:在特定的第t(t=0

t)次迭代中,聚合来 自次协调方j中的索引为i(t)的样本所在参与方更新的本地预测结果:
[0113][0114]
对应图1中步骤

,将本地预测结果c通过push_request指令上传给总协调 方。
[0115]
子步骤2.2):对应图1中步骤

,总协调方初始化局部预测矩阵[a
i,j
]
n*m
,若 接收到来自次协调方j第t次迭代更新聚合后的预测结果c,令a
i(t),j
=c。
[0116]
子步骤2.3):不同的次协调方j在第t次迭代中,向总协调方发送pull_request 指
令,请求获取总协调方关于i(t)最新的预测结果,如果请求成功,则接收到 并发送给次协调方j中的参与方;如果请求失败,则继续发送 pull_request指令。
[0117]
子步骤2.4):对应图1中步骤

,总协调方若接收到来自次协调方j第t次迭 代中的pull_request指令,且t不超过迭代轮次最慢的次协调方τ次(τ值需根据经 验设定),则发送至次协调方j方,否则拒绝该pull_request指令。
[0118]
子步骤2.5):次协调方j方调动簇内的各参与方进行横向联邦学习,至簇内局 部模型收敛或到达预设横向联邦训练迭代次数t

后,重复子步骤2.1至收敛或到达 预设纵向联邦训练迭代次数。
[0119]
3、步骤3,簇内基于横向联邦学习同步更新局部模型,具体步骤如下:
[0120]
子步骤3.1):对应图1中步骤

,在次协调方j中各参与方接收到第t次迭代 中次协调方j方发送的后,开始横向联邦的迭代t

=1

t

,初始化子 模型参数:该等式表明第t次纵向联邦迭代中次协调方j方的第k 个参与方的局部参数在横向联邦迭代中的初始值等于第t次纵向联邦迭代中次协 调方j方的全局参数,并且表示第t次纵向联邦迭代中次协调方j方 的全局参数等于上一轮横向联邦经过t

更新后的参数。
[0121]
子步骤3.2):对应图1中步骤

,次协调方j中各参与方同时根据下式计算梯 度
[0122][0123]
次协调方j中各参与方更新局部参数为:
[0124][0125]
上式中η
t

为学习速率,对应图1中步骤

,各参与方再将一次横向联邦更新后 的局部参数一同发送至次协调方j。
[0126]
子步骤3.3):对应图1中步骤

,次协调方j接收到各参与方上传的局部参数 后进行聚合,更新全局参数
[0127][0128]
对应图1中步骤

,次协调方j将更新后的全局参数一同下发至各参与方, 此时局部参数更新为
[0129]
子步骤3.4):重复子步骤3.2,直至簇内模型收敛或者迭代次数达到预设的t


[0130]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创 造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术 人员
依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得 到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

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

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

相关文献