CN113837761A - 一种基于区块链和可信执行环境的联邦学习方法及系统 - Google Patents
一种基于区块链和可信执行环境的联邦学习方法及系统 Download PDFInfo
- Publication number
- CN113837761A CN113837761A CN202111416453.9A CN202111416453A CN113837761A CN 113837761 A CN113837761 A CN 113837761A CN 202111416453 A CN202111416453 A CN 202111416453A CN 113837761 A CN113837761 A CN 113837761A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- contract
- task
- data
- 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 33
- 238000012549 training Methods 0.000 claims abstract description 126
- 238000012795 verification Methods 0.000 claims abstract description 57
- 230000002776 aggregation Effects 0.000 claims abstract description 46
- 238000004220 aggregation Methods 0.000 claims abstract description 46
- 238000005304 joining Methods 0.000 claims abstract description 6
- 238000003745 diagnosis Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 8
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 238000006116 polymerization reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 2
- 238000013499 data model Methods 0.000 claims description 2
- 230000007613 environmental effect Effects 0.000 claims description 2
- 230000005284 excitation Effects 0.000 claims description 2
- 238000012905 input function Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 claims description 2
- 238000003062 neural network model Methods 0.000 claims description 2
- 230000000638 stimulation Effects 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 239000013598 vector Substances 0.000 claims description 2
- 238000010801 machine learning Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000010200 validation analysis Methods 0.000 description 5
- 201000010099 disease Diseases 0.000 description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004195 computer-aided diagnosis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于区块链和可信执行环境的联邦学习方法及系统,属于人工智能机器学习技术领域。本发明结合区块链和可信执行环境技术,在任务征集阶段,任务所有者在区块链网络广播发起众包模型训练任务。收到任务后,满足要求的节点申请加入参与者合约,任务发布者从所有申请者中随机选择满足训练要求数目的参与者并下发任务。被选中的参与者在本地对模型进行训练,同时,在自己的TEE环境中,通过对比模型更新的哈希值是否一致生成模型训练的正确性证明。当完成所有模型训练更新后,参与者将更新的模型和证明发送至聚合合约进行模型聚合和验证,验证通过后向参与节点发放相应奖励。本发明实现了高置信度验证,解决了对训练参与者的不可信问题。
Description
技术领域
本发明涉及一种基于区块链和可信执行环境的联邦学习方法及系统,属于人工智能机器学习技术领域。
背景技术
机器学习作为一种极具前景的技术,已经成为计算机领域研究的热点,其理论和方法在工程应用和科学领域得到了广泛的应用。
联邦学习(Federated Learning)是一种新兴的人工智能技术,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。联邦学习能够有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下进行数据使用和机器学习建模,可以避免非授权的数据扩散和解决数据孤岛问题,被广泛应用在金融、物流、供应链等领域。
作为一种具有隐私保护特性的机器学习框架,联邦学习为分布式合作机器学习提供了新的方法。联邦学习将训练任务进行拆分并分配给训练数据所有者进行模型更新,最后聚合所有的模型更新来完成训练任务并获得准确的联合模型。联邦学习的优势在于:
1.数据隔离,数据不会泄露到外部,满足用户隐私保护和数据安全的需求。
2.能够保证模型质量无损,不会出现负迁移,保证联邦模型比割裂的独立模型效果好。
3.参与者地位对等,能够实现公平合作。
4.能够保证参与各方在保持独立性的情况下,进行信息与模型参数的加密交换,并同时获得成长。
但是,在不受信任的分布式系统环境中,如何进行安全多方合作学习,是联邦学习中一个亟待解决的问题。
由于失去了对参与者训练过程的直接控制,现有技术无法验证训练参与者是否按要求执行训练任务。如果懒惰或恶意参与者不进行模型更新,甚至使用错误数据进行更新,将会导致最终聚合模型的准确率降低。
发明内容
本发明的目的是为了解决联邦学习在不受信任的分布式环境中如何实现安全多方合作学习的技术问题,创造性地提出一种基于区块链和可信执行环境的联邦学习方法及系统。
本发明基于分布式区块链架构,其中,实体用户作为区块链节点参与,包括两类节点:
任务发布节点:节点在区块链网络中进行广播,从而发起众包学习任务,并给予激励。节点通过发布智能合约来征集符合条件的训练参与者,并指定训练算法、奖励和其它要求说明。当训练完成后,节点通过聚合合约收集模型更新并验证训练模型的正确性。
参与者节点:作为拥有训练数据资源的参与者,通过接受任务发布节点公布的模型训练任务获得相应奖励(例如,获得奖金报酬)。为满足发布者节点的模型训练结果验证需要,参与者节点本地要具有TEE(Trusted Execution Environment,可信执行环境,常用于数字版权管理、移动支付、敏感数据保护等)的硬件可信环境(例如SGX)来生成验证消息。
在联邦学习中,任务发布节点和参与者节点通过智能合约,能够自执行完成众包学习任务并进行模型聚合。其中,智能合约包括任务征集合约和模型聚合合约。
任务征集合约:由任务发布节点进行制定,任务是发起众包学习任务,设置符合的参与者条件和参与人数阈值。申请加入众包任务的参与者节点,通过向合约发送加入申请注册,从而获得资格。
模型聚合合约:任务发布节点从任务征集合约中注册的节点中进行随机选择,选出完成训练任务所需要的节点数目后发放训练任务。节点在本地完成模型训练后,模型聚合负责对各节点提交的正确性证明进行验证。验证通过后,对更新模型进行聚合,从而完成模型训练任务。
如图1所示,本发明所述方法包括任务征集、加入申请、参与者选择、本地模型训练、证明生成、训练结果提交、模型验证聚合、激励分配等步骤。
在任务征集阶段,希望获得准确模型的任务所有者在区块链网络广播发起众包模型训练任务。
当收到任务后,满足要求的节点申请加入参与者合约,任务发布者从所有申请者中随机选择满足训练要求数目的实际参与者并下发任务。
被选中的参与者在本地使用自己的数据集对模型进行训练,同时,在自己的TEE环境中,通过对比模型更新的哈希值是否一致,生成模型训练的正确性证明。此处,保留哈希摘要而非直接保存原始的模型训练参数,是因为训练参数数据量过大会占用很大的存储空间。
当完成所有模型训练更新后,参与者将更新的模型和证明发送至聚合合约进行模型聚合和验证,验证通过后向参与节点发放相应奖励。
有益效果
本发明,对比现有技术,具有以下优点:
本发明结合区块链和可信执行环境TEE技术,实现了高置信度验证,防止非诚实参与者模型训练,解决了对训练参与者的不可信问题。
附图说明
图1为本发明所述联邦学习过程示意图。
图2为本发明方法的流程图。
图3为本发明实施例的系统组成图。
具体实施方式
下面结合附图对本发明方法做进一步详细说明。
如图2所示,一种基于区块链和可信执行环境的联邦学习方法,包括以下步骤:
步骤1:征集任务。
任务发布节点希望获得准确的模型,但其自身缺乏模型训练所需的数据集,因此,需要通过众包方式合作完成训练任务。
在任务开始前,任务发布节点首先拟定任务征集合约(内容包括训练算法、奖励、训练流程等),并设置对合格参与者的具体要求。
之后,任务发布节点发布合约征集参与者,希望参与任务的节点能够在区块链上查看相关信息。
步骤2:参与节点申请加入。
在本具体实施方式中,SGX平台支持远程证明,以证明软件的正确运行。每个SGX
平台产生一个证明密钥对,其中,表示平台私钥秘密保存,表
示平台公钥公开。设 是不可伪造的签名方案,SGX平台通过计算数字签名生成证明,其中,表示签名,为运行的程序,out表示输出。输出
out是在SGX中运行程序产生的证明。合约通过验证输出是否为1来
验证用户的可信硬件执行环境SGX平台是否符合要求。
满足条件的参与者节点,将通过验证加入列表。在合规定执行时间内,设列表中参与节点数量为m。
步骤3:选择参与者。
之后,任务发布节点调用任务征集合约,采用随机算法,从参与节点列表的m个节点中随机选择能够参加学习的n个节点。此处采用随机方式,能够一定程度地防止恶意低质量参与节点反复参与训练来赚取奖励。
当参与节点确定后,参与者将接受训练任务,使用持有的相关数据集开始在本地进行训练与更新。
步骤4:训练本地模型。
参与节点下载获取最新的全局模型,在当前模型上采用深度神经网络模型和
训练数据data,在本地GPU中执行局部训练。通过迭代运算和多轮模型更新,最终完成模型
训练,生成模型更新。其中,t表示学习的轮数。
步骤5:证明生成。
当TEE随机请求检查一轮训练结果时,首先输入模型参数、哈希值和相应训练数
据。然后,TEE检查这些参数是否与承诺一致,并使用相应数据和输入参数执行训练,将其输
出模型参数的哈希值与传入的哈希值进行比较。
最后,节点进行最后一轮模型参数验证,检查承诺消息,计算模型更新(即,最后一个输出模型和全局模型之间所有参数变化的向量)。
其中,在生成证明过程中,TEE生成随机函数集以生成检查
点,以代表要检查的训练轮次,为本地训练数据,为训练模型,,表示模型训练输入函数,表示前一轮训练的结果,哈希函数。当获得轮次的、和后,TEE环境用训练数据对模型进
行训练,得到模型更新。之后,判断是否成立,表示在TEE中进
行学习时的模型输入,也就是需要进行更新的前一轮模型。若成立,则验证成功,否则验证
失败。最后,TEE验证最后的模型更新,其中表示最后一轮的模型更新、表
示开始学习时的输入模型,并对验证信息进行签名
步骤6:提交训练结果。
设合约设置阈值为N,从N=1开始一直循环收取参数模型,直到收到第N=n个参与者后合约执行完毕,收到所有n个参与众包学习的结果。
步骤7:聚合模型验证。
当聚合合约完成模型参数和可信证明模型更新时,合约执行函数,其中,表示TEE对承诺进行的签名,以确认参与者是
否诚实地进行了预期的训练。如果函数返回1,则聚合合约将汇总
这些更新聚合成为新的全局模型,否则表示TEE验证承诺和参与者发送的聚合模型不符,验
证失败,认为参与者存在不诚实行为,模型更新将不再作为正确结果被聚合。
若验证通过,则认为所有参与节点都诚实地进行了模型训练并得到了正确的模型参数。之后,聚合合约对所有参与者提交的局部模型进行聚合,收敛生成最终的训练模型。
步骤9:激励分配。
当完成所有的模型聚合后,合约执行最后一步,按照先前约定给众包训练的所有节点发放奖励。
合约执行聚合合约执行完成,标志着整个联邦学习流程结束。
同时,本发明提出了一种基于区块链和可信执行环境的联邦学习方法及系统,包括用户层、合约层、激励层和区块链网络层。
其中,系统的客户层包含数据消费者和数据拥有者。数据消费者通过系统征集数据拥有者,利用其数据完成所需模型的训练更新;数据拥有者使用自己的数据进行隐私计算,训练模型,并获得相应的报酬。
合约层包括任务发布合约和模型聚合合约。合约通过自执行的方式,实现分布式节点间的众包模型训练计算任务发布、计算结果的可信承诺验证与聚合。合约层完成数据消费者和数据拥有者的交互。
激励层包括聚合合约。聚合合约在完成相应的模型聚合任务后,根据约定将相应的报酬通过区块链网络转入所有参与该轮模型训练的数据拥有者的地址。数据拥有者在确定收到激励报酬后,完成激励分配。
区块链网络层作为基础网络架构,用于建立分布式用户节点间的可信计算环境,并采用共识算法对外提供一致的读写服务。
系统工作过程如下:
步骤1:初始化系统
首先,系统初始化区块链网络,构建一个p2p分布式网络。整个众包计算的联邦学习任务的发布、提交、聚合、激励过程,均依靠区块链网络完成。
步骤2:加入网络
任务发布者和参与众包学习的数据拥有者加入到区块链网络(例如以太坊平台)中。首先,任务发布者和数据拥有者在本地生成自己的公私钥对,然后保存自己的私钥,以公钥来作为自己作为区块链中节点的唯一标识符加入网络。
步骤3:任务合约发布
任务发布节点制定关于训练任务的基本信息(如数据描述、训练算法、类型描述等),并将信息以脚本代码的形式形成合约内容,部署在区块链网络中。
步骤4:训练任务执行
符合合约内容的参与者节点接受任务,然后在本地进行模型更新。在本地数据模型训练时,系统通过随机数发生器生成随机轮次的检查点,并将这些轮次的检查点更新的模型进行哈希运算产生摘要。同时,本地可信执行环境TEE从外部接收相同的训练数据和模型,在内部进行相同计算后对内部计算结果进行相同的哈希值运算。比对两个哈希摘要之后TEE以签名的方式给出可信承诺证明。
步骤5:模型聚合
每一个参与节点在完成各自的子任务后,将最终更新模型和每一轮训练结果的超参数,连同可信证明一起发送给聚合合约。聚合合约首先对承诺证明进行验证,验证通过后,向相应的参与者发放奖励。最后,合约将对所有子模型进行聚合,直到最终模型收敛。
应用实例
为了让本发明的目的、技术方案、应用性、创新性和优点更加清楚,通过提出一种应用本发明方法的应用系统实例,对本发明作进一步地详细描述。
目前,人工智能技术在计算机辅助医疗诊断领域有着广泛的应用。通过机器学习,可以令计算机辅助诊断系统对不同的疾病进行特征学习,从而得到一个可靠的模型,实现自动化辅助诊断。由于医疗数据作为病人的隐私数据,其难以在没有隐私保护的情况下通过中心化的方式进行大规模数据学习。应用联邦学习技术,能够解决因无法共享数据所带来的医疗数据孤岛问题。同时,数据的可信度对于医疗模型训练的准确性也同样至关重要。因此,本实施例依靠可信执行环境TEE采用“承诺-验证”方式,保证医疗模型更新的正确性。
如图3所示,一种基于本发明所述区块链和可信执行环境的联邦学习方法的医疗辅助诊断系统,包括:医疗用户注册模块、承诺生成模块、承诺验证模块、诊断模型聚合模块、激励支付模块,其中,医疗用户注册模块、承诺生成模块构成系统用户层,承诺验证模块、诊断模型聚合模块构成合约层,激励支付模块构成激励层。
医疗用户注册模块:拥有医疗相关特征数据的用户实体(医院、卫生中心等医疗机构),通过注册成为联邦学习中的候选参与方。需要进行医疗诊断模型更新的数据消费者,能够从相关注册用户中进行选择。
承诺生成模块:医疗数据拥有者使用自己的数据和算法进行模型训练,完成后在本地可信执行环境(如因特尔SGX处理器)中进行可信验证,并生成一个承诺方案,以证明训练参与者诚实参与模型更新。
承诺验证模块:利用智能合约自执行的特性,收到训练参与方发送的模型更新数据和正确性承诺后,合约将对承诺签名进行验证。如果返回值为1,则验证通过,否则判定为不可信模型,不进行激励支付。
诊断模型聚合模块:通过承诺验证,合约将合法的模型更新参数进行聚合以得到最终的医疗病症诊断模型。
激励支付模块:在模型验证通过后,合约将根据先前制定的规则向提供正确数据并提供模型更新服务的参与节点支付相应的激励。
上述模块之间的连接关系为:
医疗用户注册模块和承诺生成模块构成用户层,由系统中用户参与节点作为实体在本地执行的操作。这两个模块之间存在先后顺序,参与者节点首先必须执行医疗用户注册模块,经过身份验证、环境检查后,才能进行承诺生成模块的操作。在承诺生成模块完成计算并给出可信证明,作为输出供合约层调用。
承诺验证模块和诊断模型聚合模块构成合约层。在合约层内,首先执行承诺验证模块,验证通过后才能进行诊断模型的聚合。在合约层外部,承诺验证模块的输入是用户层承诺生成模块中输出的证明。诊断模型聚合模块的输入是承诺生成模块中输出的证明的每一轮训练产生的超参数和最终的模型更新。最后,承诺证明的结果输出是激励支付模块是否可以触发的条件。
激励支付模块作为激励层。该模块调用承诺证明模块输出的结果,作为验证条件,如果输出为1,则进行激励支付,否则不执行激励支付。
上述系统应用本发明联邦学习方法进行医疗辅助诊断的过程如下:
步骤1:用户(如医院、医学研究中心等)作为任务发布节点,在区块链系统中发布医疗诊断模型的众包学习请求。
步骤2:拥有相关疾病诊疗判断数据的医学机构作为医疗大数据所有者作为参与者节点在区块链系统中寻找符合要求的任务参与。
步骤3:利用自己的医疗数据在本地进行模型更新训练并通过可信执行环境TEE(因特尔 SGX)生成可信证明——承诺。
步骤4:任务发布者通过验证“承诺”的正确性判定参与者节点提交的模型更新是否可信。
步骤5:验证通过后根据合约规定给疾病诊断数据提供者支付相应的激励。
步骤6:在通过验证后,任务发布节点对提交的疾病诊断子模型进行模型聚合以实现最终模型的收敛。
Claims (8)
1.一种基于区块链和可信执行环境的联邦学习方法,其特征在于,包括以下步骤:
步骤1:征集任务;
在任务开始前,任务发布节点首先拟定任务征集合约,并设置对合格参与者的具体要求;之后,任务发布节点发布合约征集参与者;
步骤2:参与节点申请加入;
步骤3:任务发布节点选择参与者;
步骤4:训练本地模型,生成模型更新,方法如下;
步骤5:参与节点调用可信执行环境TEE内的程序,生成证明,方法如下:
最后,节点进行最后一轮模型参数验证,检查承诺消息,计算模型更新,即,最后一个输出模型和全局模型之间所有参数变化的向量;
步骤6:提交训练结果;
步骤7:聚合模型验证;
当聚合合约完成模型参数和可信证明模型更新时,合约执行函数,其中,表示TEE对承诺进行的签名,以确认参与者是
否诚实地进行了预期的训练;如果函数返回1,则聚合合约将
汇总这些更新聚合成为新的全局模型,否则表示TEE验证承诺和参与者发送的聚合模型不
符,验证失败,认为参与者存在不诚实行为,模型更新将不再作为正确结果被聚合;
若验证通过,则认为所有参与节点都诚实地进行了模型训练并得到了正确的模型参数;之后,聚合合约对所有参与者提交的局部模型进行聚合,收敛生成最终的训练模型;
步骤9:当完成所有的模型聚合后,合约执行最后一步,按照约定给众包训练的所有节点发放奖励。
5.如权利要求1所述的一种基于区块链和可信执行环境的联邦学习方法,其特征在于,步骤6中,设合约设置阈值为N,从N=1开始一直循环收取参数模型,直到收到第N=n个参与者后合约执行完毕,收到所有n个参与众包学习的结果。
7.一种基于区块链和可信执行环境的联邦学习系统,其特征在于,包括用户层、合约层、激励层和区块链网络层;
其中,系统的客户层包含数据消费者和数据拥有者;数据消费者通过系统征集数据拥有者,利用其数据完成所需模型的训练更新;数据拥有者使用自己的数据进行隐私计算,训练模型,并获得相应的报酬;
合约层包括任务发布合约和模型聚合合约;合约通过自执行的方式,实现分布式节点间的众包模型训练计算任务发布、计算结果的可信承诺验证与聚合;合约层完成数据消费者和数据拥有者的交互;
激励层包括聚合合约;聚合合约在完成相应的模型聚合任务后,根据约定将相应的报酬通过区块链网络转入所有参与该轮模型训练的数据拥有者的地址;数据拥有者在确定收到激励报酬后,完成激励分配;
区块链网络层作为基础网络架构,用于建立分布式用户节点间的可信计算环境,并采用共识算法对外提供一致的读写服务;
系统工作过程如下:
步骤1:初始化系统
首先,系统初始化区块链网络,构建一个p2p分布式网络;整个众包计算的联邦学习任务的发布、提交、聚合、激励过程,均依靠区块链网络完成;
步骤2:加入网络
任务发布者和参与众包学习的数据拥有者加入到区块链网络;首先,任务发布者和数据拥有者在本地生成自己的公私钥对,然后保存自己的私钥,以公钥来作为自己作为区块链中节点的唯一标识符加入网络;
步骤3:任务合约发布
任务发布节点制定关于训练任务的基本信息,并将信息以脚本代码的形式形成合约内容,部署在区块链网络中;
步骤4:训练任务执行
符合合约内容的参与者节点接受任务,然后在本地进行模型更新;在本地数据模型训练时,系统通过随机数发生器生成随机轮次的检查点,并将这些轮次的检查点更新的模型进行哈希运算产生摘要;同时,本地可信执行环境TEE从外部接收相同的训练数据和模型,在内部进行相同计算后对内部计算结果进行相同的哈希值运算;比对两个哈希摘要之后,TEE以签名的方式给出可信承诺证明;
步骤5:模型聚合
每一个参与节点在完成各自的子任务后,将最终更新模型和每一轮训练结果的超参数,连同可信证明一起发送给聚合合约;聚合合约首先对承诺证明进行验证,验证通过后,向相应的参与者发放奖励;最后,合约将对所有子模型进行聚合,直到最终模型收敛。
8.一种基于区块链和可信执行环境的联邦学习的医疗辅助诊断系统,其特征在于,包括医疗用户注册模块、承诺生成模块、承诺验证模块、诊断模型聚合模块、激励支付模块;
其中,医疗用户注册模块、承诺生成模块构成系统用户层,承诺验证模块、诊断模型聚合模块构成合约层,激励支付模块构成激励层;
医疗用户注册模块:拥有医疗相关特征数据的用户实体,通过注册成为联邦学习中的候选参与方;需要进行医疗诊断模型更新的数据消费者,能够从相关注册用户中进行选择;
承诺生成模块:医疗数据拥有者使用自己的数据和算法进行模型训练,完成后在本地可信执行环境中进行可信验证,并生成一个承诺方案,以证明训练参与者诚实参与模型更新;
承诺验证模块:利用智能合约自执行的特性,收到训练参与方发送的模型更新数据和正确性承诺后,合约将对承诺签名进行验证;如果返回值为1,则验证通过,否则判定为不可信模型,不进行激励支付;
诊断模型聚合模块:通过承诺验证,合约将合法的模型更新参数进行聚合以得到最终的医疗病症诊断模型;
激励支付模块:在模型验证通过后,合约将根据规则向提供正确数据并提供模型更新服务的参与节点支付相应的激励;
上述模块之间的关系为:
医疗用户注册模块和承诺生成模块构成用户层,由系统中用户参与节点作为实体在本地执行的操作;这两个模块之间存在先后顺序,参与者节点首先必须执行医疗用户注册模块,经过身份验证、环境检查后,才能进行承诺生成模块的操作;在承诺生成模块完成计算并给出可信证明,作为输出供合约层调用;
承诺验证模块和诊断模型聚合模块构成合约层;在合约层内,首先执行承诺验证模块,验证通过后才能进行诊断模型的聚合;在合约层外部,承诺验证模块的输入是用户层承诺生成模块中输出的证明;诊断模型聚合模块的输入是承诺生成模块中输出的证明的每一轮训练产生的超参数和最终的模型更新;最后,承诺证明的结果输出是激励支付模块是否可以触发的条件;
激励支付模块作为激励层;该模块调用承诺证明模块输出的结果,作为验证条件,如果输出为1,则进行激励支付,否则不执行激励支付。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111416453.9A CN113837761B (zh) | 2021-11-26 | 2021-11-26 | 一种基于区块链和可信执行环境的联邦学习方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111416453.9A CN113837761B (zh) | 2021-11-26 | 2021-11-26 | 一种基于区块链和可信执行环境的联邦学习方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113837761A true CN113837761A (zh) | 2021-12-24 |
CN113837761B CN113837761B (zh) | 2022-03-18 |
Family
ID=78971390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111416453.9A Active CN113837761B (zh) | 2021-11-26 | 2021-11-26 | 一种基于区块链和可信执行环境的联邦学习方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837761B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327803A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链访问机器学习模型的方法、装置、设备和介质 |
CN114372589A (zh) * | 2021-12-30 | 2022-04-19 | 远光软件股份有限公司 | 一种联邦学习方法及相关装置 |
CN114462624A (zh) * | 2022-02-11 | 2022-05-10 | 博雅正链(北京)科技有限公司 | 一种基于区块链开展可信联邦学习的方法 |
CN114492846A (zh) * | 2022-04-06 | 2022-05-13 | 天聚地合(苏州)科技股份有限公司 | 基于可信执行环境的跨域联邦学习方法及系统 |
CN114493594A (zh) * | 2022-01-27 | 2022-05-13 | 中山大学 | 基于区块链和联邦学习的海洋数据共享方法、系统及介质 |
CN114598554A (zh) * | 2022-05-09 | 2022-06-07 | 山东省计算中心(国家超级计算济南中心) | 对应用程序中用户隐私数据的保护方法及系统 |
CN114707663A (zh) * | 2022-04-15 | 2022-07-05 | 中国电信股份有限公司 | 分布式机器学习方法、装置、电子设备及存储介质 |
CN114819197A (zh) * | 2022-06-27 | 2022-07-29 | 杭州同花顺数据开发有限公司 | 基于区块链联盟的联邦学习方法、系统、装置及存储介质 |
CN114844653A (zh) * | 2022-07-04 | 2022-08-02 | 湖南密码工程研究中心有限公司 | 基于联盟链的可信联邦学习方法 |
CN114897177A (zh) * | 2022-04-06 | 2022-08-12 | 中国电信股份有限公司 | 数据建模方法、装置、电子设备及存储介质 |
CN114978893A (zh) * | 2022-04-18 | 2022-08-30 | 西安交通大学 | 一种基于区块链的去中心化联邦学习方法及系统 |
CN115082180A (zh) * | 2022-05-07 | 2022-09-20 | 北京航空航天大学 | 一种基于区块链与联邦学习的信用行为存证方法与系统 |
CN115270821A (zh) * | 2022-06-08 | 2022-11-01 | 甲骨易(北京)语言科技股份有限公司 | 一种机器翻译模型众包增量学习方法 |
CN115599799A (zh) * | 2022-11-30 | 2023-01-13 | 中南大学(Cn) | 面向医疗大数据的区块链与联邦学习融合方法 |
CN115828302A (zh) * | 2022-12-20 | 2023-03-21 | 华北电力大学 | 一种基于可信隐私计算的微网并网控制隐私保护方法 |
CN117473559A (zh) * | 2023-12-27 | 2024-01-30 | 烟台大学 | 一种基于联邦学习和边缘计算的两方隐私保护方法及系统 |
CN117954082A (zh) * | 2024-03-26 | 2024-04-30 | 中国人民解放军总医院 | 基于联邦大模型的复杂疾病间共病临床辅助决策方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889498A (zh) * | 2019-01-16 | 2019-06-14 | 余炀 | 基于区块链的计算验证方法及系统 |
CN111130800A (zh) * | 2019-12-25 | 2020-05-08 | 上海沄界信息科技有限公司 | 一种基于tee的可信预言机实现方法及装置 |
CN111506901A (zh) * | 2020-04-16 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、终端及存储介质 |
CN113408746A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 一种基于区块链的分布式联邦学习方法、装置及终端设备 |
WO2021184882A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 验证合约的方法及装置 |
CN113657608A (zh) * | 2021-08-05 | 2021-11-16 | 浙江大学 | 一种激励驱动的区块链联邦学习方法 |
-
2021
- 2021-11-26 CN CN202111416453.9A patent/CN113837761B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889498A (zh) * | 2019-01-16 | 2019-06-14 | 余炀 | 基于区块链的计算验证方法及系统 |
CN111130800A (zh) * | 2019-12-25 | 2020-05-08 | 上海沄界信息科技有限公司 | 一种基于tee的可信预言机实现方法及装置 |
WO2021184882A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 验证合约的方法及装置 |
CN111506901A (zh) * | 2020-04-16 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、终端及存储介质 |
CN113408746A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 一种基于区块链的分布式联邦学习方法、装置及终端设备 |
CN113657608A (zh) * | 2021-08-05 | 2021-11-16 | 浙江大学 | 一种激励驱动的区块链联邦学习方法 |
Non-Patent Citations (1)
Title |
---|
MENG SHEN 等: "《Exploiting Unintended Property Leakage in》", 《IEEE INTERNET OF THINGS JOURNAL》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114372589A (zh) * | 2021-12-30 | 2022-04-19 | 远光软件股份有限公司 | 一种联邦学习方法及相关装置 |
CN114493594A (zh) * | 2022-01-27 | 2022-05-13 | 中山大学 | 基于区块链和联邦学习的海洋数据共享方法、系统及介质 |
CN114493594B (zh) * | 2022-01-27 | 2023-11-21 | 中山大学 | 基于区块链和联邦学习的海洋数据共享方法、系统及介质 |
CN114462624A (zh) * | 2022-02-11 | 2022-05-10 | 博雅正链(北京)科技有限公司 | 一种基于区块链开展可信联邦学习的方法 |
CN114327803A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链访问机器学习模型的方法、装置、设备和介质 |
CN114897177B (zh) * | 2022-04-06 | 2024-07-23 | 中国电信股份有限公司 | 数据建模方法、装置、电子设备及存储介质 |
CN114897177A (zh) * | 2022-04-06 | 2022-08-12 | 中国电信股份有限公司 | 数据建模方法、装置、电子设备及存储介质 |
CN114492846A (zh) * | 2022-04-06 | 2022-05-13 | 天聚地合(苏州)科技股份有限公司 | 基于可信执行环境的跨域联邦学习方法及系统 |
CN114707663A (zh) * | 2022-04-15 | 2022-07-05 | 中国电信股份有限公司 | 分布式机器学习方法、装置、电子设备及存储介质 |
CN114707663B (zh) * | 2022-04-15 | 2024-02-23 | 中国电信股份有限公司 | 分布式机器学习方法、装置、电子设备及存储介质 |
CN114978893A (zh) * | 2022-04-18 | 2022-08-30 | 西安交通大学 | 一种基于区块链的去中心化联邦学习方法及系统 |
CN114978893B (zh) * | 2022-04-18 | 2024-04-12 | 西安交通大学 | 一种基于区块链的去中心化联邦学习方法及系统 |
CN115082180A (zh) * | 2022-05-07 | 2022-09-20 | 北京航空航天大学 | 一种基于区块链与联邦学习的信用行为存证方法与系统 |
CN114598554A (zh) * | 2022-05-09 | 2022-06-07 | 山东省计算中心(国家超级计算济南中心) | 对应用程序中用户隐私数据的保护方法及系统 |
CN115270821A (zh) * | 2022-06-08 | 2022-11-01 | 甲骨易(北京)语言科技股份有限公司 | 一种机器翻译模型众包增量学习方法 |
CN114819197A (zh) * | 2022-06-27 | 2022-07-29 | 杭州同花顺数据开发有限公司 | 基于区块链联盟的联邦学习方法、系统、装置及存储介质 |
CN114819197B (zh) * | 2022-06-27 | 2023-07-04 | 杭州同花顺数据开发有限公司 | 基于区块链联盟的联邦学习方法、系统、装置及存储介质 |
CN114844653B (zh) * | 2022-07-04 | 2022-09-30 | 湖南密码工程研究中心有限公司 | 基于联盟链的可信联邦学习方法 |
CN114844653A (zh) * | 2022-07-04 | 2022-08-02 | 湖南密码工程研究中心有限公司 | 基于联盟链的可信联邦学习方法 |
CN115599799A (zh) * | 2022-11-30 | 2023-01-13 | 中南大学(Cn) | 面向医疗大数据的区块链与联邦学习融合方法 |
CN115828302A (zh) * | 2022-12-20 | 2023-03-21 | 华北电力大学 | 一种基于可信隐私计算的微网并网控制隐私保护方法 |
CN117473559A (zh) * | 2023-12-27 | 2024-01-30 | 烟台大学 | 一种基于联邦学习和边缘计算的两方隐私保护方法及系统 |
CN117473559B (zh) * | 2023-12-27 | 2024-05-03 | 烟台大学 | 一种基于联邦学习和边缘计算的两方隐私保护方法及系统 |
CN117954082A (zh) * | 2024-03-26 | 2024-04-30 | 中国人民解放军总医院 | 基于联邦大模型的复杂疾病间共病临床辅助决策方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113837761B (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113837761B (zh) | 一种基于区块链和可信执行环境的联邦学习方法及系统 | |
Lu et al. | Zebralancer: Private and anonymous crowdsourcing system atop open blockchain | |
CN110490305B (zh) | 基于区块链网络的机器学习模型处理方法及节点 | |
CN108650270B (zh) | 基于联盟链和激励机制的数据共享方法及系统 | |
CN111062044B (zh) | 基于区块链的模型联合训练方法及装置 | |
Xu et al. | BESIFL: Blockchain-empowered secure and incentive federated learning paradigm in IoT | |
US10708071B1 (en) | Consensus protocols in distributed computing systems | |
US11367055B2 (en) | Decentralized pooled mining for enabling proof-of-work on blockchains | |
CN110419055A (zh) | 基于利用零知识证明的账户票据模型的区块链数据保护 | |
CN110879827B (zh) | 一种基于区块链网络的信息处理方法及设备 | |
CN112163954B (zh) | 基于区块链的交易方法及装置 | |
CN115499379B (zh) | 一种基于区块链的信息交互方法、装置、设备及介质 | |
CN112906864A (zh) | 信息处理方法、装置、设备、存储介质及计算机程序产品 | |
CN111985000A (zh) | 模型服务输出方法、装置、设备及存储介质 | |
CN115270145A (zh) | 一种基于联盟链和联邦学习的用户窃电行为检测方法及系统 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN111966976A (zh) | 一种基于零知识证明与区块链的匿名调查方法 | |
CN114422146A (zh) | 一种区块链主节点匿名排序方法 | |
CN112688775B (zh) | 联盟链智能合约的管理方法和装置、电子设备、及介质 | |
Wang et al. | Enabling Fairness‐Aware and Privacy‐Preserving for Quality Evaluation in Vehicular Crowdsensing: A Decentralized Approach | |
CN116964572A (zh) | 基于区块链的联邦学习设备、方法和系统 | |
CN116975901A (zh) | 基于区块链的身份验证方法、装置、设备、介质及产品 | |
CN115150178A (zh) | 一种基于区块链的跨平台统一登录认证方法和装置 | |
Lu et al. | ZebraLancer: Decentralized crowdsourcing of human knowledge atop open blockchain | |
CN117892339B (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 |