CN117313898A - 基于关键周期识别的联邦学习恶意模型更新检测方法 - Google Patents

基于关键周期识别的联邦学习恶意模型更新检测方法 Download PDF

Info

Publication number
CN117313898A
CN117313898A CN202311457155.3A CN202311457155A CN117313898A CN 117313898 A CN117313898 A CN 117313898A CN 202311457155 A CN202311457155 A CN 202311457155A CN 117313898 A CN117313898 A CN 117313898A
Authority
CN
China
Prior art keywords
local
vectors
update
sub
tuple
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311457155.3A
Other languages
English (en)
Other versions
CN117313898B (zh
Inventor
杨岳湘
李林
姚金虎
刘水兵
颜美荣
李丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Hengmao Information Technology Co ltd
Original Assignee
Hunan Hengmao Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Hengmao Information Technology Co ltd filed Critical Hunan Hengmao Information Technology Co ltd
Priority to CN202311457155.3A priority Critical patent/CN117313898B/zh
Publication of CN117313898A publication Critical patent/CN117313898A/zh
Application granted granted Critical
Publication of CN117313898B publication Critical patent/CN117313898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开实施例中提供了一种基于关键周期识别的联邦学习恶意模型更新检测方法,属于数据处理技术领域,具体包括:步骤1,在每个客户端上计算本地更新数据后发送至服务端;步骤2,服务端对本轮次收集的来自客户端的本地更新数据进行特征提取,得到本地模型更新元组;步骤3,通过关键周期识别模块识别本地模型更新元组,得到关键周期识别符并据此将本地模型更新元组分为关键周期更新元组和非关键周期更新元组;步骤4,将本地模型更新元组输入异常检测模块得到异常得分并筛选出正常模型更新;步骤5,通过聚合算法和正常模型更新得到全局模型更新。通过本公开的方案,提高了检测效率、精准度和适应性。

Description

基于关键周期识别的联邦学习恶意模型更新检测方法
技术领域
本公开实施例涉及数据处理技术领域,尤其涉及一种基于关键周期识别的联邦学习恶意模型更新检测方法。
背景技术
目前,现存联邦学习恶意更新检测方法,分为三类:基于统计的方法;基于过滤的方法;基于差分隐私的方法。这三种方法有各自的缺点:①基于统计的方法用简单的统计机器学习方法构建模型,没有针对恶意更新的特点出发,构建检测模型,导致检测率低,仅能应对恶意模型更新与正常模型更新幅度差距较大的情况;②基于过滤的方法将异常样本看作边缘点处理,认为处于所有样本边缘的样本为异常点,或认为所处位置样本最稀疏的点为异常点。由于联邦学习模型更新维度很高,不进行降维会导致维度灾难。同时少部分方法使用基于偏差的检测方法:使用机器学习方法学习样本隐藏表达,将更新数据映射到隐藏表达,再通过隐藏表达还原重构更新数据,并计算重构误差,通过最小化重构误差来优化神经网络和该隐藏表达。依据重构误差判断样本是否异常。当异常模型更新较多时检测效率低下,直接将高维模型更新输入异常检测模型计算开销大。③基于差分隐私的方法将高斯噪声加入全局模型更新,使得隐匿型有特定目标的恶意更新无法起效,但无法应对以破坏模型整体为目标的恶意模型更新;同时引入噪声本身会降低最终得到的全局模型的表现,拖延联邦学习模型训练进度。
总的来说,现有方法无法同时应对无目标攻击(破坏模型整体性能)和有目标攻击(破坏模型特定子任务性能),且计算开销大、全局模型表现差。
可见,亟需一种检测效率、精准度和适应性强的基于关键周期识别的联邦学习恶意模型更新检测方法。
发明内容
有鉴于此,本公开实施例提供一种基于关键周期识别的联邦学习恶意模型更新检测方法,至少部分解决现有技术中存在检测效率、精准度和适应性较差的问题。
本公开实施例提供了一种基于关键周期识别的联邦学习恶意模型更新检测方法,包括:
步骤1,在每个客户端上计算本地更新数据后发送至服务端;
步骤2,服务端对本轮次收集的来自客户端的本地更新数据进行特征提取,得到本地模型更新元组;
步骤3,通过关键周期识别模块识别本地模型更新元组,得到关键周期识别符并据此将本地模型更新元组分为关键周期更新元组和非关键周期更新元组;
步骤4,将本地模型更新元组输入异常检测模块得到异常得分并筛选出正常模型更新;
步骤5,通过聚合算法和正常模型更新得到全局模型更新。
根据本公开实施例的一种具体实现方式,所述本地更新数据为三元组,所述三元组包括客户端本地模型的梯度、本地数据集平均交叉熵和客户端训练完成符。
根据本公开实施例的一种具体实现方式,所述步骤2具体包括:
步骤2.1,解析该本地更新数据,根据三元组中的客户端训练完成符判断该数据是否是客户端训练完毕后发送的,若判断结果为否则丢弃,若判断结果为是,则进行步骤2.2;
步骤2.2,根据收到本地更新数据的顺序判断其到达服务端的序号,若为第一个到达,则为本轮次的本地模型梯度和本地数据集平均交叉熵形成的二元组开辟存储空间;若为最后一个包,则进行步骤2.3,否则,将该二元组存入对应的存储空间;
步骤2.3,对本轮次的本地模型梯度进行minmax数据标准化处理,得到本地模型更新元组。
根据本公开实施例的一种具体实现方式,所述步骤3具体包括:
步骤3.1,从本地模型更新元组的二元组集合中提取本地数据集平均交叉熵,并计算各客户端交叉熵与上一轮次的差值,然后将各客户端的差值取加权平均值,并计算变化幅度;
步骤3.2,判断当前轮次是否在关键周期对应的轮次范围内,若是,则输出关键周期识别符为True,存储当前轮次变化幅度,并结束当前轮次识别,若否,则转入步骤3.3;
步骤3.3,将当前记录的变化幅度集合输入Jenks-Caspall自然断点分类法,识别出断点,若当前轮次在断点之后,输出关键周期识别符为False,否则为True。
根据本公开实施例的一种具体实现方式,当本地模型更新元组为关键周期更新元组时,所述步骤4具体包括:
步骤4.1,将本地模型更新元组分层,各层模型更新展平为一维向量,分别存储到不同的集合中;
步骤4.2,将各层一维向量分割为预设长度的子向量,分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量,不满预设长度的子向量保留为新的子向量;
步骤4.3,将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常标记向量,其大小为子向量集合容量,若为异常标记为0,否则为1,将所有子向量集合的异常标记向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵;
步骤4.4,使用二维矩阵进行软投票,其中全连接层的子向量权重为1,其余为0.2,计算得到得票总和,将得票前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签作为正常模型更新。
根据本公开实施例的一种具体实现方式,当本地模型更新元组为非关键周期更新元组时,所述步骤4具体包括:
步骤4.1,设置随机种子;
步骤4.2,将本地模型更新元组分层,各层模型更新展平为一维向量,各层向量随机取预设长度的子向量,分别存储到不同的集合中,将各子向量分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量;
步骤4.3,将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常得分向量,其大小为子向量集合容量,异常得分为[0,1]的数值,将所有子向量集合的异常得分向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵;
步骤4.4,根据二维矩阵计算得到各本地模型更新异常得分总和,将得分前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签作为正常模型更新。
本公开实施例中的基于关键周期识别的联邦学习恶意模型更新检测方案,包括:步骤1,在每个客户端上计算本地更新数据后发送至服务端;步骤2,服务端对本轮次收集的来自客户端的本地更新数据进行特征提取,得到本地模型更新元组;步骤3,通过关键周期识别模块识别本地模型更新元组,得到关键周期识别符并据此将本地模型更新元组分为关键周期更新元组和非关键周期更新元组;步骤4,将本地模型更新元组输入异常检测模块得到异常得分并筛选出正常模型更新;步骤5,通过聚合算法和正常模型更新得到全局模型更新。
本公开实施例的有益效果为:通过本公开的方案,利用关键周期识别,找出对全局模型有不可逆影响的周期,在关键周期中使用细粒度的异常检测方法,在非关键周期使用粗粒度的异常检测方法,实现检测能力和计算效率的平衡,使用交叉熵损失的变化幅度识别关键周期,识别精度与使用联邦fisher矩阵接近但计算开销远小于联邦fisher矩阵。同时,现有关键周期识别方法使用预设阈值的方法,数值固定,无法适应联邦学习客户端数据集分布、模型结构、损失函数的改变。本发明使用Jenks-Caspall自然断点分类法自适应识别断点,将断点前的训练轮次视为关键周期,断点后的训练轮次视为非关键周期,实现了自适应关键周期识别,提高了关键周期识别的稳定性,通过将本地模型更新分层分割处理为子向量,将子向量分别进行异常检测,并使用软投票汇总子向量的异常检测结果,实现对隐匿型攻击的有效检测,提高了检测效率、精准度和适应性。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种基于关键周期识别的联邦学习恶意模型更新检测方法的流程示意图;
图2为本公开实施例提供的一种基于关键周期识别的联邦学习恶意模型更新检测方法的具体实施框架示意图;
图3为本公开实施例提供的一种特征提取流程示意图;
图4为本公开实施例提供的一种关键周期识别流程示意图;
图5为本公开实施例提供的一种关键周期更新元组的异常检测流程示意图;
图6为本公开实施例提供的一种非关键周期更新元组的异常检测流程示意图;
图7为本公开实施例提供的一种安全聚合流程示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供一种基于关键周期识别的联邦学习恶意模型更新检测方法,所述方法可以应用于互联网安全场景的恶意模型更新检测过程中。
参见图1,为本公开实施例提供的一种基于关键周期识别的联邦学习恶意模型更新检测方法的流程示意图。如图1和图2所示,所述方法主要包括以下步骤:
步骤1,在每个客户端上计算本地更新数据后发送至服务端;
进一步的,所述本地更新数据为三元组,所述三元组包括客户端本地模型的梯度、本地数据集平均交叉熵和客户端训练完成符。
具体实施时,本地更新数据由三元组,<客户端本地模型的梯度,本地数据集平均交叉熵,客户端训练完成符>唯一标识,本地更新数据的结构根据联邦学习训练的模型有所不同,但同一联邦学习网络中的本地更新数据一般相同。在每个客户端上计算本地更新数据后发送至服务端,以便进行后续操作流程。
步骤2,服务端对本轮次收集的来自客户端的本地更新数据进行特征提取,得到本地模型更新元组;
在上述实施例的基础上,所述步骤2具体包括:
步骤2.1,解析该本地更新数据,根据三元组中的客户端训练完成符判断该数据是否是客户端训练完毕后发送的,若判断结果为否则丢弃,若判断结果为是,则进行步骤2.2;
步骤2.2,根据收到本地更新数据的顺序判断其到达服务端的序号,若为第一个到达,则为本轮次的本地模型梯度和本地数据集平均交叉熵形成的二元组开辟存储空间;若为最后一个包,则进行步骤2.3,否则,将该二元组存入对应的存储空间;
步骤2.3,对本轮次的本地模型梯度进行minmax数据标准化处理,得到本地模型更新元组。
具体实施时,服务器将来自客户端的本地神经网络梯度更新数据预处理并存储,其流程如图3。当收到客户端发送的本地更新数据之后,其执行步骤如下:
1)解析该本地更新数据三元组,根据三元组中的客户端训练完成符判断该数据是否是客户端训练完毕后发送的。若判断结果为否则丢弃;若判断结果为是,则进行步骤2)。
2)根据收到本地更新数据的顺序判断其到达服务端的序号。若为第一个到达,则为<本轮次的本地模型梯度,本地数据集平均交叉熵>二元组开辟存储空间;若为最后一个包,则进行步骤3);否则,将该二元组存入对应的空间。
3)对本轮次的本地模型梯度进行minmax数据标准化处理,当然,除了采用minmax标准化,也可以采用其他标准化方式如小数定标、均值归一、向量归一、指数转换、Z-score等。
步骤3,通过关键周期识别模块识别本地模型更新元组,得到关键周期识别符并据此将本地模型更新元组分为关键周期更新元组和非关键周期更新元组;
在上述实施例的基础上,所述步骤3具体包括:
步骤3.1,从本地模型更新元组的二元组集合中提取本地数据集平均交叉熵,并计算各客户端交叉熵与上一轮次的差值,然后将各客户端的差值取加权平均值,并计算变化幅度;
步骤3.2,判断当前轮次是否在关键周期对应的轮次范围内,若是,则输出关键周期识别符为True,存储当前轮次变化幅度,并结束当前轮次识别,若否,则转入步骤3.3;
步骤3.3,将当前记录的变化幅度集合输入Jenks-Caspall自然断点分类法,识别出断点,若当前轮次在断点之后,输出关键周期识别符为False,否则为True。
具体实施时,特征提取模块输出的二元组集合输入关键周期识别模块,其具体的结构和处理流程如图4所示,在关键周期识别模块中,识别关键周期的步骤如下:
1)从二元组集合中提取本地数据集平均交叉熵,并计算各客户端交叉熵与上一轮次的差值;将各客户端的差值取加权平均值,并计算变化幅度
2)方法默认联邦学习训练前5轮次均为关键周期,判断当前轮次是否为前5轮次;若是输出关键周期识别符为True,存储当前轮次变化幅度,并结束当前轮次识别,否则转步骤3
3)将当前记录的变化幅度集合输入Jenks-Caspall自然断点分类法,识别出断点,若当前轮次在断点之后,输出关键周期识别符为False;否则为True,当然,在关键周期识别中使用的Jenks-Caspall自然断点分类法可以替换为HeadTailBreaks断点分类法、NaturalBreaks断点分类法、FisherJenks断点分类法等。
步骤4,将本地模型更新元组输入异常检测模块得到异常得分并筛选出正常模型更新;
在上述实施例的基础上,当本地模型更新元组为关键周期更新元组时,所述步骤4具体包括:
步骤4.1,将本地模型更新元组分层,各层模型更新展平为一维向量,分别存储到不同的集合中;
步骤4.2,将各层一维向量分割为预设长度的子向量,分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量,不满预设长度的子向量保留为新的子向量;
步骤4.3,将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常标记向量,其大小为子向量集合容量,若为异常标记为0,否则为1,将所有子向量集合的异常标记向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵;
步骤4.4,使用二维矩阵进行软投票,其中全连接层的子向量权重为1,其余为0.2,计算得到得票总和,将得票前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签作为正常模型更新。
进一步的,当本地模型更新元组为非关键周期更新元组时,所述步骤4具体包括:
步骤4.1,设置随机种子;
步骤4.2,将本地模型更新元组分层,各层模型更新展平为一维向量,各层向量随机取预设长度的子向量,分别存储到不同的集合中,将各子向量分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量;
步骤4.3,将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常得分向量,其大小为子向量集合容量,异常得分为[0,1]的数值,将所有子向量集合的异常得分向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵;
步骤4.4,根据二维矩阵计算得到各本地模型更新异常得分总和,将得分前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签作为正常模型更新。
具体实施时,考虑到关键周期受到攻击的影响是不可逆的,因此在识别关键周期后,根据当前轮次是否是关键周期进行不同的防御措施。关键周期使用防御能力更强,计算更复杂的异常检测流程;非关键周期使用简单有效的异常检测方法减少计算开销,最终得到与全部周期实施复杂异常检测相近的防御效果。
当本地模型更新元组为关键周期更新元组时,本地模型更新元组输入分层异常检测模块。其具体流程如图5所示。
步骤如下:
1)将本地模型更新元组分层,各层模型更新展平为一维向量,分别存储到不同的集合中;
2)将各层一维向量分割为长度为1000的子向量,分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量,长度不满1000的子向量保留为新的子向量;
3)将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常标记向量,其大小为子向量集合容量,若为异常标记为0,否则为1;将所有子向量集合的异常标记向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵;
4)使用二维矩阵进行软投票,其中全连接层的子向量权重为1,其余为0.2,计算得到得票总和,将得票前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签;
例如,本地模型更新可表示为xi。其中xi,1≤i≤n,n为所有本轮次接收到的本地模型更新数量。由于神经网络模型各层在攻击下的表现不同,因此步骤1)将本地模型更新分层处理,将各层参数分别展平为一维向量,分别存储为层向量数据集,层向量表示为si,p,1≤p≤L,其中L为神经网络层数。层向量长度达十万以上,为了避免异常检测中的维度灾难,步骤2)将层向量分割为多个子向量,表示为其中L为神经网络层数,Dp=||s*,p||为层向量长度。将子向量集合重组为2维矩阵/> 步骤3)使用异常检测方法DBSCAN根据子向量的计算得到各本地模型更新的标记向量mi,k,,所有标记向量存储为二维矩阵M={mi,k},其中mi,k表示第i个本地模型更新的第k个子向量是否异常,异常为0,正常为1。步骤4)根据异常标记矩阵M进行软投票,得票为H=∑i,kαkmi,k,其中若si,k为全连接层的子向量则αk=1,否则αk=0.2。将得票前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签,异常为True,正常为False。
当本地模型更新元组为非关键周期更新元组时,本地模型更新元组输入分层异常检测模块。其具体流程如图6所示。
步骤如下:
1)设置随机种子;
2)将本地模型更新元组分层,各层模型更新展平为一维向量,各层向量随机取1000长度的子向量,分别存储到不同的集合中;将各子向量分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量;
3)将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常得分向量,其大小为子向量集合容量,异常得分为[0,1]的数值;将所有子向量集合的异常得分向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵,当然,也可采用其他异常检测方法,如OPTICS、DPC、iForest等;
4)计算得到各本地模型更新异常得分总和,将得分前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签;
例如,步骤1)设置随机种子seed,使得各客户端随机采样的参数序号统一。本地模型更新可表示为xi。其中xi,1≤i≤n,n为所有本轮次接收到的本地模型更新数量。由于神经网络模型各层在攻击下的表现不同,因此步骤1)将本地模型更新分层处理,将各层参数分别展平为一维向量,分别存储为层向量数据集,层向量表示为si,p,1≤p≤L,其中L为神经网络层数。层向量长度达十万以上,为了避免异常检测中的维度灾难,步骤2)从层向量中采用1000个参数,组成子向量,表示为si,p,1≤p≤L,其中L为神经网络层数,子向量长度为dp=min(1000,Dp),Dp为层向量长度。将子向量集合重组为2维矩阵si,p,1≤p≤L.步骤3)使用异常检测方法DBSCAN根据子向量的计算得到各本地模型更新的异常得分向量scorei,k,,所有得分向量存储为二维矩阵SCORE={scorei,p},其中scorei,p表示第i个本地模型更新的第p层子向量的异常得分,其值为[0,1]的数值,得分越高表示越正常。步骤4)根据异常得分矩阵SCORE进行累加计算各本地模型更新的异常得分总和scorei,*。将总得分前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签,异常为True,正常为False。当然,在异常检测过程中子向量长度为1000,也可采用其他长度如100、10000等。软投票权重可采用其他值,如0.5、0.3等,在此不一一赘述。
步骤5,通过聚合算法和正常模型更新得到全局模型更新。
具体实施时,异常检测得到的正常模型更新输入安全聚合模块,本发明使用计算加权均值方法进行安全聚合,权重为客户端数据集大小。安全聚合的具体流程如图7所示。具体步骤如下:
1)良性模型更新计算加权均值,得到全局模型更新。
2)将全局模型更新发送给所有联邦学习客户端。
3)客户端在本地进行训练后得到本地模型的准确率并发送给服务端。
4)服务端计算所有客户端准确率的均值作为客户端平均准确率。
本实施例提供的基于关键周期识别的联邦学习恶意模型更新检测方法,通过通过在关键周期使用细粒度的异常检测,在非关键周期使用粗粒度的异常检测,达到恶意模型更新防御能力与计算效率的平衡。本发明首先通过交叉熵变化幅度和Jenks-Caspall自然断点分类法识别关键周期,然后根据是否处于关键周期使用不同的异常检测策略:1)若是关键周期,将模型更新分层处理为多个层向量,并将层向量分割为多个子向量,对子向量分别进行异常检测,实现细粒度的异常检测能力,随后使用DBSCAN异常检测方法得到异常标记矩阵,并使用软投票方法汇总子向量的异常检测结果,得到本地模型更新整体的异常检测得分,并排除异常本地模型更新。2)若是非关键周期,将模型更新分层后随机采样子向量,实现粗粒度的异常检测能力,随后使用DNSCAN异常检测方法得到异常得分矩阵,随后使用累加和的方法得到各本地模型更新的异常总得分,并保留得分前50%的本地模型更新视为正常更新。正常更新采用加权均值计算得到全局模型更新,并用于下一轮联邦学习训练。与现有的联邦学习恶意更新检测方法相比,有如下优点:
1)现有联邦学习恶意模型更新检测方法在每个联邦学习训练轮次中均使用相同的检测策略,计算开销大。本发明通过关键周期识别,找出对全局模型有不可逆影响的周期,在关键周期中使用细粒度的异常检测方法,在非关键周期使用粗粒度的异常检测方法,实现检测能力和计算效率的平衡。
2)现有关键周期识别方法使用联邦fisher矩阵或梯度范数向量为依据,前者识别精度高但计算开销大,后者计算开销小但识别精度低。本发明使用交叉熵损失的变化幅度识别关键周期,识别精度与使用联邦fisher矩阵接近但计算开销远小于联邦fisher矩阵。同时,现有关键周期识别方法使用预设阈值的方法,数值固定,无法适应联邦学习客户端数据集分布、模型结构、损失函数的改变。本发明使用Jenks-Caspall自然断点分类法自适应识别断点,将断点前的训练轮次视为关键周期,断点后的训练轮次视为非关键周期,实现了自适应关键周期识别,提高了关键周期识别的稳定性。
3)现有联邦学习恶意更新检测方法将整个模型更新直接用于异常检测,计算开销大且无法应对隐匿型攻击。本发明通过将本地模型更新分层分割处理为子向量,将子向量分别进行异常检测,并使用软投票汇总子向量的异常检测结果,实现对隐匿型攻击的有效检测。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种基于关键周期识别的联邦学习恶意模型更新检测方法,其特征在于,包括:
步骤1,在每个客户端上计算本地更新数据后发送至服务端;
步骤2,服务端对本轮次收集的来自客户端的本地更新数据进行特征提取,得到本地模型更新元组;
步骤3,通过关键周期识别模块识别本地模型更新元组,得到关键周期识别符并据此将本地模型更新元组分为关键周期更新元组和非关键周期更新元组;
步骤4,将本地模型更新元组输入异常检测模块得到异常得分并筛选出正常模型更新;
步骤5,通过聚合算法和正常模型更新得到全局模型更新。
2.根据权利要求1所述的方法,其特征在于,所述本地更新数据为三元组,所述三元组包括客户端本地模型的梯度、本地数据集平均交叉熵和客户端训练完成符。
3.根据权利要求2所述的方法,其特征在于,所述步骤2具体包括:
步骤2.1,解析该本地更新数据,根据三元组中的客户端训练完成符判断该数据是否是客户端训练完毕后发送的,若判断结果为否则丢弃,若判断结果为是,则进行步骤2.2;
步骤2.2,根据收到本地更新数据的顺序判断其到达服务端的序号,若为第一个到达,则为本轮次的本地模型梯度和本地数据集平均交叉熵形成的二元组开辟存储空间;若为最后一个包,则进行步骤2.3,否则,将该二元组存入对应的存储空间;
步骤2.3,对本轮次的本地模型梯度进行minmax数据标准化处理,得到本地模型更新元组。
4.根据权利要求3所述的方法,其特征在于,所述步骤3具体包括:
步骤3.1,从本地模型更新元组的二元组集合中提取本地数据集平均交叉熵,并计算各客户端交叉熵与上一轮次的差值,然后将各客户端的差值取加权平均值,并计算变化幅度;
步骤3.2,判断当前轮次是否在关键周期对应的轮次范围内,若是,则输出关键周期识别符为True,存储当前轮次变化幅度,并结束当前轮次识别,若否,则转入步骤3.3;
步骤3.3,将当前记录的变化幅度集合输入Jenks-Caspal l自然断点分类法,识别出断点,若当前轮次在断点之后,输出关键周期识别符为False,否则为True。
5.根据权利要求4所述的方法,其特征在于,当本地模型更新元组为关键周期更新元组时,所述步骤4具体包括:
步骤4.1,将本地模型更新元组分层,各层模型更新展平为一维向量,分别存储到不同的集合中;
步骤4.2,将各层一维向量分割为预设长度的子向量,分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量,不满预设长度的子向量保留为新的子向量;
步骤4.3,将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常标记向量,其大小为子向量集合容量,若为异常标记为0,否则为1,将所有子向量集合的异常标记向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵;
步骤4.4,使用二维矩阵进行软投票,其中全连接层的子向量权重为1,其余为0.2,计算得到得票总和,将得票前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签作为正常模型更新。
6.根据权利要求,4所述的方法,其特征在于,当本地模型更新元组为非关键周期更新元组时,所述步骤4具体包括:
步骤4.1,设置随机种子;
步骤4.2,将本地模型更新元组分层,各层模型更新展平为一维向量,各层向量随机取预设长度的子向量,分别存储到不同的集合中,将各子向量分别存储到不同集合,每个集合大小为本轮次接收的本地模型更新数量;
步骤4.3,将不同子向量集合分别输入DBSCAN异常检测方法,分别找出异常子向量,并分别记录异常得分向量,其大小为子向量集合容量,异常得分为[0,1]的数值,将所有子向量集合的异常得分向量合并为本地模型更新数量*本地模型更新子向量数量的二维矩阵;
步骤4.4,根据二维矩阵计算得到各本地模型更新异常得分总和,将得分前50%高的本地模型更新保留,其余本地模型更新丢弃,输出本地模型更新异常标签作为正常模型更新。
CN202311457155.3A 2023-11-03 2023-11-03 基于关键周期识别的联邦学习恶意模型更新检测方法 Active CN117313898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311457155.3A CN117313898B (zh) 2023-11-03 2023-11-03 基于关键周期识别的联邦学习恶意模型更新检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311457155.3A CN117313898B (zh) 2023-11-03 2023-11-03 基于关键周期识别的联邦学习恶意模型更新检测方法

