CN115994588A - 基于区块链与合同理论的联邦学习方法、装置及设备 - Google Patents
基于区块链与合同理论的联邦学习方法、装置及设备 Download PDFInfo
- Publication number
- CN115994588A CN115994588A CN202310281972.1A CN202310281972A CN115994588A CN 115994588 A CN115994588 A CN 115994588A CN 202310281972 A CN202310281972 A CN 202310281972A CN 115994588 A CN115994588 A CN 115994588A
- Authority
- CN
- China
- Prior art keywords
- contract
- target
- data quality
- incentive
- excitation
- 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
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种基于区块链与合同理论的联邦学习方法、装置及设备,该方法包括:基于历史数据确定用户设备对应的第一数据质量,从区块链获取用户设备对应的第二数据质量,基于第一数据质量和第二数据质量确定用户设备对应的目标数据质量;基于每个用户设备对应的目标数据质量从M个用户设备中选取I个目标用户设备,将目标合同组发送给I个目标终端设备,将初始全局模型参数发送给I个目标用户设备,以使每个目标用户设备从目标合同组中选取目标激励合同,基于目标激励合同的最佳样本数量和初始全局模型参数获取局部模型参数;基于I个目标用户设备的局部模型参数确定已训练参数。通过本申请方案,提高模型训练过程的效率,训练的收敛速度更快。
Description
技术领域
本申请涉及数据处理技术领域,尤其是涉及一种基于区块链与合同理论的联邦学习方法、装置及设备。
背景技术
机器学习是实现人工智能的一种途径,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习更加注重算法设计,使计算机能够自动地从数据中学习规律,并利用规律对未知数据进行预测。机器学习已经有了十分广泛的应用,如深度学习、数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、语音识别和手写识别等。
为了采用机器学习实现人工智能处理,需要获取大量样本数据(如图像数据,即具有标签数据的图像),并基于这些样本数据训练出机器学习模型(如具有目标检测功能、目标分类功能的机器学习模型),并将机器学习模型部署到终端设备,以使终端设备基于机器学习模型实现人工智能处理。
由于终端设备本地的样本数据的数量有限,无法训练出性能比较高的机器学习模型,因此,每个终端设备均需要将本地的样本数据发送给服务器,由服务器基于多个终端设备的大量样本数据训练出机器学习模型。
但是,上述方式需要在终端设备与服务器之间传输样本数据,存在数据安全隐患,无法保证数据安全,样本数据作为终端设备的数字资产,终端设备不愿意向服务器共享样本数据。由于需要在终端设备与服务器之间传输大量样本数据(如图像数据),这些样本数据需要占用大量带宽资源。
发明内容
有鉴于此,本申请提供一种基于区块链与合同理论的联邦学习方法、装置及设备,能够减少传输终端设备的数据,从而保证数据的安全性。
本申请提供一种基于区块链与合同理论的联邦学习方法,应用于数据处理系统中的服务器,所述数据处理系统还包括M个终端设备,所述方法包括:
针对每个终端设备,基于历史数据确定所述终端设备对应的第一数据质量,并从区块链获取所述终端设备对应的第二数据质量,基于所述第一数据质量和所述第二数据质量确定所述终端设备对应的目标数据质量;
基于每个终端设备对应的目标数据质量从所述M个终端设备中选取I个目标终端设备,将目标合同组发送给所述I个目标终端设备,所述目标合同组包括K个激励合同,每个激励合同包括最佳样本数量和合同激励值,并将初始全局模型参数发送给所述I个目标终端设备,以使每个目标终端设备从所述K个激励合同中选取一个激励合同作为目标激励合同,并基于所述目标激励合同的最佳样本数量和所述初始全局模型参数获取局部模型参数;
基于所述I个目标终端设备的局部模型参数确定目标全局模型参数;
若目标全局模型参数未收敛,则将所述目标全局模型参数确定为初始全局模型参数,返回执行将初始全局模型参数发送给所述I个目标终端设备的操作;
若目标全局模型参数已收敛,则将所述目标全局模型参数确定为已训练参数;其中,所述已训练参数用于对数据进行处理。
本申请提供一种基于区块链与合同理论的联邦学习装置,应用于数据处理系统中的服务器,所述数据处理系统还包括M个终端设备,所述装置包括:
确定模块,用于针对每个终端设备,基于历史数据确定所述终端设备对应的第一数据质量,并从区块链获取所述终端设备对应的第二数据质量,基于所述第一数据质量和所述第二数据质量确定所述终端设备对应的目标数据质量;
选取模块,用于基于每个终端设备对应的目标数据质量从所述M个终端设备中选取I个目标终端设备,I为正整数,且I小于M;
发送模块,用于将目标合同组发送给所述I个目标终端设备,所述目标合同组包括K个激励合同,每个激励合同包括最佳样本数量和合同激励值,并将初始全局模型参数发送给所述I个目标终端设备,以使每个目标终端设备从所述K个激励合同中选取一个激励合同作为目标激励合同,并基于所述目标激励合同的最佳样本数量和所述初始全局模型参数获取局部模型参数;
所述确定模块,还用于基于所述I个目标终端设备的局部模型参数确定目标全局模型参数;若目标全局模型参数未收敛,则将所述目标全局模型参数确定为初始全局模型参数,由所述发送模块将初始全局模型参数发送给所述I个目标终端设备;若目标全局模型参数已收敛,则将所述目标全局模型参数确定为已训练参数;其中,所述已训练参数用于对数据进行处理。
本申请提供一种电子设备,包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令;其中,处理器用于执行机器可执行指令,以实现上述的基于区块链与合同理论的联邦学习方法。
另一方面,本申请提供一种机器可读存储介质,所述机器可读存储介质存储有能够被处理器执行的机器可执行指令;其中,所述处理器用于执行所述机器可执行指令,以实现上述的基于区块链与合同理论的联邦学习方法。
另一方面,本申请提供一种计算机程序,所述计算机程序存储于机器可读存储介质,当处理器执行所述机器可读存储介质中的所述计算机程序时,促使所述处理器实现上述的基于区块链与合同理论的联邦学习方法。
由以上技术方案可见,本申请实施例中,终端设备向服务器发送的是局部模型参数,而不是终端设备的数据,从而保护终端设备的数字资产,保证数据安全。由于终端设备与服务器之间传输的是局部模型参数,而不是大量数据(如图像数据),节省带宽资源。将区块链引入模型训练过程,服务器通过区块链提供的数据(具有不可否认性和抗篡改性),能够准确筛选出I个高参与积极性的目标终端设备来参与模型训练过程,提高模型训练过程的效率,更快的得到已训练参数,模型训练时间更短,模型训练的收敛速度更快,模型精度更高。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是基于区块链与合同理论的联邦学习方法的流程示意图;
图2是基于区块链与合同理论的联邦学习方法的流程示意图;
图3是本申请一种实施方式中的联邦系统的结构示意图;
图4是基于区块链与合同理论的联邦学习装置的结构示意图;
图5是本申请一种实施方式中的电子设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种基于区块链与合同理论的联邦学习方法,可以应用于数据处理系统中的服务器(也称为中心服务器),数据处理系统还包括M个终端设备,M为正整数,参见图1所示,为该方法的流程示意图,该方法包括:
步骤101、针对每个终端设备,基于历史数据确定该终端设备对应的第一数据质量,并从区块链获取该终端设备对应的第二数据质量,基于该第一数据质量和该第二数据质量确定该终端设备对应的目标数据质量。
示例性的,基于历史数据确定该终端设备对应的第一数据质量,可以包括但不限于:若历史数据包括该终端设备对应的正交互次数和负交互次数,则可以基于该正交互次数和该负交互次数确定该终端设备对应的第一数据质量。比如说,第一数据质量可以与该正交互次数成正比,且第一数据质量可以与该负交互次数成反比。示例性的,在每次从终端设备获取到局部模型参数时,若该局部模型参数对应的预测准确率大于预设阈值(可以根据经验配置),则在历史数据中增加该终端设备对应的正交互次数,若该局部模型参数对应的预测准确率不大于预设阈值,则在历史数据中增加该终端设备对应的负交互次数。
示例性的,从区块链获取该终端设备对应的第二数据质量,可以包括但不限于:从区块链下载其它服务器对该终端设备的间接数据质量,并基于该间接数据质量确定该终端设备对应的第二数据质量。
步骤102、基于每个终端设备对应的目标数据质量从M个终端设备中选取I个目标终端设备,如选取目标数据质量大的I个目标终端设备。比如说,按照目标数据质量从大到小的顺序排序,并选取排序靠前的I个目标终端设备。
步骤103、将目标合同组发送给I个目标终端设备,目标合同组可以包括K个激励合同,每个激励合同包括最佳样本数量和合同激励值,并将初始全局模型参数发送给I个目标终端设备,以使每个目标终端设备从目标合同组的K个激励合同中选取一个激励合同作为目标激励合同,并基于目标激励合同的最佳样本数量和该初始全局模型参数获取局部模型参数。
步骤104、基于I个目标终端设备的局部模型参数确定目标全局模型参数。比如说,可以从每个目标终端设备获取该目标终端设备的局部模型参数,并基于每个目标终端设备的局部模型参数确定目标全局模型参数。
步骤105、确定目标全局模型参数是否收敛。
若否,则可以执行步骤106,若是,则可以执行步骤107。
步骤106、将目标全局模型参数确定为初始全局模型参数,返回执行将初始全局模型参数发送给I个目标终端设备的操作,即返回步骤103。
步骤107、若目标全局模型参数已收敛,则将目标全局模型参数确定为已训练参数;其中,已训练参数用于对数据进行处理,如人工智能处理等。
示例性的,在目标全局模型参数已收敛之后,针对每个目标终端设备,还可以基于该目标终端设备在训练过程中获取的每个局部模型参数对应的预测准确率,统计预测准确率大于预设阈值的正交互次数,并统计预测准确率不大于预设阈值的负交互次数。基于正交互次数和负交互次数确定服务器对该目标终端设备的间接数据质量,并将该间接数据质量添加至区块链。
示例性的,在将目标合同组发送给I个目标终端设备之前,还可以从已获取的数据质量区间中采样K个数据质量;针对每个激励合同,获取该激励合同对应的多个候选样本数量;针对每个候选样本数量,基于K个数据质量和该候选样本数量确定该候选样本数量对应的效益值;基于每个候选样本数量对应的效益值,可以将最大效益值对应的候选样本数量确定为最佳样本数量,并基于最佳样本数量确定合同激励值;基于最佳样本数量和合同激励值生成激励合同。
示例性的,基于K个数据质量和该候选样本数量确定该候选样本数量对应的效益值,可以包括但不限于:若该激励合同是第1个激励合同,则可以基于激励合同总数量(即激励合同总数量K)、第1个激励合同对应的数据质量、该候选样本数量,确定该候选样本数量对应的效益值;或者,若该激励合同是第i个激励合同,且i不为1,则可以基于激励合同总数量、第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i-1个激励合同的最佳样本数量、该候选样本数量,确定该候选样本数量对应的效益值。
示例性的,基于最佳样本数量确定合同激励值,可以包括但不限于:若该激励合同是第1个激励合同,则基于第1个激励合同对应的数据质量、第1个激励合同的最佳样本数量确定合同激励值;或者,若该激励合同是第i个激励合同,i不为1,则基于第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i个激励合同的最佳样本数量,确定合同激励值。
示例性的,目标终端设备从K个激励合同中选取一个激励合同作为目标激励合同,可以包括但不限于:针对每个激励合同,基于目标终端设备对应的真实数据质量、该激励合同的最佳样本数量和合同激励值确定该激励合同对应的合同利润值;将最大合同利润值对应的激励合同选取为目标激励合同。
由以上技术方案可见,本申请实施例中,终端设备向服务器发送的是局部模型参数,而不是终端设备的数据,从而保护终端设备的数字资产,保证数据安全。由于终端设备与服务器之间传输的是局部模型参数,而不是大量数据(如图像数据),节省带宽资源。将区块链引入模型训练过程,服务器通过区块链提供的数据(具有不可否认性和抗篡改性),能够准确筛选出I个高参与积极性的目标终端设备来参与模型训练过程,提高模型训练过程的效率,更快的得到已训练参数,模型训练时间更短,模型训练的收敛速度更快,模型精度更高。
以下结合具体应用场景,对本申请实施例的技术方案进行说明。
为了采用机器学习实现人工智能处理,需要获取大量样本数据(如图像数据),并基于这些样本数据训练出机器学习模型,将机器学习模型部署到终端设备,终端设备基于机器学习模型实现人工智能处理。由于终端设备的样本数据的数量有限,无法训练出性能比较高的机器学习模型,因此,每个终端设备可以将本地的样本数据发送给服务器,由服务器基于多个终端设备的样本数据训练出机器学习模型。但是,上述方式需要在终端设备与服务器之间传输样本数据,存在数据安全隐患,无法保证数据安全,样本数据作为终端设备的数字资产,终端设备不愿意向服务器共享样本数据。由于需要在终端设备与服务器之间传输大量样本数据(如图像数据),这些样本数据需要占用大量带宽资源。
针对上述发现,本申请实施例中提出一种基于区块链与合同理论的联邦学习方法,能够结合区块链与合同理论实现联邦学习方法。区块链是按照时间顺序将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本,是利用块链式数据结构验证和存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用自动化脚本代码组成的智能合约。联邦学习是一种分布式机器学习框架,在保障数据安全的基础上,实现数据共享、共同建模,其核心思想是在多个终端设备共同参与模型训练时,不需要进行原始数据的流转,仅通过交互模型中间参数进行模型联合训练,可以实现数据保护和数据共享分析。
进一步的,在终端设备参与到联邦学习过程时,会消耗终端设备的大量资源,考虑到终端设备的自私性,终端设备在没有奖励的情况下不愿协助联邦学习训练,可能会有意或无意地执行不受欢迎的行为,从而误导联邦学习任务的全局模型训练。为此,本申请实施例中提出一种基于区块链与合同理论的联邦学习方法,可以选择可靠的终端设备,并激励这些终端设备参与联邦学习的训练,从而可以提高联邦学习任务的效率,最大化服务器的效益。
本申请实施例提出一种基于区块链与合同理论的联邦学习方法,应用于数据处理系统,数据处理系统可以包括服务器(也称为中心服务器)和M个终端设备,即将终端设备的总数量记为M,参见图2所示,为该方法的流程示意图,该方法包括:
步骤201、中心服务器获取初始全局模型参数。
示例性的,中心服务器可以获取初始全局模型,对此初始全局模型的获取过程不做限制。该初始全局模型可以是机器学习模型,如基于深度学习算法的机器学习模型、基于神经网络的机器学习模型等,对此不做限制。可以将该初始全局模型的网络参数(即网络权重)称为初始全局模型参数。
步骤202、针对每个终端设备,中心服务器基于历史数据确定该终端设备对应的第一数据质量,即中心服务器对终端设备的数据质量的直接意见。
示例性的,针对M个终端设备中的每个终端设备,以终端设备m为例,若历史数据包括终端设备m对应的正交互次数和负交互次数,则可以基于该正交互次数和该负交互次数确定终端设备m对应的第一数据质量。比如说,第一数据质量与该正交互次数成正比,且第一数据质量与该负交互次数成反比。
比如说,为了确定终端设备m对应的第一数据质量,可以划分Y个时间段,在时间段,终端设备m对应的第一数据质量可以参见公式(1):
公式(1)
在公式(1)中,表示终端设备m在时间段对应的第一数据质量。与为常数,可以根据经验配置,对此不做限制,如。表示终端设备m在时间段对应的正交互次数,正交互次数是局部模型参数对应的预测准确率大于预设阈值的次数,在时间段内,中心服务器每次从终端设备m获取到局部模型参数时,若该局部模型参数对应的预测准确率大于预设阈值,则在历史数据中将终端设备m对应的正交互次数加1,假设在时间段内,中心服务器从终端设备m获取到10个局部模型参数,且8个局部模型参数对应的预测准确率大于预设阈值,则终端设备m在时间段对应的正交互次数为8。表示终端设备m在时间段对应的负交互次数,负交互次数是局部模型参数对应的预测准确率不大于预设阈值的次数,在时间段内,中心服务器每次从终端设备m获取到局部模型参数时,若该局部模型参数对应的预测准确率不大于预设阈值,则在历史数据中将终端设备m对应的负交互次数加1,假设在时间段内,中心服务器从终端设备m获取到10个局部模型参数,且2个局部模型参数对应的预测准确率不大于预设阈值,则终端设备m在时间段对应的负交互次数为2。
从公式(1)可以看出,可以基于终端设备m在时间段对应的正交互次数和终端设备m在时间段对应的负交互次数,确定终端设备m在时间段对应的第一数据质量,显然,从公式(1)可以看出,第一数据质量与正交互次数成正比,且第一数据质量与负交互次数成反比。
基于终端设备m在每个时间段对应的第一数据质量,可以采用公式(2)确定终端设备m对应的第一数据质量,即在所有时间段对应的第一数据质量。
公式(2)
在公式(2)中,表示终端设备m在所有时间段对应的第一数据质量。表示终端设备m在时间段对应的第一数据质量,y的取值范围可以是1-Y,即依次表示第1个时间段对应的第一数据质量、第2个时间段对应的第一数据质量、…、第Y个时间段对应的第一数据质量。表示终端设备m在时间段对应的第一数据质量对应的新鲜度系数,比如说,。
综上所述,针对终端设备m,中心服务器可以确定终端设备m在所有时间段对应的第一数据质量,同理,中心服务器也可以确定其它终端设备在所有时间段对应的第一数据质量,即得到每个终端设备对应的第一数据质量。
步骤203、针对每个终端设备,中心服务器从区块链获取该终端设备对应的第二数据质量,即其它服务器对终端设备的数据质量的间接意见。
示例性的,针对M个终端设备中的每个终端设备,以终端设备m为例进行说明,中心服务器可以从区块链下载其它服务器对终端设备m的间接数据质量,并基于该间接数据质量确定终端设备m对应的第二数据质量。
比如说,针对除中心服务器之外的每个服务器,在服务器与终端设备m交互局部模型参数时,本服务器可以基于局部模型参数对应的预测准确率确定本服务器对终端设备m的间接数据质量,并将本服务器对终端设备m的间接数据质量添加到区块链上,该过程可以参见后续实施例,在此不再赘述。
显然,既然每个服务器均可以将本服务器对终端设备m的间接数据质量添加到区块链上,那么,在步骤203中,中心服务器可以从区块链下载其它服务器对终端设备m的间接数据质量。显然,由于间接数据质量是中心服务器从区块链下载得到,即可以保证间接数据质量的可靠性,在基于终端设备m的间接数据质量确定终端设备m的目标数据质量时,目标数据质量也具有可靠性。
基于其它服务器(可以为多个服务器)对终端设备m的间接数据质量,中心服务器可以采用公式(3)确定终端设备m对应的第二数据质量。
公式(3)
在公式(3)中,表示终端设备m对应的第二数据质量,表示服务器x(即其它服务器)对终端设备m的间接数据质量,间接数据质量是中心服务器可以从区块链下载,X表示其它服务器的总数量,即,中心服务器可以从区块链下载X个服务器对终端设备m的间接数据质量(即数据质量的间接意见),并并这些间接数据质量进行整合,得到终端设备m对应的第二数据质量。
综上所述,针对终端设备m,中心服务器可以确定终端设备m对应的第二数据质量,同理,中心服务器也可以确定其它终端设备对应的第二数据质量。
步骤204、针对每个终端设备,中心服务器基于该终端设备对应的第一数据质量和该终端设备对应的第二数据质量确定该终端设备对应的目标数据质量。
比如说,中心服务器对第一数据质量和第二数据质量进行加权求和,得到终端设备对应的目标数据质量,而目标数据质量反映终端设备的积极性评价。
示例性的,针对M个终端设备中的每个终端设备,以终端设备m为例进行说明,中心服务器可以采用公式(4)确定终端设备m对应的目标数据质量。
公式(4)
在公式(4)中,表示终端设备m对应的目标数据质量,表示终端设备m对应的第二数据质量,表示终端设备m对应的第一数据质量,表示第二数据质量对应的权重系数,表示第一数据质量对应的权重系数,为常数,可以根据经验配置,可以是大于等于0,且小于等于1的数值。
步骤205、基于每个终端设备对应的目标数据质量,中心服务器从M个终端设备中选取I个目标终端设备,如选取目标数据质量大的I个目标终端设备。
比如说,可以按照目标数据质量从大到小的顺序对M个终端设备排序,并选取排序靠前的I个目标终端设备。或者,可以按照目标数据质量从小到大的顺序对M个终端设备排序,并选取排序靠后的I个目标终端设备。其中,I可以为正整数,且I可以小于M,I的取值可以根据经验配置,对此不做限制。
综上所述,中心服务器可以选取目标数据质量较高的I个目标终端设备参与联邦学习训练,由于目标数据质量较高的I个目标终端设备是参与积极性评价高的I个目标终端设备,因此,这些目标终端设备对模型训练的质量很高。
步骤206、中心服务器获取目标合同组,该目标合同组可以包括K个激励合同,每个激励合同均可以包括最佳样本数量和合同激励值。
示例性的,中心服务器可以获取K个激励合同,K可以大于I,也可以小于I,还可以等于I,对此不做限制。比如说,K个激励合同可以是根据经验配置的激励合同,也可以采用某种算法得到K个激励合同,对此不做限制。
在一种可能的实施方式中,可以采用如下步骤获取K个激励合同,在得到K个激励合同之后,可以将K个激励合同的集合称为目标合同组。
步骤2061、获取数据质量区间,并从该数据质量区间中采样K个数据质量。
示例性的,可以获取已配置的数据质量区间[qmin,qmax],该数据质量区间可以根据经验配置,对此不做限制。或者,可以基于I个目标终端设备对应的目标数据质量确定数据质量区间[qmin,qmax],比如说,基于所有目标终端设备对应的目标数据质量中的最小值确定qmin,如将最小值作为qmin,或对最小值进行调整后得到qmin,基于所有目标终端设备对应的目标数据质量中的最大值确定qmax,如将最大值作为qmax,或对最大值行调整后得到qmax。当然,上述只是获取数据质量区间的示例,对此不做限制,能够得到数据质量区间即可。
在得到数据质量区间[qmin,qmax]之后,从数据质量区间[qmin,qmax]中采样K个数据质量。比如说,随机生成K个数据质量,K个数据质量均位于数据质量区间[qmin,qmax]即可。又例如,按照预设长度值将[qmin,qmax]划分为K个数据质量,即相邻两个数据质量之间的值为预设长度值,第1个数据质量可以为qmin,也可以大于qmin,最后1个数据质量可以为qmax,也可以小于qmax。当然,上述只是采样K个数据质量的示例,对此不做限制,能够得到K个数据质量即可。
在采样K个数据质量之后,K个数据质量与K个激励合同一一对应,比如说,第1个数据质量q1与第1个激励合同(D1,R1)对应,D1用于表示第1个激励合同的最佳样本数量,R1用于表示第1个激励合同的合同激励值,第2个数据质量q2与第2个激励合同(D2,R2)对应,D2用于表示第2个激励合同的最佳样本数量,R2用于表示第2个激励合同的合同激励值,以此类推。
步骤2062、针对每个激励合同,获取该激励合同对应的多个候选样本数量。
比如说,预先配置样本数量区间[Nmin,Nmax],Nmin表示样本数量最小值,根据经验配置,如100、200等,对此样本数量最小值不做限制,Nmax表示样本数量最大值,根据经验配置,如10000、20000等,对此样本数量最大值不做限制。
针对每个激励合同,可以从样本数量区间[Nmin,Nmax]中选取全部样本数量作为该激励合同对应的候选样本数量,如100-10000中的所有整数均作为候选样本数量。或者,可以从样本数量区间[Nmin,Nmax]中选取部分样本数量作为该激励合同对应的候选样本数量,如100-10000中的部分整数作为候选样本数量。
步骤2063、针对每个候选样本数量,基于K个数据质量和该候选样本数量确定该候选样本数量对应的效益值。比如说,若该激励合同是第1个激励合同,则可以基于激励合同总数量K、第1个激励合同对应的数据质量以及该候选样本数量,确定该候选样本数量对应的效益值;或者,若该激励合同是第i个激励合同,且i不为1,则可以基于激励合同总数量K、第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i-1个激励合同的最佳样本数量以及该候选样本数量,确定该候选样本数量对应的效益值。
步骤2064、基于每个候选样本数量对应的效益值,可以将最大效益值对应的候选样本数量确定为最佳样本数量,即激励合同的最佳样本数量。
在一种可能的实施方式中,为了确定激励合同的最佳样本数量,可以采用公式(5)确定激励合同的最佳样本数量,当然,公式(5)只是一个示例,对此不做限制,只要能够基于K个数据质量确定最佳样本数量即可。
公式(5)
首先,需要确定第1个激励合同对应的最佳样本数量,K表示激励合同总数量,为q1,q1可以表示第1个激励合同对应的数据质量,Di为D1,D1可以表示第1个激励合同对应的候选样本数量,Di-1为D0,D0可以为预先配置的样本数量,可以是经验值,、和均为常数,可以根据经验配置。
在公式(5)中,表示约束条件。
在公式(5)中,表示效益值,在得到大量候选样本数量D1后,将每个候选样本数量D1代入公式(5),可以得到该候选样本数量对应的效益值,表示找到所有效益值中的最大效益值,而最大效益值对应的候选样本数量D1作为最佳样本数量。
然后,需要确定第2个激励合同对应的最佳样本数量,为q2,q2表示第2个激励合同对应的数据质量,Di为D2,D2表示第2个激励合同对应的候选样本数量,q1表示第1个激励合同对应的数据质量,D1表示第1个激励合同对应的最佳样本数量,在中,i的取值依次为1和2,i的取值为1时,Di-1为D0,即预先配置的样本数量,Di为D1,D1表示第1个激励合同对应的最佳样本数量,i的取值为2时,Di-1为D1,即第1个激励合同对应的最佳样本数量,Di为D2,D2表示第2个激励合同对应的候选样本数量。
显然,在得到大量候选样本数量D2后,将每个候选样本数量D2代入公式(5),可以得到该候选样本数量对应的效益值,表示找到所有效益值中的最大效益值,而最大效益值对应的候选样本数量D2作为最佳样本数量。
然后,确定第3个激励合同对应的最佳样本数量,为q3,q3表示第3个激励合同对应的数据质量,Di为D3,D3表示第3个激励合同对应的候选样本数量,q1表示第1个激励合同对应的数据质量,D1表示第1个激励合同对应的最佳样本数量,在中,i的取值依次为1、2和3,i为1时,Di-1为D0,即预先配置的样本数量,Di为D1,即第1个激励合同对应的最佳样本数量,i为2时,Di-1为D1,即第1个激励合同对应的最佳样本数量,Di为D2,即第2个激励合同对应的最佳样本数量,i为3时,Di-1为D2,即第2个激励合同对应的最佳样本数量,Di为D3,即第3个激励合同对应的候选样本数量。
显然,在得到大量候选样本数量D3后,将每个候选样本数量D3代入公式(5),可以得到该候选样本数量对应的效益值,表示找到所有效益值中的最大效益值,而最大效益值对应的候选样本数量D3作为最佳样本数量。
以此类推,可以得到每个激励合同(共K个激励合同)的最佳样本数量。
步骤2065、针对每个激励合同,基于该激励合同的最佳样本数量确定该激励合同的合同激励值。比如说,若该激励合同是第1个激励合同,则可以基于第1个激励合同对应的数据质量、第1个激励合同的最佳样本数量确定第1个激励合同的合同激励值;或者,若该激励合同是第i个激励合同,且i不为1,则可以基于第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i个激励合同的最佳样本数量,确定第i个激励合同的合同激励值。
在一种可能的实施方式中,为了确定激励合同的合同激励值,可以采用公式(6)确定激励合同的合同激励值,当然,公式(6)只是一个示例,对此不做限制,只要能够基于K个数据质量和最佳样本数量确定合同激励值即可。
公式(6)
首先,确定第1个激励合同对应的合同激励值,q1表示第1个激励合同对应的数据质量,D1表示第1个激励合同对应的最佳样本数量,为常数,可以根据经验配置。为q1,即第1个激励合同对应的数据质量,Di-1为D0,即预先配置的样本数量,Di为D1,即第1个激励合同对应的最佳样本数量。显然,由于上述参数均为已知值,因此,可以得到第1个激励合同的合同激励值。
然后,确定第2个激励合同对应的合同激励值,q1表示第1个激励合同对应的数据质量,D1表示第1个激励合同的最佳样本数量,中,i的取值依次为1和2,i的取值为1时,Di-1为D0,即预先配置的样本数量,Di为D1,即第1个激励合同的最佳样本数量,i的取值为2时,Di-1为D1,即第1个激励合同的最佳样本数量,Di为D2,即第2个激励合同的最佳样本数量。由于上述参数均为已知值,因此,可以得到第2个激励合同的合同激励值。
以此类推,可以得到每个激励合同(共K个激励合同)的合同激励值。
步骤2066、基于最佳样本数量和合同激励值生成激励合同。
比如说,可以基于第1个激励合同的最佳样本数量和合同激励值生成第1个激励合同(D1,R1),可以基于第2个激励合同的最佳样本数量和合同激励值生成第2个激励合同(D2,R2),以此类推,可以得到K个激励合同。在得到K个激励合同之后,就可以将K个激励合同组合成目标合同组。
以下结合具体应用场景,对公式(5)和公式(6)的推导过程进行说明。
以目标终端设备i为例,目标终端设备i是I个目标终端设备中的任一终端设备,那么,目标终端设备i完整执行一次合同所得的利润,其计算公式可以如下所示:,在上述公式中,是为目标终端设备i设计的激励合同,表示第i个激励合同对应的数据质量,可以为常数。
中心服务器的效益函数的计算公式可以如下所示:,,为常数,表示第i个激励合同对应的数据质量,K表示激励合同总数量。
针对一个可行的激励合同,可以存在以下限制:个人理性(IR)限制,当目标终端设备i选择激励合同时,能够得到非负的利润,即满足:。激励恰当(IC)限制,当目标终端设备i选择为本目标终端设备i设计的激励合同时,目标终端设备i将获得最大利润,因此,目标终端设备i不会被激励选择为其它目标终端设备设计的激励合同,即满足:。
受到以上限制,可以做出以下推定:对于任何可行的激励合同,与互为充分必要条件;对于任何可行的激励合同,若,则;如果IR约束对于利润最小的目标终端设备成立,则其它目标终端设备的利润必定满足IR约束;IC约束可以被减少为局部向下激励约束。
综上可以看出,一个可行的激励合同可以满足以下条件:
因此,对一组已知且满足的来说,对于可行性激励合同中最优奖励的计算公式,可以参见公式(7)所示。在对公式(7)进行变形之后,就可以归纳表达为公式(6)和公式(5)的映射关系。
公式(7)
综上所述,可以得到公式(5)和公式(6)的映射关系,继而基于公式(5)和公式(6)确定最佳样本数量和合同激励值,继而生成激励合同。
步骤207、中心服务器将目标合同组发送给I个目标终端设备。比如说,在得到目标合同组之后,可以将目标合同组发送给每个目标终端设备。
步骤208、针对每个目标终端设备,目标终端设备在接收到目标合同组之后,从目标合同组的K个激励合同中选取一个激励合同作为目标激励合同。
示例性的,针对每个激励合同,基于目标终端设备对应的真实数据质量、该激励合同的最佳样本数量和合同激励值,可以确定该激励合同对应的合同利润值,并将最大合同利润值对应的激励合同选取为目标激励合同。
比如说,目标终端设备完整执行一次激励合同所得的利润,其计算公式可以参见公式(8)所示,当然公式(8)只是一个示例,对此不作限制。
公式(8)
在上述公式中,ui表示目标终端设备执行第i个激励合同的合同利润值,即第i个激励合同对应的合同利润值,Ri表示第i个激励合同的合同激励值,Di表示第i个激励合同的最佳样本数量,可以为常数,可以根据经验配置,表示目标终端设备对应的真实数据质量,真实数据质量用于反映目标终端设备对模型的训练效果,若目标终端设备本地的样本数据对模型的训练效果越好,则真实数据质量越大,若目标终端设备本地的样本数据对模型的训练效果越差,则真实数据质量越小,本实施例中对此真实数据质量的获取方式不作限制。
从公式8可以看出,可以基于目标终端设备对应的真实数据质量、第i个激励合同的合同激励值和最佳样本数量,确定第i个激励合同对应的合同利润值。
显然,针对目标合同组中的每个激励合同,目标终端设备可以确定该激励合同对应的合同利润值。在此基础上,基于每个激励合同对应的合同利润值,目标终端设备可以将最大合同利润值对应的激励合同选取为目标激励合同。
步骤209、中心服务器将初始全局模型参数发送给I个目标终端设备。比如说,中心服务器可以将初始全局模型参数发送给每个目标终端设备。
步骤210、针对每个目标终端设备,目标终端设备在接收到初始全局模型参数之后,基于目标激励合同的最佳样本数量和初始全局模型参数获取局部模型参数,在得到局部模型参数之后,将局部模型参数发送给中心服务器。
示例性的,目标终端设备可以维护样本数据集,该样本数据集可以包括多个样本数据(如图像数据、文本数据、音频数据等),这些样本数据可以是目标终端设备自身采集数据,也可以是采用其它方式获取的数据,对此不做限制。
基于目标激励合同的最佳样本数量,目标终端设备可以从样本数据集的所有样本数据中选取与该最佳样本数量匹配的样本数据,为了区分方便,将与该最佳样本数量匹配的样本数据称为目标样本数据,如随机选取最佳样本数量个样本数据作为目标样本数据,当然,也可以采用其它选取方式,对此不作限制。
目标终端设备在得到初始全局模型参数之后,可以基于初始全局模型参数构建初始全局模型,并采用目标样本数据(即最佳样本数量个样本数据)对初始全局模型进行训练,对此训练过程不做限制,得到训练后的局部模型,可以将该局部模型的网络参数(即网络权重)称为局部模型参数。由于局部模型是基于目标样本数据训练得到,因此,局部模型参数与终端设备的本地数据匹配。
示例性的,在采用目标样本数据对初始全局模型进行训练时,可以采用小批量梯度下降的方法进行次迭代,得到训练后的局部模型。其中,Di用于表示目标激励合同的最佳样本数量,即目标样本数据的总数量,B用于表示目标样本数据的批量大小,即每批训练数据的数量,E用于表示训练次数。
比如说,初始全局模型的更新过程如下:,为目标终端设备在第次全局迭代中进行第次本地迭代得到的局部模型模型参数,为在处的梯度值;用于表示模型参数,用于表示梯度值,用于表示学习率,B用于表示目标样本数据的批量大小。
在得到局部模型参数之后,目标终端设备可以将局部模型参数发送给中心服务器,这样,中心服务器可以得到I个目标终端设备的局部模型参数。
步骤211、中心服务器基于I个目标终端设备的局部模型参数确定目标全局模型参数。比如说,基于每个局部模型参数对应的权重系数,中心服务器可以对I个目标终端设备的局部模型参数进行加权运算,得到目标全局模型参数。
比如说,中心服务器可以采用如下公式确定目标全局模型参数:
S=S1*W1+S2*W2+S3*W3+…+SI*WI
在上述公式中,S表示目标全局模型参数,S1表示第1个目标终端设备的局部模型参数,W1表示第1个局部模型参数对应的权重系数,S2表示第2个目标终端设备的局部模型参数,W2表示第2个局部模型参数对应的权重系数,…,以此类推,SI表示第I个目标终端设备的局部模型参数,WI表示第I个局部模型参数对应的权重系数。其中,不同局部模型参数对应的权重系数可以相同,也可以不同,对各局部模型参数对应的权重系数不作限制。
综上所述,中心服务器通过对多个局部模型参数进行加权运算,可以得到加权运算后的模型参数,将加权运算后的模型参数作为目标全局模型参数。
步骤212、中心服务器确定目标全局模型参数是否已收敛。
若否,则可以执行步骤213,若是,则可以执行步骤214。
在一种可能的实施方式中,可以基于验证数据集确定目标全局模型参数对应的预测准确率,确定方式可以参见后续步骤,在此不再赘述。若目标全局模型参数对应的预测准确率大于收敛阈值(可以根据经验配置,如98%、99%等,对此不做限制),则确定目标全局模型参数已收敛。若目标全局模型参数对应的预测准确率不大于收敛阈值,则确定目标全局模型参数未收敛。
在另一种可能的实施方式中,若目标全局模型参数的迭代次数大于预设次数阈值T(可以根据经验配置),则确定目标全局模型参数已收敛。若目标全局模型参数的迭代次数不大于预设次数阈值,则确定目标全局模型参数未收敛。
在另一种可能的实施方式中,若目标全局模型参数的迭代时长大于预设时长阈值(可以根据经验配置),则确定目标全局模型参数已收敛。若目标全局模型参数的迭代时长不大于预设时长阈值,则确定目标全局模型参数未收敛。
当然,上述只是几个示例,本实施例中对此收敛条件不做限制。
步骤213、中心服务器将目标全局模型参数确定为初始全局模型参数,返回执行将初始全局模型参数发送给I个目标终端设备的操作,即返回步骤209。
步骤214、中心服务器将目标全局模型参数确定为已训练参数,已训练参数用于对数据(如图像数据等)进行处理,如人工智能处理等。
示例性的,若目标全局模型参数已收敛,则中心服务器可以将目标全局模型参数发送给终端设备,终端设备在得到目标全局模型参数之后,可以基于目标全局模型参数构建目标全局模型,并部署目标全局模型,继而基于目标全局模型实现人工智能处理。比如说,终端设备在得到待处理数据(如图像数据)之后,可以将待处理数据输入给目标全局模型,由目标全局模型对待处理数据进行处理,得到待处理数据的处理结果,对此人工智能处理过程不做限制。
示例性的,在目标全局模型参数已收敛之后,针对每个目标终端设备,中心服务器还可以基于该目标终端设备在训练过程中获取的每个局部模型参数对应的预测准确率,统计预测准确率大于预设阈值的正交互次数,并统计预测准确率不大于预设阈值的负交互次数。基于正交互次数和负交互次数确定本中心服务器对该目标终端设备的间接数据质量,并将该间接数据质量添加至区块链。
比如说,以目标终端设备i为例,假设目标终端设备i向中心服务器发送T次(如100次)局部模型参数,那么,针对每个局部模型参数,中心服务器在接收到该局部模型参数时,可以确定该局部模型参数对应的预测准确率。
中心服务器可以获取验证数据集,该验证数据集可以包括大量验证数据(如图像数据)和这些验证数据对应的真实结果,对此验证数据集不做限制。比如说,验证数据集可以包括验证数据s1和验证数据s1对应的真实结果s1-1,表示采用模型对验证数据s1进行处理后,正确结果是真实结果s1-1。
针对每个局部模型参数,中心服务器在得到该局部模型参数之后,可以基于该局部模型参数构建局部模型,并将验证数据集中的验证数据输入给该局部模型,由该局部模型对该验证数据进行处理,得到该验证数据对应的预测结果。若该验证数据对应的预测结果与该验证数据对应的真实结果相同,则表示该验证数据的预测正确,若该验证数据对应的预测结果与该验证数据对应的真实结果不同,则表示该验证数据的预测错误。在将验证数据集中的每个验证数据输入给该局部模型之后,可以统计预测正确的数量p1和预测错误的数量p2,基于数量p1和数量p2可以确定该局部模型参数对应的预测准确率,如预测准确率可以为p1/(p1+ p2)。当然,上述只是一个示例,对此不做限制。
显然,基于上述方式,中心服务器可以确定每个局部模型参数对应的预测准确率,即可以确定T个(如100个)局部模型参数对应的预测准确率。
基于每个局部模型参数对应的预测准确率,可以统计预测准确率大于预设阈值的正交互次数,并统计预测准确率不大于预设阈值的负交互次数。参见公式(1)所示,基于正交互次数和负交互次数,可以确定中心服务器对目标终端设备i的数据质量,将该数据质量记为中心服务器对目标终端设备i的间接数据质量,间接数据质量用于表示针对目标终端设备i的积极性评估结果。
示例性的,在得到中心服务器对目标终端设备i的间接数据质量之后,可以将该间接数据质量添加至区块链。比如说,中心服务器在块验证和执行共识方案(如实用拜占庭容错)后,将间接数据质量放入数据块中,并添加至区块链。
在一种可能的实施方式中,参见图3所示,为联邦系统的结构示意图,联邦系统分为区块链层和应用层,区块链层用于提供筛选用户的数据(如中心服务器针对终端设备的间接数据质量),应用层用于完成联邦学习过程,联邦学习参见上述实施例,应用层完成联邦学习后更新区块链上的数据。
由以上技术方案可见,本申请实施例中,将区块链引入模型训练过程,服务器通过区块链提供的数据(具有不可否认性和抗篡改性),能够准确筛选出I个高参与积极性的目标终端设备来参与模型训练过程,提高模型训练过程的效率,能够更快的得到已训练参数,模型训练时间更短,模型训练的收敛速度更快,模型精度更高。提出一种基于区块链与合同理论的联邦学习方法,将区块链引入联邦学习过程,在基于区块链的联邦学习过程中,终端设备作为区块链矿工工作,拥有足够的计算资源和存储资源,能够将通过验证的终端设备参与积极性评价(即间接数据质量)存储到新的数据块中,具有防篡改和不可抵赖的特性,且能够被各中心服务器共享,起到了更加公平可信的效果,便于中心服务器筛选用户,能更好地提升中心服务器效益。当有联邦学习任务需要完成时,中心服务器从区块链上下载所需的用户积极性评价,按序筛选积极性更高的用户下发模型参数,并针对不同类型的用户设计不同的激励合同。采用合同理论对用户进行激励,使中心服务器能够在信息不对称的情况下最大化效益。
基于与上述方法同样的申请构思,本申请实施例中提出一种基于区块链与合同理论的联邦学习装置,应用于数据处理系统中的服务器,所述数据处理系统还包括M个终端设备,参见图4所示,为所述装置的结构示意图,所述装置可以包括:
确定模块41,用于针对每个终端设备,基于历史数据确定所述终端设备对应的第一数据质量,并从区块链获取所述终端设备对应的第二数据质量,基于所述第一数据质量和所述第二数据质量确定所述终端设备对应的目标数据质量;
选取模块42,用于基于每个终端设备对应的目标数据质量从所述M个终端设备中选取I个目标终端设备,I为正整数,且I小于M;
发送模块43,用于将目标合同组发送给所述I个目标终端设备,所述目标合同组包括K个激励合同,每个激励合同包括最佳样本数量和合同激励值,并将初始全局模型参数发送给所述I个目标终端设备,以使每个目标终端设备从所述K个激励合同中选取一个激励合同作为目标激励合同,并基于所述目标激励合同的最佳样本数量和所述初始全局模型参数获取局部模型参数;
所述确定模块41,还用于基于所述I个目标终端设备的局部模型参数确定目标全局模型参数;若目标全局模型参数未收敛,则将所述目标全局模型参数确定为初始全局模型参数,由所述发送模块将初始全局模型参数发送给所述I个目标终端设备;若目标全局模型参数已收敛,则将所述目标全局模型参数确定为已训练参数;其中,所述已训练参数用于对数据进行处理。
示例性的,所述确定模块41基于历史数据确定所述终端设备对应的第一数据质量时具体用于:若所述历史数据包括所述终端设备对应的正交互次数和负交互次数,则基于所述正交互次数和所述负交互次数确定所述终端设备对应的第一数据质量;其中,所述第一数据质量与所述正交互次数成正比,所述第一数据质量与所述负交互次数成反比;其中,在每次从所述终端设备获取到局部模型参数时,若该局部模型参数对应的预测准确率大于预设阈值,则在历史数据中增加所述终端设备对应的正交互次数,若该局部模型参数对应的预测准确率不大于所述预设阈值,则在历史数据中增加所述终端设备对应的负交互次数。
示例性的,所述确定模块41从区块链获取所述终端设备对应的第二数据质量时具体用于:从所述区块链下载其它服务器对所述终端设备的间接数据质量;基于所述间接数据质量确定所述终端设备对应的第二数据质量。
示例性的,所述确定模块41,还用于针对每个目标终端设备,基于所述目标终端设备在训练过程中获取的每个局部模型参数对应的预测准确率,统计预测准确率大于预设阈值的正交互次数,并统计预测准确率不大于预设阈值的负交互次数;基于所述正交互次数和所述负交互次数确定所述服务器对所述目标终端设备的间接数据质量,将所述间接数据质量添加至所述区块链。
示例性的,所述确定模块41,还用于从已获取的数据质量区间中采样K个数据质量;针对每个激励合同,获取所述激励合同对应的多个候选样本数量;针对每个候选样本数量,基于K个数据质量和所述候选样本数量确定所述候选样本数量对应的效益值;基于每个候选样本数量对应的效益值,将最大效益值对应的候选样本数量确定为最佳样本数量,并基于最佳样本数量确定合同激励值;基于所述最佳样本数量和所述合同激励值生成所述激励合同。
示例性的,所述确定模块41基于K个数据质量和所述候选样本数量确定所述候选样本数量对应的效益值时具体用于:若激励合同是第1个激励合同,则基于激励合同总数量、第1个激励合同对应的数据质量、候选样本数量,确定所述候选样本数量对应的效益值;若激励合同是第i个激励合同,i不为1,则基于激励合同总数量、第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i-1个激励合同的最佳样本数量、候选样本数量,确定所述候选样本数量对应的效益值;所述确定模块41基于最佳样本数量确定合同激励值时具体用于:若激励合同是第1个激励合同,则基于第1个激励合同对应的数据质量、第1个激励合同的最佳样本数量确定所述合同激励值;若激励合同是第i个激励合同,i不为1,则基于第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i个激励合同的最佳样本数量,确定所述合同激励值。
基于与上述方法同样的申请构思,本申请实施例中提出一种电子设备(如中心服务器),参见图5所示,电子设备包括处理器51和机器可读存储介质52,机器可读存储介质52存储有能够被处理器51执行的机器可执行指令;处理器51用于执行机器可执行指令,以实现基于区块链与合同理论的联邦学习方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,机器可读存储介质上存储有若干计算机指令,计算机指令被处理器执行时,能够实现上述示例的基于区块链与合同理论的联邦学习方法。
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于区块链与合同理论的联邦学习方法,其特征在于,应用于数据处理系统中的服务器,所述数据处理系统还包括M个终端设备,所述方法包括:
针对每个终端设备,基于历史数据确定所述终端设备对应的第一数据质量,并从区块链获取所述终端设备对应的第二数据质量,基于所述第一数据质量和所述第二数据质量确定所述终端设备对应的目标数据质量;
基于每个终端设备对应的目标数据质量从所述M个终端设备中选取I个目标终端设备,将目标合同组发送给所述I个目标终端设备,所述目标合同组包括K个激励合同,每个激励合同包括最佳样本数量和合同激励值,并将初始全局模型参数发送给所述I个目标终端设备,以使每个目标终端设备从所述K个激励合同中选取一个激励合同作为目标激励合同,并基于所述目标激励合同的最佳样本数量和所述初始全局模型参数获取局部模型参数;
基于所述I个目标终端设备的局部模型参数确定目标全局模型参数;
若目标全局模型参数未收敛,则将所述目标全局模型参数确定为初始全局模型参数,返回执行将初始全局模型参数发送给所述I个目标终端设备的操作;
若目标全局模型参数已收敛,则将所述目标全局模型参数确定为已训练参数;其中,所述已训练参数用于对数据进行处理。
2.根据权利要求1所述的方法,其特征在于,
所述基于历史数据确定所述终端设备对应的第一数据质量,包括:
若所述历史数据包括所述终端设备对应的正交互次数和负交互次数,则基于所述正交互次数和所述负交互次数确定所述终端设备对应的第一数据质量;
其中,所述第一数据质量与所述正交互次数成正比,所述第一数据质量与所述负交互次数成反比;其中,在每次从所述终端设备获取到局部模型参数时,若该局部模型参数对应的预测准确率大于预设阈值,则在历史数据中增加所述终端设备对应的正交互次数,若该局部模型参数对应的预测准确率不大于所述预设阈值,则在历史数据中增加所述终端设备对应的负交互次数。
3.根据权利要求1所述的方法,其特征在于,
所述从区块链获取所述终端设备对应的第二数据质量,包括:
从所述区块链下载其它服务器对所述终端设备的间接数据质量;
基于所述间接数据质量确定所述第二数据质量。
4.根据权利要求1所述的方法,其特征在于,
在所述目标全局模型参数已收敛之后,所述方法还包括:
针对每个目标终端设备,基于所述目标终端设备在训练过程中获取的每个局部模型参数对应的预测准确率,统计预测准确率大于预设阈值的正交互次数,并统计预测准确率不大于预设阈值的负交互次数;
基于所述正交互次数和所述负交互次数确定所述服务器对所述目标终端设备的间接数据质量,将所述间接数据质量添加至所述区块链。
5.根据权利要求1所述的方法,其特征在于,
所述将目标合同组发送给所述I个目标终端设备之前,所述方法还包括:
从已获取的数据质量区间中采样K个数据质量;
针对每个激励合同,获取所述激励合同对应的多个候选样本数量;针对每个候选样本数量,基于K个数据质量和所述候选样本数量确定所述候选样本数量对应的效益值;基于每个候选样本数量对应的效益值,将最大效益值对应的候选样本数量确定为最佳样本数量,并基于最佳样本数量确定合同激励值;
基于所述最佳样本数量和所述合同激励值生成所述激励合同。
6.根据权利要求5所述的方法,其特征在于,
所述基于K个数据质量和所述候选样本数量确定所述候选样本数量对应的效益值,包括:若激励合同是第1个激励合同,则基于激励合同总数量、第1个激励合同对应的数据质量、候选样本数量,确定所述候选样本数量对应的效益值;若激励合同是第i个激励合同,i不为1,则基于激励合同总数量、第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i-1个激励合同的最佳样本数量、候选样本数量,确定所述候选样本数量对应的效益值;
所述基于最佳样本数量确定合同激励值,包括:若所述激励合同是第1个激励合同,则基于第1个激励合同对应的数据质量、第1个激励合同的最佳样本数量确定所述合同激励值;若所述激励合同是第i个激励合同,i不为1,则基于第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i个激励合同的最佳样本数量,确定所述合同激励值。
7.根据权利要求1所述的方法,其特征在于,所述目标终端设备从所述K个激励合同中选取一个激励合同作为目标激励合同,包括:
针对每个激励合同,基于所述目标终端设备对应的真实数据质量、所述激励合同的最佳样本数量和合同激励值确定所述激励合同对应的合同利润值;
将最大合同利润值对应的激励合同选取为所述目标激励合同。
8.一种基于区块链与合同理论的联邦学习装置,其特征在于,应用于数据处理系统中的服务器,所述数据处理系统还包括M个终端设备,所述装置包括:
确定模块,用于针对每个终端设备,基于历史数据确定所述终端设备对应的第一数据质量,并从区块链获取所述终端设备对应的第二数据质量,基于所述第一数据质量和所述第二数据质量确定所述终端设备对应的目标数据质量;
选取模块,用于基于每个终端设备对应的目标数据质量从所述M个终端设备中选取I个目标终端设备,I为正整数,且I小于M;
发送模块,用于将目标合同组发送给所述I个目标终端设备,所述目标合同组包括K个激励合同,每个激励合同包括最佳样本数量和合同激励值,并将初始全局模型参数发送给所述I个目标终端设备,以使每个目标终端设备从所述K个激励合同中选取一个激励合同作为目标激励合同,并基于所述目标激励合同的最佳样本数量和所述初始全局模型参数获取局部模型参数;
所述确定模块,还用于基于所述I个目标终端设备的局部模型参数确定目标全局模型参数;若目标全局模型参数未收敛,则将所述目标全局模型参数确定为初始全局模型参数,由所述发送模块将初始全局模型参数发送给所述I个目标终端设备;若目标全局模型参数已收敛,则将所述目标全局模型参数确定为已训练参数;其中,所述已训练参数用于对数据进行处理。
9.根据权利要求8所述的装置,其特征在于,
其中,所述确定模块基于历史数据确定所述终端设备对应的第一数据质量时具体用于:若所述历史数据包括所述终端设备对应的正交互次数和负交互次数,则基于所述正交互次数和所述负交互次数确定所述终端设备对应的第一数据质量;其中,所述第一数据质量与所述正交互次数成正比,所述第一数据质量与所述负交互次数成反比;其中,在每次从所述终端设备获取到局部模型参数时,若该局部模型参数对应的预测准确率大于预设阈值,则在历史数据中增加所述终端设备对应的正交互次数,若该局部模型参数对应的预测准确率不大于所述预设阈值,则在历史数据中增加所述终端设备对应的负交互次数;
其中,所述确定模块从区块链获取所述终端设备对应的第二数据质量时具体用于:从所述区块链下载其它服务器对所述终端设备的间接数据质量;基于所述间接数据质量确定所述终端设备对应的第二数据质量;
其中,所述确定模块,还用于针对每个目标终端设备,基于所述目标终端设备在训练过程中获取的每个局部模型参数对应的预测准确率,统计预测准确率大于预设阈值的正交互次数,并统计预测准确率不大于预设阈值的负交互次数;基于所述正交互次数和所述负交互次数确定所述服务器对所述目标终端设备的间接数据质量,将所述间接数据质量添加至所述区块链;
其中,所述确定模块,还用于从已获取的数据质量区间中采样K个数据质量;针对每个激励合同,获取所述激励合同对应的多个候选样本数量;针对每个候选样本数量,基于K个数据质量和所述候选样本数量确定所述候选样本数量对应的效益值;基于每个候选样本数量对应的效益值,将最大效益值对应的候选样本数量确定为最佳样本数量,并基于最佳样本数量确定合同激励值;基于所述最佳样本数量和所述合同激励值生成所述激励合同;
其中,所述确定模块基于K个数据质量和所述候选样本数量确定所述候选样本数量对应的效益值时具体用于:若激励合同是第1个激励合同,则基于激励合同总数量、第1个激励合同对应的数据质量、候选样本数量,确定所述候选样本数量对应的效益值;若激励合同是第i个激励合同,i不为1,则基于激励合同总数量、第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i-1个激励合同的最佳样本数量、候选样本数量,确定所述候选样本数量对应的效益值;所述确定模块基于最佳样本数量确定合同激励值时具体用于:若激励合同是第1个激励合同,则基于第1个激励合同对应的数据质量、第1个激励合同的最佳样本数量确定所述合同激励值;若激励合同是第i个激励合同,i不为1,则基于第1个激励合同至第i个激励合同对应的数据质量、第1个激励合同至第i个激励合同的最佳样本数量,确定所述合同激励值。
10.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310281972.1A CN115994588B (zh) | 2023-03-16 | 2023-03-16 | 基于区块链与合同理论的数据处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310281972.1A CN115994588B (zh) | 2023-03-16 | 2023-03-16 | 基于区块链与合同理论的数据处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115994588A true CN115994588A (zh) | 2023-04-21 |
CN115994588B CN115994588B (zh) | 2023-07-25 |
Family
ID=85992370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310281972.1A Active CN115994588B (zh) | 2023-03-16 | 2023-03-16 | 基于区块链与合同理论的数据处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115994588B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180316502A1 (en) * | 2017-04-27 | 2018-11-01 | Factom | Data Reproducibility Using Blockchains |
CN111966698A (zh) * | 2020-07-03 | 2020-11-20 | 华南师范大学 | 一种基于区块链的可信联邦学习方法、系统、装置及介质 |
CN112132277A (zh) * | 2020-09-21 | 2020-12-25 | 平安科技(深圳)有限公司 | 联邦学习模型训练方法、装置、终端设备及存储介质 |
CN113094761A (zh) * | 2021-04-25 | 2021-07-09 | 中山大学 | 一种联邦学习数据防篡改监测方法及相关装置 |
CN113434878A (zh) * | 2021-06-25 | 2021-09-24 | 平安科技(深圳)有限公司 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
CN113516250A (zh) * | 2021-07-13 | 2021-10-19 | 北京百度网讯科技有限公司 | 一种联邦学习方法、装置、设备以及存储介质 |
CN113553377A (zh) * | 2021-07-21 | 2021-10-26 | 湖南天河国云科技有限公司 | 基于区块链和联邦学习的数据共享方法及装置 |
CN114095503A (zh) * | 2021-10-19 | 2022-02-25 | 广西综合交通大数据研究院 | 一种基于区块链的联邦学习参与节点选择方法 |
CN114372581A (zh) * | 2022-02-25 | 2022-04-19 | 中国人民解放军国防科技大学 | 基于区块链的联邦学习方法、装置和计算机设备 |
CN114580658A (zh) * | 2021-12-28 | 2022-06-03 | 天翼云科技有限公司 | 基于区块链的联邦学习激励方法、装置、设备和介质 |
CN115081676A (zh) * | 2022-05-09 | 2022-09-20 | 南京邮电大学 | 一种基于合同理论的多任务无线联邦学习方法 |
CN115293256A (zh) * | 2022-08-02 | 2022-11-04 | 西北大学 | 一种由区块链辅助的联邦学习无线网络模型 |
CN115599799A (zh) * | 2022-11-30 | 2023-01-13 | 中南大学(Cn) | 面向医疗大数据的区块链与联邦学习融合方法 |
-
2023
- 2023-03-16 CN CN202310281972.1A patent/CN115994588B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180316502A1 (en) * | 2017-04-27 | 2018-11-01 | Factom | Data Reproducibility Using Blockchains |
CN111966698A (zh) * | 2020-07-03 | 2020-11-20 | 华南师范大学 | 一种基于区块链的可信联邦学习方法、系统、装置及介质 |
CN112132277A (zh) * | 2020-09-21 | 2020-12-25 | 平安科技(深圳)有限公司 | 联邦学习模型训练方法、装置、终端设备及存储介质 |
CN113094761A (zh) * | 2021-04-25 | 2021-07-09 | 中山大学 | 一种联邦学习数据防篡改监测方法及相关装置 |
CN113434878A (zh) * | 2021-06-25 | 2021-09-24 | 平安科技(深圳)有限公司 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
CN113516250A (zh) * | 2021-07-13 | 2021-10-19 | 北京百度网讯科技有限公司 | 一种联邦学习方法、装置、设备以及存储介质 |
CN113553377A (zh) * | 2021-07-21 | 2021-10-26 | 湖南天河国云科技有限公司 | 基于区块链和联邦学习的数据共享方法及装置 |
CN114095503A (zh) * | 2021-10-19 | 2022-02-25 | 广西综合交通大数据研究院 | 一种基于区块链的联邦学习参与节点选择方法 |
CN114580658A (zh) * | 2021-12-28 | 2022-06-03 | 天翼云科技有限公司 | 基于区块链的联邦学习激励方法、装置、设备和介质 |
CN114372581A (zh) * | 2022-02-25 | 2022-04-19 | 中国人民解放军国防科技大学 | 基于区块链的联邦学习方法、装置和计算机设备 |
CN115081676A (zh) * | 2022-05-09 | 2022-09-20 | 南京邮电大学 | 一种基于合同理论的多任务无线联邦学习方法 |
CN115293256A (zh) * | 2022-08-02 | 2022-11-04 | 西北大学 | 一种由区块链辅助的联邦学习无线网络模型 |
CN115599799A (zh) * | 2022-11-30 | 2023-01-13 | 中南大学(Cn) | 面向医疗大数据的区块链与联邦学习融合方法 |
Non-Patent Citations (3)
Title |
---|
XINYU GUO 等: "Implementation of a Blockchain-enabled Federated Learning Model that Supports Security and Privacy Comparisons", 《2022 IEEE 5TH INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS AND COMPUTER AIDED EDUCATION》, pages 243 - 247 * |
孙睿 等: "基于区块链的联邦学习研究进展", 《计算机应用》, vol. 42, no. 11, pages 3413 - 3420 * |
张沁楠 等: "基于区块链和贝叶斯博弈的联邦学习激励机制", 《中国科学》, vol. 52, no. 6, pages 971 * |
Also Published As
Publication number | Publication date |
---|---|
CN115994588B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110366734B (zh) | 优化神经网络架构 | |
CN109791642B (zh) | 工作流的自动生成 | |
EP3711000B1 (en) | Regularized neural network architecture search | |
CN109460793B (zh) | 一种节点分类的方法、模型训练的方法及装置 | |
EP3583553A1 (en) | Neural architecture search for convolutional neural networks | |
WO2019182590A1 (en) | Automated machine learning systems and methods | |
CN111325417B (zh) | 实现隐私保护的多方协同更新业务预测模型的方法及装置 | |
CN111708876B (zh) | 生成信息的方法和装置 | |
CN111651671B (zh) | 用户对象推荐方法、装置、计算机设备和存储介质 | |
US11363479B2 (en) | Method and device for people counting | |
JP2021523430A (ja) | 教師付き機械学習問題用のニューラルネットワークアーキテクチャの選択 | |
KR102203252B1 (ko) | 생성적 적대 신경망에 기반한 협업 필터링을 위한 방법 및 시스템 | |
CN108154197A (zh) | 实现虚拟场景中图像标注验证的方法及装置 | |
CN108009058A (zh) | 异常设备识别方法及装置和电子设备 | |
CN113902473A (zh) | 业务预测系统的训练方法及装置 | |
CN115238169A (zh) | 一种慕课可解释推荐方法、终端设备及存储介质 | |
CN115994588B (zh) | 基于区块链与合同理论的数据处理方法、装置及设备 | |
CN110717537B (zh) | 训练用户分类模型、执行用户分类预测的方法及装置 | |
US11983609B2 (en) | Dual machine learning pipelines for transforming data and optimizing data transformation | |
CN116955808A (zh) | 一种游戏推荐方法、装置、电子设备及介质 | |
KR102010031B1 (ko) | 게임 지표 정보 예측 방법 및 장치 | |
CN113449176A (zh) | 基于知识图谱的推荐方法及装置 | |
CN117897738A (zh) | 人工智能辅助的实况体育数据质量保证 | |
CN116029370B (zh) | 基于区块链的联邦学习的数据共享激励方法、装置及设备 | |
CN112016673A (zh) | 一种基于优化lstm的移动设备用户认证方法及装置 |
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 |