一种基于区块链的联邦学习训练方法、系统、设备及存储介质
未命名
07-15
阅读:115
评论:0
1.本发明涉及机器学习训练领域,特别涉及一种基于区块链的联邦学习训练方法、系统、设备及存储介质,利用区块链技术解决目前联邦学习存在的问题。
背景技术:
2.当今社会,数据隐私和数据安全问题已经成为一个越来越严重的问题。传统的机器学习方法通常需要集中式数据存储和处理,这意味着数据必须被收集到一个地方才能被用于训练模型,这可能会导致数据隐私泄露和安全性问题。
3.联邦学习(federated learning)是一种分布式机器学习方法,它允许多个设备在本地训练模型,并将训练结果上传到中央服务器进行聚合,从而实现模型的更新和改进,而不需要将原始数据集集中在一个地方。联邦学习的出现主要是为了解决中心化训练模型所面临的隐私和安全问题。传统的机器学习方法通常需要将原始数据集集中在一个地方进行训练,但是这种方法会暴露数据隐私,并且可能会遭受攻击。而联邦学习通过在本地训练模型并将模型更新上传到中央服务器进行聚合的方式,保护了数据隐私和安全性,同时也减轻了中央服务器的负担。
4.当使用联邦学习时,中央服务器通常被用来聚合设备或用户的本地模型更新,以更新全局模型。这种设计确实解决了一些隐私和数据安全问题,但同时也存在一些缺点。
5.在传统的联邦学习中,中央服务器是整个系统的核心,如果中央服务器遭受攻击或者出现故障,整个系统都将无法正常运行。此外,由于中央服务器需要处理大量的本地模型更新,这可能导致服务器性能问题和可用性问题。因此,当中央服务器成为系统的单点故障时,系统的安全性和可靠性都会受到影响。
6.此外,联邦学习中存在恶意节点问题,恶意节点可能会故意提交错误的数据或者篡改其他参与方的数据,从而影响模型的训练和准确性。智能合约(smart contract)是一种基于区块链技术的自动化合约,可以在没有第三方的情况下实现可编程的、自动化的交易和执行,从而使得合约的执行更加公平、透明、高效和安全。智能合约通常是以代码的形式编写的,它们被嵌入在区块链网络中,并通过区块链节点的共识机制来执行和验证。智能合约可以执行各种各样的任务,例如,数字货币的交易、资产管理、数据存储和权限管理等。智能合约的一个重要特点是自动化执行。一旦智能合约被编写和发布,它就会自动执行,不需要人为干预或第三方机构的介入。这使得智能合约的执行更加快速、高效、可靠和安全。智能合约的另一个特点是去中心化。智能合约不依赖于任何单一的中心化机构,而是基于区块链网络中的多个节点,这意味着智能合约的执行更加公平、透明和去中心化。
技术实现要素:
7.本发明的旨在解决当前联邦学习中存在的两个重要问题:单点故障和训练数据可审计问题,提出了一种基于区块链的联邦学习训练方法、系统、设备及存储介质。本发明提供的联邦学习训练方法包括至少一个客户端节点、梯度聚合节点、第一合约、第二合约,具
体训练步骤如下:
8.步骤一,至少一个客户端节点利用本地数据集进行训练,每个客户端节点生成一个客户端模型梯度,并将客户端模型梯度发送至梯度聚合节点及第一合约;
9.步骤二,梯度聚合节点将接收到的全部客户端模型梯度聚合为全局梯度,并将全局梯度发送至第二合约;
10.步骤三,客户端节点从第二合约中获取全局梯度,并继续执行步骤一。
11.具体的,在步骤一前还包括:客户端节点采用ecdsa或者国密sm2算法生成公钥和私钥,并将公钥发送给区块链节点;区块链节点将收到的公钥在区块链网络中公开,并将区块链节点的网络配置发送给客户端节点。
12.进一步的,步骤一还包括:客户端节点将客户端模型梯度对应的任务编号、训练轮次以及客户端节点的签名发送至梯度聚合节点及第一合约。
13.进一步的,步骤二还包括:梯度聚合节点将任务编号、训练轮次、梯度聚合节点的签名、客户端模型梯度以及客户端节点的签名发送至第二合约。
14.进一步的,客户端节点和梯度聚合节点为对等节点,可以相互转换。
15.进一步的,第一合约用于存证每一轮次训练的客户端模型梯度;第二合约用于存证每一轮次训练的全局梯度。
16.本发明还提出一种基于区块链的联邦学习训练系统,包括至少一个本地训练模块、梯度聚合模块、智能合约模块;至少一个本地训练模块利用本地数据集进行训练,生成局部模型梯度,并将局部模型梯度发送至梯度聚模块及智能合约模块。
17.进一步的,梯度聚合模块将接收到的全部局部模型梯度聚合为全局梯度,并将全局梯度发送至智能合约模块;
18.进一步的,本地训练模块从智能合约模块中获取全局梯度。
19.本发明还提出一种计算机设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现上述任一项方法。
20.本发明还提出一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述任一项方法。
21.本发明与现有技术相比,解决了联邦学习中存在的两个重要问题,首先在联邦学习中,每个参与方可以拥有自己的本地节点,这些本地节点共同构成一个区块链网络,每个节点都有权储存和验证数据。因此,区块链可以实现去中心化,每个参与方可以拥有自己的本地节点,避免中央服务器成为单点故障。第二,在联邦学习中,每个参与方将相关数据保存到智能合约中。智能合约的代码和执行机制被设计成不可篡改和可追溯的。智能合约的代码被编写成不可修改的形式,并且一旦部署在区块链上,就无法修改。同时,智能合约的执行过程也是可追溯的,所有的交易和状态变化都会被记录在区块链上,并且每个节点都可以验证和审计合约的执行过程。
附图说明
22.图1为本发明实施例中联邦学习训练方法的流程示意图;
23.图2为本发明实施例中客户端节点加入区块链的流程示意图;
24.图3为本发明实施例提供的一种联邦学习训练系统的架构图;
25.图4为本发明实施例提供的计算机设备架构图。
具体实施方式
26.下面结合附图,以文本识别为例,对本发明进行详细说明。
27.本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
28.本发明实施例提供的联邦学习训练方法包括至少一个客户端节点、梯度聚合节点、第一合约、第二合约。其中客户端节点为每个参与方的本地节点,所有的客户端节点构成一个区块链网络,每个节点都可以储存或验证数据。每个客户端节点都可以在本地独立进行训练。梯度聚合节点为区块链网络中的任一节点,梯度聚合节点可以是任一个客户端节点,在本发明实施例中,客户端节点与梯度聚合节点为对等关系,在不同时间或根据不同需求可以互换。
29.本发明实施例提供的第一合约及第二合约为根据训练需要约定的智能合约,在本发明实施例中第一合约为智能合约b,第二合约为智能合约a。具体的参考图1。图1为本发明实施例提供的一种联邦学习训练方法的流程示意图。步骤一,至少一个客户端节点利用本地数据集进行训练,每个客户端节点生成一个客户端模型梯度,每个客户端模型梯度在本发明实施例中以局部模型梯度gl示例,除了局部模型梯度gl外,每个客户端节点还会将局部模型梯度gl对应的任务编号t、训练轮次e以及客户端节点的签名sigl发送至梯度聚合节点及智能合约b。
30.步骤二,梯度聚合节点将接收到的全部局部模型梯度gl聚合为全局梯度gw,同时将全局梯度gw、任务编号t、训练轮次e、梯度聚合节点的签名sigw、所有的局部模型梯度gl、所有的客户端节点签名sigl发送至智能合约a;
31.步骤三,客户端节点从智能合约a中获取全局梯度gw,并继续执行步骤一。
32.在本发明实施例提供的联邦学习训练方法中,每个客户端节点即每个参与方将相关数据保存到智能合约a及智能合约b中。智能合约a或智能合约b的代码和执行机制被设计成不可篡改和可追溯的。智能合约a或智能合约b的代码被编写成不可修改的形式,并且一旦部署在区块链上,就无法修改。同时,智能合约a和/或智能合约b的执行过程也是可追溯的,所有的交易和状态变化都会被记录在区块链上,并且在每个节点都可以验证和审计合约的执行过程。利用本发明实施例提供的联邦学习训练方法,可以减少甚至杜绝联邦学习中存在的恶意节点问题,每个节点都无法故意提交错误的数据或者篡改其他参与方的数据,从而保证了模型的训练以及训练结果的准确性。
33.本发明实施例提供的联邦学习训练方法还包括将本地客户端加入到区块链中,具体步骤参考图2。具体的,在上述步骤一前还包括:客户端节点采用ecdsa或者国密sm2算法生成公钥p和私钥s,并将公钥p发送给区块链节点;区块链节点将收到的公钥p在区块链网络中公开,并将区块链节点的网络配置c发送给客户端节点。
34.将本地所有参与方的节点均加入区块链网络,即实现了每个参与方都拥有自己的本地节点,这些本地节点共同构成一个区块链网络,每个节点都有权储存和验证数据。因此,可以消除中央服务器的单点故障风险。
35.在本发明实施例中,智能合约a用于存证每一轮次训练的全局梯度gw;智能合约b用于存证每一轮次训练的局部模型梯度gl。
36.本发明还提出一种基于区块链的联邦学习训练系统,包括至少一个本地训练模块、梯度聚合模块、智能合约模块。参考图3,至少一个本地训练模块利用本地数据集进行训练,生成局部模型梯度,并将局部模型梯度发送至梯度聚合模块及智能合约模块。
37.在本实施例的系统中,智能合约模块可以是根据不同需求设定的多个智能合约模板,本发明实施例以两个不同的智能合约为例,在实际应用中,根据需求不限制智能合约的数量,可以是三个不同智能合约甚至更多,均可以通过智能合约模块实现上述功能。
38.与上述实施例提供的联邦学习训练方法相同,梯度聚合模块将接收到的全部局部模型梯度聚合为全局梯度,并将全局梯度发送至智能合约模块。然后任一本地训练模块即参与方可以从智能合约模块中获取全局梯度。
39.本发明实施例还提供一种计算机设备,参考图4,该计算机设备包括处理器以及存储器。其中,处理器用于执行存储器中存储的可执行模块,例如计算机程序。
40.其中,存储器可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。该存储器用于存储程序,所述处理器在接收到执行指令后,执行上述程序,前述本发明实施例任一实施例揭示的、方法可以应用于处理器中,或者由处理器实现。
41.处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
42.本发明实施例所提供的联邦学习训练方法、系统、设备和计算机可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
43.本发明与现有技术相比,解决了联邦学习中存在的两个重要问题,首先在联邦学习中,每个参与方可以拥有自己的本地节点,这些本地节点共同构成一个区块链网络,每个节点都有权储存和验证数据。因此,区块链可以实现去中心化,每个参与方可以拥有自己的本地节点,避免中央服务器成为单点故障。第二,在联邦学习中,每个参与方将相关数据保存到智能合约中。智能合约的代码和执行机制被设计成不可篡改和可追溯的。智能合约的代码被编写成不可修改的形式,并且一旦部署在区块链上,就无法修改。同时,智能合约的
执行过程也是可追溯的,所有的交易和状态变化都会被记录在区块链上,并且每个节点都可以验证和审计合约的执行过程。
44.本发明的权利保护范围由所附权利要求书限定,所述技术、方法,以及使用所述技术、方法,可用于文本识别、语音识别,还是图像识别和视频信号处理,凡以本发明构造的激活函数作为神经网络的组成部分,用于文本识别、语音识别,以及图像识别和视频信号处理,均应当被视为权利说明书要求权利保护的一部分,理应受到相关法律的保护。
技术特征:
1.一种基于区块链的联邦学习训练方法,包括至少一个客户端节点、梯度聚合节点、第一合约、第二合约,其特征在于,包括步骤一,所述至少一个客户端节点利用本地数据集进行训练,每个所述客户端节点生成一个客户端模型梯度,并将所述客户端模型梯度发送至所述梯度聚合节点及所述第一合约;步骤二,所述梯度聚合节点将接收到的全部所述客户端模型梯度聚合为全局梯度,并将所述全局梯度发送至所述第二合约;步骤三,所述客户端节点从所述第二合约中获取所述全局梯度,并继续执行所述步骤一。2.根据权利要求1所述的一种基于区块链的联邦学习训练方法,其特征在于,在所述步骤一前还包括:所述客户端节点采用ecdsa或者国密sm2算法生成公钥和私钥,并将所述公钥发送给区块链节点;所述区块链节点将收到的所述公钥在区块链网络中公开,并将所述区块链节点的网络配置发送给所述客户端节点。3.根据权利要求1所述的一种基于区块链的联邦学习训练方法,其特征在于,所述步骤一还包括:所述客户端节点将所述客户端模型梯度对应的任务编号、训练轮次以及所述客户端节点的签名发送至所述梯度聚合节点及所述第一合约。4.根据权利要求1所述的一种基于区块链的联邦学习训练方法,其特征在于,所述步骤二还包括:所述梯度聚合节点将所述任务编号、所述训练轮次、所述梯度聚合节点的签名、所述客户端模型梯度以及所述客户端节点的签名发送至所述第二合约。5.根据权利要求1所述的一种基于区块链的联邦学习训练方法,其特征在于,所述客户端节点和所述梯度聚合节点为对等节点,可以相互转换。6.根据权利要求1所述的一种基于区块链的联邦学习训练方法,其特征在于,所述第一合约用于存证每一轮次训练的所述客户端模型梯度;所述第二合约用于存证每一轮次训练的所述全局梯度。7.一种基于区块链的联邦学习训练系统,其特征在于,包括至少一个本地训练模块、梯度聚合模块、智能合约模块;所述至少一个本地训练模块利用本地数据集进行训练,生成局部模型梯度,并将所述局部模型梯度发送至所述梯度聚模块及所述智能合约模块;所述梯度聚合模块将接收到的全部所述局部模型梯度聚合为全局梯度,并将所述全局梯度发送至所述智能合约模块;所述本地训练模块从所述智能合约模块中获取所述全局梯度。8.一种计算机设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项所述的方法。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现如权利要求1-6任一项所述的方法。
技术总结
本发明提供一种基于区块链的联邦学习训练方法、系统、设备及存储介质,通过将本地客户端节点加入组成区块链网络,在根据多种智能合约的协同,将本地客户端节点训练的局部模型梯度在区块链网络节点上进行聚合,最终实现去中心化的、高效的联邦学习训练方法,克服了现有技术存在的单点故障问题及训练数据无法验证审核的问题。审核的问题。审核的问题。
技术研发人员:胡雪晖 朱静熹 石荣泉 褚学森 洪华军 吴天祺 郭伟 李金库
受保护的技术使用者:中国船舶科学研究中心 西安电子科技大学
技术研发日:2023.03.30
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