Publications (2)

Publication Number Publication Date
CN117313898A true CN117313898A (zh) 2023-12-29
CN117313898B CN117313898B (zh) 2024-06-14

Family

ID=89273742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311457155.3A Active CN117313898B (zh) 2023-11-03 2023-11-03 基于关键周期识别的联邦学习恶意模型更新检测方法

Country Status (1)

Country Link
CN (1) CN117313898B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297573A (zh) * 2021-06-11 2021-08-24 浙江工业大学 一种基于gan模拟数据生成的垂直联邦学习防御方法和装置
CN114301719A (zh) * 2022-03-10 2022-04-08 中国人民解放军国防科技大学 一种基于变分自编码器的恶意更新检测方法及模型
CN115333825A (zh) * 2022-08-10 2022-11-11 浙江工业大学 针对联邦学习神经元梯度攻击的防御方法
CN115422537A (zh) * 2022-05-06 2022-12-02 广东工业大学 一种抵御联邦学习标签翻转攻击的方法
CN115907003A (zh) * 2022-12-07 2023-04-04 中国人民解放军国防科技大学 基于度量学习的联邦学习恶意模型更新的检测方法及系统
CN115994381A (zh) * 2022-11-30 2023-04-21 武汉深捷科技股份有限公司 一种面向项目密评的敏感数据识别方法及系统
CN116029369A (zh) * 2023-02-10 2023-04-28 中国海洋大学 一种基于联邦学习的后门攻击防御方法及系统
CN116470920A (zh) * 2023-04-19 2023-07-21 北京交通大学 一种面向联邦学习的双向自适应梯度压缩方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297573A (zh) * 2021-06-11 2021-08-24 浙江工业大学 一种基于gan模拟数据生成的垂直联邦学习防御方法和装置
CN114301719A (zh) * 2022-03-10 2022-04-08 中国人民解放军国防科技大学 一种基于变分自编码器的恶意更新检测方法及模型
CN115422537A (zh) * 2022-05-06 2022-12-02 广东工业大学 一种抵御联邦学习标签翻转攻击的方法
CN115333825A (zh) * 2022-08-10 2022-11-11 浙江工业大学 针对联邦学习神经元梯度攻击的防御方法
CN115994381A (zh) * 2022-11-30 2023-04-21 武汉深捷科技股份有限公司 一种面向项目密评的敏感数据识别方法及系统
CN115907003A (zh) * 2022-12-07 2023-04-04 中国人民解放军国防科技大学 基于度量学习的联邦学习恶意模型更新的检测方法及系统
CN116029369A (zh) * 2023-02-10 2023-04-28 中国海洋大学 一种基于联邦学习的后门攻击防御方法及系统
CN116470920A (zh) * 2023-04-19 2023-07-21 北京交通大学 一种面向联邦学习的双向自适应梯度压缩方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GANG YAN ET AL.: "DeFL: Defending against Model Poisoning Attacks in Federated Learning via Critical Learning Periods Awareness", THE THIRTY-SEVENTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE (AAAI-23), vol. 37, no. 9, 26 June 2023 (2023-06-26), pages 10711 - 10719 *
GANG YAN: "CriticalFL: A Critical Learning Perio ds Augmente d Client Sele ction Framework for Effcient Fe derate d Learning", IN PROCEEDINGS OF THE 29TH ACM SIGKDD CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING (KDD ’23), 10 August 2023 (2023-08-10) *

