1.一种基于联邦学习的网络入侵协同检测方法,其特征在于:所述基于联邦学习的网络入侵协同检测方法包括按顺序进行的下列步骤:
1)发起者InitiOrgan作为联邦学习的N个参与方之一,参与联邦入侵检测卷积模型的1
训练和仲裁;其它参与方PartiOrgan包括第一参与方PartiOrgan 至第N‑1参与方n‑1PartiOrgan ,只参与联邦入侵检测卷积模型的训练;首先发起者InitiOrgan向协调方发起联邦学习的请求,并由发起者InitiOrgan根据自身需求与协调方共同决定与联邦入侵检测卷积模型相关的参数信息;
2)协调方将相关的参数信息下发给本地联邦入侵检测卷积模型的各参与方;
3)各参与方获得参数信息后,根据参数信息初始化本地联邦入侵检测卷积模型而获得本地初始联邦入侵检测卷积模型,然后将本地所拥有的入侵检测库传入各自的本地初始联邦入侵检测卷积模型进行训练,得到一个更新的本地联邦入侵检测卷积模型;
4)各参与方完成一轮本地联邦入侵检测卷积模型更新后,采用加密态子模型拆分与融合算法,将更新的本地联邦入侵检测卷积模型拆分成N个加密态子模型,并与其它参与方交换各个加密态子模型,最后各参与方累加交换所得的加密态子模型,作为本地加密态联邦入侵检测卷积模型;
5)各参与方将各自的本地加密态联邦入侵检测卷积模型上传到协调方;
6)协调方将各参与方上传的本地加密态联邦入侵检测卷积模型进行加密态联邦模型增量加权平均,得到一个全局联邦入侵检测卷积模型;
7)协调方将全局联邦入侵检测卷积模型下发给各个参与方;
8)其它参与方PartiOrgan利用本地入侵检测库继续训练全局联邦入侵检测卷积模型;
发起者InitiOrgan将本地入侵检测库按9∶1的比例对上述全局联邦入侵检测卷积模型进行训练和仲裁,仲裁函数采用联邦多标签熵损失函数,并根据仲裁函数的收敛状态向协调方反馈联邦学习情况。
2.根据权利要求1所述的基于联邦学习的网络入侵协同检测方法,其特征在于:在步骤
1)中,所述参数信息包括:
101)算法选择:联邦学习选用的算法;
102)数据处理方法:各本地入侵检测库数据预处理方法;
103)隐私保护方法:上传更新的联邦入侵检测卷积模型所用的加密方式;
104)参与方个数:联邦入侵检测卷积模型训练的参与方总数;
105)全局轮次:全局联邦入侵检测卷积模型训练最大轮次;
106)本地轮次:单轮次各参与方所训练的次数;
107)共享批次大小:协调方指定各参与方同用的批次大小;
108)参与方比率:单轮次随机选择的参与方比例;
109)节点更新法:更新联邦入侵检测卷积模型节点参数选用的方法;
110)共享学习率:协调方指定的各参与方同用的学习率大小;
111)共享动量:协调方指定的各参与方同用的动量大小。
3.根据权利要求1所述的基于联邦学习的网络入侵协同检测方法,其特征在于:在步骤
3)中,所述训练方法如下:
301)各参与方对本地所拥有的入侵检测库进行数据预处理,包括标准化处理和将特征矩阵转化成CNN像素矩阵;
302)利用本地批次大小对预处理后的入侵检测库进行分批处理并打乱顺序;然后参与方利用协调方下发的全局初始联邦入侵检测卷积模型构建本地初始联邦入侵检测卷积模型;之后各参与方在本地对本地初始联邦入侵检测卷积模型训练E个轮次以更新模型参数;
303)本地初始联邦入侵检测卷积模型向前蔓延计算各节点参数,然后采用联邦多标签熵损失函数计算模型参数的损失值MultiLabelLoss,公式如下:其中,i表示样本;N表示样本总数;MCOORDI表示由协调方选择的训练任务的标签类别数量; 表示样本和标签类别的符号函数,若样本i的标签类别与标签类别c相同,则样i本i的符号函数值为1,否则为0;predSoftmaxc表示样本i对于标签类别c的预测概率值;
304)模型反向蔓延,计算模型参数的损失值MultiLabelLoss对各个神经元节点参数的偏导值,求解偏导值的方法是采用联邦共享动量SGD算法,并利用偏导值大小更新节点参数,其中联邦共享动量SGD的计算公式为:t
其中,mavg为节点参数 在共享动量shareMomen的条件下,第t次本地轮次的动量平均值;共享动量shareMomen为协调方所指定的联邦共享动量SGD; 为第t次本地轮次的模型参数的损失值MultiLabelLoss对节点参数 的偏导值;shareLR为联邦入侵检测卷积模型的共享学习率(ShareLR);
为第t次本地轮次的节点参数更新值;
305)反复计算模型参数的损失值MultiLabelLoss和偏导值 直至训练的本地批次数达到最大。
4.根据权利要求1所述的基于联邦学习的网络入侵协同检测方法,其特征在于:在步骤
4)中,所述各参与方完成一轮本地联邦入侵检测卷积模型更新后,采用加密态子模型拆分与融合算法,将更新的本地联邦入侵检测卷积模型拆分成N个加密态子模型,并与其它参与方交换各个加密态子模型,最后各参与方累加交换所得的加密态子模型,作为本地加密态联邦入侵检测卷积模型的具体步骤如下:
401)发起者InitiOrgan拥有更新的本地联邦入侵检测卷积模型M1、第一参与方
1 n‑1
PartiOrgan拥有更新的本地联邦入侵检测卷积模型M2、…、第N‑1参与方PartiOrgan 拥有更新的本地联邦入侵检测卷积模型Mn;
402)发起者InitiOrgan取N‑1个随机算子,分别为Rm2、Rm3、…、Rmn,然后计算出下列N个加密态子模型:2
3
……
n
1 2 3 n
2 1
403)发起者InitiOrgan将加密态子模型
3 2 1
态子模型
第二参与方PartiOrgan均执行与发起者InitiOrgan相同的操作,并向其它参与方转发加
1 1 1
密态子模型;一次转发后,发起者InitiOrgan拥有加密态子模型为:
1 2 2 2
第一参与方PartiOrgan 拥有加密态子模型为:
2 3 3 3
PartiOrgan拥有加密态子模型为:
404)各参与方在本地累加交换所得的加密态子模型,作为本地加密态联邦入侵检测卷积模型:
1 1 1 1
InitiOrgan:
1 2 2 2 2
PartiOrgan:
n‑1 n n n n
PartiOrgan :
其中,
2 1
入侵检测卷积模型、
3 2
检测卷积模型、
5.根据权利要求1所述的基于联邦学习的网络入侵协同检测方法,其特征在于:在步骤
6)中,所述加密态联邦模型增量加权平均的计算公式如下:t
其中,GloModel表示第t轮协调方下发的全局联邦入侵检测卷积模型;
表示第i个参与方第t轮训练后得到的本地加密态模型; 表示本轮本地加密态模型参数与本轮全局初始联邦入侵检测卷积模型参数的差值,其值作为本轮参与方上传的模型参数增量;N表示参与本轮全局迭代的参与方个数。
6.根据权利要求1所述的基于联邦学习的网络入侵协同检测方法,其特征在于:在步骤
8)中,所述发起者InitiOrgan对全局联邦入侵检测卷积模型进行仲裁的方法是:
801)发起者InitiOrgan收到协调方下发的全局联邦入侵检测卷积模型后,首先冻结非卷积感知层的节点,再向前蔓延求出仲裁函数的仲裁损失值;
802)发起者InitiOrgan记录仲裁损失值,并根据仲裁损失值来判断仲裁函数的收敛状态:具体步骤如下:
80201)经多次全局批次训练后,若仲裁损失值未下降反而增大,发起者InitiOrgan请求协调方终止联邦学习,并重新协商新的参数信息;
80202)经多次全局批次训练后,若仲裁损失值仍处于下降状态,发起者InitiOrgan不作处理;
80203)经多次全局批次训练后,若仲裁损失值已达到收敛状态,发起者InitiOrgan请求协调方终止联邦学习,并把最后一次下发的全局联邦入侵检测卷积模型作为联邦学习的结果。