基于联邦学习的医疗辅助诊断方法、装置、设备及存储介质与流程

文档序号:23583096发布日期:2021-01-08 14:13阅读:145来源:国知局
基于联邦学习的医疗辅助诊断方法、装置、设备及存储介质与流程
本申请涉及医疗辅助诊断领域,尤其涉及一种基于联邦学习的医疗辅助诊断方法、装置及系统及存储介质。
背景技术
:随着人工智能技术的广泛应用,各种基于机器学习算法的医疗辅助诊断模型不断出现。医疗辅助诊断模型由存储在医院数据库中的病患历史诊断数据训练而成。随着数据量的增加和患者隐私意识的提升,不同医院之间的直接数据交互、数据共享难以实现,也就是所谓的数据孤岛。现有的基于机器学习算法的医疗辅助诊断模型至少具有如下缺陷:1、由于数据孤岛问题,仅采用其所属医院的本地病患历史诊断数据完成对诊断模型的训练,由于训练数据的数量、丰富度不足,导致诊断模型的预测诊断准确度不佳。2、仅选择单一模型(如决策树模型、神经网络模型等)进行训练以生成最终的诊断模型,难以保证诊断效果的稳定度。技术实现要素:为了解决上述技术问题中的至少一个,本发明第一方面提供了一种基于联邦学习的个人资质评估方法,其技术方案如下:一种基于联邦学习的医疗辅助诊断方法,运行于客户端,其包括:获取存储在本地的带有诊断结果标签的病患诊断数据并按预定比例将所述病患诊断数据划分为基模型训练集和基模型测试集,所述病患诊断数据包括唯一的id;基于所述基模型训练集参与至与其他客户端、服务器端的联邦学习中以获得至少两种基模型;使用所述基模型测试集对各所述基模型进行测试;将各所述基模型生成的预测结果融入至所述基模型训练集中以获得集成模型训练集;将各所述基模型生成的预测结果融入至所述基模型测试集中以获得集成模型测试集;基于所述集成模型训练集参与至与其他客户端、服务器端的联邦学习中以获得集成模型;使用所述集成模型测试集对所述集成模型进行测试。本发明第二方面提供了一种基于联邦学习的医疗辅助诊断装置,运行于客户端,其包括:第一功能模块,用于获取存储在本地的带有诊断结果标签的病患诊断数据并按预定比例将所述病患诊断数据划分为基模型训练集和基模型测试集,所述病患诊断数据包括唯一的id;第二功能模块,用于基于所述基模型训练集参与至与其他客户端、服务器端的联邦学习中以获得至少两种基模型;第三功能模块,用于使用所述基模型测试集对各所述基模型进行测试;第四功能模块,用于将各所述基模型生成的预测结果融入至所述基模型训练集中以获得集成模型训练集;第五功能模块,用于将各所述基模型生成的预测结果融入至所述基模型测试集中以获得集成模型测试集;第六功能模块,用于基于所述集成模型训练集参与至与其他客户端、服务器端的联邦学习中以获得集成模型;第七功能模块,用于使用所述集成模型测试集对所述集成模型进行测试。本发明第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器内并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例任一项所述的基于联邦学习的医疗辅助诊断方法。本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例任一项所述的基于联邦学习的医疗辅助诊断方法。与现有技术相比,本发明的基于联邦学习的医疗辅助诊断方法基于联邦学习和多模型融合的训练策略完成对模型的训练,其显著地提升了诊断模型的辅助诊断效果。附图说明图1为本发明的基于联邦学习的医疗辅助诊断方法的实施环境;图2为本发明实施例的基于联邦学习的医疗辅助诊断方法的实施过程示意图;图3为本发明实施例的基于联邦学习的医疗辅助诊断方法的流程图;图4为本发明实施例的基于联邦学习的医疗辅助诊断方法的流程图;图5为本发明实施例的基于联邦学习的医疗辅助诊断方法的流程图;图6为本发明实施例的基于联邦学习的医疗辅助诊断装置的结构示意图;图7为本发明实施例的电子设备的结构示意图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。申请概述如上所述,现有的基于机器学习算法的医疗辅助诊断模型至少具有如下缺陷:1、仅采用其所属医院的本地病患历史诊断数据完成对诊断模型的训练,由于训练数据的数量、丰富度不足,导致诊断模型的预测诊断准确度不佳。2、选择单一模型(如决策树模型、神经网络模型等)进行训练以生成最终的诊断模型,难以保证诊断效果的稳定度。为了解决数据孤岛问题,实现敏感数据不对外提供的前提下实现信息的交互与模型的学习,出现了一种新型学习方法--联邦学习。联邦学习是一种新兴的人工智能技术,其设计目标是在保障数据交换时的信息安全、保证合法合规的前提下,在协调方(服务器端)的统一协调下,多参与方(客户端)之间开展高效率的联合机器学习。为了解决单个模型的预测、分类效果不佳的缺陷,近年出现了多模型融合(集成)的解决策略。多模型融合就是训练多个基模型,然后基于多个基模型的预测结果训练出一个更加优秀的集成模型,该集成模型能够继承各基模型的各自的优势,从而使得预测、分类效果更佳。本发明的目的即是引入联邦学习和的多模型融合的算法思想,构建出更加有效的医疗辅助诊断模型,以提升模型的预测、诊断效果。实施例环境图1为本发明实施例提供的基于联邦学习的医疗辅助诊断方法所涉及的实施环境,其本质上为联邦学习的实施架构。如图1所示,其包括:若干个客户端300和一个服务器端400。客户端300部署在对应的参与联邦学习的医院处,如图1实施例中,共包括有三个参与方:医院a、医院b及医院c。每个参与方均部署一个客户端300。当然,在其他实施例中也可以包括更多的参与方,每个参与方的客户端300均保存有各自拥有的病患诊断数据。经过数据的预处理后,病患诊断数据被处理成标准格式存储在客户端300。例如,在一个应用例中,医生通过分析病患的乳腺肿块的9个属性给出乳腺肿瘤为“良性”或“恶性”的诊断结果。每条病患诊断数据包括11个维度:唯一的id、9个属性值及一个诊断结果标签,其中的9个属性例如可以是肿块厚度、细胞尺寸的均匀性、细胞形状的均匀性、边缘附着力、单个上皮细胞大小、裸核、染色质、正常核、线粒体,各属性的属性值的数值范围在1~10范围内。易于理解的,随着时间的推移,客户端300内的病患诊断数据处于动态增长状态,且可能会出现属性值与原有的病患诊断数据的差异度较大的新增数据。服务器端400部署在协调联邦学习的节点处,该协调节点可以是参与者中的一个,也可以是独立于各参与者的第三方机构,甚至可以是云端。为了增强数据安全性,联邦学习过程中,各客户端300与服务器端400以加密的形式进行数据交互。联邦学习的详细原理及算法思想为本领域一般技术人员所熟悉,此处不再进行进一步的详细描述。实施例方法及装置/运行于客户端本实施例中,从其中一个客户端的角度对本发明的医疗辅助诊断方法的执行过程进行描述,其他客户端均类似。如图2至图5所示,本实施例中的医疗辅助诊断方法100包括如下步骤。s101、获取存储在本地的带有诊断结果标签的病患诊断数据并按预定比例将病患诊断数据划分为基模型训练集和基模型测试集,各病患诊断数据均包括唯一的id。为了满足模型对数据的格式要求,获取到病患诊断数据后,一般需要对病患诊断数据进行预处理,如:将病患诊断数据的所有属性的属性值进行正则化处理使得属性值均位于0~1范围内。删除存在缺省属性值的病患诊断数据。将诊断结果标签转换为数值,如上文应用例中的乳腺肿瘤诊断数据,其诊断结果分为“良性”和“恶性”两种,即可以将“恶性”转换为数字“1”,“良性”转换为“0”。接着,将带有诊断结果标签的病患诊断数据按预定比例划分为基模型训练集和基模型测试集,如图3所示,本实施例中,将80%的病患诊断数据作为基模型训练集,余下的20%的病患诊断数据作为基模型测试集。s102、基于基模型训练集参与至与其他客户端、服务器端的联邦学习中以获得至少两种基模型。如图4所示,步骤s102具体包括:s1021、构建至少两种基模型并初始化模型参数。如图3所示,可选的,在客户端构建三个非线性的二分类模型作为基模型,分别为决策树模型、贝叶斯模型和神经网络模型。s1022、基于基模型训练集对各基模型进行训练,得到各基模型的模型参数并反馈给服务器端,以触发服务器端对至少两个客户端反馈的模型参数进行聚合并将聚合后的模型参数发送给各客户端。将步骤s101产生的基模型训练集分别输入至各基模型中以完成对各基模型的并行训练,整个训练过程在联邦学习架构内完成。例如,以其中的一个基模型为例(如决策树模型),训练过程中,每完成一轮决策树模型的训练(或者说是前向传播)后,即将决策树模型的模型参数经过加密后发送给服务器端,当然,其他的客户端也会将其本轮的决策树模型的模型参数发送给服务器端。服务器端对获取到的多个决策树模型的模型参数进行聚合(如加权平均)以生成针对决策树模型的聚合后的模型参数,服务器端将聚合后的决策树模型的模型参数加密后分发给包括本客户端在内的所有客户端。同理,其他的基模型(如贝叶斯模型、神经网络模型)的训练过程也如此。为了提升训练效率,各基模型的训练过程一般并行实施。s1023、获得到服务器发送的聚合后的模型参数并使用聚合后的模型参数继续训练各所述基模型,直至完成所述基模型的训练。收到服务器发送的聚合后的模型参数后,对相应的基模型进行模型参数更新并继续进行训练。如此迭代,直至各基模型均收敛,从而获得训练好的基模型。s103、使用基模型测试集对各基模型进行测试。完成基模型的训练后,采用步骤s101产生的基模型测试集对各基模型进行测试,具体的:将基模型测试集中的基模型测试数据分别输入至训练好的各基模型中,比较各基模型的输入结果与基模型测试数据中的诊断结果标签,从而实现对各基模型的测试。至此,已经完成基模型的训练及测试过程。进入集成模型的训练及测试:s104、将各所述基模型生成的预测结果融入至所述基模型训练集中以获得集成模型训练集。基模型训练集中的每条训练数据被输入至训练好的各基模型后,各基模型分别输出一个预测结果。仍以上文应用例中的乳腺肿瘤诊断为例,如,其中一条基模型训练数据为(id:102;肿块厚度:0.20;细胞尺寸的均匀性:-0.70;细胞形状的均匀性:-0.41;边缘附着力:2.50;单个上皮细胞大小:0.34;裸核:0.40;染色质:-0.59;正常核:-0.61;线粒体:-0.35;诊断结果标签:1)。将删除诊断结果标签后的该基模型训练数据分别输入至三个训练好的基模型内,三个基模型的输出结果集如下:决策树模型:预测结果为“1”,“1”的概率为1,“0”的概率为0。贝叶斯模型:预测结果为“0”,“1”的概率为0.3,“0”的概率为0.7。神经网络模型:预测结果为“1”,“1”的概率为0.52,“0”的概率为0.48。接着,将上述三个基模型的输出结果拼接至该基模型训练数据,即获得一条集成模型训练数据:(id:102;肿块厚度:0.20;细胞尺寸的均匀性:-0.70;细胞形状的均匀性:0.41;边缘附着力:2.50;单个上皮细胞大小:0.34;裸核:0.40;染色质:-0.59;正常核:-0.61;线粒体:-0.35;决策树模型:预测结果为“1”,其中:“1”的概率为1,“0”的概率为0;贝叶斯模型:预测结果为“0”,其中:“1”的概率为0.3,“0”的概率为0.7;神经网络模型:预测结果为“1”,其中:“1”的概率为0.52,“0”的概率为0.48)。完成对所有的基模型训练数据和与其对应的三个基模型的输出结果的拼接,即获得集成模型训练集。可见,集成模型训练集所包括的训练数据与基模型训练集所包括的训练数据按id一一对应。s105、将各所述基模型生成的预测结果融入至所述基模型测试集中以获得集成模型测试集。同理,基模型测试集中的每条测试数据被分别输入至训练好的各基模型后,各基模型分别输出一个预测结果。与步骤s104相同,完成对所述的,基模型测试数据和与其对应的三个基模型的输出结果的拼接,即获得集成模型测试集。同样的,集成模型测试集所包括的测试数据与基模型测试集所包括的测试数据按id一一对应。s106、基于所述集成模型训练集参与至与其他客户端、服务器端的联邦学习中以获得集成模型;如图5所示,步骤s106具体包括:s1061、构建集成模型并初始化模型参数。如图3所示,可选的,在客户端构建的集成模型为贝叶斯模型。s1062、基于步骤s104产生的集成模型训练集对集成模型进行训练,得到集成模型的模型参数并反馈给服务器端,以触发服务器端对至少两个客户端反馈的模型参数进行聚合并将聚合后的模型参数发送给各客户端。训练过程中,每完成一轮集成模型的训练(或者说是前向传播),即将集成模型的模型参数经过加密后发送给服务器端,当然,其他的客户端也会将其本轮的集成模型的模型参数发送给服务器端。服务器端对获取到的集成模型的模型参数进行聚合(如加权平均)以生成聚合后的集成模型模型参数,服务器端将聚合后的集成模型模型参数加密后分发给包括本客户端在内的所有客户端。s1063、获得服务器发送的聚合后的模型参数后,对集合模型进行模型参数更新并继续进行训练。如此迭代,直至集合模型收敛,从而获得训练好的集合模型。s107、使用所述集成模型测试集对所述集成模型进行测试。完成集成模型的训练后,采用步骤s105产生的集成模型测试集完成对集成模型的测试。至此,已经完成集成模型的训练及测试过程。该训练好的集成模型即能作为最终的辅助诊断模型使用。至此,完成了本发明的医疗辅助诊断模型的全部训练及测试。各客户端均形成了三个基模型和一个集成模型。将待诊断的病患数据输入至集成模型内,即能获得预测结果。如下表所示,在一个具体实施例中,经测试,三个基模型及集成模型的预测效果如下:模型决策树朴素贝叶斯神经网络集成模型准确率93.60%96.34%96.71%97.03%精确率93.13%98.53%99.11%99.24%召回率97.13%95.70%95.70%95.97%f1评分0.95090.97090.97380.9758可见,基于联邦学习训练出的诊断模型,其中的各个基模型和集成模型均能获得较好的预测效果。当然,集成模型的表现要明显优于各基模型的表现。如前文所述,随着时间的推移,各客户端300内的病患诊断数据处于动态增长状态,且可能或出现与已有数据的差异度较大的新数据。因此,可以想到的,当新增数据量占总数据量的比例超过预定阈值时(如5%),现有的预测模型的预测效果很可能已经无法达到之前的辅助诊断效果。基于此考虑,可选的,本实施例中的医疗辅助诊断方法还包括:模型更新步骤,具体的,当存储在本地的已确诊的带有诊断结果的病患诊断数据的新增数据量超过预定的阈值(如5%)时,对各基模型和集成模型进行重新训练以实现模型的更新,即:重新执行上述步骤s101~s107,以获得更新后的基模型和集成模型。实施例装置/运行于客户端本实施例中,从其中一个客户端侧对本发明的医疗辅助诊断装置的结构进行描述。如图6所示,该医疗辅助诊断装置200包括第一功能模块201、第二功能模块202、第三功能模块203、第四功能模块204、第五功能模块205、第六功能模块206、第七功能模块207,其中:第一功能模块201,用于获取存储在本地的带有诊断结果标签的病患诊断数据并按预定比例将所述病患诊断数据划分为基模型训练集和基模型测试集,所述病患诊断数据包括唯一的id;第二功能模块202,用于基于所述基模型训练集参与至与其他客户端、服务器端的联邦学习中以获得至少两种基模型;第三功能模块203,用于使用所述基模型测试集对各所述基模型进行测试;第四功能模块204,用于将各所述基模型生成的预测结果融入至所述基模型训练集中以获得集成模型训练集;第五功能模块205,用于将各所述基模型生成的预测结果融入至所述基模型测试集中以获得集成模型测试集;第六功能模块206,用于基于所述集成模型训练集参与至与其他客户端、服务器端的联邦学习中以获得集成模型;第七功能模块207,用于使用所述集成模型测试集对所述集成模型进行测试。由于本实施例中的医疗辅助诊断装置200的各功能模块的处理过程与前述实施例中的医疗辅助诊断方法100的处理过程一致,因此本实施例不再对医疗辅助诊断装置200的各功能模块的处理过程进行重复描述,可以参考前述实施例中的医疗辅助诊断方法。当然,各功能模块也可以对应包括若干子功能模块。实施例电子设备图7为本申请实施例提供的电子设备500的结构示意图,如图7所示,该电子设备500包括处理器501和存储器503,处理器501和存储器503相连,如通过总线502相连。处理器501可以是cpu,通用处理器、dsp,asic,fpga或者其他可编程器件、晶体管逻辑器件、硬件部件或者其他任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,dsp和微处理器的组合等。总线502可以包括一通路,在上述组件之间传送信息。总线502可以是pci总线或eisa总线等。总线502可以分为地址总线、数据总线、控制总线等。为了便于表示,图中仅以一条粗线表示,但是并不表示仅有一根总线或一种类型的总线。存储器503可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可以储存信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储、磁盘存储介质或其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器503用于存储本申请方案的应用程序代码,并由处理器501来控制执行。处理器501用于执行存储器503中存储的应用程序代码,以实现前述实施例中的医疗辅助诊断方法100。本申请实施例最后还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的医疗辅助诊断方法100。上文对本发明进行了足够详细的具有一定特殊性的描述。所属领域内的普通技术人员应该理解,实施例中的描述仅仅是示例性的,在不偏离本发明的真实精神和范围的前提下做出所有改变都应该属于本发明的保护范围。本发明所要求保护的范围是由所述的权利要求书进行限定的,而不是由实施例中的上述描述来限定的。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1