CN115865642B - 一种招募可信节点完成计算任务的方法和装置 - Google Patents

一种招募可信节点完成计算任务的方法和装置 Download PDF

Info

Publication number
CN115865642B
CN115865642B CN202310193890.1A CN202310193890A CN115865642B CN 115865642 B CN115865642 B CN 115865642B CN 202310193890 A CN202310193890 A CN 202310193890A CN 115865642 B CN115865642 B CN 115865642B
Authority
CN
China
Prior art keywords
nodes
node
trusted
node set
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.)
Active
Application number
CN202310193890.1A
Other languages
English (en)
Other versions
CN115865642A (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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN202310193890.1A priority Critical patent/CN115865642B/zh
Publication of CN115865642A publication Critical patent/CN115865642A/zh
Application granted granted Critical
Publication of CN115865642B publication Critical patent/CN115865642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例涉及分布式网络技术领域,特别涉及一种招募可信节点完成计算任务的方法和装置。本申请首先选取历史任务作为先验任务,然后指定某几个未知节点组成一个集合进行任务的多轮联邦训练,其中未知节点使用私有数据对任务进行训练,保存任务记录,然后用若干新的节点替换掉该集合中的相同数量的旧节点,组成一个新的集合继续进行任务的训练,之后将任务的记录保存下来,对比前后两个记录,进而判断进行替换的新的节点是否为可信节点,本申请利用存在历史记录的历史任务通过节点替换策略获得一定数量的可信节点,尽可能小的代价去挑选可信节点,这样在之后的任务中,就可以使用可信节点完成任务,从而使得***的收益最大化。

Description

一种招募可信节点完成计算任务的方法和装置
技术领域
本申请实施例涉及分布式网络技术领域,尤其涉及一种招募可信节点完成计算任务的方法和装置。
背景技术
分布式网络是由分布在不同地点且具有多个终端的节点机互连而成的。网中任一点均至少与两条线路相连,当任意一条线路发生故障时,通信可转经其他链路完成,具有较高的可靠性。同时,网络易于扩充。随着人类社会数字化进程越来越快,产生了大量数据。通过机器学习技术可以自动化地挖掘数据中蕴藏的宝藏,经过大量数据训练出来的机器学习模型已经应用在各类场景中,正在深刻改变着我们的世界,例如精准医疗、临床辅助诊断、新药研发、人像识别、声纹识别、千人千面推荐算法、图片、语音、自然语言等多模态学习。在应用中,模型的精度、泛化能力等至关重要,而这些都赖于机器对大量数据的学习。受限于法律法规、政策监管、商业机密、个人隐私等数据隐私安全上的约束,多个数据来源方无法直接交换数据,形成“数据孤岛”现象,制约着人工智能模型能力的进一步提高。联邦学习的诞生即是为了解决这一问题。
联邦学***衡,即“数据可用不可见”的数据应用模式。不提供数据就可能有伪造等行为的出现,有的节点为了减少能耗代价随意捏造结果导致整个模型任务失败会给***、用户带来巨大损失。因此,如何尽可能地减少损失是当前的一个具有挑战性的课题。与此同时,如何识别可信节点和恶意节点也是当前的热点问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本公开实施例的主要目的在于提出一种招募可信节点完成计算任务的方法和装置,利用存在历史记录的历史任务通过节点替换策略获得一定数量的可信节点,尽可能小的代价去挑选可信节点,这样在之后的任务中,就可以使用可信节点完成任务,从而使得***的收益最大化。
为实现上述目的,本公开实施例的第一方面提出了一种招募可信节点完成计算任务的方法,所述方法包括:
获取分布式网络的历史任务,并从所述分布式网络当中选取多个节点组成节点集合;
获取每一批次的节点集合执行所述历史任务联邦训练后得到的聚合模型及其准确度,并根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点;其中,第批次的节点集合与第批次的节点集合中的节点数量相同,且第批次的节点集合是将若干个新增节点替换掉第批次的节点集合中的若干个节点而得到;所述第个聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,所述第批次聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,为计量符号;
根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,并根据所述可信节点集合完成机器学习计算任务。
在一些实施例中,所述根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点,包括:
根据之间的正负关系,判断第批次的节点集合中的所述新增节点是否为可信节点;其中,分别表示第批次的节点集合中的节点在第轮和第轮训练后的聚合模型,分别表示第批次的节点集合中的节点在第轮和第轮训练后的聚合模型的准确度,为计量符号。
在一些实施例中,所述根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,包括:
从判断出的所有可信节点中,选取出信任度大于信任度阈值的可信节点组成可信节点集合;其中,信任度通过如下公式进行计算:
其中,分别表示第批次的节点集合中的第个节点在第轮和第轮训练后的信任度,表示第轮的信任度更新权重,表示第轮中的次数,为阈值,为计量符号。
在一些实施例中,所述根据所述可信节点集合完成机器学习计算任务,包括:
从所述可信节点集合中选取若干个可信节点,从所述分布式网络中选取若干个未知节点,将所述若干个可信节点和所述若干个未知节点组成新节点集合;
构建机器学习计算任务的初始模型,并将所述初始模型发送至所述新节点集合中的每个节点,以使所述新节点集合中的每个节点采用各自私有数据以所述初始模型为基础进行多轮联邦训练;其中,在所述新节点集合中的每轮训练中,还包括:
获取所述新节点集合中的每个节点在当前轮训练后得到的本地模型,并根据本地模型进行参数聚合,得到模型参数;
根据所述模型参数计算所述新节点集合中的任意一个可信节点对所述新节点集合其它节点的第一梯度损失函数和任意一个可信节点的每层模型的第二梯度损失函数;并根据所述第一梯度损失函数和第二梯度损失函数对所述新节点集合中的每个未知节点进行是否为可信节点的投票,得到投票结果;
根据所述投票结果,在开启下一轮训练之前,删除所述新节点集合中不属于可信节点的未知节点的梯度信息。
在一些实施例中,所述根据所述模型参数计算所述新节点集合中的任意一个可信节点对其它节点的第一梯度损失函数和任意一个可信节点的每层模型对其它节点的每层模型的第二梯度损失函数;并根据所述第一梯度损失函数和第二梯度损失函数对所述新节点集合中的每个未知节点进行是否为可信节点的投票,得到投票结果,包括:
将所述模型参数发送至所述新节点集合中的可信节点,以使可信节点通过如下公式所述新节点集合中的任意一个可信节点对其它节点的第一梯度损失函数和任意一个可信节点的每层模型对其它节点的每层模型的第二梯度损失函数:
其中,表示第个可信节点对第个节点的第一梯度损失函数,表示第个可信节点在第层的权值参数,表示第个节点在第层的权值参数,表示第个可信节点的第层对第个节点的第层的第二梯度损失函数,表示第个可信节点在第层上的权值参数,表示第个节点在第层上的权值参数,表示统计未知节点被投票的次数,表示新节点集合。
在一些实施例中,在得到所述投票结果之后,所述招募可信节点完成计算任务的方法还包括:
更新所述新节点集合中的节点的信任度:
其中,表示第个可信节点对其他所有节点的损失和,表示第个可信节点在第层的权值参数,表示第个可信节点在第层的权值参数,表示第个可信节点对第个节点的损失函数,是信任度奖励因子,是信任度惩罚因子,表示可信节点集合,表示信任度的增量,表示第个节点的信任度。
在一些实施例中,在所述新节点集合执行所述多轮联邦训练之后,将所述新节点集合中当前的信任度低于阈值的节点剔除并增加相同数量的未知节点,以使剔除和增加节点的所述新节点集合执行下次任务。
为实现上述目的,本公开实施例的第二方面提出了一种招募可信节点完成计算任务的装置,所述装置包括:
初始节点选取单元,用于获取分布式网络的历史任务,并从所述分布式网络当中选取多个节点组成节点集合;
可信节点判断单元,用于获取每一批次的节点集合执行所述历史任务的联邦训练后得到的聚合模型及其准确度,并根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点;其中,第批次的节点集合与第批次的节点集合中的节点数量相同,且第批次的节点集合是将若干个新增节点替换掉第批次的节点集合中的若干个节点而得到;所述第个聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,所述第批次聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,为计量符号;
任务计算单元,用于根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,并根据所述可信节点集合完成机器学习计算任务。
为实现上述目的,本公开实施例的第三方面提出了一种电子设备,包括至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:
如第一方面实施例任一项所述的招募可信节点完成计算任务的方法。
为实现上述目的,本公开实施例的第四方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如第一方面实施例任一项所述的招募可信节点完成计算任务的方法。
本申请实施例第一方面提供了一种招募可信节点完成计算任务的方法,本方法首先选取历史任务作为先验任务,然后利用先验任务在分布式网络中的众多未知节点当中挑选出可信节点,挑选过程是:先指定某几个未知节点组成一个集合进行任务的多轮联邦训练,其中未知节点使用自己的私有数据对任务进行训练,之后将任务的记录保存,然后用若干新的节点替换掉该集合中的相同数量的旧节点,进而组成一个新的集合继续进行任务的多轮训练,之后将任务的记录保存下来,中央服务器对比前后两个记录,进而判断进行替换的新的节点是否为可信节点,通过上述步骤可以从众多未知节点当中挑选出可信节点。本方法利用存在历史记录的历史任务通过节点替换策略获得一定数量的可信节点,尽可能小的代价去挑选可信节点,这样在之后的任务中,就可以使用可信节点完成任务,从而使得***的收益最大化。
可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的一种招募可信节点完成计算任务的方法的流程示意图;
图2是图1中的步骤S103的具体流程示意图;
图3是本申请一个实施例提供的第一种替换节点后的模型精度变化示意图;
图4是本申请一个实施例提供的第二种替换节点后的模型精度变化示意图;
图5是本申请一个实施例提供的第三种替换节点后的模型精度变化示意图;
图6是本申请一个实施例提供的不同恶意节点比例下进行任务的节点平均收益对比图;
图7是本申请一个实施例提供的不同恶意节点比例下进行任务的***平均收益对比图;
图8是本申请一个实施例提供的同随机选取节点进行任务方法、可信优先进行任务方法的节点辨识率对比图;
图9是本申请一个实施例提供的一种招募可信节点完成计算任务的装置的结构示意图;
图10是本申请一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在对本申请实施例进行介绍说明之前,先对分布式网络中网络节点进行模型训练的相关技术概念进行简要介绍:
服务器会发给每位训练者(参与任务的网络节点)一个初始模型,然后训练者拿到初始模型之后用自己的私有数据进行训练调整模型参数,经过一轮之后,将自己的模型参数上传给服务器做参数聚合,服务器会对聚合后的模型进行精度测试,达到任务目标精度则会停止任务,任务完成。没有达到精度则进行模型保存和精度结果保存。再把新聚合的模型参数传给训练者进行下一轮的训练,如此反复的迭代直到任务完成。具体来说,模型聚合的结果可由以下公式计算得出:
其中,为网络模型的第层参数,表示参与任务的训练人数。最后得到的则是新一轮的网络模型参数,服务器对这个模型进行测试并保存测试的精度。
请参照图1,图1是本申请一个实施例提供的一种招募可信节点完成计算任务的方法,应理解,本申请实施例的方法包括但不限于步骤S101、S102以及S103,以下结合图1对步骤S101至步骤S103进行详细介绍:
步骤S101、中央服务器获取分布式网络的历史任务,并从分布式网络当中选取多个节点组成节点集合。这里的历史任务是指存在历史记录的任务,能够检验节点的训练结果,分布式网络当中存在众多节点,本步骤先从其中随机选取部分节点组成节点集合,然后通过后续步骤的替换策略进行可信节点的选取。
步骤S102、中央服务器获取每一批次的节点集合执行历史任务联邦训练后得到的聚合模型及其准确度,并根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点;其中,第批次的节点集合与第批次的节点集合中的节点数量相同,且第批次的节点集合是将若干个新增节点替换掉第批次的节点集合中的若干个节点而得到;第个聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,第批次聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,为计量符号。
步骤S102通过替换策略进行可信节点的训练,并根据每一批的可信节点的训练结果判断每一次增加的节点是否为可信节点。需要注意的是,聚合模型、联合训练和准确度的计算过程均为领域的公知常识,此处不再细述。
步骤S103、中央服务器根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,并根据可信节点集合完成机器学习计算任务。
在本实施例中,中央服务器首先选取历史任务作为先验任务,然后利用先验任务在分布式网络中的众多未知节点当中挑选出可信节点。挑选过程是:先指定某几个未知节点组成一个集合进行任务的多轮联邦训练,其中未知节点使用自己的私有数据对任务(模型)进行训练,之后中央服务器将任务的记录(训练完成后的聚合模型和准确度)保存,然后用若干新的节点替换掉该集合中的相同数量的旧节点,进而组成一个新的集合继续进行任务(上一轮保存的聚合模型)的多轮训练,之后将任务的记录保存下来,中央服务器对比前后两个记录(前后两轮训练的聚合模型和准确度的比较来判断),进而判断进行替换的新的节点是否为可信节点。通过上述步骤可以从众多未知节点当中挑选出可信节点。
本方法利用存在历史记录的历史任务通过节点替换策略获得一定数量的可信节点,尽可能小的代价去挑选可信节点,这样在之后的任务中,就可以使用可信节点完成任务,从而使得***的收益最大化。
参照图2,基于上述实施例,本申请的另一个实施例,提供了一种招募可信节点完成计算任务的方法,本方法在上述实施例的步骤S103的基础上,所述根据可信节点集合完成机器学习计算任务还包括如下步骤S1031和S1032:
步骤S1031、中央服务器从可信节点集合中选取若干个可信节点,从分布式网络中选取若干个未知节点,将若干个可信节点和若干个未知节点组成新节点集合。
步骤S1032、中央服务器构建机器学习计算任务的初始模型,并将初始模型发送至新节点集合中的每个节点,以使新节点集合中的每个节点采用各自私有数据以初始模型为基础进行多轮联邦训练;其中,在新节点集合中的每轮训练中,还包括:
步骤S1032a、获取新节点集合中的每个节点在当前轮训练后得到的本地模型,并根据本地模型进行参数聚合,得到模型参数。
步骤S1032b、根据模型参数计算新节点集合中的任意一个可信节点对新节点集合其它节点的第一梯度损失函数和任意一个可信节点的每层模型的第二梯度损失函数;并根据第一梯度损失函数和第二梯度损失函数对新节点集合中的每个未知节点进行是否为可信节点的投票,得到投票结果。两个梯度模型如下:
其中,表示第个可信节点对第个节点的梯度损失函数,表示第个可信节点在第层的权值参数,表示第个节点在第层的权值参数,表示第个可信节点的第层对第个节点的第层的梯度损失函数,表示第个可信节点在第层上的权值参数,表示第个节点在第层上的权值参数。
步骤S1032c、根据投票结果,在开启下一轮训练之前,删除新节点集合中不属于可信节点的未知节点的梯度信息。
在现有研究中,可信节点的数量很难支持完成众多任务的计算,即步骤S103中选取的可信节点集合并不一定能够完成当前分布式网络条件下的众多任务,因此,为了更好地完成任务,使得任务完成率变高,本方法首先在可信节点集合中选取若干个可信节点(另一种情况下,也可以全选可信节点集合中的节点作为新节点集合的一部分),并加入若干个未知节点组成新节点集合,进而利用新节点集合完成任务的计算。在增加了未知节点之后本申请通过如下过程来保证任务被准确的执行,在新节点集合完成任务计算的每轮训练中,中央服务器会得到每一轮训练聚合后的模型参数,接着利用模型参数计算新节点集合中的任意一个可信节点对新节点集合其它节点的第一梯度损失函数和任意一个可信节点的每层模型的第二梯度损失函数,并根据两个梯度损失对新节点集合中的每个未知节点进行是否为可信节点的投票,从而在开启下一轮训练之前,删除新节点集合中不属于可信节点的未知节点的梯度信息,提高模型训练的精度。
本实施例的目的是用尽可能小的代价去拓宽可信节点和识别恶意节点,从而使得任务计算的收益最大化,关键在于选择执行任务的节点选择方案,即先利用存在历史记录的任务通过节点替换策略获得一定数量的可信节点,然后使用这些可信节点和少量未知节点一起完成任务,利用可信节点去探测周围的未知节点,让更多的未知节点加入到可信节点的集群中,参与的节点更多,模型的精度也就更高,而且在每轮训练过程中,将舍弃不属于可信节点的未知节点的梯度信息,确保任务的正确执行。相较于现阶段的随机选择节点进行任务和选择固定节点进行任务这两种方法,本方法完成任务的效率更高,代价更小。
参照图3至图6,以下提供一种招募可信节点完成计算任务的方法的最优实施例,方法包括如下步骤:
步骤S201、中央服务器发布少量之前存在的历史任务及存有历史任务的记录,指定某几个节点进行该任务,之后将任务的记录保存下来,然后用一个新的节点替换掉任务中某个节点去判断新加入的节点的行为并进行打分,之后判断新节点是否可信,具体如下所示:
首先在分布式网络中随机挑选3个节点记为集合,集合用自己私有数据进行轮训练,训练后的模型记为,训练后的每轮模型聚合都保存,并用测试集测出精确度记为。然后,随机挑选另外一个节点代替3个节点中的其中一个节点之后记为集合,并将保存的训练模型分发给新的集合,集合用自己私有数据进行训练得到新的模型和新的准确度,然后对比,去判断新加入节点是否可信。选择的节点数量少,在聚合过程中发挥的作用就会更大,能够更加清晰地辨别可信节点和恶意节点。
假设集合中新增的节点为的信任度可由下式进行计算:
其中,表示第个节点在第轮的信任度,表示第轮的信任度更新权重,表示替换节点后形成的集合的第轮的模型准确率,表示集合未被代替时训练保存的第个模型的准确度。通过的大小能够判断两个节点是否是相同类型的节点,通过之间的正负关系可以判断替换节点和被替换节点是可信节点还是恶意节点,表示在第轮中的次数。当这个未知节点就加入可信节点集合中,是可信度的一个阈值。
步骤S202、根据上述步骤得到一定数量的可信节点之后,在之后的计算任务中利用可信节点去探测周围的未知节点,让更多的未知节点加入到可信节点集群中。具体如下所示:
步骤S2021、假设的参与训练的节点数目为,在可信节点集合中随机选取个节点,然后在未知节点中选取个节点进行训练,新节点集合表示为
步骤S2022、某个任务模型发布之后,中央服务器会将初始模型下发给新节点集合中的各个节点,这样新节点集合中的节点就共有同样的参数模型,然后利用自己私有数据对模型进行训练,然后调整模型参数;经过一定轮数的本地训练之后,本地停止训练,并对参数模型进行了更新。
步骤S2023、在众多次全局模型训练的某一轮训练中,当集合中所有的节点都完成一次模型训练之后,就会将自己的模型发布给中央服务器进行参数聚合,然后进行下一次的迭代训练;在这个过程中,检测引入的未知节点的行为;为了减轻中央服务器的计算开销,将这个检测行为交由新节点集合中的可信节点处理,然后根据可信节点返回的结果统计,来评论未知节点的行为。投票步骤如下:
首先将参与训练的每个节点的这一轮模型参数发给所有的可信节点进行检测和评论;这里是计算某个可信节点与其他各节点间的每层模型梯度损失和总梯度损失,根据可信节点的损失区间对未知节点的行为进行评论,层损失和总损失的影响程度不同,因而按照一定比例进行归一处理决断出对每个节点的投票数量。假设可信节点的数量为,模型网络权重层数,则每个节点的投票数量为,对于可信节点来说,最多能给每个未知节点投上一票,故恶意节点票数的阈值为。检测公式如下式所示:
其中,表示第个可信节点对第个节点的梯度损失函数,表示第个可信节点在第层的权值参数,表示第个节点在第层的权值参数,表示第个可信节点的第层对第个节点的第层的梯度损失函数,表示第个可信节点在第层上的权值参数,表示第个节点在第层上的权值参数,表示统计引入的未知节点被投票的次数;由于的数值明显小于,对其进行如下公式的处理,其中
每个可信节点经过上述公式计算得到每层的损失和每个节点的损失,然后通过公式对这些损失进行评论,评论之后返回,然后中央服务器通过可信节点的返回的进行票数统计。
对未知节点的信任评估是在众多次的迭代过程中完成的,排除了偶然性;通过这样的方法在任务的过程中,即使是有恶意节点参与的任务,可以通过投票之后选择将其的梯度信息舍弃使得任务正常的进行,获得理想的模型精度。
步骤S2024、中央服务器对可信节点上传的评论信息进行整合,然后选取处在投票数量在可信节点区间的未知节点和可信节点进行全局模型聚合并对所有节点的信任度进行更新。投票数量的可信节点区间可通过事先进行设定,这里不进行具体限定,信任度的变化量公式如下所示:
其中,表示第个可信节点对其他所有节点的损失和,为第个可信节点在第层的权值参数,表示第个可信节点在第层的权值参数,表示第个可信节点对第个节点的损失函数;是信任度奖励因子,是信任度惩罚因子,表示可信节点集合,表示信任度的增量,表示第个节点的信任度。
对比现阶段存在的随机选择节点进行任务和选择固定节点进行任务这两种方式,本实施例方案的任务达到精度收敛的速度更快,能够减少代价并提供较高的任务精确度,利润和节点的平均收益可由下式进行计算:
其中,表示任务的奖励,表示节点计算任务需要的收益。代表之前探测可信节点所需的成本,表示权重因子,表示节点私有数据量,表示参与训练的节点私有数据总量。表示中央服务器下发给有计算能力的节点的报酬。
相较于随机选择节点进行任务和选择固定节点进行任务中的精度,本实施例的精度明显更高,随机选择节点不会判断节点是否恶意,而固定节点则没有流动的私有数据进行训练,因而模型不会太好;本实施例既判别了节点的性质,挑选出了恶意节点,又在可信节点的范围内选择节点进行训练,参与的节点更多,模型的精度也就更高。
本实施例的关键在于选择执行任务的节点选择方案,首先利用存在历史记录的任务通过节点替换策略获得一定数量的可信节点;之后使用这些可信节点和少量未知节点一起完成任务,并通过未知节点的行为通过可信度计算公式计算其可信度值;最后将达到可信度阈值的节点加入到可信节点集合中。本方案不仅使得分布式网络的任务完成率得到了提高,而且能够验证任意节点的可信性并使得整个***收益最大化。
图3为本实施例在随机选取三个节点一起训练的模型精度和选择一个新的节点替换掉其中一个节点之后训练的模型精度的对比,从图3中可以看到,当用一个可信节点替换掉一个可信节点时,利用保存的模型参数进行本地训练,再和保存的下一个模型的精度做对比。实验发现,之后的模型精度和保存的模型精度的差距很小,并且是稳步提升的,随着轮数的增加慢慢逐渐收敛。由于训练的数据是非独立同分布的,每个节点的数据量和数据种类是不一样的,导致精度会有在一定范围内的差距。但是凭借它的上涨趋势和相对精度可以判断新加入的节点的性质是可信的。
图6给出了本实施例在任务数量已知的情况下,随着时间的变化,节点的平均收益情况。从图6中可以看出,不同比例下恶意节点会对整体的平均收益产生一定影响。恶意节点比例大时,会影响到任务的完成情况,任务失败则没有报酬,因而在恶意节点比例为0.1时,节点的平均收益能够达到522,而恶意节点比例为0.3时,节点的平均收益只有350左右。
图7给出了本实施例在任务数量已知的情况下,随着时间的变化,***的收益情况。从图7中可以看出,不同比例下恶意节点对***的收益也会有影响。理由同上。
图8给出了本实施例同随机选取节点进行任务方法和可信优先进行任务方法的可行节点辨认率。从图中可以看到,随机选取节点方法没有考虑节点的信任属性,该方法的节点辨识率为0,而信任度优先方法是选取较为可信的节点进行任务,只有较少的未知节点参与,所以对节点的辨识率为0.5左右,而本实施例在进行任务中会选取一定数量的未知节点,并对他们的行为进行识别、打分。节点的辨识率达到0.8以上。
请参照图9,图9是本申请一些实施例提供的一种招募可信节点完成计算任务的装置的模块框图。在一些实施例中,所述装置包括初始节点选取单元1100、可信节点判断单元1200以及任务计算单元1300:
初始节点选取单元1100用于获取分布式网络的历史任务,并从分布式网络当中选取多个节点组成节点集合。
可信节点判断单元1200用于获取每一批次的节点集合执行历史任务的联邦训练后得到的聚合模型及其准确度,并根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点;其中,第批次的节点集合与第批次的节点集合中的节点数量相同,且第批次的节点集合是将若干个新增节点替换掉第批次的节点集合中的若干个节点而得到;第个聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,第批次聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,为计量符号。
任务计算单元1300用于根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,并根据可信节点集合完成机器学习计算任务。
需要说明的是,本申请实施例的招募可信节点完成计算任务的装置与前述的招募可信节点完成计算任务的方法是基于同一个发明构思,因此,本申请实施例的招募可信节点完成计算任务的装置与前述的招募可信节点完成计算任务的方法相对应,具体的实现过程请参照前述的招募可信节点完成计算任务的方法,在此不再赘述。
本申请实施例还提供了一种电子设备,本电子设备包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
程序被存储在存储器中,处理器执行至少一个程序以实现本公开实施上述的招募可信节点完成计算任务的方法。
该电子设备可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、车载电脑等任意智能终端。
本申请实施例的电子设备,用于执行上述招募可信节点完成计算任务的方法。
下面结合图10对本申请实施例的电子设备进行详细介绍。
如图10,图10示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1600,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
存储器1700,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器1700可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1700中,并由处理器1600来调用执行本公开实施例的招募可信节点完成计算任务的方法。
输入/输出接口1800,用于实现信息输入及输出;
通信接口1900,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线2000,在设备的各个组件(例如处理器1600、存储器1700、输入/输出接口1800和通信接口1900)之间传输信息;
其中处理器1600、存储器1700、输入/输出接口1800和通信接口1900通过总线2000实现彼此之间在设备内部的通信连接。
本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述招募可信节点完成计算任务的方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。

Claims (10)

1.一种招募可信节点完成计算任务的方法,其特征在于,所述方法包括:
获取分布式网络的历史任务,并从所述分布式网络当中选取多个节点组成节点集合;
获取每一批次的节点集合执行所述历史任务联邦训练后得到的聚合模型及其准确度,并根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点;其中,第批次的节点集合与第批次的节点集合中的节点数量相同,且第批次的节点集合是将若干个新增节点替换掉第批次的节点集合中的若干个节点而得到;所述第个聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,所述第批次聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,为计量符号;
根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,并根据所述可信节点集合完成机器学习计算任务。
2.根据权利要求1所述的招募可信节点完成计算任务的方法,其特征在于,所述根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点,包括:
根据之间的正负关系,判断第批次的节点集合中的所述新增节点是否为可信节点;其中,分别表示第批次的节点集合中的节点在第轮和第轮训练后的聚合模型,分别表示第批次的节点集合中的节点在第轮和第轮训练后的聚合模型的准确度,为计量符号。
3.根据权利要求2所述的招募可信节点完成计算任务的方法,其特征在于,所述根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,包括:
从判断出的所有可信节点中,选取出信任度大于信任度阈值的可信节点组成可信节点集合;其中,信任度通过如下公式进行计算:
其中,分别表示第批次的节点集合中的第个节点在第轮和第轮训练后的信任度,表示第轮的信任度更新权重,表示第轮中的次数,为阈值,为计量符号。
4.根据权利要求3所述的招募可信节点完成计算任务的方法,其特征在于,所述根据所述可信节点集合完成机器学习计算任务,包括:
从所述可信节点集合中选取若干个可信节点,从所述分布式网络中选取若干个未知节点,将所述若干个可信节点和所述若干个未知节点组成新节点集合;
构建机器学习计算任务的初始模型,并将所述初始模型发送至所述新节点集合中的每个节点,以使所述新节点集合中的每个节点采用各自私有数据以所述初始模型为基础进行多轮联邦训练;其中,在所述新节点集合中的每轮训练中,还包括:
获取所述新节点集合中的每个节点在当前轮训练后得到的本地模型,并根据本地模型进行参数聚合,得到模型参数;
根据所述模型参数计算所述新节点集合中的任意一个可信节点对所述新节点集合其它节点的第一梯度损失函数和任意一个可信节点的每层模型的第二梯度损失函数;并根据所述第一梯度损失函数和第二梯度损失函数对所述新节点集合中的每个未知节点进行是否为可信节点的投票,得到投票结果;
根据所述投票结果,在开启下一轮训练之前,删除所述新节点集合中不属于可信节点的未知节点的梯度信息。
5.根据权利要求4所述的招募可信节点完成计算任务的方法,其特征在于,所述根据所述模型参数计算所述新节点集合中的任意一个可信节点对其它节点的第一梯度损失函数和任意一个可信节点的每层模型对其它节点的每层模型的第二梯度损失函数;并根据所述第一梯度损失函数和第二梯度损失函数对所述新节点集合中的每个未知节点进行是否为可信节点的投票,得到投票结果,包括:
将所述模型参数发送至所述新节点集合中的可信节点,以使可信节点通过如下公式所述新节点集合中的任意一个可信节点对其它节点的第一梯度损失函数和任意一个可信节点的每层模型对其它节点的每层模型的第二梯度损失函数:
其中,表示第个可信节点对第个节点的第一梯度损失函数,表示第个可信节点在第层的权值参数,表示第个节点在第层的权值参数,表示第个可信节点的第层对第个节点的第层的第二梯度损失函数,表示第个可信节点在第层上的权值参数,表示第个节点在第层上的权值参数,表示统计未知节点被投票的次数,表示新节点集合。
6.根据权利要求5所述的招募可信节点完成计算任务的方法,其特征在于,在得到所述投票结果之后,所述招募可信节点完成计算任务的方法还包括:
更新所述新节点集合中的节点的信任度:
其中,表示第个可信节点对其他所有节点的损失和,表示第个可信节点在第层的权值参数,表示第个可信节点在第层的权值参数,表示第个可信节点对第个节点的损失函数,是信任度奖励因子,是信任度惩罚因子,表示可信节点集合,表示信任度的增量,表示第个节点的信任度。
7.根据权利要求6所述的招募可信节点完成计算任务的方法,其特征在于,在所述新节点集合执行所述多轮联邦训练之后,将所述新节点集合中当前的信任度低于阈值的节点剔除并增加相同数量的未知节点,以使剔除和增加节点的所述新节点集合执行下次任务。
8.一种招募可信节点完成计算任务的装置,其特征在于,所述装置包括:
初始节点选取单元,用于获取分布式网络的历史任务,并从所述分布式网络当中选取多个节点组成节点集合;
可信节点判断单元,用于获取每一批次的节点集合执行所述历史任务的联邦训练后得到的聚合模型及其准确度,并根据第批次的节点集合训练完成的第个聚合模型及其准确度与第批次的节点集合训练完成的第个聚合模型及其准确度,判断第批次的节点集合中的新增节点是否为可信节点;其中,第批次的节点集合与第批次的节点集合中的节点数量相同,且第批次的节点集合是将若干个新增节点替换掉第批次的节点集合中的若干个节点而得到;所述第个聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,所述第批次聚合模型及其准确度是由第批次的节点集合中的节点利用各自私有数据对第个聚合模型进行多轮训练后得到,为计量符号;
任务计算单元,用于根据从每一批次的节点集合中判断出的可信节点构建可信节点集合,并根据所述可信节点集合完成机器学习计算任务。
9.一种电子设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:
如权利要求1至7任一项所述招募可信节点完成计算任务的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如执行权利要求1至7任一项所述招募可信节点完成计算任务的方法。
CN202310193890.1A 2023-03-03 2023-03-03 一种招募可信节点完成计算任务的方法和装置 Active CN115865642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310193890.1A CN115865642B (zh) 2023-03-03 2023-03-03 一种招募可信节点完成计算任务的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310193890.1A CN115865642B (zh) 2023-03-03 2023-03-03 一种招募可信节点完成计算任务的方法和装置

Publications (2)

Publication Number Publication Date
CN115865642A CN115865642A (zh) 2023-03-28
CN115865642B true CN115865642B (zh) 2023-05-09

Family

ID=85659798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310193890.1A Active CN115865642B (zh) 2023-03-03 2023-03-03 一种招募可信节点完成计算任务的方法和装置

Country Status (1)

Country Link
CN (1) CN115865642B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571779A (zh) * 2010-12-31 2012-07-11 雷吉菲股份有限公司 具有分配能力的中间节点和具有联合计量能力的通信网络
CN108600271A (zh) * 2018-05-10 2018-09-28 重庆邮电大学 一种信任状态评估的隐私保护方法
CN112118107A (zh) * 2020-08-12 2020-12-22 北京大学 一种实现数据可信的自适应执行方法
CN112954009A (zh) * 2021-01-27 2021-06-11 咪咕音乐有限公司 区块链共识方法、设备及存储介质
CN113468264A (zh) * 2021-05-20 2021-10-01 杭州趣链科技有限公司 一种基于区块链的中毒防御和中毒溯源的联邦学习方法和装置
CN114330750A (zh) * 2021-12-31 2022-04-12 西南民族大学 一种联邦学习毒化攻击检测方法
CN114493641A (zh) * 2020-11-11 2022-05-13 多点(深圳)数字科技有限公司 信息显示方法、装置、电子设备和计算机可读介质
CN114595826A (zh) * 2020-12-04 2022-06-07 深圳先进技术研究院 一种联邦学习工人节点选择方法、***、终端以及存储介质
CN114978550A (zh) * 2022-05-25 2022-08-30 湖南第一师范学院 一种基于历史数据回溯的可信数据感知方法
CN115510753A (zh) * 2022-10-04 2022-12-23 中南大学 群智网络中基于矩阵补全与强化学习的数据收集方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571779A (zh) * 2010-12-31 2012-07-11 雷吉菲股份有限公司 具有分配能力的中间节点和具有联合计量能力的通信网络
CN108600271A (zh) * 2018-05-10 2018-09-28 重庆邮电大学 一种信任状态评估的隐私保护方法
CN112118107A (zh) * 2020-08-12 2020-12-22 北京大学 一种实现数据可信的自适应执行方法
CN114493641A (zh) * 2020-11-11 2022-05-13 多点(深圳)数字科技有限公司 信息显示方法、装置、电子设备和计算机可读介质
CN114595826A (zh) * 2020-12-04 2022-06-07 深圳先进技术研究院 一种联邦学习工人节点选择方法、***、终端以及存储介质
CN112954009A (zh) * 2021-01-27 2021-06-11 咪咕音乐有限公司 区块链共识方法、设备及存储介质
CN113468264A (zh) * 2021-05-20 2021-10-01 杭州趣链科技有限公司 一种基于区块链的中毒防御和中毒溯源的联邦学习方法和装置
CN114330750A (zh) * 2021-12-31 2022-04-12 西南民族大学 一种联邦学习毒化攻击检测方法
CN114978550A (zh) * 2022-05-25 2022-08-30 湖南第一师范学院 一种基于历史数据回溯的可信数据感知方法
CN115510753A (zh) * 2022-10-04 2022-12-23 中南大学 群智网络中基于矩阵补全与强化学习的数据收集方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
曾志文,陈志刚,刘安丰.TRUST-TIE:可信的域间出口选择算法.计算机工程与应用.2009,92-97. *
王丁 ; 曹奇英 ; 许洪云 ; 沈士根 ; .基于Wright-Fisher过程的WSNs节点信任随机演化策略.计算机应用与软件.2017,(第01期),116-122. *
项兴彬 ; 曾国荪 ; 夏冬梅 ; .P2P环境下文件共享的信任建立博弈模型及稳态分析.计算机应用研究.2010,(第09期),302-305、308. *

Also Published As

Publication number Publication date
CN115865642A (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
US11070643B2 (en) Discovering signature of electronic social networks
CN110610242A (zh) 一种联邦学习中参与者权重的设置方法及装置
WO2020042795A1 (zh) 样本属性评估模型训练方法、装置及服务器
CN110009174A (zh) 风险识别模型训练方法、装置及服务器
CN106682906B (zh) 一种风险识别、业务处理方法和设备
CN110378699A (zh) 一种交易反欺诈方法、装置及***
WO2021208079A1 (zh) 获取动力电池寿命数据的方法、装置、计算机设备及介质
CN111371767B (zh) 恶意账号识别方法、恶意账号识别装置、介质及电子设备
CN111537884B (zh) 获取动力电池寿命数据的方法、装置、计算机设备及介质
CN110688478B (zh) 一种答案排序方法、装置及存储介质
CN112102011A (zh) 基于人工智能的用户等级预测方法、装置、终端及介质
CN112101577B (zh) 基于XGBoost的跨样本联邦学习、测试方法、***、设备和介质
CN113052329A (zh) 联合更新业务模型的方法及装置
CN112307331A (zh) 一种基于区块链高校毕业生智能招聘信息推送方法、***及终端设备
CN114372589A (zh) 一种联邦学习方法及相关装置
CN111510368A (zh) 家庭群组识别方法、装置、设备及计算机可读存储介质
CN113807802A (zh) 基于区块链的劳务人员薪资结算方法及相关设备
CN115865642B (zh) 一种招募可信节点完成计算任务的方法和装置
CN115049397A (zh) 识别社交网络中的风险账户的方法及装置
CN104537418A (zh) 一种自底向上的高维数据因果网络学习方法
CN109388747A (zh) 一种获得网络中用户的置信度的方法和装置
CN110458707B (zh) 基于分类模型的行为评估方法、装置及终端设备
CN115221663A (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN106301880A (zh) 一种确定网络关系稳定度、互联网业务推荐方法和设备
CN113837235B (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