基于联邦学习系统的医疗数据分析方法、设备、存储介质和程序产品

文档序号:30923993发布日期:2022-07-29 23:27阅读:104来源:国知局
基于联邦学习系统的医疗数据分析方法、设备、存储介质和程序产品

1.本技术涉及医疗数据共享技术领域,特别是涉及一种医疗数据分析方法、设备、存储介质和程序产品。


背景技术:

2.每个医院的数据都是保密,不能共享出来,但是数据是有价值的,医院的数据的价值更是具有分析性,自己医院的数据分析不能很好的进行一个分析,具有局限性,并且想知道其他医院的其他部门领域的数据是一个非常难的事,医院数据很难有互通和交流。
3.在传统的机器学习中,模型的效率和准确性依赖于集中式服务器的计算能力和训练数据,而数据往往牵扯到隐私。近年来,社会各界的隐私保护意识日益提升,政府的隐私保护监管力度逐渐加强,联邦学习应运而生。联邦学习的目的是保证数据隐私安全及合法合规的基础上,多方实现机器学习算法的共同建模,提升模型的效果。联邦学习本质上是一种分布式机器学习技术,又涉及到许多跨领域的研究,需要探索全新的软件和技术模式。
4.联邦学习需要从分布不同的数据源进行大量的机器学习计算,计算能力在各参与方之间共享,这涉及到分布式计算引擎。和集中式计算相反,分布式计算的一个计算过程将会在多台机器上进行,各方之间彼此进行交互以实现一个共同的目标,把需要进行大量计算的数据分区成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论。
5.分布式计算引擎:联邦学习需要从分布不同的数据源进行大量的机器学习计算,计算能力在各参与方之间共享,这涉及到分布式计算引擎。和集中式计算相反,分布式计算的一个计算过程将会在多台机器上进行,各方之间彼此进行交互以实现一个共同的目标,把需要进行大量计算的数据分区成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论。
6.联邦学习统计分析进行训练之后,无法通知训练的发起者已经训练完了。需要发起者去请求才知道结果如何。请求的频率如果过高,可能造成网络拥堵,浪费计算资源。频率如果过低,又难以及时获得训练结果,影响工作效率。


技术实现要素:

