联邦学习模型的生成方法、装置、计算机设备及存储介质与流程

文档序号:26753853发布日期:2021-09-25 03:20阅读:65来源:国知局
联邦学习模型的生成方法、装置、计算机设备及存储介质与流程

1.本发明涉及数据处理技术领域,尤其涉及一种联邦学习模型的生成方法、装置、计算机设备及存储介质。


背景技术:

2.近几年来,医疗领域对ai(artificialintelligence,人工智能)技术的转化需求激增,希望借助ai技术加速医疗创新技术的突破,切实提升ai医疗发展业务。
3.其中,联邦学习被寄予厚望,作为基础技术框架,联邦学习可以打破医疗机构之间的信息壁垒和数据孤岛问题,实现在保证医疗机构的数据安全性的前提下,通过联邦学习构建医疗应用模型。
4.联邦学习模型的构建过程复杂,涉及领域过多。传统的联邦学习模型构建过程中,参数调试复杂,流程冗长复杂,并且需要兼顾系统性能、使用资源等指标,在实际过程中,对技术人员的专业素养要求很高。
5.大部分医疗机构并没有专门的机器学习人员,且开发联邦学习的平台需要大量的支出,使得医疗机构在构建联邦学习模型利用联邦学习的手段挖掘并分析医疗数据进行医疗研究的需求不能被满足。


技术实现要素:

6.本发明提供一种联邦学习模型的生成方法、装置、计算机设备及存储介质,以提高医疗机构生成联邦学习模型的效率,降低医疗机构进行联邦学习的开发复杂度。
7.一种联邦学习模型的生成方法,包括:
8.接收客户端的模型训练请求,从模型训练请求中获取模型任务图和任务信息,对模型任务图进行解析,得到至少两个任务组件以及任务组件之间的连接关系;
9.判断任意两个具有连接关系的任务组件之间的逻辑关系,得到逻辑结果,基于每个逻辑结果,构建模型训练任务;
10.基于任务信息,执行模型训练任务,得到联邦学习模型;
11.将联邦学习模型保存至客户端的本地目录,供客户端应用联邦学习模型。
12.一种联邦学习模型的生成装置,包括:
13.任务组件解析模块,用于接收客户端的模型训练请求,从模型训练请求中获取模型任务图和任务信息,对模型任务图进行解析,得到至少两个任务组件以及每个任务组件之间的连接关系;
14.训练任务构建模块,用于判断任意两个具有连接关系的任务组件之间的逻辑关系,得到逻辑结果,基于每个逻辑结果,构建模型训练任务;
15.训练任务执行模块,用于基于任务信息,执行模型训练任务,得到联邦学习模型;
16.模型结果处理模块,用于将联邦学习模型保存至客户端的本地目录,供客户端应用联邦学习模型。
audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
30.服务器可以是提供各种服务的服务器,例如对终端设上显示的页面提供支持的后台服务器。
31.需要说明的是,本发明实施例所提供的联邦学习模型的生成方法由服务器执行,相应地,联邦学习模型的生成装置设置于服务器中。
32.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,根据实现需要,可以具有任意数目的终端设备、网络和服务器,本发明实施例中的终端设备具体可以对应的是实际生产中的应用系统。
33.在一实施例中,如图2所示,提供一种联邦学习模型的生成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤s101至s104:
34.s101,接收客户端的模型训练请求,从模型训练请求中获取模型任务图和任务信息,对模型任务图进行解析,得到至少两个任务组件以及任务组件之间的连接关系。
35.其中,医疗机构首先部署联邦学习模型客户端节点,根据医疗机构构建联邦学习模型的需求,在客户端界面,根据拖拽任务组件的方式构建模型任务图。其中,任务组件为预先设定的联邦学习建模过程的功能,将功能对应的底层代码进行封装得到,在客户端界面,任务组件为图形形式。作为一种可选的实现方式,部分任务组件可设置输入接口,供客户端的使用者输入数据。
36.当接收到客户端发送的模型训练请求后,从模型训练请求中,获取对应的模型任务图以及任务信息,首先对模型任务图的拓扑结构进行解析,得到模型任务图的组成元素即组成模型任务图的任务图。
37.进一步的,在解析得到组成模型任务图的任务组件后,对任意两个任务组件之间的连接关系进行确认,并判断具有连接关系的两个任务组件之间先后顺序是否符合预设联邦学习模型的任务流程。
38.例如,一模型任务图中包含数据加载任务组件、数据预处理任务组件等,且数据加载任务组件与数据预处理任务组件的关系为数据加载任务组件

