基于联盟链的医疗模型的训练方法、装置及联盟链制造方法及图纸

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

【技术实现步骤摘要】
基于联盟链的医疗模型的训练方法、装置及联盟链


[0001]本申请涉及计算机
,具体涉及一种基于联盟链的医疗模型的训练方法、装置及联盟链。

技术介绍

[0002]在医疗数据共享过程中,各级医疗机构出于用户隐私保护、商业考量等原因,不愿意共享医疗数据,导致医疗数据孤岛问题严重。同时,各级医疗机构难以保证其他医疗机构共享的参数是真实的,各级医疗机构难以保证其他医疗机构在协同训练的过程中不作恶。最后,各级医疗机构难以信任某个节点执行中心化训练任务。因此,在多个机构共同进行医疗模型训练的过程中存在很多问题,如医疗数据难以共享问题;医疗数据真实性的问题;医疗模型训练过程中存在恶意节点的问题;医疗模型训练过程中存在中心化信任等问题。

技术实现思路

[0003]为解决上述问题,本申请实施例提供了一种基于联盟链的医疗模型的训练方法、装置及联盟链,以克服或部分克服上述问题。
[0004]第一方面,提供了一种基于联盟链的医疗模型的训练方法,所述联盟链包括多个训练节点,所述方法包括:
[0005]所述联盟链为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
[0006]所述联盟链以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
[0007]各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
[0008]所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,以及根据各训练节点的密钥对生成的聚合签名;并将得到的聚合参数和所述聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
[0009]各训练节点根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性,在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
[0010]可选的,在上述方法中,所述各训练节点基于本地的医疗数据对医疗模型进行训练是分多轮次进行的;
[0011]在每一轮次的训练过程中,执行所述各训练节点基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,至所述各训练节点从所述联盟链的智能合约中获取聚合参数,并根据所述聚合参数对本地的医疗模型的参数进行更
新的步骤。
[0012]可选的,在上述方法中,在开启新的轮次的训练,或新的医疗模型的训练时,所述联盟链还控制各训练节点选取新的聚合节点,且根据新的训练节点的密钥对、随机数、身份证明,对其身份进行验证。
[0013]可选的,在上述方法中,所述聚合节点对各训练节点上传的模型参数进行整合,得到聚合参数,包括:
[0014]根据一个训练节点上述的模型参数,确定测试医疗模型;
[0015]基于所述测试医疗模型,对测试用数据集进行预测,得到测试准确率;
[0016]若得到的测试准确率小于预设的准确率阈值,则舍弃该训练节点上传的模型参数;
[0017]若得到的测试准确率大于等于预设的准确率阈值,则将该训练节点上传的模型参数进行聚合,得到聚合参数。
[0018]可选的,在上述方法中,所述密钥对包括阈值签名;
[0019]根据各训练节点的密钥对生成的聚合签名包括:
[0020]将各训练节点的密钥对的阈值签名,基于预设的加密算法进行运算,得到聚合签名。
[0021]可选的,在上述方法中,所述为各训练节点分配身份验证信息包括:
[0022]根据各训练节点的数据,确定验证种子;
[0023]基于所述验证种子,采用乘法循环群生成密钥对,所述密钥对包括公钥、私钥和阈值签名;
[0024]其中,所述阈值签名包含一个线性映射,使得所述乘法循环群具备指定属性,且所述阈值签名具备同态特性。
[0025]可选的,在上述方法中,所述为各训练节点分配身份验证信息包括:
[0026]基于可验证随机函数,为各训练节点生成随机数及身份证明,其中,所述随机数及所述身份证明满足下式:
[0027][0028]其中,sk
vi
为私钥,d
i
为随机数,π
i
为身份证明,α为消息字符串,β
i
为数字签名。
[0029]可选的,在上述方法中,所述各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点包括:
[0030]确定各训练节点的随机数与所述阈值随机数的相对大小,将随机数小于所述阈值随机数的训练节点作为候选聚合节点;
[0031]若所述候选聚合节点的数量为一个,则将该候选聚合节点作为聚合节点;
[0032]若所述候选聚合节点的数量为多个,则从多个候选聚合节点中随机选取一个作为聚合节点。
[0033]第二方面,提供了一种基于联盟链的医疗模型的训练装置,所述联盟链包括多个训练节点,所述装置部署于所述联盟链以及各训练节点中,所述装置包括:
[0034]分配单元,用于为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
[0035]生成单元,用于以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
[0036]训练单元,用于基于本地的医疗数据对医疗模型进行训练,并将得到的模型参数写入所述联盟链的智能合约中,以使所述智能合约采用各训练节点密钥对对各训练节点上传的模型参数进行加密,并将加密后的模型参数广播至聚合节点;
[0037]整合单元,用于对各训练节点上传的模型参数进行整合,并将得到的聚合参数,以及根据各训练节点的密钥对生成的聚合签名写入所述联盟链的智能合约中,以广播至各训练节点;
[0038]验证单元,用于根据所述聚合节点的密钥对和身份证明验证所述聚合节点的身份,并验证所述聚合签名的有效性;
[0039]更新单元,用于在所述聚合节点的身份验证通过且所述聚合签名为有效的情况下,根据所述聚合参数对本地的医疗模型的参数进行更新。
[0040]第三方面,提供了一种联盟链,所述联盟链包括多个训练节点;
[0041]所述联盟链,用于为各训练节点分配身份验证信息,其中,所述身份验证信息包括:密钥对、随机数、身份证明;
[0042]所述联盟链,用于以所述联盟链的区块高度为种子,生成阈值随机数,并广播至各训练节点,以使各训练节点根据各训练节点的随机数和所述阈值随机数确定训练节点中的一个作为聚合节点;
[0043]各训练节点,用于基于本地的医疗数据对医疗模型进行训练,并将得到的本文档来自技高网
...

【技术保护点】

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

【专利技术属性】
技术研发人员:焦锋王峰闫晨旭
申请(专利权)人:海南火链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1