检测模型的训练方法、装置、电子设备和存储介质

文档序号:31161049发布日期:2022-08-17 07:55阅读:45来源:国知局
检测模型的训练方法、装置、电子设备和存储介质

1.本发明涉及互联网技术领域,尤其涉及一种检测模型的训练方法、装置、电子设备和存储介质。


背景技术:

2.随着互联网技术的广泛应用,客户端、服务器以及各种中间设备受到的网络攻击越来越多,网络攻击的检测难度也越来越大。联邦学习是某研究团队提出的分布式机器学习框架。
3.相关技术中,通常基于联邦学习的方法构建检测模型,并基于检测模型对网络攻击进行检测。联邦学习是将原始数据都保留在本地客户端,中心服务器会和多个本地客户端不断通信,而通信过程中交互的只是模型参数信息,不是原始数据,从而可以在保护多方数据隐私的情况下,扩充流量数据,并学习多方数据特点,最终构建得到检测模型。
4.但在上述联邦学习过程中,中心服务器与所有参与训练的本地客户端交互模型参数信息,这样会导致全局检测模型偏向于恶意或者性能不佳的本地模型,从而降低了全局检测模型的检测性能。


技术实现要素:

5.针对现有技术存在的问题,本发明提供一种检测模型的训练方法、装置、电子设备和存储介质。
6.本发明提供一种检测模型的训练方法,应用于客户端,所述方法包括:
7.接收服务器发送的当前通信轮次的全局模型参数;
8.基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数;
9.在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参数;所述目标参数包括所述当前本地模型参数。
10.根据本发明提供的一种检测模型的训练方法,所述在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数之后,所述方法还包括:
11.接收所述服务器发送的目标全局模型参数;所述目标全局模型参数为所述服务器在与客户端通信预设轮次后向所述客户端发送的;
12.基于所述目标全局模型参数对待检测流量数据进行入侵检测。
13.根据本发明提供的一种检测模型的训练方法,所述基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数,包括:
14.将所述当前通信轮次的全局模型参数设置为所述本地检测模型的本地模型参数,并基于本地流量数据对所述本地检测模型进行训练,得到更新后的本地检测模型的所述检
测准确度和所述当前本地模型参数。
15.根据本发明提供的一种检测模型的训练方法,所述目标参数还包括更新后的本地检测模型的所述检测准确度和所述本地流量数据的数目。
16.根据本发明提供的一种检测模型的训练方法,在所述基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数之前,所述方法还包括:
17.在所述服务器与客户端初次通信时,接收所述服务器发送的训练参数;所述训练参数包括全局检测模型的模型结构参数;
18.所述基于本地流量数据对所述本地检测模型进行训练,得到更新后的本地检测模型的所述检测准确度和所述当前本地模型参数,包括:
19.基于所述本地流量数据和所述全局检测模型的模型结构参数对所述本地检测模型进行训练,得到更新后的本地检测模型的所述检测准确度和所述当前本地模型参数。
20.根据本发明提供的一种检测模型的训练方法,所述方法还包括:
21.在确定所述检测准确度小于所述准确度阈值时,禁止向所述服务器发送所述目标参数。
22.本发明还提供一种检测模型的训练方法,应用于服务器,所述方法包括:
23.向各客户端发送当前通信轮次的全局模型参数;
24.接收目标客户端发送的目标参数;所述目标参数包括目标客户端更新后的本地检测模型的当前本地模型参数;所述目标客户端更新后的本地检测模型的检测准确度大于或等于准确度阈值;
25.基于各目标客户端的当前本地模型参数更新所述当前通信轮次的全局模型参数。
26.根据本发明提供的一种检测模型的训练方法,在所述基于各目标客户端的当前本地模型参数更新所述当前通信轮次的全局模型参数之后,所述方法还包括:
27.向各目标客户端发送目标全局模型参数;所述目标全局模型参数为所述服务器在与客户端通信预设轮次后向所述客户端发送的。
28.根据本发明提供的一种检测模型的训练方法,所述目标参数还包括更新后的本地检测模型的检测准确度和本地流量数据的数目;
29.所述基于各目标客户端的当前本地模型参数更新所述当前通信轮次的全局模型参数,包括:
30.基于各目标客户端的所述当前本地模型参数、所述检测准确度和所述本地流量数据的数目更新所述当前通信轮次的全局模型参数。
31.根据本发明提供的一种检测模型的训练方法,所述基于各目标客户端的所述当前本地模型参数、所述检测准确度和所述本地流量数据的数目更新所述当前通信轮次的全局模型参数,包括:
32.基于各目标客户端的所述本地流量数据的数目确定所述目标客户端的样本贡献度;
33.基于所述目标客户端的检测准确度确定所述目标客户端的聚合权重;
34.基于各目标客户端的检测准确度确定平均检测率;
35.基于所述平均检测率、各目标客户端的所述样本贡献度、所述聚合权重和所述当
前本地模型参数更新所述当前通信轮次的全局模型参数。
36.根据本发明提供的一种检测模型的训练方法,所述基于所述目标客户端的检测准确度确定所述目标客户端的聚合权重,包括:
37.基于公式(1)确定所述目标客户端的聚合权重;
[0038][0039]
其中,表示目标客户端c在与所述服务器进行第r次通信时的聚合权重;表示目标客户端c在与所述服务器进行第r次通信时的检测准确度。
[0040]
根据本发明提供的一种检测模型的训练方法,所述基于所述平均检测率、各目标客户端的所述样本贡献度、所述聚合权重和所述当前本地模型参数更新所述当前通信轮次的全局模型参数,包括:
[0041]
基于公式(2)至公式(4)更新所述当前通信轮次的全局模型参数;
[0042][0043][0044][0045]
其中,表示检测准确度小于所述平均检测率的目标客户端i的聚合参数;表示检测准确度大于或等于所述平均检测率的目标客户端j的聚合参数;表示检测准确度小于所述平均检测率的目标客户端i的当前本地模型参数,表示检测准确度小于所述平均检测率的目标客户端i的样本贡献率,表示检测准确度小于所述平均检测率的目标客户端i的聚合权重,表示检测准确度大于或等于所述平均检测率的目标客户端j的当前本地模型参数,表示检测准确度大于或等于所述平均检测率的目标客户端j的样本贡献率,表示检测准确度大于或等于所述平均检测率的目标客户端j的聚合权重,表示检测准确度小于所述平均检测率的目标客户端i的检测准确度,表示检测准确度大于或等于所述平均检测率的目标客户端j的检测准确度,表示平均检测率。
[0046]
根据本发明提供的一种检测模型的训练方法,在所述接收目标客户端发送的目标参数之前,所述方法还包括:
[0047]
在所述服务器与客户端初次通信时,向各客户端发送训练参数;所述训练参数包括全局检测模型的模型结构参数。
[0048]
本发明还提供一种检测模型的训练装置,应用于客户端,所述装置包括:
[0049]
第一接收模块,用于接收服务器发送的当前通信轮次的全局模型参数;
[0050]
第一更新模块,用于基于所述当前通信轮次的全局模型参数更新本地检测模型,更新后的本地检测模型检测准确度和当前本地模型参数;
[0051]
第一发送模块,用于在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参
数;所述目标参数包括所述当前本地模型参数。
[0052]
本发明还提供一种检测模型的训练装置,应用于服务器,所述装置包括:
[0053]
第二发送模块,用于向各客户端发送当前通信轮次的全局模型参数;
[0054]
第二接收模块,用于接收目标客户端发送的目标参数;所述目标参数包括目标客户端更新后的本地检测模型的当前本地模型参数;所述目标客户端更新后的本地检测模型的检测准确度大于或等于准确度阈值;
[0055]
第二更新模块,用于基于各目标客户端的当前本地模型参数更新所述当前通信轮次的全局模型参数。
[0056]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述检测模型的训练方法的步骤。
[0057]
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述检测模型的训练方法的步骤。
[0058]
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述检测模型的训练方法的步骤。
[0059]
本发明提供的一种检测模型的训练方法、装置、电子设备和存储介质,各客户端在确定检测准确度大于或等于准确度阈值时,将本地检测模型的目标参数发送给服务器,以使服务器更新当前通信轮次的全局模型参数,可以减少恶意或者性能不佳的本地模型对全局检测模型的影响,使得全局检测模型更偏向于性能好的本地检测模型,从而提高了全局检测模型的检测性能。
附图说明
[0060]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061]
图1是本发明提供的检测模型的训练方法的流程示意图之一;
[0062]
图2是本发明提供的检测模型的训练方法的流程示意图之二;
[0063]
图3是本发明提供的检测模型的训练方法的流程示意图之三;
[0064]
图4是本发明提供的损失函数与权重的关系图;
[0065]
图5是本发明提供的检测模型的训练方法的流程示意图之四;
[0066]
图6是本发明提供的检测模型的训练方法的流程示意图之五;
[0067]
图7是本发明提供的检测模型的训练方法的流程示意图之六;
[0068]
图8是本发明提供的检测模型的训练系统的结构示意图;
[0069]
图9是本发明提供的检测模型的训练方法的交互图;
[0070]
图10是本发明提供的检测模型的训练装置的结构示意图之一;
[0071]
图11是本发明提供的检测模型的训练装置的结构示意图之二;
[0072]
图12是本发明提供的电子设备的实体结构示意图。
具体实施方式
[0073]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0074]
下面结合图1-图9描述本发明的检测模型的训练方法。
[0075]
图1是本发明提供的检测模型的训练方法的流程示意图之一,应用于客户端,如图1所示,该检测模型的训练方法包括以下步骤:
[0076]
步骤101、接收服务器发送的当前通信轮次的全局模型参数。
[0077]
其中,一个通信轮次是指,服务器向客户端发送全局模型参数,客户端接收到全局模型参数并进行本地检测模型训练,训练完成后客户端向服务器发送目标参数,服务器基于目标参数计算全局模型参数。也就是说,通信轮次为客户端与服务器之间进行上述通信循环的次数。当服务器向客户端发送全局模型参数时,标志着新一轮的通信开始,新一轮的通信即为当前通信轮次。
[0078]
全局模型参数是服务器为全局检测模型设定的参数,全局模型参数包括组成全局检测模型的各个神经元以及它们之间的权重和偏置。
[0079]
由于全局检测模型与本地检测模型具有相同的结构,所以本地检测模型的本地模型参数可以由全局模型参数进行初始化,且每一轮通信的本地检测模型在本地训练前的本地模型参数,均为全局检测模型发送的当前通信轮次的全局模型参数。
[0080]
示例地,服务器首先将全局检测模型及全局模型参数进行初始化,并将初始化的当前通信轮次的全局模型参数发送给客户端,客户端接收服务器发送的经过初始化的当前通信轮次的全局模型参数,用来初始化本地检测模型参数。
[0081]
示例地,在服务器与客户端初次通信时,客户端还接收服务器发送的全局检测模型的模型结构参数的初始化值,用来初始化本地检测模型的模型结构参数。
[0082]
模型结构参数为全局检测模型和本地检测模型训练所需的参数,例如,若全局检测模型和本地检测模型为卷积神经网络模型,则模型结构参数可以包括:卷积神经网络模型的卷积层、池化层、全连接层的个数、大小以及顺序,还可以包括卷积神经网络模型训练的批量大小b、损失函数、优化算法、本地迭代次数e及学习率等。
[0083]
本地模型参数为在定义好本地检测模型结构的前提下,组成该本地检测模型的各个神经元以及神经元之间的权重和偏置。
[0084]
步骤102、基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数。
[0085]
示例地,客户端基于接收到的初始化的当前通信轮次的全局模型参数设置本地模型参数,并利用本地流量数据训练本地检测模型,其中,每一轮训练的迭代次数为e,其中e大于或等于1,每一次迭代之后可通过优化算法和损失函数不断调整本地检测模型的模型参数,在迭代e次后,最终得到本轮训练后的本地检测模型的检测准确度和当前本地模型参数。
[0086]
例如,若某个客户端当前有10000个本地流量数据,假设本地检测模型的迭代次数e为3次,批量大小b为1000,则首先将10000个本地流量数据分成10份,然后取1000个本地流
量数据对本地检测模型进行训练,在这1000个本地流量数据训练完成时,计算这1000个本地流量数据的损失函数,并用确定的优化算法调整本地模型参数。
[0087]
之后再从剩下的本地流量数据中取1000个,继续训练本地检测模型并计算损失函数及调整参数,直到将10000个本地流量数据训练完成,即为1次本地迭代结束。而由于迭代次数为3,所以共进行3次上述训练。
[0088]
优化算法能指引损失函数的各个本地模型参数向正确的方向更新合适的大小,更新后的各个本地模型参数使得损失函数值不断逼近全局最小值。
[0089]
其中,本地检测模型的检测准确度是基于本地检测模型的测试样本集计算得到的,每一个客户端和服务器端都有一个统一的测试样本集。
[0090]
示例地,将正常样本视作负样本,攻击样本视作正样本。tp是指真阳性,表示实际类别是正样本,模型预测也是正样本。fp是指假阳性,表示实际类别为负样本,模型预测为正样本。tn是指真阴性,表示实际类别为负样本,模型预测为负样本。fn是指假阴性,表示实际类别为正样本,模型预测为负样本。则可基于如下公式(5)计算本地检测模型的检测准确度:
[0091]
acc=(tp+tn)/(tp+tn+fp+fn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0092]
步骤103、在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参数;所述目标参数包括所述当前本地模型参数。
[0093]
其中,准确度阈值是本地检测模型在通过本地数据流量训练少量轮次时,基于本地检测模型每次训练得到的检测准确度设置的,例如,准确度阈值的取值为每次训练得到的检测准确度的平均值。
[0094]
示例地,客户端在得到本地检测模型的检测准确度时,将本地检测模型的检测准确度与准确度阈值进行比较,在确定本地检测模型的检测准确度大于或等于准确度阈值时,认为该客户端的本地检测模型为表现好的检测模型,此时向服务器发送用于更新服务器的当前通信轮次的全局模型参数的目标参数,其中,目标参数包括当前本地模型参数;使得服务器在接收到各客户端发送的目标参数后,更新服务器的当前通信轮次的全局模型参数,并向各客户端发送更新后的当前通信轮次的全局模型参数。
[0095]
之后重复前述步骤,即,客户端接收服务器发送的当前通信轮次的全局模型参数,客户端基于当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数,客户端在确定检测准确度大于或等于准确度阈值时,向服务器发送目标参数,目标参数用于服务器更新当前通信轮次的全局模型参数,目标参数包括当前本地模型参数。直到客户端与服务器之间的通信总轮数达到预设轮次。
[0096]
本发明提供的检测模型的训练方法,各客户端在确定检测准确度大于或等于准确度阈值时,将本地检测模型的目标参数发送给服务器,以使服务器更新当前通信轮次的全局模型参数,可以减少恶意或者性能不佳的本地模型对全局检测模型的影响,使得全局检测模型更偏向于性能好的本地检测模型,从而提高了全局检测模型的检测性能。
[0097]
可选地,图2是本发明提供的检测模型的训练方法的流程示意图之二,如图2所示,在执行步骤103之后,所述方法还包括以下步骤:
[0098]
步骤104、接收所述服务器发送的目标全局模型参数;所述目标全局模型参数为所
述服务器在与客户端通信预设轮次后向所述客户端发送的。
[0099]
其中,预设轮次可以基于经验来设定,例如,预设轮次为全局检测模型收敛时所对应的通信次数。
[0100]
示例地,在服务器与客户端每一轮通信结束时,服务器可基于客户端发送的目标参数聚合得到本轮的全局模型参数,然而,少量轮次的通信得到的全局检测模型的检测准确度较低,需要将所有训练样本重复训练多次才能提高检测准确度,也就是服务器与客户端通信预设轮次后,全局检测模型才能达到收敛条件,即,全局检测模型的检测准确度趋于稳定且达到预设值,服务器将最终得到的目标全局模型参数发送至各目标客户端,使得各目标客户端接收到目标全局模型参数。
[0101]
步骤105、基于所述目标全局模型参数对待检测流量数据进行入侵检测。
[0102]
示例地,客户端在接收到目标全局模型参数时,将目标全局模型参数设置为本地检测模型的模型参数,在获取到待检测流量数据时,将待检测流量数据输入至本地检测模型中,由本地检测模型对待检测流量数据进行特征提取和分析,以分析待检测流量数据是否包含具有攻击特征的数据,从而实现对待检测流量数据的入侵检测。
[0103]
本发明提供的检测模型的训练方法,在服务器在与客户端通信预设轮次后,全局检测模型的检测能力达到稳定状态,表明全局检测模型的检测准确度趋势趋于稳定收敛,服务器将最终得到的目标全局模型参数发送至各目标客户端,使得客户端能够基于接收到的目标全局模型参数进行入侵检测。
[0104]
可选地,步骤102具体可通过以下方式实现:
[0105]
将所述当前通信轮次的全局模型参数设置为所述本地检测模型的本地模型参数,并基于本地流量数据对所述本地检测模型进行训练,得到更新后的本地检测模型的所述检测准确度和所述当前本地模型参数。
[0106]
示例地,客户端在接收到服务器发送的当前通信轮次的全局模型参数时,启动本地检测模型更新程序,具体为将本地检测模型的模型参数设置为当前通信轮次的全局模型参数,并将数据预处理后的本地流量数据输入至本地检测模型中,由本地检测模型对本地流量数据进行特征提取和分析,以分析本地流量数据是否包含攻击数据,最终输出入侵检测的攻击检测准确度,且在每轮训练之后得到本地检测模型的当前本地模型参数。
[0107]
需要说明的是,在服务器与客户端第一次通信时,是将初始化的当前通信轮次的全局模型参数设置为本地检测模型的初始模型参数。
[0108]
本发明提供的检测模型的训练方法,通过将当前通信轮次的全局模型参数设置为本地检测模型的模型参数,并基于本地流量数据对本地检测模型进行训练,可以在保护多方数据隐私的情况下,扩充数据资源,学习多方数据特点。
[0109]
另外,所述目标参数还包括更新后的本地检测模型的所述检测准确度和所述本地流量数据的数目。
[0110]
本发明提供的检测模型的训练方法,将本地检测模型的检测准确度和本地流量数据的数目发送给服务器,以用来更新全局检测模型的全局模型参数。
[0111]
图3是本发明提供的检测模型的训练方法的流程示意图之三,如图3所示,在执行步骤102之前,所述方法还包括以下步骤:
[0112]
步骤106、在所述服务器与客户端初次通信时,接收所述服务器发送的训练参数;
所述训练参数包括所述全局检测模型的模型结构参数。
[0113]
其中,模型结构参数包括模型学习率、批量大小b、损失函数、优化算法以及迭代次数e等;模型学习率决定着模型能否收敛到局部最小值以及何时收敛到最小值;批量大小b为模型一次训练所选取的样本数量,批量大小影响模型的优化程度和速度,同时其直接影响到训练模型的客户端内存的使用情况;损失函数是用来衡量模型的预测数据与真实数据的相似度;优化算法用于基于相似度优化模型的参数;迭代次数e表示服务器与客户端每次通信时本地检测模型训练的次数。
[0114]
需要说明的是,训练参数还可以包括通信预设轮次和准确度阈值;在训练参数不包括通信预设轮次和准确度阈值的情况下,通信预设轮次和准确度阈值可以事先在客户端侧设定。
[0115]
在训练参数包括全局检测模型的模型结构参数的情况下,步骤102具体可通过以下方式实现:
[0116]
基于所述本地流量数据和所述全局检测模型的模型结构参数对所述本地检测模型进行训练,得到更新后的本地检测模型的所述检测准确度和所述当前本地模型参数。
[0117]
示例地,本地检测模型在接收到模型结构参数时,设置本地检测模型的模型学习率、批量大小b、损失函数、优化算法以及迭代次数e,并基于已经接收到的接收服务器发送的当前通信轮次的全局模型参数,输入批量大小b对应的本地流量数据,对本地检测模型进行训练,迭代e次后,得到本轮训练结束时更新后的本地检测模型的检测准确度和当前本地模型参数。
[0118]
其中,本发明中的优化算法可以为梯度下降算法。损失函数中一般有两种参数,一种是控制输入信号量的权重w,另一种是调整函数与真实值距离的偏差,而本发明需通过梯度下降方法,不断地调整权重w和偏差,使得损失函数的值越来越小。
[0119]
示例地,假设损失函数l和权重w之间的关系如图4所示,a点为w的位置,此时如果求出a点的梯度值,就可知,w向右移动可以使损失函数的值变得更小。通过计算梯度,可以知道w的移动方向,也可以知道何时会到达最低点,即梯度为0的位置。
[0120]
而在知道w移动的方向后,还需基于学习率计算w移动的步长。
[0121]
用wi表示第i次更新对应的权重值,在i等于0时,wi表示权重的初始值,w
i+1
表示第i+1次更新对应的权重值,用α表示学习率,则可得到如下公式(6):
[0122][0123]
在梯度下降中,重复计算多次公式(6),直至损失函数值收敛不变。
[0124]
在实际应用中,可以基于需求设定合适的学习率α,学习率α设置得过大,可能会错过损失函数的最小值;如果设置得过小,可能需要计算很多次公式(6)才能找到最小值,耗费较多的时间。
[0125]
本发明提供的检测模型的训练方法,客户端基于服务器发送的全局检测模型的模型结构参数及本地流量数据进行模型训练,客户端与服务器只通信模型的参数信息,无需通信原始数据,从而减少通信开销。
[0126]
可选地,在确定所述检测准确度小于所述准确度阈值时,禁止向所述服务器发送所述目标参数。
[0127]
示例地,在确定检测准确度小于准确度阈值时,认为对应的本地检测模型为恶意或者性能不好的本地检测模型,恶意或者性能不好的本地检测模型会导致全局检测模型的性能较差,所以不再使用对应的本地检测模型进行训练,即,禁止向服务器发送对应的目标参数。
[0128]
本发明提供的检测模型的训练方法,通过过滤掉检测准确度小于准确度阈值的本地检测模型,可以使得全局检测模型更偏向于性能较好的本地检测模型,得到性能更好的全局检测模型。
[0129]
图5是本发明提供的检测模型的训练方法的流程示意图之四,应用于服务器,如图5所示,该检测模型的训练方法包括以下步骤:
[0130]
步骤501、向各客户端发送当前通信轮次的全局模型参数。
[0131]
具体地,服务器首先将全局检测模型及全局模型参数进行初始化,并将初始化的当前通信轮次的全局模型参数发送给客户端。
[0132]
其中,客户端中的本地检测模型和服务器中的全局检测模型是具有相同结构的模型。
[0133]
步骤502、接收目标客户端发送的目标参数;所述目标参数包括目标客户端更新后的本地检测模型的当前本地模型参数;所述目标客户端更新后的本地检测模型的检测准确度大于或等于准确度阈值。
[0134]
示例地,客户端在确定检测准确度大于或等于准确度阈值时,将该客户端确定为目标客户端,目标客户端将本地检测模型的当前本地模型参数发送给服务器,使得服务器接收到目标客户端发送的当前本地模型参数。
[0135]
步骤503、基于各目标客户端的当前本地模型参数更新所述当前通信轮次的全局模型参数。
[0136]
示例地,服务器在接收到各目标客户端的当前本地模型参数时,将各目标客户端的当前本地模型参数进行聚合,以实现对当前通信轮次的全局模型参数的更新。
[0137]
另外,在每一轮本地检测模型的训练完成之后,服务器都会获得更新后的当前本地模型参数,进而基于更新后的当前本地模型参数更新当前通信轮次的全局模型参数。然后重复上述步骤,即,服务器再次向各客户端发送当前通信轮次的全局模型参数,接收到目标客户端发送的目标参数,基于各目标客户端的当前本地模型参数更新当前通信轮次的全局模型参数。直到客户端与服务器之间的通信总轮数达到预设轮次。
[0138]
本发明提供的检测模型的训练方法,服务器基于获取到的检测准确度大于或等于准确度阈值的本地检测模型的目标参数,来更新当前通信轮次的全局模型参数,可以减少恶意或者性能不佳的本地模型对全局检测模型的影响,使得全局检测模型更偏向于性能好的本地检测模型,从而提高了全局检测模型的检测性能。
[0139]
可选地,图6是本发明提供的检测模型的训练方法的流程示意图之五,如图6所示,在执行步骤503之后,所述方法还包括以下步骤:
[0140]
步骤504、向各目标客户端发送目标全局模型参数;所述目标全局模型参数为所述服务器在与客户端通信预设轮次后向所述客户端发送的。
[0141]
具体地,在客户端与服务器之间的通信总轮数达到预设轮次后,认为此时本地检测模型收敛,此时服务器将目标全局模型参数发送至各目标客户端。
[0142]
本发明提供的检测模型的训练方法,服务器与客户端通信预设轮次后,模型达到收敛条件,服务器向各目标客户端发送目标全局模型参数,以使本地检测模型可以进行网络入侵检测。
[0143]
可选地,所述目标参数还包括更新后的本地检测模型的检测准确度和本地流量数据的数目。
[0144]
可选地,在目标参数还包括更新后的本地检测模型的检测准确度和本地流量数据的数目的情况下,步骤503具体可通过以下方式实现:
[0145]
基于各目标客户端的所述当前本地模型参数、所述检测准确度和所述本地流量数据的数目更新所述当前通信轮次的全局模型参数。
[0146]
具体地,基于各目标客户端的所述本地流量数据的数目确定所述目标客户端的样本贡献度;基于所述目标客户端的检测准确度确定所述目标客户端的聚合权重;基于各目标客户端的检测准确度确定平均检测率;基于所述平均检测率、各目标客户端的所述样本贡献度、所述聚合权重和所述当前本地模型参数更新所述当前通信轮次的全局模型参数。
[0147]
本发明提供的检测模型的训练方法,服务器通过基于平均检测率、各目标客户端的样本贡献度、聚合权重和当前本地模型参数更新当前通信轮次的全局模型参数,为当前通信轮次的全局模型参数的更新提供了多方面的参数数据的支撑,可以综合多种参数得到更合理更准确的当前通信轮次的全局模型参数。
[0148]
可选地,所述基于各目标客户端的所述当前本地模型参数、所述检测准确度和所述本地流量数据的数目更新所述当前通信轮次的全局模型参数,可通过以下方式实现:
[0149]
基于各目标客户端的所述本地流量数据的数目确定所述目标客户端的样本贡献度;
[0150]
基于所述目标客户端的检测准确度确定所述目标客户端的聚合权重;
[0151]
基于各目标客户端的检测准确度确定平均检测率;
[0152]
基于所述平均检测率、各目标客户端的所述样本贡献度、所述聚合权重和所述当前本地模型参数更新所述当前通信轮次的全局模型参数。
[0153]
可选地,基于所述目标客户端的检测准确度确定所述目标客户端的聚合权重可通过以下方式实现:
[0154]
基于公式(1)确定所述目标客户端的聚合权重;
[0155][0156]
其中,表示目标客户端c在与所述服务器进行第r次通信时的聚合权重;表示目标客户端c在与所述服务器进行第r次通信时的检测准确度。
[0157]
示例地,目标客户端的聚合权重是基于本地检测模型的检测准确度进行计算的,可以实现检测准确度高的本地检测模型对应的权重高,检测准确度低的本地检测模型对应的权重低的效果。
[0158]
可选地,基于所述平均检测率、各目标客户端的所述样本贡献度、所述聚合权重和所述当前本地模型参数更新所述当前通信轮次的全局模型参数可通过以下方式实现:
[0159]
基于公式(2)至公式(4)更新所述当前通信轮次的全局模型参数;
[0160]
[0161][0162][0163]
其中,表示检测准确度小于所述平均检测率的目标客户端i的聚合参数;表示检测准确度大于或等于所述平均检测率的目标客户端j的聚合参数;表示检测准确度小于所述平均检测率的目标客户端i的当前本地模型参数,表示检测准确度小于所述平均检测率的目标客户端i的样本贡献率,表示检测准确度小于所述平均检测率的目标客户端i的聚合权重,表示检测准确度大于或等于所述平均检测率的目标客户端j的当前本地模型参数,表示检测准确度大于或等于所述平均检测率的目标客户端j的样本贡献率,表示检测准确度大于或等于所述平均检测率的目标客户端j的聚合权重,表示检测准确度小于所述平均检测率的目标客户端i的检测准确度,表示检测准确度大于或等于所述平均检测率的目标客户端j的检测准确度,表示平均检测率。
[0164]
具体地,样本贡献率由如下公式(7)确定:
[0165][0166]
其中,表示目标客户端c在与服务器进行第r次通信时的样本贡献率,表示目标客户端c在与服务器进行第r次通信时的本地流量数据的数目,∑nr表示各目标客户端在与服务器进行第r次通信时总的本地流量数据的数目。
[0167]
本发明提供的检测模型的训练方法,通过为检测准确度大于或等于平均检测率的目标客户端赋予较大的聚合权重,为检测准确度小于平均检测率的目标客户端赋予较小的聚合权重,可以进一步减少恶意或者性能不佳的本地模型对全局检测模型的影响,使得全局检测模型更偏向于性能好的本地检测模型,从而建立起性能更好的全局检测模型。还可以加快全局检测模型的收敛,减少客户端与服务器之间的通信轮次,从而减少通信开销。
[0168]
可选地,图7是本发明提供的检测模型的训练方法的流程示意图之六,如图7所示,在执行步骤501之前,所述方法还包括以下步骤:
[0169]
步骤505、在所述服务器与客户端初次通信时,向各客户端发送训练参数;所述训练参数包括所述全局检测模型的模型结构参数。
[0170]
图8是本发明提供的检测模型的训练系统的结构示意图,如图8所示,所述检测模型的训练系统包括服务器、客户端和通信网络。
[0171]
其中,服务器的主要作用是收集从各个客户端发送来的本地模型参数,并对其进行聚合,直到建立一个全局检测模型。
[0172]
每个客户端代表参与全局检测模型训练的组织代理。客户端负责建立本地检测模型,并利用自己收集的网络流量数据训练本地模型。通过与服务器交互,帮助更新全局模型参数。
[0173]
通信网络负责服务器和客户端之间的参数传递。
[0174]
图9是本发明提供的检测模型的训练方法的交互图,应用于客户端和服务器,如图9所示,该检测模型的训练方法包括以下步骤:
[0175]
步骤901、服务器向各客户端发送当前通信轮次的全局模型参数。
[0176]
步骤902、客户端基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数。
[0177]
步骤903、客户端在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参数;所述目标参数包括所述当前本地模型参数。
[0178]
步骤904、服务器接收目标客户端发送的目标参数;所述目标参数包括目标客户端更新后的本地检测模型的当前本地模型参数;所述目标客户端更新后的本地检测模型的检测准确度大于或等于准确度阈值。
[0179]
步骤905、服务器基于各目标客户端的当前本地模型参数更新所述当前通信轮次的全局模型参数。
[0180]
下面对本发明提供的检测模型的训练装置进行描述,下文描述的检测模型的训练装置与上文描述的检测模型的训练方法可相互对应参照。
[0181]
图10是本发明提供的检测模型的训练装置的结构示意图之一,应用于客户端,如图10所示,该检测模型的训练装置包括第一接收模块1001、第一更新模块1002和第一发送模块1003;其中:
[0182]
第一接收模块1001,用于接收服务器发送的当前通信轮次的全局模型参数;
[0183]
第一更新模块1002,用于基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数;
[0184]
第一发送模块1003,用于在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参数;所述目标参数包括所述当前本地模型参数。
[0185]
本发明提供的检测模型的训练装置,客户端通过仅将检测准确度大于或等于准确度阈值的本地检测模型的目标参数发送给服务器,来更新服务器当前通信轮次的全局模型参数,可以减少恶意或者性能不佳的本地模型对全局检测模型的影响,使得全局检测模型更偏向于性能好的本地检测模型,从而提高了全局检测模型的检测性能。
[0186]
基于上述任一实施例,所述装置还包括:
[0187]
第三接收模块,用于接收所述服务器发送的目标全局模型参数;所述目标全局模型参数为所述服务器在与客户端通信预设轮次后向所述客户端发送的;
[0188]
检测模块,用于基于所述目标全局模型参数对待检测流量数据进行入侵检测。
[0189]
基于上述任一实施例,所述第一更新模块1002具体用于:
[0190]
将所述当前通信轮次的全局模型参数设置为所述本地检测模型的本地模型参数,并基于本地流量数据对所述本地检测模型进行训练,得到更新后的本地检测模型的所述检测准确度和所述当前本地模型参数。
[0191]
基于上述任一实施例,所述目标参数还包括更新后的本地检测模型的所述检测准确度和所述本地流量数据的数目。
[0192]
基于上述任一实施例,所述装置还包括:
[0193]
第四接收模块,用于在所述服务器与客户端初次通信时,接收所述服务器发送的训练参数;所述训练参数包括所述全局检测模型的模型结构参数;
[0194]
所述第一更新模块1002具体用于:
[0195]
基于所述本地流量数据所述全局检测模型的模型结构参数对所述本地检测模型进行训练,得到更新后的本地检测模型的所述检测准确度和所述当前本地模型参数。
[0196]
基于上述任一实施例,所述装置还包括:
[0197]
第三发送模块,用于在确定所述检测准确度小于所述准确度阈值时,禁止向所述服务器发送所述目标参数。
[0198]
图11是本发明提供的检测模型的训练装置的结构示意图之二,应用于服务器,如图11所示,该检测模型的训练装置包括第二发送模块1101、第二接收模块1102和第二更新模块1103;其中:
[0199]
第二发送模块1101,用于向各客户端发送当前通信轮次的全局模型参数;
[0200]
第二接收模块1102,用于接收目标客户端发送的目标参数;所述目标参数包括目标客户端更新后的本地检测模型的当前本地模型参数;所述目标客户端更新后的本地检测模型的检测准确度大于或等于准确度阈值;
[0201]
第二更新模块1103,基于各目标客户端的当前本地模型参数更新所述当前通信轮次的全局模型参数。
[0202]
本发明提供的检测模型的训练装置,服务器仅基于检测准确度大于或等于准确度阈值的本地检测模型的目标参数,来更新当前通信轮次的全局模型参数,可以减少恶意或者性能不佳的本地模型对全局检测模型的影响,使得全局检测模型更偏向于性能好的本地检测模型,从而提高了全局检测模型的检测性能。
[0203]
基于上述任一实施例,所述装置还包括:
[0204]
第四发送模块,用于向各目标客户端发送目标全局模型参数;所述目标全局模型参数为所述服务器在与客户端通信预设轮次后向所述客户端发送的。
[0205]
基于上述任一实施例,所述目标参数还包括更新后的本地检测模型的检测准确度和本地流量数据的数目。
[0206]
所述第二更新模块1103,具体用于:基于各目标客户端的所述当前本地模型参数、所述检测准确度和所述本地流量数据的数目更新所述当前通信轮次的全局模型参数。
[0207]
基于上述任一实施例,所述第二更新模块1103,具体用于:
[0208]
基于各目标客户端的所述本地流量数据的数目确定所述目标客户端的样本贡献度;
[0209]
基于所述目标客户端的检测准确度确定所述目标客户端的聚合权重;
[0210]
基于各目标客户端的检测准确度确定平均检测率;
[0211]
基于所述平均检测率、各目标客户端的所述样本贡献度、所述聚合权重和所述当前本地模型参数更新所述当前通信轮次的全局模型参数。
[0212]
基于上述任一实施例,所述第二更新模块1103,具体用于:
[0213]
基于公式(1)确定所述目标客户端的聚合权重;
[0214]
[0215]
其中,表示目标客户端c在与所述服务器进行第r次通信时的聚合权重;表示目标客户端c在与所述服务器进行第r次通信时的检测准确度。
[0216]
基于上述任一实施例,所述第二更新模块1103,具体用于:
[0217]
基于公式(2)至公式(4)更新所述当前通信轮次的全局模型参数;
[0218][0219][0220][0221]
其中,表示检测准确度小于所述平均检测率的目标客户端i的聚合参数;表示检测准确度大于或等于所述平均检测率的目标客户端j的聚合参数;表示检测准确度小于所述平均检测率的目标客户端i的当前本地模型参数,表示检测准确度小于所述平均检测率的目标客户端i的样本贡献率,表示检测准确度小于所述平均检测率的目标客户端i的聚合权重,表示检测准确度大于或等于所述平均检测率的目标客户端j的当前本地模型参数,表示检测准确度大于或等于所述平均检测率的目标客户端j的样本贡献率,表示检测准确度大于或等于所述平均检测率的目标客户端j的聚合权重,表示检测准确度小于所述平均检测率的目标客户端i的检测准确度,表示检测准确度大于或等于所述平均检测率的目标客户端j的检测准确度,表示平均检测率。
[0222]
基于上述任一实施例,所述装置还包括:
[0223]
第五发送模块,用于在所述服务器与客户端初次通信时,向各客户端发送训练参数;所述训练参数包括所述全局检测模型的模型结构参数。
[0224]
图12示例了一种电子设备的实体结构示意图,如图12所示,该电子设备可以包括:处理器(processor)1210、通信接口(communications interface)1220、存储器(memory)1230和通信总线1240,其中,处理器1210,通信接口1220,存储器1230通过通信总线1240完成相互间的通信。处理器1210可以调用存储器1230中的逻辑指令,以执行上述各方法提供的检测模型的训练方法,该方法包括:接收服务器发送的当前通信轮次的全局模型参数;
[0225]
基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数;
[0226]
在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参数;所述目标参数包括所述当前本地模型参数。
[0227]
此外,上述的存储器1230中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以
使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0228]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的检测模型的训练方法,该方法包括:接收服务器发送的当前通信轮次的全局模型参数;
[0229]
基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数;
[0230]
在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参数;所述目标参数包括所述当前本地模型参数。
[0231]
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的检测模型的训练方法,该方法包括:接收服务器发送的当前通信轮次的全局模型参数;
[0232]
基于所述当前通信轮次的全局模型参数更新本地检测模型,得到更新后的本地检测模型的检测准确度和当前本地模型参数;
[0233]
在确定所述检测准确度大于或等于准确度阈值时,向所述服务器发送目标参数;所述目标参数用于所述服务器更新所述当前通信轮次的全局模型参数;所述目标参数包括所述当前本地模型参数。
[0234]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0235]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0236]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1