7.本技术提供了基于联邦学习系统的医疗数据分析方法,能够帮助客户端及时获得训练结果,提高效率。
8.本技术提供的基于联邦学习系统的医疗数据分析方法,所述联邦学习系统包括多个客户端,所述医疗数据分析方法包括:
9.确定待训练模型;
10.确定所述待训练模型采用的算法,获得所述算法对第一数据量的医疗数据完成训练的时间,作为参考时间;
11.根据所述待训练模型,确定所述多个客户端中的参与方,
12.获得各所述参与方用于训练所述待训练模型的医疗数据的数据量,计算得到第二数据量;
13.向所述联邦学习系统发送对所述待训练模型的训练任务;
14.在发送所述训练任务后,经过一段等待时间,再向所述联邦学习系统发送返回训练结果的请求,所述等待时间是根据所述第一数据量、所述第二数据量、所述参考时间计算得到,且所述等待时间与所述述第二数据量、所述参考时间正相关,与所述第一数据量负相关;
15.接收从所述联邦学习系统返回的所述待训练模型的训练结果;
16.根据所述联邦学习训练结果进行医疗数据分析。
17.以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
18.可选的,所述第一数据量的数值范围为100~1000。
19.可选的,所述第二数据量为各所述参与方中,用于训练所述待训练模型的所述医疗数据的数据量的最大值。
20.可选的,所述等待时间的计算方法包括:
21.选择一时间单位,将所述参考时间按所述时间单位取整,得到第一数值;
22.将所述第二数据量除以所述第一数据量,得到第二数值;
23.将所述第一数值与所述第二数值相乘得到第三数值;
24.将第三数值取整,得到第四数值;
25.根据所述时间单位,将所述第四数值转换为所述等待时间。
26.可选的,所述时间单位为分钟。
27.可选的,所述将所述参考时间按所述时间单位取整,为向上取整;将第三数值取整为向下取整。
28.可选的,所述向所述联邦学习系统发送返回训练结果的请求,具体包括:每隔5~20秒,向所述联邦学习系统发送一次返回训练结果的请求。
29.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述医疗数据分析方法的步骤。
30.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述医疗数据分析方法的步骤。
31.本技术还提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现所述医疗数据分析方法的步骤。
32.本技术提供的基于联邦学习系统的医疗数据分析方法、计算机设备、存储介质和程序产品,能够帮助客户端及时获得训练结果,提高效率。
附图说明
33.图1为一个实施例中联邦学习系统的框架示意图;
34.图2为一个实施例中医疗数据分析方法的流程示意图;
35.图3为一个实施例中计算等待时间的流程示意图;
36.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
37.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
38.联邦学习是指在满足数据隐私保护和保护数据安全的前提下,设计出一个分布式机器学习框架,使得各参与训练的机构在不交换数据的前提下协同工作,提升模型效果。该概念的核心是同时满足数据隐私保护和数据孤岛的问题,通过建立一个数据联邦,让各参与方同时获得收益,得到泛化能力更强的模型。
39.在一个实施例中,联邦学习系统的框架如图1所示,参与联邦学习的各医院分别配有客户端,训练任务分布在各客户端分别计算,充分利用各医院的医疗数据和计算能力,同时避免隐私泄露。当然,本技术的联邦学习系统除了可以采用客户端-服务器架构外,还可以采用其它架构,如树形结构、利用区块链的去中心化服务器的架构等。
40.为了解决数据的计算,本技术使用了基于联邦学习的分布式计算方法,要实现分布式计算首先要解决其中两个最重要的问题:一是如何拆分计算逻辑;二是如何分发计算逻辑。对于联邦学习来说,计算逻辑实现分布式,将一个巨大的问题拆分成相对独立的子问题分发到各个机器上求解,同时满足数据通信的安全性,保证各个计算逻辑之间的运行符合隐私保护的要求。
41.在一实施例中,客户端提供了图形用户界面,以满足的联邦学习建模需求,并隐藏联邦学习底层复杂的分布式计算和存储细节。所有模块均采用去耦的模块化方法开发,以增强模块的可扩展性。用户只需要具有一定的机器学习模型训练知识,就可以采用鼠标点选的方式发起联邦学习任务。
42.在一实施例中,客户端还提供丰富的入口,有些数据可能对自己的需求不大,也想过滤一下数据进行计算,例如选择男性的进行一个科研分析,客户端还对医疗数据进行过滤和组装。
43.在一实施例中,联邦学习系统还包括服务协调模块,服务协调模块是用于联邦学习的端到端管道平台,专为高度灵活、高性能的联邦学习任务而设计。服务协调模块连接上述各个系统模块,为整个系统的平稳运行,以及具体的联邦学习和隐私计算任务生命周期提供了管理。服务协调模块可配置于客户端和/或服务器。
44.当用户想要分析某一个场景下的医疗数据时,在客户端组织好自己需要的医疗数据,并邀请其他医院一起参与模型训练。等医疗数据准备完善后,看需要是否过滤数据和组装数据,选择分析算法,然后上传医疗数据到联邦学习系统。联邦学习提供12种统计分析算法,包括:平均数,极值,方差-标准差,峰度,协方差,四分位距,极差-中位数,众数,偏度,异构皮尔森系数,中位数,频数十二种方法。联邦学习根据算法处理完数据后,通过客户端查看训练结果。
45.在一实施例中,各客户端通过区块链连接,客户端本地的医疗数据加密后上链。各家医院的数据绝对保密,通过本地数值计算和传输加密以及安全聚合,在不暴露各方数据
敏感的基础上进行,计算的数据结果也只有发起方查看。区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。
46.在一实施例中,用户在发起联邦学习任务之前,需要将训练数据或模型上传客户端的分布式计算引擎。分布式计算引擎会将用户的医疗数据进行分块处理成易于计算的结构,并生成对应的元数据进行管理。此外,分布式计算引擎还提供了系统的弹性扩展和优化的存储技术,并提供缓存和复杂均衡,满足计算时的高动态和快速处理需求。
47.在一实施例中,客户端为用户提供数据定义接口,用户通过该接口定义医疗数据的统一规范,用户还可以添加自定义算法来支持不同场景的拓展需求,针对每个算法也可做具体参数的调整。客户端还对数据进行特征构造,将医疗数据进行整合计算,例如年纪加身高的参数进行一个组合训练,能更加多变的,可灵活的分析。
48.在一个实施例中,如图2所示,本技术提供的基于联邦学习系统的医疗数据分析方法,包括以下步骤:
49.步骤100,确定待训练模型。
50.步骤200,确定待训练模型采用的算法,获得算法对第一数据量的医疗数据完成训练的时间,作为参考时间。
51.在一个实施例中,第一数据量的数值范围为100~1000。
52.步骤300,根据待训练模型,确定多个客户端中的参与方。
53.步骤400,获得各参与方用于训练待训练模型的医疗数据的数据量,计算得到第二数据量。
54.在一个实施例中,第二数据量为各参与方中,用于训练待训练模型的医疗数据的数据量的最大值。
55.步骤500,向联邦学习系统发送对待训练模型的训练任务。
56.步骤600,在发送训练任务后,经过一段等待时间,再向联邦学习系统发送返回训练结果的请求,等待时间是根据第一数据量num1、第二数据量num2、参考时间num3计算得到,且等待时间与述第二数据量、参考时间正相关,与第一数据量负相关。每隔5~20秒,向联邦学习系统发送一次返回训练结果的请求。
57.具体的,在一个实施例中,等待时间的计算方法包括:
58.步骤610,选择一时间单位,将参考时间按时间单位取整,得到第一数值。具体为,将参考时间按时间单位取整向上取整得到第一数值。
59.步骤620,将第二数据量除以第一数据量,得到第二数值。
60.步骤630,将第一数值与第二数值相乘得到第三数值。
61.步骤640,将第三数值取整,得到第四数值。具体为,将第三数值向下取整得到第四数值。
62.步骤650,根据时间单位,将第四数值转换为等待时间。具体为,将第四数值减去整数1后,附前述的时间单位,得到等待时间。
63.例如,等待时间={int[(num2/num1)*int[num3]]-1}分钟
[0064]
需要强调的是,计算等待时间的步骤可以在发起训练结果返回请求之前的任何时
刻,本技术不做限制。
[0065]
步骤700,接收从联邦学习系统返回的待训练模型的训练结果。
[0066]
步骤800,根据联邦学习训练结果进行医疗数据分析。
[0067]
本技术的医疗数据分析方法,根据算法的类型,预先取得该算法的训练时间作为参考时间,再参考参与方的数据量,估计训练所需时间,从而根据估算时间等待必要的时间后请求结果,占用较少的系统资源,且能提高工作效率。
[0068]
应该理解的是,虽然图2~3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2~3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0069]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储医疗数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现以上实施例中任一种医疗数据分析方法的步骤。
[0070]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0071]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上实施例中任一种医疗数据分析方法的步骤。
[0072]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0073]
在一个实施例中,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现以上实施例中任一种医疗数据分析方法的步骤。
[0074]
本实施例中,计算机程序产品包括程序代码部分,以用于当计算机程序产品由一
个或多个计算装置执行时,执行本技术各实施例中所述的医疗数据分析方法的步骤。计算机程序产品可被存储在计算机可读记录介质上。还可经由数据网络(例如,通过ran、经由因特网和/或通过rbs)提供计算机程序产品以便下载。备选地或附加地,该方法可被编码在现场可编程门阵列(fpga)和/或专用集成电路(asic)中,或者功能性可借助于硬件描述语言被提供以便下载。
[0075]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。不同实施例中的技术特征体现在同一附图中时,可视为该附图也同时披露了所涉及的各个实施例的组合例。
[0076]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1