数据预处理任务组件。按照联邦学习建模的流程,应先进行数据加载,再对数据进行预处理,由此可知,该模型任务图中任务组件的连接关系以及顺序符合联邦学习建模的任务流程。
39.任务信息具体是指客户端使用者在任务组件中输入的任务信息,在对模型任务图进行解析得到对应的任务组件之后,则读取相应任务组件中的用户输入信息。
40.s102,判断任意两个具有连接关系的任务组件之间的逻辑关系,得到逻辑结果,基于每个逻辑结果,构建模型训练任务。
41.其中,任务组件为将底层代码进行封装之后的图形组件,对任务组件进行编译,得到任务组件的源代码,根据任务组件之间的连接关系,判断两个任务组件之间的源代码的逻辑结果,具体的,判断两个任务组件的源代码是否存在相同的形参或者实参等,以及在具有连接关系之间是否存在形参或者实参调用的关系。在得到逻辑结果后,根据逻辑结果构建模型训练任务,其中,模型训练任务即联邦学习模型的可执行代码文件,在模型训练任务中包括联邦学习的类型、对训练数据的处理方式以及联邦学习采用的算法等。
42.其中,针对不同的训练数据,联邦学习可以分为横向联邦学习
(horizontalfederatedlearning)、纵向联邦学习(vertical federated learning)与联邦迁移学习(federated transfer learning)。
43.其中,横向联邦学习可以应用于不同数据集的用户特征重叠较多而用户重叠较少的场景。纵向联邦学习可以应用于不同数据集的用户重叠较多而用户特征重叠较少的场景。联邦迁移学习可以应用于不同数据集的用户与用户特征重叠均较少的场景。
44.根据联邦学习类型的不同,对训练数据进行处理的方式也不同,且在联邦学习建模过程中采用的算法也不相同。
45.联邦学习可使用的机器学习算法有很多种,包括但不局限于神经网络、随机森林等算法。
46.将联邦学习类型、应用的算法封装为任务组件,客户端通过拖拽任务组件的方式,生成联邦学习的构建请求,基于各个任务组件之间的逻辑关系,生成模型训练任务。
47.s103,基于任务信息,执行模型训练任务,得到联邦学习模型。
48.其中,任务信息具体为客户端在发起模型训练请求中,在任务组件中输入的任务信息,在得到模型训练任务之后,则根据任务信息,执行模型训练任务,得到联邦学习模型。
49.进一步的,在执行模型训练任务的过程中,需要实时监控模型训练任务的执行进程,在模型训练任务中的各个节点,获取节点的执行结果,如果当前节点执行失败,则调用预设的处理机制对错误原因进行诊断并修复错误原因。
50.s104,将联邦学习模型保存至客户端的本地目录,供客户端应用联邦学习模型。
51.其中,根据客户端的设置,将联邦学习模型保存至客户端的预设路径,共客户端使用者通过加载指定的路径运行联邦学习模型。
52.在本实施例中,通过接收客户端的模型训练请求,并获取模型任务图,通过对模型任务图进行解析,得到任务组件以及任务组件之间的连接关系,判断两个具有连接关系的任务组件之间的逻辑关系,得到逻辑结果,并构建模型训练任务,基于模型训练请求中的任务信息,执行模型训练任务,得到联邦学习模型,并将联邦学习模型保存在客户端的本地目录,供所述客户端应用该联邦学习模型,医疗机构通过客户端获得进行训练后的联邦学习模型,提高医疗机构生成联邦学习模型的效率,降低医疗机构进行联邦学习的开发复杂度。
53.在本实施例的一些可选的实现方式中,在s101之前,还包括如下步骤:
54.a,接收客户端上传的原始训练数据以及对应的数据处理请求。
55.其中,在客户端发起模型训练请求后,接收客户端上传的原始训练数据。其中,原始训练数据具体是指用以训练联邦学习模型的数据,需要对原始训练数据进行预处理。可以理解的是,原始训练数据可在得到联邦学习模型之后,对联邦学习模型的精度进行测试。
56.其中,数据处理请求指的是客户端对原始训练数据的处理请求,具体包括字段类型检查、空值处理等请求。
57.b,对数据处理请求进行解析,得到数据处理指令。
58.其中,对数据处理请求进行解析,即得到对数据进行处理的请求。其中,客户端可以通过拖拽数据处理任务组件的方式,发起数据处理请求。在接收到数据处理请求时,通过对数据处理任务组件进行解析,得到具体的数据处理方式。
59.c,基于数据处理指令,对原始训练数据进行处理,得到训练数据。
60.其中,根据数据处理指令,对原始训练数据进行处理,得到的训练数据用以对联邦
学习模型进行训练,以得到满足医疗研究需求的模型。
61.其中,对原始训练数据进行处理,得到规范的训练数据集,有利于提高联邦学习模型的训练效率。
62.在本实施例的一些可选的实现方式中,s101中,从模型训练请求中获取模型任务图和任务信息,对模型任务图进行解析,得到至少两个任务组件以及任务组件之间的连接关系的步骤包括:
63.s1011,识别模型任务图内各组成元素的类别和位置,并将组成元素的类别和位置作为组成元素的元素信息。
64.其中,识别模型任务图中的组成元素的类别以及位置,其中类别指的是将组成元素进行分类的属性,例如任务组件以及任务组件之间的连接符号如箭头。
65.组成元素的位置具体是组成元素在模型任务图中的坐标等。将组成元素的类别和位置作为组成元素的元素信息。
66.s1012,根据预设元素信息,对每个组成元素的元素信息进行分类,得到筛选后的每个任务组件。
67.其中,将类别是任务组件的组成元素筛选出来,得到模型任务图的任务组件。
68.s1013,基于每个任务组件的元素信息中的位置,确定任务组件之间的连接关系。
69.其中,根据元素信息中的位置,确定任务组件之间的顺序关系,在元素信息中,获取连接符类别,根据连接符,确定任意两个任务组件之间是否存在连接关系。
70.在本实施例中,通过将底层代码进行封装,将每一个模型训练的过程图形化,使得客户端发起模型训练请求的过程更加便利。通过对模型训练请求中的模型任务图进行解析,帮助服务端获取客户端的请求,从而构建模型训练任务。
71.在本实施例的一些可选的实现方式中,步骤s102中,判断任意两个具有连接关系的任务组件之间的逻辑关系,得到逻辑结果,基于每个逻辑结果,构建模型训练任务的步骤包括:
72.s1021,根据预设的编程语言的编译标准,对每个任务组件进行编译,得到每个任务组件的源代码。
73.其中,根据预设的编程语言,采用该编程语言规范的编译标准,生成原始字节码文件以及对应的解释器,最后生成每个任务组件的可执行代码文件。
74.进一步,根据可执行代码加载对应的运行环境,该运行环境用以运行任务组件对应的底层代码。
75.s1022,判断每个任务组件之间是否具有预设映射关系,根据判断结果以及每个任务组件的预设映射关系,生成模型训练可执行文件。
76.其中,将每个任务组价都进行编译后,得到每个任务组件的可执行代码文件。在每个可执行代码文件中遍历,根据变量调用,判断两个任务组件之间存在预设映射关系,即将每个可执行代码文件按照预设映射关系进行组合,得到模型训练可执行文件。
77.在本实施例中,通过对任务组件进行编译,得到预设的可执行代码,并根据每个任务组件的可执行代码的预设映射关系,生成模型训练可执行文件,用以进行模型训练任务,可减低客户端构建模型训练的开发难度,提高医疗机构生成联邦学习模型的效率。
78.在本实施例的一些可选的实现方式中,步骤s103中,基于任务信息,执行模型训练
任务,得到联邦学习模型的步骤包括:
79.s1031,基于任务信息,监控模型训练任务的执行状态,当模型训练任务执行到第一状态并得到第一执行结果时,采用预设加密方法对第一执行结果进行加密,得到第一加密执行结果。
80.其中,第一状态是指预先设置的模型训练任务的中断节点,在本实施例中,第一状态为联邦学习模型训练完成的状态,在监测到当前位于该状态时,则确定当前状态的执行结果。在本实施例中,第一执行结果是得到训练完成后的模型。
81.进一步的,将模型参数采用同态加密的方法进行加密,得到第一加密执行结果。
82.s1032,将第一加密执行结果上传至云端,并接收云端返回的模型聚合参数。
83.其中,将加密后的模型参数作为第一加密执行结果上传至云端,以从云端获取模型聚合参数,用以进行下一阶段的模型训练。
84.s1033,根据模型聚合参数,继续执行模型训练任务,得到联邦学习模型。
85.进一步的,在接收到模型聚合参数后,使用模型聚合参数后,对第一执行结果的模型进行参数调整并继续进行模型训练,最后得到联邦学习模型。
86.在本实施例中,通过对模型训练任务进行监控,用以实时掌握模型训练的进度,以实时推进模型训练的阶段。
87.在本实施例的一些可选的实现方式中,在s103之后,在步骤s104之前,还包括如下步骤:
88.d,向客户端发送获取测试数据集的请求,接收到测试数据集并作为联邦学习模型的输入,并得到输出结果。
89.其中,根据联邦学习模型的类别,获取测试数据集,联邦学习模型对测试数据集进行识别,将识别结果与原数据集进行比对。
90.e,基于预设判断方式,对输出结果进行评估,得到评估结果,并基于评估结果,确定联邦学习模型的精度。
91.进一步,分别统计识别结果与测试数据集的差异结果,建立精度统计指标,具体有稳定指标pst、洛伦兹曲线ks等。
92.在本实施例,通过对联邦学习模型进行精度判断,输出一个表征精度的精度指标,用以作为模型使用者的一个参考标准,具有参考意义。
93.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
94.在一实施例中,提供一种联邦学习模型的生成装置,该联邦学习模型的生成装置与上述实施例中联邦学习模型的生成方法一一对应。如图3所示,该联邦学习模型的生成装置包括如下模块:
95.任务组件解析模块31,用于接收客户端的模型训练请求,从模型训练请求中获取模型任务图和任务信息,对模型任务图进行解析,得到至少两个任务组件以及每个任务组件之间的连接关系。
96.训练任务构建模块32,用于判断任意两个具有连接关系的任务组件之间的逻辑关系,得到逻辑结果,基于每个逻辑结果,构建模型训练任务。
和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本技术中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
118.关于联邦学习模型的生成装置的具体限定可以参见上文中对于联邦学习模型的生成方法的限定,在此不再赘述。上述联邦学习模型的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
119.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种联邦学习模型的生成方法。
120.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中联邦学习模型的生成方法的步骤,例如图2所示的步骤s101至步骤s104及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中联邦学习模型的生成装置的各模块/单元的功能,例如图3所示模块31至模块34的功能。为避免重复,这里不再赘述。
121.所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
122.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
123.所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
124.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中联邦学习模型的生成方法的步骤,例如图2所示的步骤s101至步骤s104及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中联邦学习模型的生成装置的各模块/单元的功能,例如图3所示模块31至模块34的功能。为避免重复,这里不再赘述。
125.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
126.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
127.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1