CN114443754A - 基于区块链的联邦学习处理方法、装置、系统以及介质 - Google Patents
基于区块链的联邦学习处理方法、装置、系统以及介质 Download PDFInfo
- Publication number
- CN114443754A CN114443754A CN202011210463.2A CN202011210463A CN114443754A CN 114443754 A CN114443754 A CN 114443754A CN 202011210463 A CN202011210463 A CN 202011210463A CN 114443754 A CN114443754 A CN 114443754A
- Authority
- CN
- China
- Prior art keywords
- block
- data
- gradient
- training
- node
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/244—Grouping and aggregation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Finance (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Accounting & Taxation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于区块链的联邦学习处理方法、装置、区块链网络系统以及存储介质,其中的方法包括:控制各个区块节点基于测试样本对深度学习模型进行模型训练;获取各个区块节点完成模型训练的本地训练时长信息,确定进行联邦学习的可信区块节点;各个区块节点使用联邦学习算法和训练数据进行训练,获得模型参数的梯度数据;可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理。本公开的方法、装置以及存储介质,通过区块链技术进行联邦数据共享,寻找最佳性能的区块节点成为可信第三方机构,能够提升模型训练的收敛速度以及精度;可以实现去中心化,取消联邦学习中对于第三方证书机构或者其他可信实体机构的中心化依赖。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的联邦学习处理方法、装置、区块链网络系统以及存储介质。
背景技术
区块链技术可以基于共识机制进行结块处理来保存信息,从而保证信息不可篡改,提高信息安全性。联邦学习(Federated Learning)指的是多个数据拥有方在原始数据不出本地的情况下也可进行模型训练并得到最终模型的计算过程,并且保证模型效果与聚合训练效果的差距足够小。目前,可以在区块链场景下利用联邦学习方法进行模型训练,但是,在训练中无法有效识别参与节点的模型训练能力,容易出现降低模型训练的收敛速度以及模型的精度的情况。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种基于区块链的联邦学习处理方法、装置、区块链网络系统以及存储介质。
根据本公开的第一方面,提供一种基于区块链的联邦学习处理方法,包括:获取测试样本,将所述测试样本发送给区块链网络中、需要进行模型训练的各个区块节点;在所述各个区块节点中部署深度学习模型,控制各个区块节点基于所述测试样本对部署在本地的深度学习模型进行模型训练;获取所述各个区块节点完成所述模型训练的本地训练时长信息,基于所述本地时长信息确定进行联邦学习的可信区块节点;生成联邦学习任务,基于所述联邦学习任务向所述各个区块节点发送联邦学习的训练命令,以使所述各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据;所述可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理。
可选地,所述基于所述本地时长信息确定进行联邦学习的可信区块节点包括:获取全部本地时长信息;将与所述全部本地时长信息中的最短本地时长信息相对应的区块节点确定为所述可信区块节点。
可选地,在基于所述测试样本进行模型训练时,根据预设的模型难度更新机制,对部署所述各个区块节点中的深度学习模型进行训练难度改变处理;在所述训练难度改变处理完成后,控制各个区块节点进行所述模型训练。
可选地,所述可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理包括:所述可信区块节点基于其他区块节点的梯度数据进行聚合处理,生成梯度聚合数据;所述可信区块节点执行预设的执行合约,将所述梯度聚合数据广播给所述其他区块节点,以使所述其他区块节点存储所述梯度聚合数据,并根据所述梯度聚合数据更新部署在本地的所述深度学习模型。
可选地,所述可信区块节点基于预设的密码生成机制生成公私钥对,将所述公私钥对发送给所述其他区块节点;所述可信区块节点和所述其他区块节点基于所述公私钥对进行数据传输。
可选地,所述其他区块节点使用所述公私钥对中的公钥对所述梯度数据进行加密,并将加密的所述梯度数据发送给所述可信区块节点;所述可信区块节点使用所述公私钥对中的私钥对加密的所述梯度数据进行解密,获得所述梯度数据。
可选地,所述可信区块节点使用所述公私钥对中的公钥对所述梯度聚合数据进行加密处理,并将加密的所述梯度聚合数据发送给所述其他区块节点;所述其他区块节点使用所述公私钥对中的私钥对加密的所述梯度聚合数据进行解密,获得所述梯度聚合数据。
可选地,所述深度学习模型包括:基于神经网络的声纹模型。
根据本公开的第二方面,提供一种基于区块链的联邦学习处理装置,包括:测试样本处理模块,用于获取测试样本,将所述测试样本发送给区块链网络中、需要进行模型训练的各个区块节点;模型训练测试模块,用于在所述各个区块节点中部署深度学习模型,控制各个区块节点基于所述测试样本对部署在本地的深度学习模型进行模型训练;可信节点确定模块,用于获取所述各个区块节点完成所述模型训练的本地训练时长信息,基于所述本地时长信息确定进行联邦学习的可信区块节点;模型学习处理模块,用于生成联邦学习任务,基于所述联邦学习任务向所述各个区块节点发送联邦学习的训练命令,以使所述各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据;其中,所述可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理。
可选地,所述可信节点确定模块,用于获取全部本地时长信息;将与所述全部本地时长信息中的最短本地时长信息相对应的区块节点确定为所述可信区块节点。
可选地,模型难度更新模块,用于在基于所述测试样本进行模型训练时,根据预设的模型难度更新机制,对部署所述各个区块节点中的深度学习模型进行训练难度改变处理;所述模型训练测试模块,用于在所述训练难度改变处理完成后,控制各个区块节点进行所述模型训练。
根据本公开的第三方面,提供一种基于区块链的联邦学习处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
根据本公开的第四方面,提供一种区块链网络系统,包括:如上所述的基于区块链的联邦学习处理装置;可信区块节点,用于基于其他区块节点的梯度数据进行聚合处理,生成梯度聚合数据;执行预设的执行合约,将所述梯度聚合数据广播给所述其他区块节点,以使所述其他区块节点存储所述梯度聚合数据,并根据所述梯度聚合数据更新部署在本地的所述深度学习模型。
可选地,所述可信区块节点,用于基于预设的密码生成机制生成公私钥对,将所述公私钥对发送给所述其他区块节点;其中,所述可信区块节点和所述其他区块节点基于所述公私钥对进行数据传输。
可选地,所述其他区块节点,用于使用所述公私钥对中的公钥对所述梯度数据进行加密,并将加密的所述梯度数据发送给所述可信区块节点;所述可信区块节点,哟用于使用所述公私钥对中的私钥对加密的所述梯度数据进行解密,获得所述梯度数据。
可选地,所述可信区块节点,用于使用所述公私钥对中的公钥对所述梯度聚合数据进行加密处理,并将加密的所述梯度聚合数据发送给所述其他区块节点;所述其他区块节点使用所述公私钥对中的私钥对加密的所述梯度聚合数据进行解密,获得所述梯度聚合数据。
根据本公开的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该指令被一个或多个处理器执行时实现如上所述的方法的步骤。
本公开的基于区块链的联邦学习处理方法、装置、区块链网络系统以及存储介质,根据各个区块节点完成模型训练的本地训练时长信息,确定进行联邦学习的可信区块节点;各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据;可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理;通过区块链技术进行联邦数据共享,寻找最佳性能的区块节点成为可信第三方机构,通过本地时长信息确定计算能力,获取计算能力强的区块节点来进行模型的训练和聚合,并将聚合梯度写入区块链中;能够提升模型训练的收敛速度以及模型的精度;可以实现去中心化,取消联邦学习中对于第三方证书机构或者其他可信实体机构的中心化依赖。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开的基于区块链的联邦学习处理方法的一个实施例的流程示意图;
图2为根据本公开的基于区块链的联邦学习处理方法的一个实施例中的确定可信区块节点的流程示意图;
图3为确定可信区块节点的示意图;
图4A为区块节点进行数据传输的报文格式示意图;
图4B为可信区块节点进行梯度聚合的示意图;
图5为根据本公开的基于区块链的联邦学习处理装置的一个实施例的模块示意图;
图6为根据本公开的基于区块链的联邦学习处理装置的另一个实施例的模块示意图;
图7为根据本公开的基于区块链的联邦学习处理装置的又一个实施例的模块示意图。
具体实施方式
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
区块链使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护,具有可信数据和不可篡改性。
联邦学习是为了解决数据孤岛和数据的隐私性安全问题。假设公司A和公司B希望共同训练机器学习模型,并且他们的业务系统各自具有自己的数据,此外,公司B还具有模型需要预测的标签数据。出于数据隐私和安全原因,A和B无法直接交换数据。为了在训练过程中确保数据的机密性,需要第三方协作者信任机构的参与。
图1为根据本公开的基于区块链的联邦学习处理方法的一个实施例的流程示意图,如图1所示:
步骤101,获取测试样本,将测试样本发送给区块链网络中、需要进行模型训练的各个区块节点。测试样本为参与联邦学习的机构等提供的测试样本。
步骤102,在各个区块节点中部署深度学习模型,控制各个区块节点基于测试样本对部署在本地的深度学习模型进行模型训练。
步骤103,获取各个区块节点完成模型训练的本地训练时长信息,基于本地时长信息确定进行联邦学习的可信区块节点。
通过区块链技术来进行联邦数据共享,寻找最佳性能的区块节点成为可信第三方机构;通过本地时长信息能够确定计算能力,获取计算能力强的区块节点进行模型的训练和聚合。
步骤104,生成联邦学习任务,基于联邦学习任务向各个区块节点发送联邦学习的训练命令,以使各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据。
步骤105,可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理。
图2为根据本公开的基于区块链的联邦学习处理方法的一个实施例中的确定可信区块节点的流程示意图,如图2所示:
步骤201,获取全部本地时长信息。
步骤202,将与全部本地时长信息中的最短本地时长信息相对应的区块节点确定为可信区块节点。如果本地时长最短,则可以确定此区块节点的运算能力最强。
获取联邦学习参与者提供的数据样本量,作为测试样本;控制每个区块节点基于测试样本进行深度学习模型的数据训练,最先完成深度学习模型训练的区块节点拥有最佳的计算能力,可以作为可信区块节点,获得最终的数据训练权并成为可信中间机构。如图3所示,通过算力比拼获胜的区块节点成为联邦学习的可信机构,可以提供梯度聚合能力,可以实现去中心化,取消联邦学习中对于第三方证书机构或者其他可信实体机构的中心化依赖。
在一个实施例中,在基于测试样本进行模型训练时,根据预设的模型难度更新机制,对部署各个区块节点中的深度学习模型进行训练难度改变处理。在训练难度改变处理完成后,控制各个区块节点进行模型训练。
训练难度改变处理包括:增加测试样本的数量、增加深度学习模型的特征量数量、增加深度学习模型的层数、修改深度学习模型的算法规则等,通过训练难度改变处理能够增加模型的训练难度。可以采用现有的多种方法进行训练难度改变处理,增加模型的训练难度。
深度学习模型可以为基于神经网络的声纹模型等,神经网络可以为现有的多种神经网络。通过调整声纹模型训练的样本量、声纹训练前的语音角色分离或文本角色分离规则和特征维度来改变矩阵乘法的难度,从而使训练难度增加,改变区块链工作量证明的难度,进行联邦学习中信任机构的选择。例如,使用如图4A所示的报文,对各个区块节点发送训练难度改变处理信息,可以对各个区块节点中的深度学习模型进行训练难度改变处理。
在一个实施例中,区块链网络中包含可信区块节点和参与联邦学习的其他区块节点,各区块节点通过联邦学习共同训练模型,并提供相应数据,完成联邦学习任务。联邦学习任务的训练方法通常通过梯度下降的方法进行训练,因此各区块节点在训练时无法完成一个完整梯度的训练,会生成中间梯度数据。
可以在区块链中生成并部署智能合约,智能合约可以使用现有的技术生成。智能合约有多种,例如包括执行合约等。可信区块节点基于其他区块节点的梯度数据进行聚合处理,生成梯度聚合数据。可信区块节点执行预设的执行合约,将梯度聚合数据广播给其他区块节点,以使其他区块节点存储梯度聚合数据,并根据梯度聚合数据更新部署在本地的深度学习模型。可信区块节点可以使用多种现有的数据广播技术方案,用于将梯度聚合数据广播给其他区块节点。可信区块节点也可以将梯度聚合数据写在区块链网络中,使使其他区块节点获得并存储梯度聚合数据。
区块链节点可以搭建联盟链来从中选择出可信和算力强的机构作为可信机构,作为可信区块节点,能够取消双方对于彼此的不信任和保护数据的隐私。可信区块节点通过安全聚合获得的梯度聚合数据同步广播到其他区块节点进行保存,可以使深度学习模型安全不可篡改。
在一个实施例中,联邦学习是一种分布式的机器学习算法,多个区块节点协同训练一个共享的深度学习模型。在训练过程中,用户的隐私数据始终保留在本地而无需出域,区块节点只上传模型训练的梯度数据,梯度数据不以明文发送。可信区块节点基于预设的密码生成机制生成公私钥对,将公私钥对发送给其他区块节点,可信区块节点和其他区块节点基于公私钥对进行数据传输。可信区块节点可以将公私钥对写入区块链网络中,其他区块节点获取公私钥对并存储。
成为可信机构节点的可信区块节点可以按照区块链的密码机制产生参与者的公私钥对,供参与者与服务器之间数据交互时加解密使用。例如,公私钥对的产生机制可以利用区块链的密码机制,私钥经过椭圆曲线算法(SECP256K1)算法加密生成了公钥。
其他区块节点使用公私钥对中的公钥对梯度数据进行加密,并将加密的梯度数据发送给可信区块节点,可以采用多种报文进行发送,或者,其他区块节点将加密的梯度数据写入区块链网络中,以使可信区块节点获取并存储。可信区块节点使用公私钥对中的私钥对加密的梯度数据进行解密,获得梯度数据。
如图4B所示,可信区块节点基于其他区块节点的梯度数据进行聚合处理,生成梯度聚合数据。可信区块节点使用公私钥对中的公钥对梯度聚合数据进行加密处理,并将加密的梯度聚合数据发送给其他区块节点,可以采用多种报文进行发送,或者,可信区块节点将加密的梯度聚合数据写入区块链网络中,以使可信区块节点获取并存储。其他区块节点使用公私钥对中的私钥对加密的梯度聚合数据进行解密,获得梯度聚合数据。
在一个实施例中,如图5所示,本公开提供一种基于区块链的联邦学习处理装置50,包括:测试样本处理模块51、模型训练测试模块52、可信节点确定模块53和模型学习处理模块54。
测试样本处理模块51获取测试样本,将测试样本发送给区块链网络中、需要进行模型训练的各个区块节点。模型训练测试模块52在各个区块节点中部署深度学习模型,控制各个区块节点基于测试样本对部署在本地的深度学习模型进行模型训练。
可信节点确定模块53获取各个区块节点完成模型训练的本地训练时长信息,基于本地时长信息确定进行联邦学习的可信区块节点。例如,可信节点确定模块53获取全部本地时长信息,将与全部本地时长信息中的最短本地时长信息相对应的区块节点确定为可信区块节点。
模型学习处理模块54生成联邦学习任务,基于联邦学习任务向各个区块节点发送联邦学习的训练命令,以使各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据;其中,可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理。
如图6所示,基于区块链的联邦学习处理装置50包括模型难度更新模块55,模型难度更新模块55在基于测试样本进行模型训练时,根据预设的模型难度更新机制,对部署各个区块节点中的深度学习模型进行训练难度改变处理。模型训练测试模块52在训练难度改变处理完成后,控制各个区块节点进行模型训练。
图7为根据本公开的基于区块链的联邦学习处理装置的又一个实施例的模块示意图。如图7所示,该装置可包括存储器71、处理器72、通信接口73以及总线74。存储器71用于存储指令,处理器72耦合到存储器71,处理器72被配置为基于存储器71存储的指令执行实现上述的基于区块链的联邦学习处理方法。
存储器71可以为高速RAM存储器、非易失性存储器(NoN-volatile memory)等,存储器71也可以是存储器阵列。存储器71还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器72可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明公开的基于区块链的联邦学习处理方法的一个或多个集成电路。
在一个实施例中,本公开提供一种区块链网络系统,包括如上任一实施例中的基于区块链的联邦学习处理装置和可信区块节点,可信区块节点基于其他区块节点的梯度数据进行聚合处理,生成梯度聚合数据。可信区块节点执行预设的执行合约,将梯度聚合数据广播给其他区块节点,以使其他区块节点存储梯度聚合数据,并根据梯度聚合数据更新部署在本地的深度学习模型。
可信区块节点基于预设的密码生成机制生成公私钥对,将公私钥对发送给其他区块节点;其中,可信区块节点和其他区块节点基于公私钥对进行数据传输。
其他区块节点使用公私钥对中的公钥对梯度数据进行加密,并将加密的梯度数据发送给可信区块节点。可信区块节点使用公私钥对中的私钥对加密的梯度数据进行解密,获得梯度数据。可信区块节点使用公私钥对中的公钥对梯度聚合数据进行加密处理,并将加密的梯度聚合数据发送给其他区块节点;其他区块节点使用公私钥对中的私钥对加密的梯度聚合数据进行解密,获得梯度聚合数据。
在一个实施例中,本公开还提供一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一实施例涉及的基于区块链的联邦学习处理方法。
上述实施例提供的基于区块链的联邦学习处理方法、装置、区块链网络系统以及存储介质,根据各个区块节点完成模型训练的本地训练时长信息,确定进行联邦学习的可信区块节点;各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据;可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理;通过区块链技术进行联邦数据共享,寻找最佳性能的区块节点成为可信第三方机构,通过本地时长信息确定计算能力,获取计算能力强的区块节点来进行模型的训练和聚合,并将聚合梯度写入区块链中;能够提升模型训练的收敛速度以及模型的精度;可以实现去中心化,取消联邦学习中对于第三方证书机构或者其他可信实体机构的中心化依赖。
本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (17)
1.一种基于区块链的联邦学习处理方法,包括:
获取测试样本,将所述测试样本发送给区块链网络中、需要进行模型训练的各个区块节点;
在所述各个区块节点中部署深度学习模型,控制各个区块节点基于所述测试样本对部署在本地的深度学习模型进行模型训练;
获取所述各个区块节点完成所述模型训练的本地训练时长信息,基于所述本地时长信息确定进行联邦学习的可信区块节点;
生成联邦学习任务,基于所述联邦学习任务向所述各个区块节点发送联邦学习的训练命令,以使所述各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据;
所述可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理。
2.如权利要求1所述的方法,所述基于所述本地时长信息确定进行联邦学习的可信区块节点包括:
获取全部本地时长信息;
将与所述全部本地时长信息中的最短本地时长信息相对应的区块节点确定为所述可信区块节点。
3.如权利要求1所述的方法,还包括:
在基于所述测试样本进行模型训练时,根据预设的模型难度更新机制,对部署所述各个区块节点中的深度学习模型进行训练难度改变处理;
在所述训练难度改变处理完成后,控制各个区块节点进行所述模型训练。
4.如权利要求1所述的方法,所述可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理包括:
所述可信区块节点基于其他区块节点的梯度数据进行聚合处理,生成梯度聚合数据;
所述可信区块节点执行预设的执行合约,将所述梯度聚合数据广播给所述其他区块节点,以使所述其他区块节点存储所述梯度聚合数据,并根据所述梯度聚合数据更新部署在本地的所述深度学习模型。
5.如权利要求4所述的方法,还包括:
所述可信区块节点基于预设的密码生成机制生成公私钥对,将所述公私钥对发送给所述其他区块节点;
所述可信区块节点和所述其他区块节点基于所述公私钥对进行数据传输。
6.如权利要求5所述的方法,还包括:
所述其他区块节点使用所述公私钥对中的公钥对所述梯度数据进行加密,并将加密的所述梯度数据发送给所述可信区块节点;
所述可信区块节点使用所述公私钥对中的私钥对加密的所述梯度数据进行解密,获得所述梯度数据。
7.如权利要求5所述的方法,还包括:
所述可信区块节点使用所述公私钥对中的公钥对所述梯度聚合数据进行加密处理,并将加密的所述梯度聚合数据发送给所述其他区块节点;
所述其他区块节点使用所述公私钥对中的私钥对加密的所述梯度聚合数据进行解密,获得所述梯度聚合数据。
8.如权利要求1至7任一项所述的方法,其中,
所述深度学习模型包括:基于神经网络的声纹模型。
9.一种基于区块链的联邦学习处理装置,包括:
测试样本处理模块,用于获取测试样本,将所述测试样本发送给区块链网络中、需要进行模型训练的各个区块节点;
模型训练测试模块,用于在所述各个区块节点中部署深度学习模型,控制各个区块节点基于所述测试样本对部署在本地的深度学习模型进行模型训练;
可信节点确定模块,用于获取所述各个区块节点完成所述模型训练的本地训练时长信息,基于所述本地时长信息确定进行联邦学习的可信区块节点;
模型学习处理模块,用于生成联邦学习任务,基于所述联邦学习任务向所述各个区块节点发送联邦学习的训练命令,以使所述各个区块节点使用联邦学习算法和训练数据,对部署在本地的深度学习模型进行训练,获得模型参数的梯度数据;
其中,所述可信区块节点获取其他区块节点的梯度数据,进行梯度聚合处理。
10.如权利要求9所述的装置,其中,
所述可信节点确定模块,用于获取全部本地时长信息;将与所述全部本地时长信息中的最短本地时长信息相对应的区块节点确定为所述可信区块节点。
11.如权利要求9所述的装置,还包括:
模型难度更新模块,用于在基于所述测试样本进行模型训练时,根据预设的模型难度更新机制,对部署所述各个区块节点中的深度学习模型进行训练难度改变处理;
所述模型训练测试模块,用于在所述训练难度改变处理完成后,控制各个区块节点进行所述模型训练。
12.一种基于区块链的联邦学习处理装置,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至3中任一项所述的方法。
13.一种区块链网络系统,包括:
如权利要求9至12任一项所述的基于区块链的联邦学习处理装置;
可信区块节点,用于基于其他区块节点的梯度数据进行聚合处理,生成梯度聚合数据;执行预设的执行合约,将所述梯度聚合数据广播给所述其他区块节点,以使所述其他区块节点存储所述梯度聚合数据,并根据所述梯度聚合数据更新部署在本地的所述深度学习模型。
14.如权利要求13所述的系统,其中,
所述可信区块节点,用于基于预设的密码生成机制生成公私钥对,将所述公私钥对发送给所述其他区块节点;
其中,所述可信区块节点和所述其他区块节点基于所述公私钥对进行数据传输。
15.如权利要求14所述的系统,其中,
所述其他区块节点,用于使用所述公私钥对中的公钥对所述梯度数据进行加密,并将加密的所述梯度数据发送给所述可信区块节点;
所述可信区块节点,哟用于使用所述公私钥对中的私钥对加密的所述梯度数据进行解密,获得所述梯度数据。
16.如权利要求14所述的系统,其中,
所述可信区块节点,用于使用所述公私钥对中的公钥对所述梯度聚合数据进行加密处理,并将加密的所述梯度聚合数据发送给所述其他区块节点;
所述其他区块节点使用所述公私钥对中的私钥对加密的所述梯度聚合数据进行解密,获得所述梯度聚合数据。
17.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被一个或多个处理器执行时实现权利要求1至8任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011210463.2A CN114443754A (zh) | 2020-11-03 | 2020-11-03 | 基于区块链的联邦学习处理方法、装置、系统以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011210463.2A CN114443754A (zh) | 2020-11-03 | 2020-11-03 | 基于区块链的联邦学习处理方法、装置、系统以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443754A true CN114443754A (zh) | 2022-05-06 |
Family
ID=81361196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011210463.2A Pending CN114443754A (zh) | 2020-11-03 | 2020-11-03 | 基于区块链的联邦学习处理方法、装置、系统以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443754A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115577858A (zh) * | 2022-11-21 | 2023-01-06 | 山东能源数智云科技有限公司 | 基于区块链的碳排放量预测方法、装置及电子设备 |
CN116126451A (zh) * | 2023-04-10 | 2023-05-16 | 北京邮电大学 | 基于区块链网络的联邦学习工作流构建方法及相关设备 |
CN116436699A (zh) * | 2023-06-09 | 2023-07-14 | 北京原语科技有限公司 | 基于加密方式的联邦学习数据安全训练方法及系统 |
-
2020
- 2020-11-03 CN CN202011210463.2A patent/CN114443754A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115577858A (zh) * | 2022-11-21 | 2023-01-06 | 山东能源数智云科技有限公司 | 基于区块链的碳排放量预测方法、装置及电子设备 |
CN115577858B (zh) * | 2022-11-21 | 2023-04-07 | 山东能源数智云科技有限公司 | 基于区块链的碳排放量预测方法、装置及电子设备 |
CN116126451A (zh) * | 2023-04-10 | 2023-05-16 | 北京邮电大学 | 基于区块链网络的联邦学习工作流构建方法及相关设备 |
CN116436699A (zh) * | 2023-06-09 | 2023-07-14 | 北京原语科技有限公司 | 基于加密方式的联邦学习数据安全训练方法及系统 |
CN116436699B (zh) * | 2023-06-09 | 2023-08-22 | 北京原语科技有限公司 | 基于加密方式的联邦学习数据安全训练方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108616539B (zh) | 一种区块链交易记录访问的方法及系统 | |
WO2020259635A1 (zh) | 一种区块链数据共享方法及装置 | |
CN113204787B (zh) | 基于区块链的联邦学习隐私保护方法、系统、设备和介质 | |
CN109040090B (zh) | 一种数据加密方法及装置 | |
CN110033258B (zh) | 基于区块链的业务数据加密方法及装置 | |
CN110084068A (zh) | 区块链系统及用于区块链系统的数据处理方法 | |
TW201914254A (zh) | 資料加密和解密的方法、裝置和系統 | |
CN112580821A (zh) | 一种联邦学习方法、装置、设备及存储介质 | |
CN114443754A (zh) | 基于区块链的联邦学习处理方法、装置、系统以及介质 | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
CN110264200A (zh) | 区块链数据处理方法及装置 | |
CN110289968A (zh) | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 | |
CN109861956B (zh) | 基于状态通道的数据验证系统、方法、装置及设备 | |
KR101615137B1 (ko) | 속성 기반의 데이터 접근 방법 | |
EP3506560A1 (en) | Secure provisioning of keys | |
CN107342861A (zh) | 一种数据处理方法、装置及系统 | |
Huang et al. | DAPA: A decentralized, accountable, and privacy-preserving architecture for car sharing services | |
CN106022145A (zh) | 一种基于密文索引的数据查询方法 | |
CN108881240B (zh) | 基于区块链的会员隐私数据保护方法 | |
CN112039883A (zh) | 一种区块链的数据分享方法及装置 | |
CN104901968A (zh) | 一种安全云存储系统中的密钥管理分发方法 | |
Peng et al. | Bflp: An adaptive federated learning framework for internet of vehicles | |
CN110716724B (zh) | 基于fpga实现隐私区块链的方法及装置 | |
CN112818369A (zh) | 一种联合建模方法及装置 | |
Lin et al. | A dynamic key management and secure data transfer based on m-tree structure with multi-level security framework for Internet of vehicles |
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 |