Also Published As

Publication number Publication date
CN117313898B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
TWI769754B (zh) 基於隱私保護確定目標業務模型的方法及裝置
Yan et al. A comparative study of off-line deep learning based network intrusion detection
Mao et al. Feature representation using deep autoencoder for lung nodule image classification
CN111695597A (zh) 基于改进式孤立森林算法的信贷欺诈团伙识别方法和系统
CN113839926B (zh) 一种基于灰狼算法特征选择的入侵检测系统建模方法、系统及装置
CN114091661B (zh) 一种基于生成对抗网络和k-近邻算法提高入侵检测性能的过采样方法
CN113992349B (zh) 恶意流量识别方法、装置、设备和存储介质
CN116503399B (zh) 基于yolo-afps的绝缘子污闪检测方法
CN112115965A (zh) 一种基于svm的被动操作系统识别方法、存储介质及设备
CN115965058A (zh) 神经网络训练方法、实体信息分类方法、装置及存储介质
CN117350368A (zh) 联邦学习防御方法、装置、设备及存储介质
CN118041689B (zh) 一种网络恶意流量检测方法
CN112215300A (zh) 一种基于网络结构增强的图卷积模型防御方法、装置和系统
Shao et al. Deep learning hierarchical representation from heterogeneous flow-level communication data
CN117669834A (zh) 一种交通流预测方法、装置及存储介质
CN114726802A (zh) 一种基于不同数据维度的网络流量识别方法及装置
CN114398685A (zh) 一种政务数据处理方法、装置、计算机设备及存储介质
CN117313898B (zh) 基于关键周期识别的联邦学习恶意模型更新检测方法
CN116523078A (zh) 一种横向联邦学习系统防御方法
CN116541792A (zh) 一种基于图神经网络节点分类进行团伙识别的方法
CN115296851B (zh) 一种基于互信息与灰狼提升算法的网络入侵检测方法
CN116647844A (zh) 一种基于堆叠集成算法的车载网络入侵检测方法
CN116822569A (zh) 模型训练方法、装置、相关设备及存储介质
CN114095268A (zh) 用于网络入侵检测的方法、终端及存储介质
Wang et al. Unrolled gan-based oversampling of credit card dataset for fraud detection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant