[go: up one dir, main page]

CN114186204B - 基于联盟链的医疗模型的训练方法、装置及联盟链 - Google Patents

基于联盟链的医疗模型的训练方法、装置及联盟链 Download PDF

Info

Publication number
CN114186204B
CN114186204B CN202111284979.6A CN202111284979A CN114186204B CN 114186204 B CN114186204 B CN 114186204B CN 202111284979 A CN202111284979 A CN 202111284979A CN 114186204 B CN114186204 B CN 114186204B
Authority
CN
China
Prior art keywords
node
training
aggregation
random number
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.)
Active
Application number
CN202111284979.6A
Other languages
English (en)
Other versions
CN114186204A (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.)
Hainan Fire Chain Technology Co ltd
Original Assignee
Hainan Fire Chain Technology Co ltd
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 Hainan Fire Chain Technology Co ltd filed Critical Hainan Fire Chain Technology Co ltd
Priority to CN202111284979.6A priority Critical patent/CN114186204B/zh
Publication of CN114186204A publication Critical patent/CN114186204A/zh
Application granted granted Critical
Publication of CN114186204B publication Critical patent/CN114186204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本申请公开了基于联盟链的医疗模型的训练方法、装置及联盟链,其方法包括:为各训练节点分配身份验证信息;以联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据随机数和阈值随机数确定一个聚合节点;各训练节点基于本地的医疗数据对医疗模型进行训练,并写入智能合约中,以使智能合约进行加密和广播至聚合节点;聚合节点对各模型参数进行整合,得到聚合参数,并根据各训练节点的密钥对生成的聚合签名;并广播至各训练节点;各训练节点验证聚合节点的身份,以及聚合签名的有效性,若均通过则根据聚合参数对本地的医疗模型的参数进行更新。本申请通过联盟链、联邦学习和链下存储实现医疗数据可信隐私共享。

Description

