基于区块链和联邦学习的医疗数据可信共享方法
未命名
09-22
阅读:77
评论:0
1.本发明涉及种基于请求用户可信度的访问控制方法,特别是基于区块链和联邦学习的医疗数据可信共享方法。
背景技术:
2.随着医疗信息化水平的提高,海量医疗数据开放共享成为符合医疗卫生行业数据实际需求的必然趋势,具有重大应用价值。然而,如何兼顾数据共享和隐私保护,在保障数据安全的前提下发挥医疗数据价值,是当前学者们亟待解决的重要课题。
3.基于区块链的医疗数据共享模式存在数据存储空间受限、加解密的过程增加了互操作性的难度、共享效率差、计算开销大、数据隐私问题未解决等问题。而区块链与联邦学习技术进行融合可以极大整合两方优势,相互补充。结合区块链和联邦学习的安全可信数据共享,与传统的基于区块链的数据共享方式不同,不需要传输原始数据,而是通过联邦学习模型将原始数据抽取为数据模型,通过共享数据模型实现“数据可用不可见”。联邦学习模型参数存储在区块链中,保证了模型参数的安全性与可靠性。
4.但是现有基于区块链和联邦学习的数据共享模式在医疗共享网络中应用面临着以下两方面的重要问题:(1)多参与方信任问题。参与联邦训练的客户端可靠性被忽略,可能存在半诚实或恶意的客户端节点。(2)联邦平均聚合算法不合理。区块链节点收集到参与训练节点的本地模型之后进行模型聚合,现有的模型聚合方法主要是联邦平均,但联邦平均没有考虑到低可信度低质量的模型参与聚合带来的全局模型质量降低问题,影响整个联邦学习任务模型的质量,进而影响医疗数据共享的效果。
技术实现要素:
5.针对现有技术中存在的缺陷,本发明的目的在于提供一种基于区块链和联邦学习的医疗数据可信共享方法。
6.为了实现上述目的,本发明所述的基于区块链和联邦学习的医疗数据可信共享方法,由以下部分组成:数据共享层、区块链层和联邦学习层;
7.数据共享层:医疗机构通过用户注册和身份可信计算加入医疗数据共享联盟链;数据请求者进行数据请求信息的发布;通过区块链共享平台获得联邦学习全局模型;
8.区块链层:针对特定的数据共享请求,行为可信计算根据链上数据检索机制和联邦客户端的选择机制,进行数据提供方的节点选择,组建联邦训练委员会,并根据可信联邦平均聚合算法更新全局模型;
9.联邦学习层:模型训练委员会成员基于其本地数据集执行联邦学习,来训练同一个联邦学习模型;当数据提供者参与到联邦学习过程中,其信任值更新并存储在区块链上;
10.工作步骤如下:
11.step 1、用户注册:用户上传自己的用户注册信息reg,可信认证中心ca为加入区块链的节点进行身份可信计算,身份可信计算智能合约itsc为参与数据共享的用户设置了
一定的准入门槛,审核通过的用户系统分配其唯一标识id和公钥pk,颁发身份可信证书,完成用户身份的注册;
12.step 2、发出数据请求:数据请求者dr在区块链上发布数据共享请求req,req中包含请求的数据描述信息,表明所需要的数据类型、数据大小、数据质量、时间。该请求作为数据记录存放在联盟链上,区块链保存其交易的哈希时间戳,维护链上交易的可审计;
13.step 3、数据请求处理:区块链系统收到数据请求req后,根据链上的检索机制和信任机制,计算各数据提供方的行为信任值,执行行为可信智能合约btsc选择高可信的联邦学习客户端spi,组成一个联邦学习训练委员会sp={sp1,sp2,
…
,spn};
14.step4、联邦学习:联邦学习训练委员会的成员根据数据请求req,基于自己的本地数据集执行联邦学习算法,分布式地协作训练同一个联邦学习模型,直到模型拟合或达到迭代次数;在每次模型更新过程中,使用差分隐私实现全局参数的加密聚合,并通过基于节点贡献度的共识机制选取记账节点。区块链记录模型参数的更新过程,实现参数的可审计性;
15.step 5、数据共享:联邦学习任务完成后,全局模型m加密保存在区块链中。相关的数据请求者收到联邦学习任务完成的广播后,从联盟链上下载加密的模型文件,并对其进行解密,获取共享的模型m。因此,数据请求者在不获取患者原始数据的情况下,通过共享平台实现了医疗数据的获取,达到了医疗数据的安全可信共享的目的。
16.优选的,所述step 1中身份可信计算过程为:
17.判断用户属性是否存在,若不存在用户身份可信度为0,不允许进行链上注册;如果存在,则构建由用户的属性原始数值构成的正向化矩阵为x=(x
ij
)m×n;其中m是待评价用户数量,n是身份可信属性评价指标数量;x
ij
是第i个待评价用户的第j项身份可信属性评价指标归一化处理得到标准化后的矩阵p
ij
;计算第j项属性的信息熵值ej;计算信息效用值dj;计算各个属性指标所占据的权重wj;算出用户的身份可信度iti;如果iti≥it
threshold
;it
threshold
是信任阈值,对其进行身份标识制作身份凭证,返回用户标识id和公钥pk,用户注册成功;
18.所述用户属性包括机构名称name、所属联盟allianceid、信息化程度a1、组织管理能力a2、抗攻击能力a3、本地数据量a4、计算能力a5、网络可靠性a6。
19.优选的,所述step3中行为信任计算过程为:根据评估用户与被评估用户所在联盟区域的异同对联盟内信任度和联盟间信任度分别进行研究,两者在同一联盟内,联盟内用户直接综合信任度根据直接信任度和推荐信任度综合得到;
20.两者在不同联盟,在联盟内信任度评估的基础上,联盟间以联盟为单位,根据域间交互行为影响域间信任度,最终得到联盟间不同用户之间的综合信任度。
21.优选的,所述联盟内信任计算过程为:用户i对用户j的行为可信综合信任值bt
ij
可以表示为:
22.bt
ij
=α
·
dt
ij
+β
·
rt
ij
;
23.其中,dt
ij
为直接信任值,rt
ij
为推荐信任值,α,β为直接信任度和推荐信任度在综合信任值计算中所占的权重,α,β∈(0,1)且α+β=1。
24.优选的,所述直接信任度计算过程为:假设n次历史医疗共享任务中,医院i对医院j的信任度结合交互时间形成的序列为s=(<t1,dt1(i,j)>,<t2,dt2(i,j)>,
…
,<tn,
dtn(i,j)>)。tn是交互的时间值,dtn(i,j)是交互的历史信任值,根据iowa算子计算的直接信任度为:
[0025][0026]
其中,w
t
是发生时间排在第t位的历史直接信任度在直接信任度评估中占有的权重,dt
v-index(i)
是t1,t2,
…
tn按大到小排序后排在第t位的历史直接信任度。
[0027]
优选的,所述推荐信任度计算过程为:在计算医院i对医院j的推荐信任度时,设能够提供有效推荐信任的医院集合为ek={e1,e2,
…
,eh},h为推荐医院个数,则医院i对j的推荐信任度为:
[0028][0029]
其中,dt(ek,j)为推荐实体ek提供的关于目的医院j的直接信任度。ω(ek)是ek提供推荐信息的推荐因子,是医院i相信其推荐信息的可信度,定义为医院i到ek采用dijkstra算法计算的最短路径上所有链路权值之积,即:
[0030][0031]
优选的,在不同的联盟内,联盟x中的i对联盟z中的r的综合信任度,可以表示为:
[0032]
bt
ir
=dt
xz
·rr
→z;
[0033]
dt
xz
为联盟x对联盟z的直接信任值,rr→z为r在联盟z中的综合信誉值,是为该联盟中所有实体对r的信任值的综合,与联盟内实体的推荐信任度的计算方法相同,表示为:
[0034][0035]ek
'为联盟z中所有能提供关于r的信任值的评价者,n为ek'的个数,ω(ek')为推荐因子,这里假设为所有评价者同等重要,推荐因子为1。
[0036]
与现有技术相比,本发明具有如下的有益效果:
[0037]
(1)提出了一种基于身份可信认证和行为可信评估相结合的双因素可信模型。基于熵权法的身份可信度计算,保证了共享区块链中用户的可信性,缓解了医院数据拥有者由于缺乏信任而不愿参与医疗数据共享的困境。综合直接信任和推荐信任的行为信任计算,为联邦学习的可信高质量的客户端节点筛选提供基础。
[0038]
(2)提出了一种基于iowa算子和dijkstra算法的行为可信计算。为表征历史信任对直接信任度评估的影响和时间衰减性,对交互发生的时间序列进行排序,提出基于诱导
有序加权平均(induced ordered weighted averaging,iowa)算子来评估直接信任度。采用dijkstra算法基于最短路径计算推荐信任度,并结合医疗联盟特点,分别给出联盟内信任和联盟间信任的计算方法。
[0039]
(3)提出了一种基于本地模型质量和信誉值的改进的可信联邦平均聚合算法(trusted federated average aggregation algorithm,trusted-fedavg),根据模型质量评估结果以及节点在共享过程中的历史信誉值评分调整模型聚合权重,增加高质量模型参数在聚合模型中的贡献度占比,从而提升聚合模型的准确率。
附图说明:
[0040]
图1tsmd-bfl系统模型架构;
[0041]
图2可信数据共享中的交互关系;
[0042]
图3基于其他客观信任属性的身份信任属性树;
[0043]
图4行为信任网络实例;
具体实施方式
[0044]
下面结合具体实施方式对本发明做进一步详细描述。
[0045]
本发明采用联盟链的架构,建立了基于区块链和联邦学习的医疗数据可信共享方法tsmd-bfl,该模型通过使用联盟链构建联邦多边信任关系,实现了去中心化的医疗数据可信共享服务平台,模型框架分为数据共享层、区块链层和联邦学习层。
[0046]
在数据共享层,首先,医院、制药企业、科研机构和医保部门等医疗相关机构通过用户注册和身份可信计算加入医疗数据共享联盟链。然后,数据请求者进行数据请求信息的发布。最后,通过区块链共享平台获得联邦学习全局模型。根据用户在一次数据共享交易中角色的不同,将用户分为:数据请求者dr和数据提供者dp。整个医疗数据共享系统中这两者之间没有明确的划分,数据提供者也可能成为数据请求者。区块链共享的联邦学习全局模型可以用于医学研究、药品研发、辅助诊疗、基因组学分析、遗传学分析和疫情防控等方面。
[0047]
在区块链层,针对特定的数据共享请求,行为可信计算根据链上数据检索机制和联邦客户端的选择机制,进行数据提供方的节点选择,组建联邦训练委员会,并根据可信联邦平均聚合算法更新全局模型。联盟链中的每个区块负责记录参与节点的身份标识信息、身份属性信息、身份可信计算结果、行为可信计算结果、全局模型参数、迭代次数、共享过程信息等数据记录。
[0048]
在联邦学习层,联邦学习本地客户端为数据提供者,一般为医疗机构、基因测序机构、医学中心等。模型训练委员会成员基于其本地数据集执行联邦学习,来训练同一个联邦学习模型。当数据提供者参与到联邦学习过程中,其信任值更新并存储在区块链上。区块链与联邦学习的集成为医疗数据共享系统提高了可信性和安全性,促进了更多具有更大数量训练样本的医疗机构和具有额外计算能力的医疗相关数据提供方的联合。
[0049]
医疗数据共享场景下,参与方的相互信任是成功共享的关键。根据“身份+行为”双因素理论,信任包括身份信任和行为信任,即身份和行为都是可信的,才能保证该主体是可信的。本发明设计的信任机制通过身份可信智能合约(itsc)、行为可信智能合约(btsc)和
可信联邦平均聚合算法(trusted-fedavg)为医疗数据共享提供可信服务。
[0050]
定义1:信任(trust)是指建立在实体身份认证的基础上,由实体间历史交易行为认知,对实体能力或需求、行为或服务可靠性程度达到预期目标的信念。可以表示为t=(it,bt)。
[0051]
it(identification trust)为身份信任,即有关身份认证信息的信任程度,是衡量用户身份是否具有真实、可靠的信念,是有关实体身份信息可信度的规定,依据身份属性信息来决定是否给予信任。当一个节点通过用户注册加入到区块链中,就表明其通过了区块链的身份认证机制。bt(behavior trust)为行为信任,重在对实体行为的评价,通过观察实体行为对实体的能力进行可靠性认证,是衡量对客户端节点信任程度的重要标尺。在t时刻,bt
t
∈[0,1]。行为可信度bt根据信任双方直接交互的程度由直接信任dt和推荐信任综合决定rt。信任双方直接交互不借助第三方实体产生的信任称为直接信任;当信任信息来自于推荐方时叫做推荐信任。行为信任随时间的变化而变化,具有时间衰减性,是一个动态变量。实体通过身份认证的基础上,进行行为交互。身份信任确保实体的身份可信,为行为信任的评估奠定基础,而行为信任对实体的可信状态进行动态评定,为实体的身份信任的更新和撤销提供依据。
[0052]
本发明提出的基于身份可信智能合约(itsc)和行为可信智能合约(btsc)的可信共享流程由用户注册、发布数据请求、数据请求处理、联邦学习和数据共享阶段等五个阶段组成。具体可信共享流程步骤如下:
[0053]
step 1、用户注册:用户上传自己的用户注册信息reg,可信认证中心ca为加入区块链的节点进行身份可信计算,身份可信计算智能合约itsc为参与数据共享的用户设置了一定的准入门槛,审核通过的用户系统分配其唯一标识id和公钥pk,颁发身份可信证书,完成用户身份的注册;
[0054]
step 2、发出数据请求:数据请求者dr在区块链上发布数据共享请求req,req中包含请求的数据描述信息,表明所需要的数据类型、数据大小、数据质量、时间。该请求作为数据记录存放在联盟链上,区块链保存其交易的哈希时间戳,维护链上交易的可审计;
[0055]
step 3、数据请求处理:区块链系统收到数据请求req后,根据链上的检索机制和信任机制,计算各数据提供方的行为信任值,执行行为可信智能合约btsc选择高可信的联邦学习客户端spi,组成一个联邦学习训练委员会sp={sp1,sp2,
…
,spn};
[0056]
step 4、联邦学习:联邦学习训练委员会的成员根据数据请求req,基于自己的本地数据集执行联邦学习算法,分布式地协作训练同一个联邦学习模型,直到模型拟合或达到迭代次数;在每次模型更新过程中,使用差分隐私实现全局参数的加密聚合,并通过基于节点贡献度的共识机制选取记账节点。区块链记录模型参数的更新过程,实现参数的可审计性;
[0057]
step 5、数据共享:联邦学习任务完成后,全局模型m加密保存在区块链中。相关的数据请求者收到联邦学习任务完成的广播后,从联盟链上下载加密的模型文件,并对其进行解密,获取共享的模型m。因此,数据请求者在不获取患者原始数据的情况下,通过共享平台实现了医疗数据的获取,达到了医疗数据的安全可信共享的目的。
[0058]
双因素可信计算:
[0059]
1.身份可信计算:
[0060]
根据医疗数据共享场景,医院、制药企业、科研机构和医保部门等医疗相关机构用户身份可信度是根据用户的身份属性信息确定的。用户属性一般包括用户名称name、所属联盟allianceid、信息化程度a1、组织管理能力a2、抗攻击能力a3、本地数据量a4、计算能力a5、网络可靠性a6等客观身份属性信息,是其身份可信性的判断依据。身份可信度可以表示为:
[0061][0062]
当机构名称和所属联盟在相关真实信息中无法查询到,用户身份可信度为0,不允许进行链上注册。当用户的机构名称和所属联盟存在时,it∈[0,1],身份可信度的量化与其他身份属性相关。从共享能力和联邦学习能力两方面构建基于其他客观信任属性的身份信任属性树,在身份属性进行身份可信量化过程中,属性的权重计算非常重要,熵权法是常用的客观赋权法,主要是根据信息熵确定权重,信息熵是指评价指标包含的信息量,一般来说信息熵越小,提供的信息量就越多,与之对应的权重就越大,反之则小。本发明采用熵权法来计算属性权重,假设m有个待评价用户,n个身份可信属性评价指标,用户的属性原始数值构成的正向化矩阵为x=(x
ij
)m×n:
[0063][0064]
将矩阵进行归一化处理,通过最大最小值法,把原始数据映射为位于区间[0,1]之间的数字,这样不仅不会改变原始数据组的特征,还能提升模型的及收敛速度。标准化后的矩阵p
ij
为:
[0065][0066]
根据信息熵理论和信息熵计算公式计算第j项属性的信息熵值ej和信息效用值dj,计算公式分别如下:
[0067][0068]dj
=1-ejꢀꢀꢀꢀꢀꢀꢀ
(5)
[0069]
最后,计算各个属性指标所占据的权重wj,带入用户的身份属性值即可计算出用户的身份可信度iti,计算公式分别如下:
[0070][0071]
[0072]
根据可信共享流程,用户注册时对用户的身份可信度进行计算,当的身份可信度大于信任阈值it
threshold
时对其进行身份标识,并制作身份凭证。当注册过的用户访问共享数据时,区块链利用分布式签名技术对数据访问者身份凭证进行验证,验证通过,可认定访问者身份可信,并允许其访问共享数据。总结来说,身份可信计算的算法如下:
[0073][0074]
2.行为可信计算
[0075]
由于医疗数据共享的参与主体构成了一个分布式的多联盟环境,因此,本文在行为信任方面构建了以联盟域为单位的分层信任模型,如图4所示。所有实体间的信任关系构成一个加权有向图。其中,顶点表示实体,顶点间的有向边表示存在的直接信任情况,边上的权值为起点实体对终点实体的直接信任度。行为信任计算时,需要根据评估实体与被评估实体所在联盟区域的异同对联盟内信任度和联盟间信任度分别进行研究。当两者在同一联盟内,综合信任度根据直接信任度和推荐信任度综合得到。两者在不同联盟,在联盟内信任度评估的基础上,联盟间以联盟为单位,根据域间交互行为影响域间信任度,最终得到联盟间不同主体之间的综合信任度。综合信任值应用于参与联邦学习客户端的选择,为联邦学习提供信任支持和决策依据。
[0076]
(1)联盟内信任计算
[0077]
假设医院实体i,j直接有充足的历史信任数据,根据交互历史对节点进行信任量化,交互历史来自交互节点之间的交互结果,其交互结果又根据信任评估结果而不断更新。在信任度评估过程中,医院实体i对对医院实体j的行为可信综合信任值(信誉)bt
ij
可以表示为:
[0078]
bt
ij
=α
·
dt
ij
+β
·
rt
ij
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0079]
其中,dt
ij
为直接信任值,rt
ij
为推荐信任值,α,β为直接信任度和推荐信任度在综合信任值计算中所占的权重,α,β∈(0,1)且α+β=1。
[0080]
(2)直接信任度
[0081]
直接信任是通过直接交互建立的实体信任关系。假设历史交互任务过程中,交互的积极事件和消极事件的次数分别为m,u,直接信任度通常表示为:
[0082][0083]
但是这种计算方式没有考虑信任的时间衰减性,即离当前交互时间越久远的历史行为对当前信任度评估的影响越小,在直接信任度计算中所占权重越低。针对此问题,本发明通过对行为交互发生的时间序列进行排序,提出基于诱导有序加权平均(induced ordered weighted averaging,iowa)算子进行加权计算直接信任。iowa算子是学者yager基于owa算子基础上提出的一种加权平均算子。
[0084]
假设<v1,b1>,<v2,b2>,
…
,<vm,bm>为m个二维序列,iowa算子定义为
[0085][0086]
上式中,函数fw是由v1,v2,
…
vn所产生的m维诱导有序加权平均算子。v-index(i)是v1,v2,
…
,vm中按从大到小的顺序排列的第i个大的数的下标。vi是bi的诱导值。wi与数bi的大小和位置无关,而是与其诱导值所在的位置有关。
[0087]
假设n次历史医疗共享任务中,医院i对医院j的信任度结合交互时间形成的序列为s=(<t1,dt1(i,j)>,<t2,dt2(i,j)>,
…
,<tn,dtn(i,j)>)。tn是交互的时间值,dtn(i,j)是交互的历史信任值。根据iowa算子第n+1次的直接信任度为:
[0088][0089]
其中,w
t
是发生时间排在第t位的历史直接信任度在直接信任度评估中占有的权重,dt
v-index(i)
是t1,t2,
…
tn按大到小排序后排在第t位的直接信任度。根据直接信任度的时间衰减性,w
t
取值应随着交互时间的增加而逐渐递减,因此,序列s的权重序列w=(w1,w2,
…
,wn)
t
是一个符合iowa算子的有序加权向量。
[0090]
为了求解权重序列,采用最大离散度方法进行计算。w=(w1,w2,
…
,wn)
t
必须满足:
[0091][0092]
根据最大离散度原理,离散度disp(w)表示经向量运算后所有历史信任信息被充分利用的程度,并且0<disp(w)≤ln(n)。和andness(w)=1-orness(w)分别是或度量和与度量,表示了诱导有序加权向量或和与的程度。因此,可得:
[0093][0094]
w1[(n-1)λ+1-nw1]n=[(n-1)λ]
n-1
[((n-1)λ-n)w1+1]
ꢀꢀꢀꢀ
(14)
[0095][0096][0097]
根据具体应用环境特点和需求设定值λ,分别根据上述公式依次计算w1,wn,wk(k=2,3,
…
,n-1),最后根据公式(11)求出直接信任度。根据离当前时间越近的历史信息影响大,离得越久远的历史信息影响较小的特点,对交互发生时间按照从近到远的顺序排列后,对应权重向量具有依次递减性。因此,本发明提出的基于iowa算子的直接信任度计算方法既充分反映了历史信任对直接信任度计算带来的影响,又较好地刻画了直接信任度随时间不断衰减的特性。
[0098]
(3)推荐信任度
[0099]
推荐信任度是指通过实体间非直接交互得到的信任。根据联盟中其他实体提供的推荐信任信息进行评估。因此,要计算推荐信任度,首先要获得对被评价实体的推荐信息。传统方法采用广播方式获取推荐信息,效率较低。为解决该问题,本文借助dijkstra相关思想获取推荐信任信息,进而计算推荐信任度。
[0100]
dijkstra算法是由荷兰计算机科学家狄克斯特拉于1959年提出的,是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。dijkstra算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
[0101]
在计算医院i对医院j的推荐信任度时,设能够提供有效推荐信任的医院集合为ek={e1,e2,
…
,eh},h为推荐医院个数,则医院i对j的推荐信任度为:
[0102][0103]
其中,dt(ek,j)为推荐实体ek提供的关于目的医院j的直接信任度。ω(ek)是ek提供推荐信息的推荐因子,是医院i相信其推荐信息的可信度,定义为医院i到ek采用dijkstra算法计算的最短路径上所有链路权值之积,即:
[0104][0105]
(4)联盟间信任评估
[0106]
在不同的联盟内,医院联盟x中的医院i对科研机构联盟z中的研究所r的综合信任度,可以表示为:
[0107]
bt
ir
=dt
xz
·rr
→zꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)
[0108]
其中,dt
xz
为医院联盟x对科研机构联盟z的直接信任值。rr→z为研究所r在科研机构联盟z中的综合信誉值。其计算方法为该联盟中所有实体对r的信任值的综合,与联盟内
实体的推荐信任度的计算方法相同,可以表示为:
[0109][0110]
公式中,ek'为科研机构联盟z中所有能提供关于r的信任值的评价者,n为联盟z中ek'的个数,ω(ek')为推荐因子,这里假设为所有评价者同等重要,推荐因子为1。
[0111]
为及时查询及核对参与数据共享过程中节点的综合信任值,每个节点均有一个本地信任值存储池。各节点的综合信任值更新后,上传到区块链上以作为其他数据请求者的参考意见。根据最终的信誉意见,当综合信任值大于信任阈值bt
threshold
,筛选具有高可靠和高声誉的候选医院作为联邦学习任务的联邦学习客户端。节点初始信任值为0.5,信任机制正常情况下使诚信节点信誉值分布在[0.5,l],而恶意节点信任值分布在[0,0.5]。行为可信算法表示如下:
[0112]
可信联邦平均聚合算法:
[0113]
当医疗相关机构h想要请求a和b或者c医院病人的个人隐私数据并用于某项研究(例如请求病人的血检报告用于研究病人患乳腺癌几率),数据请求者h将任务发布在区块链平台上。区块链根据可信计算来选择高可信的医院来参与联邦模型训练。联邦学习服务端收集到联邦学习客户端的本地模型之后进行模型聚合。现有的模型聚合方法主要是联邦
平均,但联邦平均没有考虑到低质量模型参与聚合带来的全局模型质量降低问题,本发明基于fedavg提出了基于可信计算结果的聚合算法trusted-fedavg,根据本地模型质量评估结果以及节点在协作过程中的信誉值评分调整模型聚合权重,增加高质量模型参数在聚合模型中的贡献度占比,从而提升聚合模型的准确率。
[0114]
本地模型质量主要根据本地训练的模型损失确定。我们采用本地训练过程中的交叉熵(cross entropy)来评估本地模型损失。假设联邦学习所有参与节点有一个用于验证模型质量的标签数据集d={x1,y1),(x2,y2),
…
,(xn,yn)},则对于标签数据xi,yi的交叉熵h(f(xi),yi)的计算如下:
[0115][0116]
其中,yi代表标签数据期望输出,f(xi)代表模型的预测结果。交叉熵的值越小则代表模型预测的概率分布越接近真实结果,即模型训练质量越高。
[0117]
假设选择n个节点参与模型聚合,联邦学习中参与节点pk的质量评估权重可以定义为:
[0118][0119]
节点在聚合过程中的信誉表现可以累计的信任分数体现,可以表示为:
[0120][0121]
其中,τ是节点参与模型聚合的次数。每次模型聚合各节点的质量评估权重和累计信任分数都被记录在区块链上,是联邦学习模型聚合与参与节点的依据。全局模型更新计算过程可以表示为:
[0122][0123]
联邦学习主要思想是多个数据源(如医院、医疗研究机构等)共同参与1个全局模型的构建,每个数据源使用本地数据进行计算并生成相应的本地模型。全局节点通过收集到的各数据源本地梯度进行全局模型的更新并返回更新后的模型到各数据源,通过反复迭代直到全局模型收敛。由于该模型的服务端由区块链来完成,可信聚合算法在区块链的智能合约中部署。本发明的trusted-fedavg算法可以表示为:
[0124][0125]
以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
技术特征:
1.基于区块链和联邦学习的医疗数据可信共享方法,其特征在于由以下部分组成:数据共享层、区块链层和联邦学习层;数据共享层:医疗机构通过用户注册和身份可信计算加入医疗数据共享联盟链;数据请求者进行数据请求信息的发布;通过区块链共享平台获得联邦学习全局模型;区块链层:针对特定的数据共享请求,行为可信计算根据链上数据检索机制和联邦客户端的选择机制,进行数据提供方的节点选择,组建联邦训练委员会,并根据可信联邦平均聚合算法更新全局模型;联邦学习层:模型训练委员会成员基于其本地数据集执行联邦学习,来训练同一个联邦学习模型;当数据提供者参与到联邦学习过程中,其信任值更新并存储在区块链上;工作步骤如下:step 1、用户注册:用户上传自己的用户注册信息reg,可信认证中心ca为加入区块链的节点进行身份可信计算,身份可信计算智能合约itsc为参与数据共享的用户设置了一定的准入门槛,审核通过的用户系统分配其唯一标识id和公钥pk,颁发身份可信证书,完成用户身份的注册;step 2、发出数据请求:数据请求者dr在区块链上发布数据共享请求req,req中包含请求的数据描述信息,表明所需要的数据类型、数据大小、数据质量、时间。该请求作为数据记录存放在联盟链上,区块链保存其交易的哈希时间戳,维护链上交易的可审计;step 3、数据请求处理:区块链系统收到数据请求req后,根据链上的检索机制和信任机制,计算各数据提供方的行为信任值,执行行为可信智能合约btsc选择高可信的联邦学习客户端sp
i
,组成一个联邦学习训练委员会sp={sp1,sp2,
…
,sp
n
};step 4、联邦学习:联邦学习训练委员会的成员根据数据请求req,基于自己的本地数据集执行联邦学习算法,分布式地协作训练同一个联邦学习模型,直到模型拟合或达到迭代次数;在每次模型更新过程中,使用差分隐私实现全局参数的加密聚合,并通过基于节点贡献度的共识机制选取记账节点。区块链记录模型参数的更新过程,实现参数的可审计性;step 5、数据共享:联邦学习任务完成后,全局模型m加密保存在区块链中。相关的数据请求者收到联邦学习任务完成的广播后,从联盟链上下载加密的模型文件,并对其进行解密,获取共享的模型m。因此,数据请求者在不获取患者原始数据的情况下,通过共享平台实现了医疗数据的获取,达到了医疗数据的安全可信共享的目的。2.根据权利要求1所述的基于区块链和联邦学习的医疗数据可信共享方法,其特征在于:所述step 1中身份可信计算过程为:判断用户属性是否存在,若不存在用户身份可信度为0,不允许进行链上注册;如果存在,则构建由用户的属性原始数值构成的正向化矩阵为x=(x
ij
)
m
×
n
;其中m是待评价用户数量,n是身份可信属性评价指标数量;x
ij
是第i个待评价用户的第j项身份可信属性评价指标归一化处理得到标准化后的矩阵p
ij
;计算第j项属性的信息熵值e
j
;计算信息效用值d
j
;计算各个属性指标所占据的权重w
j
;算出用户的身份可信度it
i
;如果it
i
≥it
threshold
;it
threshold
是信任阈值,对其进行身份标识制作身份凭证,返回用户标识id和公钥pk,用户注册成功;所述用户属性包括机构名称name、所属联盟allianceid、信息化程度a1、组织管理能力a2、抗攻击能力a3、本地数据量a4、计算能力a5、网络可靠性a6。
3.根据权利要求1所述的基于区块链和联邦学习的医疗数据可信共享方法,其特征在于:所述step3中行为信任计算过程为:根据评估用户与被评估用户所在联盟区域的异同对联盟内信任度和联盟间信任度分别进行研究,两者在同一联盟内,联盟内用户直接综合信任度根据直接信任度和推荐信任度综合得到;两者在不同联盟,在联盟内信任度评估的基础上,联盟间以联盟为单位,根据域间交互行为影响域间信任度,最终得到联盟间不同用户之间的综合信任度。4.根据权利要求3所述的基于区块链和联邦学习的医疗数据可信共享方法,其特征在于:所述联盟内信任计算过程为:用户i对用户j的行为可信综合信任值bt
ij
可以表示为:bt
ij
=α
·
dt
ij
+β
·
rt
ij
;其中,dt
ij
为直接信任值,rt
ij
为推荐信任值,α,β为直接信任度和推荐信任度在综合信任值计算中所占的权重,α,β∈(0,1)且α+β=1。5.根据权利要求3所述的基于区块链和联邦学习的医疗数据可信共享方法,其特征在于:所述直接信任度计算过程为:n次历史医疗共享任务中,医院i对医院j的信任度结合交互时间形成的序列为s=(<t1,dt1(i,j)>,<t2,dt2(i,j)>,
…
,<t
n
,dt
n
(i,j)>);t
n
是交互的时间值,dt
n
(i,j)是交互的历史信任值,根据iowa算子计算的直接信任度为:其中,w
t
是发生时间排在第t位的历史直接信任度在直接信任度评估中占有的权重,dt
v-index(i)
是t1,t2,
…
t
n
按大到小排序后排在第t位的历史直接信任度。6.根据权利要求3所述的基于区块链和联邦学习的医疗数据可信共享方法,其特征在于:所述推荐信任度计算过程为:在计算医院i对医院j的推荐信任度时,设能够提供有效推荐信任的医院集合为e
k
={e1,e2,
…
,e
h
},h为推荐医院个数,则医院i对j的推荐信任度为:其中,dt(e
k
,j)为推荐实体e
k
提供的关于目的医院j的直接信任度。ω(e
k
)是e
k
提供推荐信息的推荐因子,是医院i相信其推荐信息的可信度,定义为医院i到e
k
采用dijkstra算法计算的最短路径上所有链路权值之积,即:7.根据权利要求3所述的基于区块链和联邦学习的医疗数据可信共享方法,其特征在于:在不同的联盟内,联盟x中的i对联盟z中的r的综合信任度,可以表示为:bt
ir
=dt
xz
·
r
r
→
z
;dt
xz
为联盟x对联盟z的直接信任值,r
r
→
z
为r在联盟z中的综合信誉值,是为该联盟中所
有实体对r的信任值的综合,与联盟内实体的推荐信任度的计算方法相同,表示为:e
k
'为联盟z中所有能提供关于r的信任值的评价者,n为e
k
'的个数,ω(e
k
')为推荐因子,这里假设为所有评价者同等重要,推荐因子为1。
技术总结
本发明公开了一种基于区块链和联邦学习的医疗数据可信共享方法,包括:数据共享层、区块链层和联邦学习层;分为5个步骤:用户注册、发出数据请求、数据请求处理、联邦学习、数据共享完成医疗数据的安全可信共享。本发明提出了一种基于身份可信认证和行为可信评估相结合的双因素可信模型,保证了共享区块链中用户的可信性。采用可信联邦平均聚合算法增加高可信高质量模型参数在聚合模型中的贡献度占比,从而提升医疗数据联邦学习聚合模型的准确率。而提升医疗数据联邦学习聚合模型的准确率。而提升医疗数据联邦学习聚合模型的准确率。
技术研发人员:姜茸 张荷娇
受保护的技术使用者:云南财经大学
技术研发日:2023.06.16
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:AR眼镜的制作方法 下一篇:眼镜镜片及其设计方法与流程