CN114418092A - 基于区块链的联邦学习恶意节点甄别方法 - Google Patents
基于区块链的联邦学习恶意节点甄别方法 Download PDFInfo
- Publication number
- CN114418092A CN114418092A CN202210055714.7A CN202210055714A CN114418092A CN 114418092 A CN114418092 A CN 114418092A CN 202210055714 A CN202210055714 A CN 202210055714A CN 114418092 A CN114418092 A CN 114418092A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- malicious
- federal learning
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000012216 screening Methods 0.000 title claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 93
- 238000003062 neural network model Methods 0.000 claims description 75
- 238000012360 testing method Methods 0.000 claims description 19
- 230000004927 fusion Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于区块链的联邦学习恶意节点甄别方法,使用区块链账本记录联邦学习过程,验证模型是否一致,以此保护联邦学习过程的安全,同时达到可审计性,使得在遇到恶意节点时能够消除恶意节点的影响,使用模型间距离来表示模型的差异,采用对离群模型进行全局投票的方式来甄别并剔除恶意节点,并采用去中心化的训练方式,匀散了各节点在整个联邦学习过程中的权力,使得整个联邦学习过程避免了过于集中的被一个节点所操控。解决了联邦学习过程中无法规避、甄别攻击并从恶意攻击中恢复到正常训练的问题,运用区块链提升了联邦学习系统的整体安全性,防止模型在传递过程中被恶意篡改。
Description
技术领域
本发明涉及机器学习技术领域,更具体的说是涉及一种基于区块链的联邦学习恶意节点甄别方法。
背景技术
目前,随着边缘智能概念的提出,越来越多的智能化应用将在边缘侧训练和执行。传统的云智能采用将原始数据上传至云中心进行模型训练的方式,存在高传输时延、用户隐私泄露等弊端。为解决这一问题,基于联邦学习 (FL,federated learning)的分布式模型训练架构应运而生。在基于FL的分布式训练架构下,边缘侧终端设备可以利用自身采集数据在本地执行训练任务,然后将训练好的本地模型参数上传至云服务器进行模型聚合。相比直接上传原始训练数据,该架构选择上传训练之后的模型参数,能有效降低数据传输成本,同时保护用户隐私。
然而,边缘侧终端设备并不是完全可信的,存在一些恶意节点篡改训练结果,上传错误参数会降低FL性能。现有的联邦学习中,对来自各节点的训练模型没有进行内容验证,容易在传输过程中被恶意截获并修改,导致整个联邦学习系统的性能下降,严重会导致全局模型无法拟合,并且现有的联邦学习中也没有对恶意节点产生的恶意模型进行甄别并处理的过程,容易导致全局模型中,对一些数量较少的类别产生错误的判断。同时发生攻击后,现有的联邦学习中,即使发现了攻击也没有很有效的手段去从错误的模型中恢复过来。
因此,如何对抗针对联邦学习节点的恶意攻击,以提高联邦学习效率和准确率是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于区块链的联邦学习恶意节点甄别方法,解决了联邦学习过程中遇到恶意节点无法有效甄别,以及在发生恶意节点攻击后,联邦学习无法顺利规避攻击并从恶意攻击中恢复到正常训练的问题。本发明运用区块链来提升联邦学习系统的整体安全性,防止模型在传递过程中被恶意篡改。
为了实现上述目的,本发明采用如下技术方案:
一种基于区块链的联邦学习恶意节点甄别方法,包括以下具体步骤:
步骤1:在每个节点部署联邦学习模块、联邦学习过程区块链账本和恶意节点甄别模块,并同时开始及运行;
步骤2:获取任务,各节点向任务发布节点发送任务请求,并初始化训练轮次;任务发布节点收到任务请求后,向所有非中心节点发送任务内容、任务模型和当前的中心节点;第一个向任务发布节点发送任务获取请求的节点,将被指定为第一轮训练的中心节点;非中心节点为除中心节点以外的所有其他节点;
步骤3:各节点收到任务内容、任务模型和训练信息后,开始在其联邦学习模块进行联邦学习训练,当前的中心节点不进行模型的训练而是处于监听状态,等待接收所有非中心节点发送的神经网络模型,不是中心节点的所有非中心节点使用本地数据中的本地训练集进行训练获得所述神经网络模型;所有所述节点的联邦学习过程区块链账本对训练过程进行学习记录;所述训练信息包括训练轮次、学习率等深度学习训练参数、网络中其他节点的地址和中心节点;本地数据包括本地测试集和本地训练集;
步骤4:当本轮当前的所述中心节点收到所有非中心节点所传来的所述神经网络模型后,进行联邦平均融合,获得全局模型,并由当前的所述中心节点将所述全局模型发送到所有非中心节点,所述中心节点的所述恶意节点甄别模块被激活进行恶意节点甄别,甄别出的所述节点在所述联邦学习过程区块链账本中进行恶意节点标签记录,并将其剔除;同时所述训练轮次加1;
步骤5:如果所述训练轮次小于或等于设定值,由本轮当前的所述中心节点测试所有非中心节点训练的所述神经网络模型的准确率,对计算的所述准确率从高到低进行排序,任意选择排序位于前20%的所述准确率对应所述节点的任意一个节点作为下一轮训练的所述中心节点,并返回所述步骤3;否则结束训练。当前所述中心节点的所述全局模型为训练的最终模型。使用当前中心节点的本地数据中的本地测试集输入到所述神经网络模型后得出出预测结果,所述预测结果与真实值进行比对判断是否正确并对判断正确数进行统计,准确率=判断正确数/总数。
优选的,联邦学习模块用于联邦学习框架中使用本地训练集进行训练的过程;联邦学习过程区块链账本用于联邦学习框架中使用区块链记录全部训练过程的账本,通过区块链在联邦学习网络中所有的节点上的账本进行同步,完成整个区块链对联邦学习中每个过程的记录;恶意节点甄别模块独立于联邦学习模块和联邦学习过程区块链账本之外,当该节点充当某轮联邦学习的中心节点时,则该模块发挥作用,将各节点上传的模型使用本地测试集进行测试,并计算模型间距离,即获得两个神经网络模型之间的推土机距离,挑出准确率较低且离群的模型,在挑出符合要求的模型后,完成投票过程,以此进一步甄别恶意节点。
优选的,任务发布节点在外部环境需要联邦学习网络训练一个任务时,会将任务的内容和模型发布到该节点上;正式训练时,各联邦学习节点从该任务发布节点中拉取任务内容和任务模型,并下载到本地,开始联邦学习训练。
优选的,在进行联邦学习训练时,联邦学习过程区块链账本全程记录联邦学习过程,每个区块链包含的内容有:区块编号、区块的哈希值、前一个区块的哈希值、时间戳和学习过程信息;其中,学习过程信息是一个json字符串,包含的信息有:联邦学习训练所处的轮次、动作发送方、动作接收方和动作所涉及模型的哈希值;
当所述节点产生以下操作时则在联邦学习过程区块链账本中进行记录,包括:所述节点从所述任务发布节点领取任务、非中心节点向所述中心节点发送所述神经网络模型、所述中心节点向所有非中心节点下发所述全局模型、所述中心节点进行模型融合、更换所述中心节点。
优选的,联邦学习训练轮次定义为从1开始计算,当联邦学习过程区块链账本记录的联邦学习过程信息为从任务发布节点领取任务则将所处训练的轮次设定为0。
优选的,各节点每当向区块链账本上新增一个区块的时候,向系统中除本节点以外的其他所有节点完成该区块的同步,整个联邦学习训练网络中每个节点都有联邦学习过程区块链账本的所有副本。
优选的,所述中心节点的恶意节点甄别模块被激活进行恶意节点甄别,具体过程如下:
步骤41:所述中心节点接收到各节点发送的所述神经网络模型,使用本地数据中的本地测试集对各所述神经网络模型进行测试,得出各所述神经网络模型的准确率;
步骤42:所述中心节点计算各所述神经网络模型两两之间的推土机距离 (EMD),形成一张模型间距离表,表格中行和列分别为各节点传来的模型编号,各行和列的交叉点为该行和列对应的模型间的距离;
步骤43:根据所述模型间距表计算模型与其他模型之间的距离参考值;表格中每一行的所有距离之和,为该行对应的模型距离与其他距离参考值,即一个模型与其他所有模型的距离之和,作为该模型与其他模型的距离参考值;
步骤44:挑选出距离参考值大于所有模型的距离参考值平均值50%的神经网络模型,并查看准确率是否低于所有模型准确率平均值的50%,若是,则将该神经网络模型下发到所有非中心节点进行投票;若否,则所有非中心节点均判断为非恶意节点,并进入所述步骤5;
步骤45:非中心节点中各节点接收到需要投票的所述神经网络模型后,使用本地测试集进行测试,得出准确率,若准确率比本节点本轮所训练的神经网络模型低50%,则将接收的所述神经网络模型投票为恶意模型;
步骤46:若所有非中心节点中有大于或等于三分之二的节点,认定需要投票的所述神经网络模型为所述恶意模型,则将所述恶意模型对应的所述节点记录为恶意节点,并记录在联邦学习过程区块链账本中,且在下一轮训练时,将所述恶意节点从节点列表中剔除掉;
步骤47:所有节点在联邦学习过程区块链账本中,读取到恶意节点的鉴定记录后,则从本地的节点列表中剔除该节点。节点列表记录网络中都有哪些节点参与了训练,方便进行模型传输和区块链的账本同步;在每轮训练开始的时候读取所述鉴定记录;鉴定记录是指恶意节点的联邦学习过程区块链账本中标记为恶意节点的信息。
优选的,在进行联邦平均融合之前,首先采用其他保护安全的验证方式校验模型是否准确,具体过程为:在本轮的中心节点接收到各非中心节点的所述神经网络模型后,计算所述神经网络模型的哈希值,并与联邦学习过程区块链帐本中的模型哈希值进行比对,调用Python的库实现模型哈希值计算;若一致,则所述神经网络模型没有被篡改;若不一致,则所述神经网络模型在传输的过程中已被篡改,则丢弃当前所述神经网络模型,并要求对应的所述节点重新发送;若超过五次要求重新发送后,哈希值仍然无法匹配,则认定对应的所述节点为恶意节点,并通过联邦学习过程区块链账本记录,使得整个网络中除恶意节点以外的包括中心节点和非中心节点的所有节点的节点列表中剔除该节点。
优选的,在每一轮训练的所述中心节点与其他所有非中心节点传递所述神经网络模型时,使用同态加密防止模型在传输过程中被截获导致模型信息内容泄露。
优选的,当每轮训练的所述中心节点发现恶意节点后,则在本轮的联邦平均融合中开始剔除所述恶意节点的所述神经网络模型,并从区块链网络上,找到所述恶意节点的历史操作信息,对所述恶意节点的历史操作进行回滚,即如果本轮融合已经包含了恶意的节点,则由中心节点去除该节点并重新进行融合。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于区块链的联邦学习恶意节点甄别方法,使用区块链账本记录联邦学习过程,实现验证模型是否一致,以此保护联邦学习过程的安全,同时达到可审计性,使得在遇到恶意节点时能够消除恶意节点的影响;使用模型间距离来表示模型的差异,采用对离群模型进行全局投票的方式来甄别并剔除恶意节点;采用去中心化的训练方式,匀散了各节点在整个联邦学习过程中的权力,使得整个联邦学习过程避免了过于集中的被一个节点所操控。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的基于区块链的联邦学习恶意节点甄别方法流程图;
图2附图为本发明提供的恶意节点甄别流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于区块链的联邦学习恶意节点甄别方法,包括以下具体步骤:
S1:在每个节点部署联邦学习模块、联邦学习过程区块链账本和恶意节点甄别模块,并同时开始及运行;
S2:获取任务,各节点向任务发布节点发送任务请求,并初始化训练轮次;任务发布节点收到任务请求后,向所有非中心节点发送任务内容、任务模型和当前的中心节点;第一个向任务发布节点发送任务获取请求的节点,将被指定为第一轮训练的中心节点;非中心节点为除中心节点以外的所有其他节点;
S3:各节点收到任务内容、任务模型和训练信息后,开始在其联邦学习模块进行联邦学习训练,当前的中心节点不进行模型的训练而是处于监听状态,等待接收所有非中心节点发送的神经网络模型,不是中心节点的所有非中心节点使用本地数据中的本地训练集进行训练获得神经网络模型;所有节点的联邦学习过程区块链账本对训练过程进行学习记录;本地数据包括本地测试集和本地训练集;
S4:当本轮当前的中心节点收到所有非中心节点所传来的神经网络模型后,进行联邦平均融合,获得全局模型,并由当前的中心节点将全局模型发送到所有非中心节点,中心节点的恶意节点甄别模块被激活进行恶意节点甄别,甄别出的节点在联邦学习过程区块链账本中进行恶意节点标签记录,并将其剔除;同时训练轮次加1;
S41:中心节点接收到各节点发送的神经网络模型,使用本地数据中的本地测试集对各神经网络模型进行测试,得出各神经网络模型的准确率;
S42:中心节点计算各神经网络模型两两之间的推土机距离(EMD),形成一张模型间距离表,表格中行和列分别为各节点传来的模型编号,各行和列的交叉点为该行和列对应的模型间的距离;
S43:根据模型间距表计算模型与其他模型之间的距离参考值;表格中每一行的所有距离之和,为该行对应的模型距离与其他距离参考值;
S44:挑选出距离参考值大于所有距离参考值平均值50%的神经网络模型,并查看准确率是否低于所有模型准确率平均值的50%,若是,则将该神经网络模型下发到所有非中心节点进行投票;若否,则所有非中心节点均判断为非恶意节点,并进入S5;
S45:非中心节点中各节点接收到需要投票的神经网络模型后,使用本地测试集进行测试,得出准确率,若准确率比本节点本轮所训练的神经网络模型低50%,则将接收的神经网络模型投票为恶意模型;
S46:若所有非中心节点中有大于或等于三分之二的节点,认定需要投票的神经网络模型为恶意模型,则将恶意模型对应的节点记录为恶意节点,并记录在联邦学习过程区块链账本中,且在下一轮训练时,将恶意节点从节点列表中剔除掉;
S47:所有节点在联邦学习过程区块链账本中,读取到恶意节点的鉴定记录后,则从本地的节点列表中剔除该节点。
S5:如果训练轮次小于或等于设定值,由本轮当前的中心节点测试所有非中心节点训练的神经网络模型的准确率,对计算的准确率从高到低进行排序,任意选择排序位于前20%的准确率对应节点的任意一个节点作为下一轮训练的中心节点,并返回S3;否则结束训练。当前中心节点的全局模型为训练的最终模型。
为了进一步优化上述技术方案,联邦学习模块用于联邦学习框架中使用本地训练集进行训练的过程;联邦学习过程区块链账本用于联邦学习框架中使用区块链记录全部训练过程的账本,通过区块链在联邦学习网络中所有的节点上的账本进行同步,完成整个区块链对联邦学习中每个过程的记录;恶意节点甄别模块独立于联邦学习模块和联邦学习过程区块链账本之外,当该节点充当某轮联邦学习的中心节点时,则该模块发挥作用,将各节点上传的模型使用本地测试集进行测试,并计算模型间距离,挑出准确率较低且离群的模型,在挑出符合要求的模型后,完成投票过程,以此进一步甄别恶意节点。
为了进一步优化上述技术方案,任务发布节点在外部环境需要联邦学习网络训练一个任务时,会将任务的内容和模型发布到该节点上;正式训练时,各联邦学习节点从该任务发布节点中拉取任务内容和任务模型,并下载到本地,开始联邦学习训练。
为了进一步优化上述技术方案,在进行联邦学习训练时,联邦学习过程区块链账本全程记录联邦学习过程,每个区块链包含的内容有:区块编号、区块的哈希值、前一个区块的哈希值、时间戳和学习过程信息;其中,学习过程信息是一个json字符串,包含的信息有:联邦学习训练所处的轮次、动作发送方、动作接收方和动作所涉及模型的哈希值;
当节点产生以下操作时则在联邦学习过程区块链账本中进行记录,包括:节点从任务发布节点领取任务、非中心节点向中心节点发送神经网络模型、中心节点向所有非中心节点下发全局模型、中心节点进行模型融合、更换中心节点。
为了进一步优化上述技术方案,联邦学习训练轮次定义为从1开始计算。当联邦学习过程区块链账本记录的联邦学习过程信息为从任务发布节点领取任务则将所处训练的轮次设定为0。
为了进一步优化上述技术方案,各节点每当向区块链账本上新增一个区块的时候,向系统中除本节点以外的其他所有节点完成该区块的同步,整个联邦学习训练网络中每个节点都有联邦学习过程区块链账本的所有副本。
为了进一步优化上述技术方案,在进行联邦平均融合之前,首先采用其他保护安全的验证方式校验模型是否准确,具体过程为:在本轮的中心节点接收到各非中心节点的神经网络模型后,计算神经网络模型的哈希值,并与联邦学习过程区块链帐本中的模型哈希值进行比对,调用Python的库实现模型哈希值计算;若一致,则神经网络模型没有被篡改;若不一致,则神经网络模型在传输的过程中已被篡改,则丢弃当前神经网络模型,并要求对应的节点重新发送;若超过五次要求重新发送后,哈希值仍然无法匹配,则认定对应的节点为恶意节点,并通过联邦学习过程区块链账本记录,使得整个网络中包括中心节点和非中心节点的所有节点的节点列表中剔除该节点。
为了进一步优化上述技术方案,在每一轮训练的中心节点与其他所有非中心节点传递神经网络模型时,使用同态加密防止模型在传输过程中被截获导致模型信息内容泄露。
为了进一步优化上述技术方案,当每轮训练的中心节点发现恶意节点后,则在本轮的联邦平均融合中开始剔除恶意节点的神经网络模型,并从区块链网络上,找到恶意节点的历史操作信息,对恶意节点的历史操作进行回滚,即如果本轮融合已经包含了恶意的节点,则由中心节点去除该节点并重新进行融合。
为了进一步优化上述技术方案,在S42中计算模型距离的方法还包括欧式距离、马氏距离或曼哈顿距离等。
本发明的有益效果:
(1)安全性:使用区块链保护模型不被篡改,剔除了恶意节点从而保护了训练过程的安全,使用同态加密使得模型在传输过程中即使被截获也不会泄露模型。模型在传输前进行加密,加密过程是使用Python调用相关包的接口实现的。
(2)可审计性:使用区块链账本记录了整个联邦学习过程,同时该账本会在每一个区块链节点上进行同步备份,使得在遇到恶意节点时,通过账本找到操作记录,可以剔除恶意节点所进行的操作。
(3)权力分散:在基于区块链的构造上搭建了一种去中心化的联邦学习方式,避免了传统的联邦学习过程中只有一个中心节点的训练方式,能够避免单节点在整个联邦学习过程中,权力过大导致的对整个联邦学习过程的操控。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,包括以下具体步骤:
步骤1:在每个节点部署联邦学习模块、联邦学习过程区块链账本和恶意节点甄别模块,并同时开始及运行;
步骤2:获取任务,各节点向任务发布节点发送任务请求,获取任务内容、任务模型和中心节点,并初始化训练轮次;
步骤3:各节点收到任务内容、任务模型和训练信息后,开始在其联邦学习模块进行联邦学习训练,当前的中心节点处于监听状态,等待接收所有非中心节点发送的神经网络模型,非中心节点使用本地数据中的本地训练集进行训练获得所述神经网络模型;所述非中心节点的联邦学习过程区块链账本对训练过程进行学习记录;
步骤4:当本轮当前的所述中心节点收到所有非中心节点所传来的所述神经网络模型后,进行联邦平均融合,获得全局模型,并由当前的所述中心节点将所述全局模型发送到所有非中心节点,同时所述中心节点的所述恶意节点甄别模块被激活进行恶意节点甄别,甄别出的所述节点在所述联邦学习过程区块链账本中进行恶意节点标签记录,并将其剔除;所述训练轮次加1;
步骤5:如果所述训练轮次小于或等于设定值,由本轮当前的所述中心节点测试所有非中心节点训练的所述神经网络模型的准确率,根据所述准确率筛选下一轮训练的所述中心节点,并返回所述步骤3;否则结束训练,当前所述中心节点的所述全局模型为训练的最终模型。
2.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,在进行联邦学习训练时,所述联邦学习过程区块链账本全程记录联邦学习过程,每个区块链包含的内容有:区块编号、区块的哈希值、前一个区块的哈希值、时间戳和学习过程信息;其中,学习过程信息是一个json字符串,包含的信息有:联邦学习训练所处的轮次、动作发送方、动作接收方和动作所涉及模型的哈希值;
当所述节点从所述任务发布节点领取任务、非中心节点向所述中心节点发送所述神经网络模型、所述中心节点向所有非中心节点下发所述全局模型、所述中心节点进行模型融合或更换所述中心节点时在联邦学习过程区块链账本中进行记录。
3.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,联邦学习训练轮次定义为从1开始计算,当联邦学习过程区块链账本记录的联邦学习过程信息为从任务发布节点领取任务则将所处训练轮次设定为0。
4.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,各节点每当向区块链账本上新增一个区块时,向除本节点以外的其他所有节点完成该区块的同步,整个联邦学习训练网络中每个节点都有联邦学习过程区块链账本的所有副本。
5.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,所述中心节点的恶意节点甄别模块被激活进行恶意节点甄别具体过程如下:
步骤41:所述中心节点接收到各节点发送的所述神经网络模型,使用本地数据中的本地测试集对各所述神经网络模型进行测试,得出各所述神经网络模型的准确率;
步骤42:所述中心节点计算各所述神经网络模型两两之间的推土机距离,获得模型间距离表;
步骤43:根据所述模型间距表计算模型与其他模型之间的距离参考值;
步骤44:挑选出距离参考值大于所有距离参考值平均值50%的神经网络模型,并查看准确率是否低于所有模型准确率平均值的50%,若是,则将该神经网络模型下发到所有非中心节点进行投票;若否,则所有非中心节点均判断为非恶意节点,并进入所述步骤5;
步骤45:非中心节点接收到需要投票的所述神经网络模型后,使用本地测试集进行测试,得出准确率,若准确率比本节点本轮所训练的神经网络模型低50%,则将接收的所述神经网络模型投票为恶意模型;
步骤46:若非中心节点中有大于或等于三分之二的节点认定需要投票的所述神经网络模型为所述恶意模型,则将所述恶意模型对应的所述节点记录为恶意节点,并记录在所述联邦学习过程区块链账本中,且在下一轮训练时,将所述恶意节点从节点列表中剔除掉;
步骤47:所有节点在联邦学习过程区块链账本中,读取到恶意节点的鉴定记录后,则从本地的节点列表中剔除该节点。
6.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,所述步骤5中对计算的所述准确率从高到低进行排序,任意选择排序位于前20%的所述准确率对应所述节点的任意一个节点作为下一轮训练的所述中心节点。
7.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,在进行联邦平均融合之前,首先采用其他保护安全的验证方式校验模型是否准确,具体过程为:在本轮的中心节点接收到各非中心节点的所述神经网络模型后,计算所述神经网络模型的哈希值,并与联邦学习过程区块链帐本中的模型哈希值进行比对;若一致,则所述神经网络模型没有被篡改;若不一致,则所述神经网络模型在传输的过程中已被篡改,则丢弃当前所述神经网络模型,并要求对应的所述节点重新发送;若超过五次要求重新发送后,哈希值仍然无法匹配,则认定对应的所述节点为恶意节点,并通过联邦学习过程区块链账本记录,使得整个网络中所有节点的节点列表中剔除该节点。
8.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,在每一轮训练的所述中心节点与其他所有非中心节点传递所述神经网络模型时,使用同态加密防止所述神经网络模型在传输过程中被截获导致模型信息内容泄露。
9.根据权利要求1所述的一种基于区块链的联邦学习恶意节点甄别方法,其特征在于,当每轮训练的所述中心节点发现恶意节点后,则在本轮的联邦平均融合中开始剔除所述恶意节点的所述神经网络模型,并从区块链网络上,找到所述恶意节点的历史操作信息,对所述恶意节点的历史操作进行回滚。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210055714.7A CN114418092B (zh) | 2022-01-18 | 2022-01-18 | 基于区块链的联邦学习恶意节点甄别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210055714.7A CN114418092B (zh) | 2022-01-18 | 2022-01-18 | 基于区块链的联邦学习恶意节点甄别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114418092A true CN114418092A (zh) | 2022-04-29 |
CN114418092B CN114418092B (zh) | 2024-09-06 |
Family
ID=81272664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210055714.7A Active CN114418092B (zh) | 2022-01-18 | 2022-01-18 | 基于区块链的联邦学习恶意节点甄别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114418092B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702922A (zh) * | 2023-06-05 | 2023-09-05 | 京信数据科技有限公司 | 用于联邦学习训练的方法、装置、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212110A (zh) * | 2019-12-13 | 2020-05-29 | 清华大学深圳国际研究生院 | 一种基于区块链的联邦学习系统及方法 |
US20210067339A1 (en) * | 2019-08-26 | 2021-03-04 | Accenture Global Solutions Limited | Decentralized federated learning system |
CN113194126A (zh) * | 2021-04-21 | 2021-07-30 | 泉州华中科技大学智能制造研究院 | 一种基于区块链的横向联邦学习模型构建方法 |
CN113301047A (zh) * | 2021-05-25 | 2021-08-24 | 浙江树人学院(浙江树人大学) | 一种基于恶意节点攻击检测的车联网节点一致性共识方法 |
US20210398017A1 (en) * | 2020-06-23 | 2021-12-23 | Hewlett Packard Enterprise Development Lp | Systems and methods for calculating validation loss for models in decentralized machine learning |
-
2022
- 2022-01-18 CN CN202210055714.7A patent/CN114418092B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210067339A1 (en) * | 2019-08-26 | 2021-03-04 | Accenture Global Solutions Limited | Decentralized federated learning system |
CN111212110A (zh) * | 2019-12-13 | 2020-05-29 | 清华大学深圳国际研究生院 | 一种基于区块链的联邦学习系统及方法 |
US20210398017A1 (en) * | 2020-06-23 | 2021-12-23 | Hewlett Packard Enterprise Development Lp | Systems and methods for calculating validation loss for models in decentralized machine learning |
CN113194126A (zh) * | 2021-04-21 | 2021-07-30 | 泉州华中科技大学智能制造研究院 | 一种基于区块链的横向联邦学习模型构建方法 |
CN113301047A (zh) * | 2021-05-25 | 2021-08-24 | 浙江树人学院(浙江树人大学) | 一种基于恶意节点攻击检测的车联网节点一致性共识方法 |
Non-Patent Citations (1)
Title |
---|
于秋雨等: "基于区块链的工业物联网联邦学习系统架构", 《计算机系统应用》, 15 September 2021 (2021-09-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702922A (zh) * | 2023-06-05 | 2023-09-05 | 京信数据科技有限公司 | 用于联邦学习训练的方法、装置、终端设备及存储介质 |
CN116702922B (zh) * | 2023-06-05 | 2024-06-07 | 京信数据科技有限公司 | 基于恶意行为检测的训练方法、装置、终端设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114418092B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889538B (zh) | 用户异常行为检测方法及系统 | |
CN109598505B (zh) | 一种基于区块链的质量数据处理方法和装置 | |
CN109543065B (zh) | 一种结合区块链的视频主动识别方法 | |
CN110650321B (zh) | 基于区块链技术的视频内容防篡改、防丢失及恢复的方法 | |
CN113254947B (zh) | 一种车辆数据保护方法、系统、设备和存储介质 | |
CN113194126A (zh) | 一种基于区块链的横向联邦学习模型构建方法 | |
CN112307458A (zh) | 轻节点的上链方法、装置、物联网中控终端及区块链网络 | |
CN110933040B (zh) | 基于区块链的数据上链方法、装置、设备及介质 | |
CN112800428B (zh) | 一种终端设备的安全状态判断方法及装置 | |
CN114936354B (zh) | 用于工程监管的信息处理方法及装置 | |
CN117061257B (zh) | 一种网络安全评估系统 | |
CN108833372A (zh) | 一种企业网络安全管理云服务平台系统 | |
CN109284333A (zh) | 基于区块链的产业链数据维护方法及平台 | |
CN114418092A (zh) | 基于区块链的联邦学习恶意节点甄别方法 | |
CN110381047B (zh) | 一种网络攻击面追踪的方法、服务器和系统 | |
CN110457601B (zh) | 社交账号的识别方法和装置、存储介质及电子装置 | |
CN113992419A (zh) | 一种用户异常行为检测和处理系统及其方法 | |
CN107835174B (zh) | 一种基于物联网的账本反欺诈系统及方法 | |
CN114979109B (zh) | 行为轨迹检测方法、装置、计算机设备和存储介质 | |
CN110661795A (zh) | 一种向量级威胁情报自动生产、分发系统及方法 | |
CN117240522A (zh) | 基于攻击事件模型的漏洞智能挖掘方法 | |
CN113806800B (zh) | 一种提高通信效率和合理分配奖励的隐私保护方法及系统 | |
CN115002030A (zh) | 一种网站指纹识别方法、装置、存储器和处理器 | |
CN118573269B (zh) | 一种分布式卫星数据接收系统和方法 | |
CN110365675B (zh) | 一种网络追踪长链条攻击的方法、装置和系统 |
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 |