基于联盟链的医疗模型的训练方法、装置及联盟链
技术领域
本申请涉及计算机技术领域,具体涉及一种基于联盟链的医疗模型的训练方法、装置及联盟链。
背景技术
在医疗数据共享过程中,各级医疗机构出于用户隐私保护、商业考量等原因,不愿意共享医疗数据,导致医疗数据孤岛问题严重。同时,各级医疗机构难以保证其他医疗机构共享的参数是真实的,各级医疗机构难以保证其他医疗机构在协同训练的过程中不作恶。最后,各级医疗机构难以信任某个节点执行中心化训练任务。因此,在多个机构共同进行医疗模型训练的过程中存在很多问题,如医疗数据难以共享问题;医疗数据真实性的问题;医疗模型训练过程中存在恶意节点的问题;医疗模型训练过程中存在中心化信任等问题。
发明内容
为解决上述问题,本申请实施例提供了一种基于联盟链的医疗模型的训练方法、装置及联盟链,以克服或部分克服上述问题。
第一方面,提供了一种基于联盟链的医疗模型的训练方法,所述联盟链包括多个训练节点,所述方法包括:
所述联盟链为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
所述联盟链以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,以及根据各训练节点的密钥对生成的聚合签名;并将得到的聚合参数和所述聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
各训练节点根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性,在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
可选的,在上述方法中,所述各训练节点基于本地的医疗数据对医疗模型进行训练是分多轮次进行的;
在每一轮次的训练过程中,执行所述各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,至所述各训练节点从所述联盟链的智能合约中获取聚合参数,并根据所述聚合参数对本地的医疗模型的参数进行更新的步骤。
可选的,在上述方法中,在开启新的轮次的训练,或新的医疗模型的训练时,所述联盟链还控制各训练节点选取新的聚合节点,且根据新的训练节点的密钥对、随机数、身份证明,对其身份进行验证。
可选的,在上述方法中,所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,包括:
根据一个训练节点上述的模型参数,确定测试医疗模型;
基于所述测试医疗模型,对测试用数据集进行预测,得到测试准确率;
若得到的测试准确率小于预设的准确率阈值,则舍弃该训练节点上传的模型参数;
若得到的测试准确率大于等于预设的准确率阈值,则将该训练节点上传的模型参数进行聚合,得到聚合参数。
可选的,在上述方法中,所述密钥对包括阈值签名;
根据各训练节点的密钥对生成的聚合签名包括:
将各训练节点的密钥对的阈值签名,基于预设的加密算法进行运算,得到聚合签名。
可选的,在上述方法中,所述为各训练节点分配身份验证信息包括:
根据各训练节点的数据,确定验证种子;
基于所述验证种子,采用乘法循环群生成密钥对,所述密钥对包括公钥、私钥和阈值签名;
其中,所述阈值签名包含一个线性映射,使得所述乘法循环群具备指定属性,且所述阈值签名具备同态特性。
可选的,在上述方法中,所述为各训练节点分配身份验证信息包括:
基于可验证随机函数,为各训练节点生成随机数及身份证明,其中,所述随机数及所述身份证明满足下式:
其中,skvi为私钥,di为随机数,πi为身份证明,α为消息字符串,βi为数字签名。
可选的,在上述方法中,所述各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点包括:
确定各训练节点的随机数与所述阈值随机数的相对大小,将随机数小于所述阈值随机数的训练节点作为候选聚合节点;
若所述候选聚合节点的数量为一个,则将该候选聚合节点作为聚合节点;
若所述候选聚合节点的数量为多个,则从多个候选聚合节点中随机选取一个作为聚合节点。
第二方面,提供了一种基于联盟链的医疗模型的训练装置,所述联盟链包括多个训练节点,所述装置部署于所述联盟链以及各训练节点中,所述装置包括:
分配单元,用于为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
生成单元,用于以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
训练单元,用于基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
整合单元,用于对各训练节点上传的模型参数进行整合,并将得到的聚合参数,以及根据各训练节点的密钥对生成的聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
验证单元,用于根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性;
更新单元,用于在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
第三方面,提供了一种联盟链,所述联盟链包括多个训练节点;
所述联盟链,用于为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
所述联盟链,用于以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
各训练节点,用于基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
所述聚合节点,用于对各训练节点上传的模型参数进行整合,并将得到的聚合参数,以及根据各训练节点的密钥对生成的聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
各训练节点,用于根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性,在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
第四方面,本申请实施例还提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一的方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述任一的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请提出了一种基于联盟链的医疗模型的训练方法、装置及联盟链。本申请通过构建联盟链网络,并基于联邦学习的思想,实现医疗数据的链下存储以及数据的可信隐私共享;将区块链技术的共识机制、联邦学习、阈值签名和同态加密保证等技术有机融合,即保障了医疗数据的真实性,又解决医疗模型训练过程中存在的恶意节点的问题;且通过可验证随机函数解决了医疗模型训练过程中存在的中心化信任问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出根据本申请的一个实施例的联盟链网络的结构示意图;
图2示出根据本申请的一个实施例的基于联盟链的医疗模型的训练方法的流程示意图;
图3示出根据本申请的另一个实施例的基于联盟链的医疗模型的训练方法的流程示意图;
图4示出根据本申请的一个实施例的基于联盟链的医疗模型的训练装置的结构示意图;
图5为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请的构思在于,针对医疗领域的数据孤岛问题,本申请提出了一种基于区块链技术和联邦学习机制的医疗模型的训练方法,在该方法中,构建了以区块链技术为基础的联盟链,利用区块链的难篡改特性实现医疗数据的可追溯性;利用联邦学习的“数据不出本地”的特性实现医疗数据共享;利用同态加密和阈值签名验证聚合参数并保护参数隐私;利用可验证随机函数实现去中心化聚合。
图1示出根据本申请的一个实施例的联盟链网络的结构示意图,从图1可以看出,联盟链网络100包括联盟链110以及在联盟链上注册的多个区块链节点客户端,在本申请中,区块链节点客户端为训练节点120,这些训练节点中,一个为聚合节点130。
在实际中,包括但不限于各个医疗机构。需要说明的是,训练节点加入联盟链是需要注册的,参与该联盟链的节点首先需要在联盟链网络中注册,获得公钥私钥以及数字证书等身份认证信息。只有在该联盟链网络中注册过的节点,通过数字证书的验证,才能参与查询和读取联盟链网络。在每次进行医疗模型训练时,各训练节点运行区块链节点客户端组成联盟链网络。
图2示出了本申请的一种基于联盟链的医疗模型的训练方法的流程示意图,从图2可以看出,本申请至少包括步骤S210~步骤S250:
步骤S210:联盟链为各训练节点分配身份验证信息,其中,身份验证信息包括:密钥对、随机数、身份证明。
以下简单介绍一下本申请中可能涉及的技术,包括但不限于联邦学习、同态加密、阈值签名,以及可验证随机函数等。
联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在2016年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。
同态加密(Homomorphic Encryption)是一种加密形式,它允许人们对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。
阈值签名(Threshold Signature)本质是m-of-n的签名方式,在知道m个签名的条件下,可以合成唯一一个合法的签名。任意m个签名片段的组合都是同一个可验证的签名。而且,由于每个人只有一个私钥片段,需要m个私钥片段组合在一起才能形成一个合法的完整的私钥。如果少于m个私钥片段在网络中共享的话,就不会有任何一个人知道这个完整的私钥。
可验证随机函数(Verifiable Random Function,简写VRF)是一种将输入映射为可验证的伪随机输出的加密方案。
本申请中,将上述多种方法有机结合,并运用区块链技术,有效解决了医疗领域中的数据孤岛问题。
首先,联盟链分别为每一个训练节点分配身份验证信息,其中,所述身份验证信息包括但不限于:密钥对、随机数、身份证明等。在后续的各节点相互交互、或各节点与联盟链交互的过程中,均以各训练节点的身份验证信息为基础,在身份验证通过的情况下,才会进行数据的交互,以保障数据的安全,并防止某些训练节点作恶。
在本申请的一些实施例中,密钥对是基于同态加密技术与阈值签名技术结合起来为各训练节点分配的,密钥对包括但不限于公钥私钥和阈值签名xi
随机数di、身份证明πi是基于可验证随机函数生成的。
需要说明的是,在本申请中,符号下标,如公钥中的bi没有具体含义,仅代表某个训练节点。
需要说明的是,对于上述信息,都会及时写入联盟链中,以备调用,并防止篡改,具体可以写入联盟链的智能合约中。同时对于需要各训练节点需要知道的必要信息,通过联盟链的广播功能传递至各个训练节点中,以使各训练节点知悉。
步骤S220:联盟链以联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和阈值随机数确定训练节点中的一个作为聚合节点。
然后联盟链以联盟链的区块高度为种子,并基于可验证随机函数生成阈值随机数τ,并写入联盟链的智能合约中,并广播至各训练节点,各训练节点在从区块链读取到各训练节点的随机数和阈值随机数后,可根据这两项确定哪一个训练节点符合聚合节点的要求,从而确定出哪一个训练节点作为聚合节点,这样每一个训练节点都有可能成为聚合节点,从而解决了实现了去中心化聚合。
在本申请的一些实施例中,对于聚合节点的选取可采用下述方法,确定各训练节点的随机数与所述阈值随机数的相对大小,将随机数小于所述阈值随机数的训练节点作为候选聚合节点;若所述候选聚合节点的数量为一个,则将该候选聚合节点作为聚合节点;若所述候选聚合节点的数量为多个,则从多个候选聚合节点中随机选取一个作为聚合节点。
将各训练节点的随机数与阈值随机数进行比较,若一个训练节点的随机数小于阈值随机数,则该聚合节点被选为候选聚合节点,若有且仅有一个候选聚合节点,则将其作为聚合节点,其他训练节点均为普通客户端节点;若有多个候选聚合节点,可从中随机选举一个作为聚合节点,同理,其他训练节点均为普通客户端节点。同时,可以在联盟链的智能合约中将选取出的训练节点设置为聚合节点,由其负责医疗模型的训练的调度以及聚合等工作。
由于是以区块高度作为种子的,因此可以保障一定有训练节点符合聚合节点的要求,即可以选举出至少一个聚合节点。
步骤S230:各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入联盟链的智能合约中。
在对模型进行训练时,各个训练节点是基于各自本地的医疗数据进行的,这里需要说明的,训练节点本地的医疗数据是不用上链的,这样保障了医疗数据的隐私性。在训练完成后,各训练节点将各自训练得到的模型参数写入联盟链上,具体可以为联盟链的智能合约中,这样也保障了模型参数不会被篡改。
对于模型的训练过程可参考现有技术,如预先设定模型架构、超参数、种子等必要的训练数据,随后基于本地的训练数据集在本地迭代若干次,直到满足收敛要求,结束训练,得到模型参数。
在本申请的一些实施例中,各训练节点可以对整个医疗模型进行训练,后续聚合节点在对模型参数进行聚合时,可综合考虑各个训练节点的训练结果,得出最终的聚合模型参数,这样使得训练样本数量非常庞大,数据全面,准确度较高;在本申请的另一些实施例中,各训练节点可以对部分医疗模型进行训练,如每个训练节点训练整个医疗模型的几层,后续聚合节点在对模型参数进行聚合时,可将各个训练节点的训练结果整合到相应的位置,得出最终的聚合模型参数,这样使得训练过程快,训练效率高,每个训练节点的任务轻。本申请对此不作限制,可根据实际需求进行选择。
联盟链在获得各训练节点上传的模型参数后,对其进行加密,然后将其广播至聚合节点,以等待聚合节点对其进行聚合。智能合约可以利用各训练节点的密钥对中的阈值签名对各训练节点上传的模型参数进行加密。该加密过程是为了后续聚合节点与各普通训练节点交互做准备。
步骤S240:聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,以及根据各训练节点的密钥对生成的聚合签名;并将得到的聚合参数和聚合签名写入联盟链的智能合约中并广播至各训练节点。
聚合节点在接到加密后的各训练节点的模型参数后,主要进行两方面的工作,其一,是将各训练节点的模型参数聚合起来,形成聚合参数;其二,是利用加密后的各训练节点的模型参数带有的各训练节点的阈值签名,形成聚合签名,用于后续与各训练节点的数据交互。
对于模型参数的聚合,本申请不作限制,可根据训练任务的实际分配情况进行。
对于阈值签名的生成,在本申请的一些实施例中,可将各训练节点的密钥对的阈值签名,基于预设的加密算法进行运算,得到聚合签名。聚合节点首先从加密后的各训练节点的模型参数中解析出每个训练节点的阈值签名,如一共存在3个训练节点,三个训练节点的阈值签名分别为A、B和C,聚合节点采用一定的算法,将其聚合在一起,形成一个聚合签名,假设为ABC。
聚合节点将这个聚合签名ABC与经聚合得到的聚合参数一同写入联盟链的智能合约中,通过广播传递至各训练节点。
步骤S250:各训练节点根据聚合节点的密钥对和身份证明验证聚合节点的身份,并验证聚合签名的有效性,在聚合节点的身份验证通过且聚合签名为有效的情况下,根据聚合参数对本地的医疗模型的参数进行更新。
各训练节点在接到聚合参数和聚合签名后,首先进行的操作是验证,一方面验证聚合节点的身份,确定其确实是聚合节点,另一方面,验证聚合签名的有效性,在两项验证均通过的情况下,各训练节点根据聚合参数对本地的医疗模型的参数进行更新,得到训练好的医疗模型。
对于聚合节点的身份的验证,可根据聚合节点的密钥对和身份证明进行,通过可验证随机函数的验签模块验证密钥对(主要是公钥)和身份证明(πi)是否是有效的,若为有效的,则确定该节点为聚合节点,若为无效,则说明该节点存在问题,其广播的聚合参数不可信。
在聚合节点的身份验证通过的情况下,验证聚合签名的有效性,这项验证主要是为了聚合节点是否真实聚合了其他节点的模型参数,即通过阈值签名的验签模块的同态加密特性验证聚合签名是否有效,若有效,则各训练节点根据聚合参数对本地的医疗模型的参数进行更新,得到训练好的医疗模型;若无效,则聚合参数不可信。
需要注意的是,验签模块均在智能合约中,验签过程是完全链上的操作,各训练节点在验签时,可以采用调用的方式实现。
由图2所示的方法可以看出,本申请提出了一种基于联盟链的医疗模型的训练方法、装置及联盟链。本申请通过构建联盟链网络,并基于联邦学习的思想,实现医疗数据的链下存储以及数据的可信隐私共享;将区块链技术的共识机制、联邦学习、阈值签名和同态加密保证等技术有机融合,即保障了医疗数据的真实性,又解决医疗模型训练过程中存在的恶意节点的问题;且通过可验证随机函数解决了医疗模型训练过程中存在的中心化信任问题。
在本申请的一些实施例中,各训练节点基于本地的医疗数据对医疗模型进行训练是分多轮次进行的;在每一轮次的训练过程中,执行所述各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,至所述各训练节点从所述联盟链的智能合约中获取聚合参数,并根据所述聚合参数对本地的医疗模型的参数进行更新的步骤。
在实际训练过程中,对于一个模型的训练通常不是一个轮次的训练即可达到比较理想的效果的,通常是需要进行多轮次的训练,后一轮次的训练以前一轮次得到的模型参数为基础。在本申请的一些实施例中,假设经过三个轮次的训练即达到了比较理想的效果,在第一轮次时,执行步骤S210~步骤S250;在第二轮次时,执行步骤S230~步骤S250;在第三轮次时,执行步骤S230~步骤S250。在对一个模型进行训练时,要训练多少轮次提前是不知道的,需要以收敛情况为基准。
在本申请的一些实施例中,在开启新的轮次的训练,或新的医疗模型的训练时,所述联盟链还控制各训练节点选取新的聚合节点,且根据新的训练节点的密钥对、随机数、身份证明,对其身份进行验证。
对于已经选举出的聚合节点,不能够保障其一直不作恶,当一个计算任务结束后,将开启下一个计算任务时,在本申请的一些实施例中,在开启新的轮次的训练,或新的医疗模型的训练时,都可以认为是一个计算任务结束后,将开启下一个计算任务的时机。联盟链可控制训练节点将根据可验证随机函数为下一个计算任务重新选举聚合节点,并根据阈值签名和同态加密等判断选举出的新的聚合节点的身份以及是否作恶。验签方法如前所述,这里不再赘述。
在本申请的一些实施例中,所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,包括:根据一个训练节点上述的模型参数,确定测试医疗模型;基于所述测试医疗模型,对测试用数据集进行预测,得到测试准确率;若得到的测试准确率小于预设的准确率阈值,则舍弃该训练节点上传的模型参数;若得到的测试准确率大于等于预设的准确率阈值,则将该训练节点上传的模型参数进行聚合,得到聚合参数。
为了进一步防止有训练节点上传随机生成的参数,即作恶,同时也为了验证训练效果,聚合节点通过区块链接收到的各训练节点的模型参数时,利用部分测试集对每一个训练节点上传的模型参数的有效性进行验证,具体的,可以设定一个准确率阈值,若聚合节点利用一个训练节点提供的模型参数形成一个测试医疗模型,基于测试用数据集进行预测,若测试的准确率低于设定的准确率阈值,则该部分参数将不会被聚合;若超过设定的准确率阈值,该部分参数将被聚合。准确率的设定采用行业内通用的标准即可,切勿过大或过小,因为如果过大,会容易将一些没有作恶,但是准确率不高的训练节点的模型参数过滤掉;如果过小,可能无法排除一些训练节点作恶产生的模型参数。
在本申请的一些实施例中,所述为各训练节点分配身份验证信息包括:根据各训练节点的数据,确定验证种子;基于所述验证种子,采用乘法循环群生成密钥对,所述密钥对包括公钥、私钥和阈值签名;其中,所述阈值签名包含一个线性映射,使得所述乘法循环群具备指定属性,且所述阈值签名具备同态特性。
具体的,假设联盟链网络中有k个训练节点,那么需要k个正整数s1,s2,...,sk,并且gcd(si,sj)=1(i≠j)互质,这些正整数就作为验证种子。然后利用这些验证种子(seed)以及乘法循环群G1生成密钥对key(ski,pki,xi),其中,ski为私钥,pki为公钥,xi为阈值签名。其中阈值签名包含一个线性映射e使得乘法循环群具备属性G1xG2→G3;此外,阈值签名还具备同态特性,即对于任意两个交易tx1,tx2,如果交易满足tx∈G2,那么h(tx1+tx2)=h(tx1)+h(tx2),h为哈希函数。
在本申请的一些实施例中,所述为各训练节点分配身份验证信息包括:基于可验证随机函数,为各训练节点生成随机数及身份证明,其中,所述随机数及所述身份证明满足下式:其中,skvi为私钥,di为随机数,πi为身份证明,α为消息字符串,βi为数字签名。在步骤S250的验签过程中,验证该节点是否为聚合节点时,即通过验证(pki,α,βi,πi)是否有效进行确认。图3示出根据本申请的另一个实施例的基于联盟链的医疗模型的训练方法的流程示意图,从图3可以看出,本实施例包括:
为各训练节点分配身份验证信息,身份验证信息包括:密钥对、随机数、身份证明,其中密钥对包括公钥、私钥和阈值签名。
以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点。
根据各训练节点的随机数和阈值随机数确定训练节点中的一个作为聚合节点。
各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入联盟链的智能合约中。
联盟的智能合约采用各训练节点的阈值签名将各训练节点上传的模型参数加密,并广播至聚合节点。
对各训练节点上传的模型参数进行整合,得到聚合参数,并根据各训练节点的阈值签名生成聚合签名,并将得到的聚合签名和聚合参数写入联盟链的智能合约中。
联盟的智能合约将聚合签名和聚合参数广播至各训练节点。
根据聚合节点的公钥和身份证明验证聚合节点的身份,并验证聚合签名的有效性,在聚合节点的身份验证通过且聚合签名为有效的情况下,根据聚合参数对本地的医疗模型的参数进行更新。
图4示出根据本申请的一个实施例的基于联盟链的医疗模型的训练装置的结构示意图,该装置可部署于联盟链以及各个训练节点中,需要说明的是,部署在不同的位置,承担的工作不同,在进行医疗模型训练的过程中,部署在不同位置的装置依据自己承担的工作调用相应的模块即可,从图4可以看出,该装置400包括:
分配单元410,用于为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
生成单元420,用于以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
训练单元430,用于基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
整合单元440,用于对各训练节点上传的模型参数进行整合,并将得到的聚合参数,以及根据各训练节点的密钥对生成的聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
验证单元450,用于根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性;
更新单元460,用于在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
在本申请的一些实施例中,在上述装置中,所述各训练节点基于本地的医疗数据对医疗模型进行训练是分多轮次进行的;在每一轮次的训练过程中,训练单元430,用于基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;整合单元440,用于对各训练节点上传的模型参数进行整合,并将得到的聚合参数,以及根据各训练节点的密钥对生成的聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;验证单元450,用于根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性;更新单元460,用于在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
在本申请的一些实施例中,在上述装置中,在开启新的轮次的训练,或新的医疗模型的训练时,生成单元420,还用于选取新的聚合节点,且验证单元450,还用于根据新的训练节点的密钥对、随机数、身份证明,对其身份进行验证。
在本申请的一些实施例中,在上述装置中,整合单元440,用于根据一个训练节点上述的模型参数,确定测试医疗模型;基于所述测试医疗模型,对测试用数据集进行预测,得到测试准确率;若得到的测试准确率小于预设的准确率阈值,则舍弃该训练节点上传的模型参数;若得到的测试准确率大于等于预设的准确率阈值,则将该训练节点上传的模型参数进行聚合,得到聚合参数。
在本申请的一些实施例中,在上述装置中,所述密钥对包括阈值签名;整合单元440,用于将各训练节点的密钥对的阈值签名,基于预设的加密算法进行运算,得到聚合签名。
在本申请的一些实施例中,在上述装置中,分配单元410,用于根据各训练节点的数据,确定验证种子;基于所述验证种子,采用乘法循环群生成密钥对,所述密钥对包括公钥、私钥和阈值签名;其中,所述阈值签名包含一个线性映射,使得所述乘法循环群具备指定属性,且所述阈值签名具备同态特性。
在本申请的一些实施例中,在上述装置中,分配单元410,用于基于可验证随机函数,为各训练节点生成随机数及身份证明,其中,所述随机数及所述身份证明满足下式:
其中,skvi为私钥,di为随机数,πi为身份证明,α为消息字符串,βi为数字签名。
在本申请的一些实施例中,在上述装置中,生成单元420,用于确定各训练节点的随机数与所述阈值随机数的相对大小,将随机数小于所述阈值随机数的训练节点作为候选聚合节点;若所述候选聚合节点的数量为一个,则将该候选聚合节点作为聚合节点;若所述候选聚合节点的数量为多个,则从多个候选聚合节点中随机选取一个作为聚合节点。
需要说明的是,上述装置可一一实现上述的方法,不再赘述。
图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于联盟链的医疗模型的训练装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
所述联盟链为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
所述联盟链以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,以及根据各训练节点的密钥对生成的聚合签名;并将得到的聚合参数和所述聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
各训练节点根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性,在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
上述如本申请图4所示实施例揭示的基于联盟链的医疗模型的训练装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图4中基于联盟链的医疗模型的训练装置执行的方法,并实现成基于联盟链的医疗模型的训练装置在图4所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图4所示实施例中基于联盟链的医疗模型的训练装置执行的方法,并具体用于执行:
所述联盟链为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
所述联盟链以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,以及根据各训练节点的密钥对生成的聚合签名;并将得到的聚合参数和所述聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
各训练节点根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性,在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于联盟链的医疗模型的训练方法,其特征在于,所述联盟链包括多个训练节点,所述方法包括:
所述联盟链为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
所述联盟链以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,以及根据各训练节点的密钥对生成的聚合签名;并将得到的聚合参数和所述聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
各训练节点根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性,在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
2.根据权利要求1所述的方法,其特征在于,所述各训练节点基于本地的医疗数据对医疗模型进行训练是分多轮次进行的;
在每一轮次的训练过程中,执行所述各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,至所述各训练节点从所述联盟链的智能合约中获取聚合参数,并根据所述聚合参数对本地的医疗模型的参数进行更新的步骤。
3.根据权利要求2所述的方法,其特征在于,在开启新的轮次的训练,或新的医疗模型的训练时,所述联盟链还控制各训练节点选取新的聚合节点,且根据新的训练节点的密钥对、随机数、身份证明,对其身份进行验证。
4.根据权利要求1所述的方法,其特征在于,所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,包括:
根据一个训练节点上述的模型参数,确定测试医疗模型;
基于所述测试医疗模型,对测试用数据集进行预测,得到测试准确率;
若得到的测试准确率小于预设的准确率阈值,则舍弃该训练节点上传的模型参数;
若得到的测试准确率大于等于预设的准确率阈值,则将该训练节点上传的模型参数进行聚合,得到聚合参数。
5.根据权利要求1所述的方法,其特征在于,所述密钥对包括阈值签名;
根据各训练节点的密钥对生成的聚合签名包括:
将各训练节点的密钥对的阈值签名,基于预设的加密算法进行运算,得到聚合签名。
6.根据权利要求1所述的方法,其特征在于,所述为各训练节点分配身份验证信息包括:
根据各训练节点的数据,确定验证种子;
基于所述验证种子,采用乘法循环群生成密钥对,所述密钥对包括公钥、私钥和阈值签名;
其中,所述阈值签名包含一个线性映射,使得所述乘法循环群具备指定属性,且所述阈值签名具备同态特性。
7.根据权利要求1所述的方法,其特征在于,所述为各训练节点分配身份验证信息包括:
基于可验证随机函数,为各训练节点生成随机数及身份证明,其中,所述随机数及所述身份证明满足下式:
其中,skvi为私钥,di为随机数,πi为身份证明,α为消息字符串,βi为数字签名。
8.根据权利要求1所述的方法,其特征在于,所述各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点包括:
确定各训练节点的随机数与所述阈值随机数的相对大小,将随机数小于所述阈值随机数的训练节点作为候选聚合节点;
若所述候选聚合节点的数量为一个,则将该候选聚合节点作为聚合节点;
若所述候选聚合节点的数量为多个,则从多个候选聚合节点中随机选取一个作为聚合节点。
9.一种基于联盟链的医疗模型的训练装置,其特征在于,所述联盟链包括多个训练节点,所述装置部署于所述联盟链以及各训练节点中,所述装置包括:
分配单元,用于为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
生成单元,用于以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
训练单元,用于基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
整合单元,用于对各训练节点上传的模型参数进行整合,并将得到的聚合参数,以及根据各训练节点的密钥对生成的聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
验证单元,用于根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性;
更新单元,用于在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
10.一种联盟链,其特征在于,所述联盟链包括多个训练节点;
所述联盟链,用于为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
所述联盟链,用于以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
各训练节点,用于基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
所述聚合节点,用于对各训练节点上传的模型参数进行整合,并将得到的聚合参数,以及根据各训练节点的密钥对生成的聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
各训练节点,用于根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性,在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
CN202111284979.6A 2021-11-01 2021-11-01 基于联盟链的医疗模型的训练方法、装置及联盟链 Active CN114186204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111284979.6A CN114186204B (zh) 2021-11-01 2021-11-01 基于联盟链的医疗模型的训练方法、装置及联盟链

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111284979.6A CN114186204B (zh) 2021-11-01 2021-11-01 基于联盟链的医疗模型的训练方法、装置及联盟链

Publications (2)

Publication Number Publication Date
CN114186204A CN114186204A (zh) 2022-03-15
CN114186204B true CN114186204B (zh) 2025-03-25

Family

ID=80601753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111284979.6A Active CN114186204B (zh) 2021-11-01 2021-11-01 基于联盟链的医疗模型的训练方法、装置及联盟链

Country Status (1)

Country Link
CN (1) CN114186204B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232527A (zh) * 2020-09-21 2021-01-15 北京邮电大学 安全的分布式联邦深度学习方法
CN112597240A (zh) * 2021-03-01 2021-04-02 索信达(北京)数据技术有限公司 一种基于联盟链的联邦学习的数据处理方法与系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303448B2 (en) * 2019-08-26 2022-04-12 Accenture Global Solutions Limited Decentralized federated learning system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232527A (zh) * 2020-09-21 2021-01-15 北京邮电大学 安全的分布式联邦深度学习方法
CN112597240A (zh) * 2021-03-01 2021-04-02 索信达(北京)数据技术有限公司 一种基于联盟链的联邦学习的数据处理方法与系统

Also Published As

Publication number Publication date
CN114186204A (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
US12254440B2 (en) Blockchain-based authentication and authorization
CN112232527B (zh) 安全的分布式联邦深度学习方法
TWI701573B (zh) 基於區塊鏈的資料存證方法及裝置、電子設備
TWI713840B (zh) 數位憑證管理方法、裝置及電子設備
CN110046996B (zh) 数据处理方法和装置
CN107395557B (zh) 一种业务请求的处理方法及装置
US20200082126A1 (en) Methods and system for collecting statistics against distributed private data
Backes et al. ADSNARK: Nearly practical and privacy-preserving proofs on authenticated data
US8839381B2 (en) Revoking delegatable anonymous credentials
CN109325331A (zh) 基于区块链和可信计算平台的大数据采集交易系统
CA3048425A1 (en) System and method for an electronic identity brokerage
CN110113326B (zh) 一种基于区块链的竞争排名方法及装置
Huang et al. Blockchain-assisted personalized car insurance with privacy preservation and fraud resistance
US20110271109A1 (en) Systems and methods of remote device authentication
CN111931195A (zh) 一种基于区块链的用户私钥管理方法、设备及介质
Hong et al. Service outsourcing in F2C architecture with attribute-based anonymous access control and bounded service number
CN110990790B (zh) 一种数据处理方法及设备
Soler et al. A privacy-preserving key transmission protocol to distribute QRNG keys using zk-SNARKs
CN113704712B (zh) 身份认证方法、装置、系统和电子设备
Ma et al. Blockchain-based privacy-preserving federated learning for mobile crowdsourcing
CN114186204B (zh) 基于联盟链的医疗模型的训练方法、装置及联盟链
CN112688775A (zh) 联盟链智能合约的管理方法和装置、电子设备、及介质
CN112800453B (zh) 一种基于多节点共识的可信查询方法及系统
CN112749964B (zh) 一种信息监控方法、系统、设备及存储介质
CN115134145B (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