掌桥专利:专业的专利平台
掌桥专利
首页

医学验证模型的联邦学习

文献发布时间:2023-06-19 18:32:25


医学验证模型的联邦学习

技术领域

本公开的实施例总体上涉及计算机科学领域,并且尤其涉及用于医学验证模型的联邦学习的方法、设备和计算机程序产品。

背景技术

医学实验室中几乎每天都执行医学测试,并且由此生成大量的医学测试报告以呈现医学数据。在向临床科室或患者发布医学测试报告之前,启动验证过程,以确保报告中呈现的医学数据是有效的,从而避免对患者的错误诊断。然而,即使已经引入了一些自动化功能,当前的验证过程中仍需要大量的人力。

随着机器学习的发展,目前提出了训练机器学习模型以用于医学数据的自动化验证。对机器学习模型的训练可能需要包括历史医学数据的训练数据。传统上,每个实验室或医院可以收集本地生成的历史医学数据以训练机器学习模型供使用。然而,这种对模型的单独本地训练可能会消耗资源并且效率不高。另一方面,可获得的历史医学数据可能在相应本地站点处受到限制。例如,在体检中心处收集的大部分医学数据可能反映的是健康人的身体状况,而在肿瘤门诊部收集的大部分医学数据可能反映的是肿瘤患者的身体状况。因此,在一个本地站点处训练的医学验证模型可能无法推广到为其他本地站点提供准确的验证结果。

因此,需要提供一种用于高效且有效训练医学验证模型的解决方案。

发明内容

一般地,本公开的示例性实施例提供了一种用于医学验证模型的联邦学习的解决方案。

在第一方面,提供了一种计算机实现的方法。该方法包括:由主节点向多个计算节点传输关于初始医学验证模型的定义信息;由该主节点与该多个计算节点一起执行联邦学习过程,以使用在该多个计算节点处可获得的相应经处理的本地训练数据集来联合训练该初始医学验证模型,该相应本地训练数据集由该多个计算节点基于该定义信息来处理;以及由该主节点基于该联邦学习过程的结果来确定最终医学验证模型。

在第二方面,提供了一种计算机实现的方法。该方法包括:由计算节点从主节点接收关于初始医学验证模型的定义信息;至少基于该定义信息处理本地训练数据集;与主节点和至少一个另外的计算节点一起执行联邦学习处理,以经使用处理的本地训练数据集来联合训练初始医学验证模型。

在第三方面,提供了一种电子设备。该电子设备包括至少一个处理器;和至少一个存储器,该至少一个存储器包括计算机可读指令,该计算机可读指令在由该电子设备的该至少一个处理器执行时使得该电子设备执行上述第一方面中的方法的步骤。

在第四方面,提供了一种电子设备。该电子设备包括至少一个处理器;和至少一个存储器,该至少一个存储器包括计算机可读指令,该计算机可读指令在由该电子设备的该至少一个处理器执行时使得该电子设备执行上述第二方面中的方法的步骤。

在第五方面,提供了一种计算机程序产品。该计算机程序产品包括指令,该指令在由装置的处理器执行时使得该装置执行上述第一方面中的方法中的任何一种方法的步骤。

在第六方面,提供了一种计算机程序产品。该计算机程序产品包括指令,该指令在由装置的处理器执行时使得该装置执行上述第二方面中的方法中的任何一种方法的步骤。

应当理解,概述部分并非旨在识别本公开的实施例的关键或基本特征,也不旨在用于限制本公开的范围。通过以下描述,本公开的其他特征将变得容易理解。

附图说明

当结合以下附图阅读时,可以最佳地理解以下对本公开的实施例的详细描述,其中:

图1示出了其中可以实现本公开的实施例的示例性环境;

图2示出了根据本公开的一些实施例的框图,其示出用于医学验证模型的联邦学习和应用的系统;

图3示出了根据本公开的一些实施例的框图,其示出图2的用于医学验证模型的联邦学习的系统中的计算节点和主节点;

图4示出了根据本公开的一些实施例的流程图,其示出用于训练在主节点处实现的医学验证模型的示例性过程;

图5示出了根据本公开的一些实施例的流程图,其示出用于训练在计算节点处实现的医学验证模型的示例性过程;以及

图6示出了适用于实现本公开的示例性实施例的示例性计算系统/设备的框图。

在整个附图中,相同或相似的附图标记表示相同或相似的元件。

具体实施方式

现在将参考一些实施例来描述本公开的原理。应当理解,描述这些实施例仅是为了说明和帮助本领域技术人员理解和实现本公开,并不意味着对本公开范围的任何限制。本文所述的公开可以以除了下面描述的方式之外的各种方式来实现。

在以下描述和权利要求中,除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常所理解的相同含义。

本公开中对“一个实施例”、“某一实施例”、“一个示例实施例”等的引用表明所描述的实施例可能包括一个特定的特征、结构或特性,但无需每个实施例都包括该特定的特征、结构或特性。此外,这种短语并不必然指相同实施例。此外,当结合示例实施例描述具体特征、结构或特性时,需要注意的是,无论是否明确说明,本领域技术人员均知晓结合其他实施例来实现上述特征、结构或特性的效果。

应当理解,尽管本文可以使用术语“第一”和“第二”等来描述各种元素,但是这些元素不应受这些术语的限制。这些术语仅用于区分一个元素与另一个元素。例如,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件,而不脱离示例实施例的范围。如本文所用,术语“和/或”包括列出术语中的一者或多者的任何组合和所有组合。

本文所使用的术语仅出于描述特定实施例的目的,而并非旨在限制示例实施例。如本文所用,单数形式“一个”、“一种”和“该”也旨在包括复数形式,除非上下文另外明确地指出。将进一步理解,术语“包括”、“包含”、“具有”、“具有”、“包括”和/或“包括”,当在本文中使用时,指定所述特征、元素和/或组件等,但不排除存在或添加一个或多个其他特征、元素、组件和/或它们的组合。

如本文所用,术语“模型”被称为从训练数据学习的输入与输出之间的关联,并且因此可以在训练之后针对给定输入生成相应输出。模型的生成可以基于机器学习技术。机器学习技术也可以被称为人工智能(AI)技术。一般地,可以建立机器学习模型,其接收输入信息并基于该输入信息进行预测。例如,分类模型可以预测输入信息在预定类别集中的类别。如本文所用,“模型”也可以被称为“机器学习模型”、“学习模型”、“机器学习网络”或“学习网络”,它们在本文中可以互换使用。

一般地,机器学习通常可能包括三个阶段,即训练阶段、验证阶段和应用阶段(也被称为推断阶段)。在训练阶段,可以使用大量训练数据迭代地训练给定机器学习模型,直到该模型可以从该训练数据获得与人类智能可能做出的相似的一致推断。通过训练,可以认为机器学习模型能够从训练数据学习到输入与输出之间的关联(也被称为输入-输出映射)。确定经训练的模型的参数值集。在验证阶段,将验证输入应用于经训练的机器学习模型,以测试模型是否可以提供正确的输出,从而确定模型的性能。在应用阶段,所得机器学习模型可以用于基于从训练获得的参数值集来处理实际模型输入,并确定相应模型输出。

如上所述,验证过程对于确保在各种医学测试中生成的医学数据的有效性很重要。图1示出了其中可以实现本公开的示例性实施例的环境100。环境100包括针对在不同本地站点105-1、105-2、...、105-N处实现的医学诊断测试的典型工作流程,其中N大于或等于1。为了讨论的目的,本地站点105-1、105-2、...、105-N在下文中被统称为或被单独称为本地站点105。本地站点105可以包括医学实验室、医院、临床科室、体检中心、医疗机构或执行医学测试并且需要验证由医学测试产生的医学数据的任何站点。

在图1中,为了简洁起见,在本地站点105-1中详细描述了针对医学诊断测试的工作流程,但应当理解,相似的工作流程在其他本地站点处实现。该工作流程通常包括:对针对医学诊断的测试样品执行医学测试、在医学测试中生成医学数据以及验证生成的医学数据。

如图1所示,在本地站点105处,医学测试系统110被配置为对测试样品102执行医学测试并生成与测试样品102相关联的医学数据112。医学测试可以包括体外诊断测试,诸如生物化学检测测试或免疫检测测试。医学测试系统110可以包括被设计用于经由各种化学、生物、物理或其他医学测试过程对测试样品进行分析的一个或多个自动化实验室器械或分析装置。在一些示例中,器械或分析装置可以被配置为诱导样品与试剂进行反应以用于获得测试值。此类器械或分析装置的示例为临床化学分析仪、凝血分析仪、免疫化学分析仪、血液学分析仪、尿液分析仪和核酸分析仪,其用于定性和/或定量检测样品中存在的分析物,检测化学或生物反应的结果和/或监测化学或生物反应的进展。

医学测试系统110可为可操作的以执行医学测试,以测量样品或其至少一种分析物的参数。医学测试可以包括对样品102进行的一个或多个测试项目。医学测试系统110可以返回对应于相应测试项目的测试结果作为医学数据112。由医学测试系统110返回的可能测试结果可以通过确定样品中分析物的浓度、指示样品中存在分析物的数字(是或否)结果(对应于在检测水平之上的浓度)、从蛋白质或代谢物的质谱获得的数据以及各种类型的物理、机械、光学、电学或化学参数等来获得。

测试项目类型的一些具体示例可以包括丙氨酸氨基转移酶(ALT)、天冬氨酸氨基转移酶(AST)、谷氨酸脱氢酶(GLDH)、钠浓度(NA)、年龄、血红蛋白、血浆蛋白、白蛋白(ALB)、球蛋白(GLB)、总胆红素(TBIL)、直接胆红素(DBIL)、总胆汁酸(TBA)、血尿素氮(BUN)等的水平。此处列出的示例并不详尽。特定医学测试中要执行的测试项目可以由请求该医学测试的实体(诸如临床科室、体检中心、医生、患者等)来指定。

测试样品102也可以被称为生物样品,其为被怀疑含有一种或多种感兴趣分析物的生物材料并且其检测(定性和/或定量)可能与临床状况相关联。生物样品可以源自生物来源,诸如生理体液,包括血液、唾液、眼球晶状体液、脑脊髓液、汗液、尿液、粪便、精液、母乳、腹水液、粘液、滑膜液、腹膜液、羊水、组织、细胞等。这种生物来源可以从生物对象(例如患者、人、动物等)收集。

可以在使用前对生物样品进行预处理,诸如从血液制备血浆或血清。处理方法可以包括离心、过滤、蒸馏、稀释、浓缩和/或分离样品组分(包括感兴趣分析物)、失活干扰组分以及添加试剂。生物样品可以在从来源获得时直接使用或者可以在预处理以改变样品特性后使用。在一些实施例中,初始固体或半固体生物材料可通过溶解或悬浮在合适的液体介质中而成为液体。

术语“试剂”是指在对生物样品执行特定医学测试以在样品中引发特定反应时添加到该生物样品中的物质。试剂对于特定测试或测定可以是特异性的。例如,在需要确定血液样品的部分血栓形成时间的情况下,分析仪可以被配置为将活化剂作为试剂添加到血液样品中以激活内源性凝血途径。特定物质可以在不同情况下是“改性剂”或“试剂”。在一些示例中,试剂可以不添加到要测试的生物样品中。

与测试样品102相关联的医学数据112可以包括在医学测试系统110处的医学测试中进行的测试项目的一个或多个测试结果。测试结果的类型可以由医学测试系统110的操作员(例如,实验室技术人员)指定或以其他方式经由与医学测试系统110连接的信息系统从电子订单中被自动识别。在一些示例中,可以将医学数据112整理在医学测试报告中,其中在其上列出了具体的测试项目和相应测试结果。在一些示例中,除了在医学测试中生成的测试结果之外,医学数据112也可以包括辅助信息,诸如与测试样品102和/或从其收集测试样品102的生物对象(诸如患者)相关的信息。

向验证系统120提供医学数据112以评估医学数据112的有效性并确定是否可以发布医学数据112。需要验证是因为在样品采集和测试过程中可能会出现许多潜在问题。例如,患者样品可能被错误标记,导致报告的测试结果与错误的患者相关联。又如,患者样品可能被不当抽取或不当处理,导致样品污染和错误的测试结果。此外,实验室分析仪可能出现故障或偏离校准,从而再次导致分析仪报告错误的结果。

为了提高医学验证过程的效率,可以在验证系统120中使用经训练的医学验证模型130,以自动评估医学数据112的有效性。训练医学验证模型130以自动处理输入医学数据并输出指示验证类别中的一个验证类别的验证结果。经训练的医学验证模型130各自表示医学数据和验证类别之间的关联。

到医学验证模型130的输入是医学数据,并且来自医学验证模型130的输出验证结果122包括验证类别中的一个验证类别。在一些实施例中,医学验证模型130可以被设计为用于将输入医学数据分类/分配到验证类别中的一个验证类别的分类模型。在一些实施例中,来自医学验证模型130的验证结果122可以包括对针对当前医学数据的对验证类别和/或该验证类别的置信度水平的明确指示。在确定输出验证类别中,医学验证模型130测量预定验证类别的相应概率并选择具有最高概率的预定验证类别。

医学数据可以包括测试项目的一个或多个测试结果,其可以包括与测试项目相关的测量值和/或指示测试样品中存在某种分析物的数字(是或否)结果。医学数据112可以进一步包括其他信息,诸如患者信息、科室信息等。

由医学验证模型输出的验证类别中的每个验证类别可以指示要对医学数据执行的预定动作中的一个预定动作,这可以被认为是对系统或用户自动或手动决定在整个医学诊断测试工作流程的下一步中可以如何处理医学数据的建议。

医学验证是在向请求医学测试(诸如临床科室或患者)的实体发布医学数据之前在医学数据中发现潜在错误。如果医学数据被验证为正确且没有错误,则下一步是向该实体发布医学数据(或请求快速手人工审查,然后向实体发布)。在这种情况下,要对医学数据执行的一种可能动作是直接或在快速人工审查之后向请求与该医学数据相关的医学测试的实体发布该医学数据。验证结果122可以包括验证类别,该验证类别指示医学数据112是正确的以供向订购医学测试的请求者直接发布(或在简单的人工审查之后发布)。

在其他情况下,由于测试样品、所执行的医学诊断测试过程、医学测试中使用的试剂、与测试样品的生物对象的物理条件不匹配、决策信息不足等原因,医学数据被验证为具有错误。在这种情况下,需要执行相应动作来纠正错误。在针对医学数据的验证结果122中指示的动作是建议进一步验证医学数据。此操作是一般建议,这意味着不应发布当前医学数据,并且需要人工审查以决定可以如何进一步验证医学数据。

在一些示例中,针对进一步验证的一个或多个具体动作可以由从医学验证模型130输出的验证类别来指示,其包括:重新运行与医学数据相关的医学测试的动作;检查历史患者病历的动作;检查医学测试中的试剂反应的动作,诸如检查试剂反应曲线;检查被收集供在医学测试中使用的测试样品的动作;结合临床诊断检查医学数据的动作;以及检查患者药物使用情况的行动等。应当理解,上面列出的下一步动作仅仅是一些具体示例,并且也可以根据实际使用情况中的需要以及相应的针对医学验证模型130的验证类别来指定更多、更少或不同的动作。

医学验证模型的引入可以显著减少审查医学数据中付出的人工努力,并且也可以提高医学数据验证的精确度和质量。然而,由于各种原因,目前每个本地站点(例如,实验室或医院)都使用本地收集的医学数据来训练其自己的医学验证模型,这可能会耗费资源且效率不高。另一方面,在本地站点处训练的医学验证模型可能无法推广到为其他本地站点提供准确的验证结果。

简单直接的解决方案是从不同的本地站点收集历史医学数据,以在中心节点处训练模型。然而,考虑到医学数据的敏感性以及不同本地站点之间的不良网络连接,这并不实用和理想。由于某些协议或规定,一些本地站点可能拒绝输出其医学数据。

根据本公开的示例性实施例,提出了用于医学验证的联邦学习的解决方案。在该方案中,主节点和多个计算节点一起工作,以执行联邦学习过程,以联合训练医学验证模型。主节点向计算节点提供关于医学验证模型的定义信息。计算节点基于定义信息分别处理本地训练数据集,并在联邦学习过程中使用经处理的本地训练数据集。因此,计算节点处的本地训练数据集本身可能不会暴露于主节点或其他计算节点。主节点基于联邦学习过程的结果确定最终医学验证模型。

通过该解决方案,借助于联邦学习,本公开解决了来自拥有针对模型训练的训练数据集的本地站点的数据安全和隐私问题。此外,已经使用不同的本地训练数据集训练了最终医学验证模型,这实现了提高使用该模型的医学验证的精确度和质量。

在下文中,参考附图描述本公开的示例实施例。首先参考图2,其示出了用于医学验证模型的联邦学习和应用的系统200。图2中的系统200可以部分地在图1中的环境100中实现。为了讨论的目的,参考图1来描述系统200。

如图所示,系统200包括主节点202和多个计算节点210-1、210-2、...、210-N(在下文中被统称为或被单独称为计算节点210)。主节点202和计算节点210可以包括或实现为具有计算能力的任何数量的设备/系统,诸如服务器、计算机、主机等。

计算节点210-1、210-2、...、210-N可以分别部署在本地站点105-1、105-2、...、105-N或可以以其他方式访问在本地站点处可获得的数据。因此,计算节点210-1、210-2、...、210-N可以被视为这些站点的本地节点。如图2所示,计算节点210-1可以访问在本地站点105-1处可获得的存储在数据库220-1中的数据,计算节点210-2可以访问在本地站点105-2处可获得的存储在数据库220-2中的数据,计算节点210-N可以访问在本地站点105-N处可用存储在数据库220-N中的数据,等等。为了讨论的目的,数据库220-1、220-2、...、220-N在下文中被统称为或被单独称为数据库220。

如将在下文详细讨论,根据本公开的实施例,主节点202和多个计算节点210一起工作,以通过联邦学习联合训练初始医学验证模型230。计算节点210从其可访问的数据库220获得针对联邦学习的相应本地训练数据集。在这种情况下,本地站点105可以被称为贡献站点,因为其贡献其数据用于全局模型训练。计算节点210基于从主节点202接收的初始医学验证模型230的定义来处理本地训练数据集。定义信息可以定义要训练的初始医学验证模型230的输入和输出的一个或多个方面。利用定义信息,可以在计算节点处调整本地训练数据集以适用于训练全局模型。主节点202可以基于联邦学习的结果确定最终医学验证模型240。

联邦学习是一种机器学习技术,其跨拥有训练数据集的多个分散节点训练模型。联邦学习使计算节点210能够协作地学习模型,同时将所有训练数据集保留在节点上。即,本地训练数据集在训练期间不暴露于其他计算节点210或主节点202。因此,本地站点105没有隐私问题和数据所有权问题,因为原始医学数据从未离开本地计算节点210。此外,安全问题大大减少,因为不存在在其处安全漏洞可以破坏大量原始数据的单个节点。

主节点202和计算节点210可以被部署有相应联邦学习引擎,以实现针对初始医学验证模型230的联邦学习过程。存在可以应用于本公开的实施例的各种联邦学习框架。作为一些示例,适用的联邦学习框架可以包括Tensorflow Federated(TFF)、Pysyft或Federated AI Technology Enabler(FATE),以及当前可获得或将来要开发的任何其他联邦学习框架。

为了支持节点之间的联邦学习,在系统200中,主节点202与多个计算节点210通信地连接。在一些实施例中,可以在主节点202和计算节点210之间建立星型拓扑网络。在一些实施例中,在星型拓扑网络中,允许从相应计算节点210到主节点202的出站连接,但不允许到相应计算节点210的入站请求。出站连接可以进一步保证在计算节点210的数据安全。

在一些实施例中,可以将所得的最终医学验证模型240分布到本地站点以供在医学验证中使用。接收最终医学验证模型240以供使用的本地站点可以被称为消费者站点。在一些实施例中,最终医学验证模型240可以分布到一个或多个站点,而不是用作贡献站点的本地站点105,诸如如图2所示的本地站点255。例如,主节点202可以将最终医学验证模型240分布到本地站点255处的计算节点250。在一些实施例中,主节点202可以另选地或附加地将最终医学验证模型240分发到其贡献针对模型训练的训练数据的本地站点105中的一个或多个本地站点。

图3示出了根据本公开的一些实施例的框图,其示出图2的用于医学验证模型的联邦学习的系统200中的计算节点210和主节点202。在图3中,为了简洁起见,示出了一个计算节点210的示例性细节结构以及主节点202与该计算节点210之间的交互。注意,包括在联邦学习中的计算节点210中的每个计算节点可以包括如图3中的计算节点210所示的相同或相似部件。

如所示,主节点202包括:模型配置模块310,该模型配置模块用于配置要对多个计算节点训练的初始医学验证模型230;以及训练聚合模块330,该训练聚合模块用于在联邦学习过程期间与多个计算节点210执行该联邦学习过程。计算节点210包括:数据准备模块320,该数据准备模块用于预处理来自其至少部分地形成针对模型训练的训练数据集的数据库220;以及本地训练模块340,该本地训练模块用于基于由该数据准备模块320准备的训练数据来执行联邦学习过程。

在一些实施例中,主节点202和多个计算节点210可以实现针对机器学习的验证阶段,以评估从联邦学习过程确定的经训练的医学验证模型305的性能,从而确定最终医学验证模型240以供分发。主节点220可以包括模型验证模块350并且计算节点210可以包括本地模型验证模块360以实现经训练的医学验证模型305的验证阶段。

主节点202和计算节点210中的模块可以被实现为一个或多个软件引擎、硬件部件、中间件部件等,其被配置有用于实现归属于特定模块的功能的逻辑。

下文将提供对主节点202和计算节点210中的相应模块的详细描述。

主节点202的模型配置模块310被配置为将关于初始医学验证模型230的定义信息312传输到计算节点210,例如,计算节点210中的数据准备模块320。定义信息用于在计算节点210之间全局地定义初始医学验证模型230。初始医学验证模型230可以被类似地定义为如参考图1所述的医学验证模型130。如本文所用,“初始”医学验证模型指示医学验证模型具有可以在训练过程期间被迭代地更新的初始参值。

在一些实施例中,定义信息312可以定义要训练的初始医学验证模型230的输入和输出的一个或多个方面。在一些实施例中,定义信息312可以进一步定义初始医学验证模型230的模型构造,包括模型类型、层、层中的处理单元、初始医学验证模型230中的处理单元之间的连接。

每个计算节点210中的数据准备模块320被配置为从数据库220获取本地训练数据集302,并基于定义信息312处理该本地训练数据集302以获得经处理的本地训练数据集322,从而提供给本地模型训练模块340。

由于初始医学验证模型230由主节点202在不同本地站点105之间进行全局地定义,因此在本地站点105处可获得的本地训练数据集可能不适用于训练初始医学验证模型230。除了定义模型配置之外,来自主节点202的定义信息312至少可以允许计算节点210准备本地训练数据集以为训练初始医学验证模型230做好准备。

如上所述,到初始医学验证模型230的输入可以包括医学数据,并且来自初始医学验证模型230的输出(即,验证结果)可以指示对应于要对输入医学数据执行预定动作的多个验证类别中的一个验证类别。

在一些实施例中,可以以监督方式本地训练医学验证模型130。因此,本地站点105处的本地训练数据集302可以包括在医学测试中生成的历史医学数据和与其相关联的标记信息。历史医学数据可以包括在针对一个或多个患者的不同医学测试中生成的多个医学测试报告。

医学测试报告可以指示项目名称和相应的项目值,包括测试项目名称和相应的测试值,项目名称指示辅助信息,诸如与测试样品102和/或从其收集测试样品102的生物对象(诸如患者)相关的信息。标记信息指示对应于历史医学数据的相应本地验证类别。标记信息可以用作训练中的真实验证类别。通常,在每个本地站点105处的标记本地验证类别可以指示被认为是对于历史医学数据是正确动作的动作和/或由实验室专家手动标记的动作。

在一些情况下,在本地训练数据集302中,不同本地站点105可以利用不同的项目名称来识别包括在历史医学数据中的相同项目。例如,本地站点105可以用项目名称“血清总前列腺特异性抗原”来记录测试项目,而其他本地站点105可以用项目代码“tPSA”或“PSA”来记录相同的测试项目。为了避免医学验证模型将具有不同项目名称的相同项目视为不同项目,在一些实施例中,主节点202中的模型配置模块310可以确定定义信息312,以在到初始医学验证模型230的医学数据输入中指示统一项目名称。根据定义信息312,计算节点210中的数据准备模块320可以将本地训练数据集302的历史医学数据中使用的本地项目名称映射到统一项目名称。即,数据准备模块320可以识别将相同项目识别为由定义信息312指示的统一项目名称的本地项目名称,并且如果该本地项目名称不同于该统一项目名称,则用相应的统一项目名称替换历史医学数据中的该本地项目名称。

表1显示了统一项目名称和本地项目名称之间的映射示例。

表1统一项目名称与本地项目名称之间的映射

在表1的示例中,在本地站点105-1和105-2处可获得的历史医学数据中的本地项目名称具有与统一测试项目名称相同的本地项目名称。对于本地站点105-N,本地项目名称“TestCode1”、“TestCode2”、“TestCode3”和“TestCode4”分别指的是与在定义信息中指示的统一项目名称“TestItem4”、“TestItem5”、“TestItem…”和“TestItemn”相同的项目。本地站点105-N处的计算节点210可以通过用统一项目名称替换本地项目名称来更新本地训练数据集302。

在一些实施例中,定义信息312可以指示包括在到初始医学验证模型230的输入中的所有可能项目的统一项目名称。如果在本地站点105处可获得的本地训练数据集302中的历史医学数据不包括此类本地项目或本地项目名称,则数据准备模块320也能够在到初始医学验证模型230的输入中包括具有统一项目名称的缺少项目。

在一些实施例中,在本地站点105处,如果项目由定义信息312指示为形成到初始医学验证模型230的输入,但是所指示项目的值不能从本地训练数据集302中的历史医学数据获得,则相应的计算节点210可能需要处理历史医学数据以适用于初始医学验证模型230。由于初始医学验证模型230被全局地训练,输入通常可以包括被认为与验证类别相关的大量项目。

在本地站点105处获得的医学数据可能不包括所有项目,这可能导致稀疏矩阵问题并且继而导致所得模型的低精确度。例如,对于相同医学测试,一些本地站点105可以记录五个测试项目的值,而其他本地站点105可以记录十个测试项目的值。到初始医学验证模型230的输入可以指示比本地站点中的一些本地站点更多的测试项目。从表1也可以看出,本地站点105-1缺少测试项目“TestItem4”、“TestItem5”和“TestItem…”,而本地站点105-2缺少测试项目“TestItem4”和“TestItemn”。

在一些实施例中,为了解决稀疏矩阵问题,计算节点210(即,其中的数据准备模块320)可以通过填充针对在本地历史医学数据中不可获得的但需要包括在输入到初始医学验证模型230中的项目的预定值来处理器本地训练数据集302。

可以以各种方式确定针对某个项目的预定值。在一些实施例中,预定值可以被确定为所指示项目的参考值范围的平均值。参考值范围用于识别针对所指示项目的正常情况,并且低于参考值范围下限或高于参考值范围上限的任何值均可被视为异常值。使用参考值范围的平均值可能不会影响所指示项目包括在其中的医学数据的验证结果。在一些实施例中,预定值可以被确定为在其他医学测试中生成的历史医学数据中的所指示项目的可用值的中值。例如,在多个医学测试生成的所有历史医学数据之间,医学测试中的一个或一些医学测试可能缺少所指示项目的值。在这种情况下,可以使用相同项目的其他可获得的值来确定要填充的预定值。

在一些实施例中,可以以许多其他方式来确定针对某个项目的预定值,诸如由主节点202配置的固定值。在一些实施例中,代替针对缺少项目填充预定值,计算节点210可以通过将缺少项目标记为未测试来处理历史医学数据。在一些实施例中,计算节点210(即,数据准备模块320)可以通过将缺少项目的值标记为极值(例如,-9999)并将从输入历史医学数据构造的稀疏矩阵转换为密集矩阵来解决稀疏矩阵问题。计算节点210可以应用用于从稀疏矩阵转换到密集矩阵的任何合适方法,其中一种示例性方法可以包括主成分分析。

在一些实施例中,输入到初始医学验证模型230的医学数据中的一些项目可以具有数值。有时不同的本地站点105可能以不同单位记录相同项目的值,从而导致数据换算问题。为了处理不同本地站点105之间的可能数据换算问题,主节点202中的模型配置模块310可以确定定义信息312以指示针对输入到初始医学验证模型230的医学数据中的项目的换算值范围。换算值范围可以是例如从零到一的范围或任何其他范围。对于针对某个项目的换算值范围,计算节点210(即,数据准备模块320)可以通过该项目在换算值范围内的历史医学数据值中的值来处理本地训练数据集302中的历史医学数据。因此,可以针对相同项目跨不同本地站点105来确定来自相同范围(即,换算值范围)的值,这有助于初始医学验证模型230中的特征工程。这可能是实用的,因为联邦学习假设输入的相同特征可能在各种本地站点上遵循相同的分布。

在一些实施例中,对于医学数据中的项目,其值可以从其他被测项目的两个或多个值计算。例如,游离前列腺特异性抗原(FPSA)与总前列腺特异性抗原(TPSA)的比值(FPSA/TPSA)是从FPSA和TPSA的值计算的,并且阴离子间隙是基于血清中主要测量阳离子(钠Na+和钾K+)与主要测量阴离子(氯离子Cl-和碳酸氢根HCO3-)之间的差异来计算的。计算节点210(即,数据准备模块320)可以在将其他项目换算到换算值范围之前基于其他项目的原始值本地地计算项目的值。

在一些情况下,除了输入项目名称之外,不同本地站点105可以应用不同的标准将历史医学数据划分为不同的验证类别集。例如,本地站点105可以用两个验证类别来标记本地训练数据集302中的历史医学数据,一个指示历史医学数据是正确的以供直接发布,以及另一个指示需要进一步验证。另一本地站点105可以用多于两个验证类别来标记历史医学数据,这些验证类别指示要进行进一步验证的具体动作。为了允许本地模型训练模块340以监督方式执行训练,在一些实施例中,主节点202中的模型配置模块310可以确定定义信息312以指示从初始医学验证模型230输出的统一验证类别。

根据定义信息312,计算节点210中的数据准备模块320可以将本地验证类别映射到统一验证类别。即,数据准备模块320可以应用相同的标记方法在本地数据集302中更新或创建标记信息。在一些示例中,数据准备模块320可以保留与统一验证类别相同的本地验证类别(例如,其中相同类别名称被标记在本地训练数据集302中的历史医学数据上的那些)。在一些示例中,如果本地训练数据集302中的历史医学数据被标记有本地验证类别但定义信息312指示该本地验证类别被以细粒度方式划分并且被映射到两个或更多个统一验证类别,则数据准备模块320可以划分历史医学数据并用两个或更多个相应的统一验证类别来标记该历史医学数据。在一些其他示例中,本地训练数据集302中的被标记有两个或更多个本地验证类别的历史医学数据可以被聚合并标记有两个或更多个本地验证类别被映射到其的一个统一验证类别。

在一些实施例中,定义信息可以进一步指示针对被防止输入到初始医学验证模型的医学数据的一个或多个统一红旗规则。由于医学验证过程是为了确保不发布具有可能错误的医学测试报告,因此,考虑到由模型执行的可能错误诊断,可以设置红旗规则以确保具有显著或明显错误的医学测试报告不会被医学验证模型意外地确定为正确的。更具体地,满足红旗规则的医学数据可以直接传递到人工验证,而不是输入到医学验证模型中用于自动验证。根据不同要求和要遵循的不同规定,不同的本地站点105可以应用不同本地红旗规则来阻止满足本地红旗规则的医学测试报告被传递到基于模型的自动验证。

在训练初始医学验证模型230中,主节点202可以在定义信息312中配置一个或多个统一红旗规则,以允许计算节点210针对可以输入到初始医学验证模型230的医学数据应用统一数据过滤。计算节点210(例如,计算节点210中的数据准备模块320)可以通过过滤掉满足一个或多个统一红旗规则的历史医学数据来处理本地训练数据集302。统一红旗规则可以针对医学测试报告中的项目定义基于阈值的标准。例如,统一红旗可以定义不可以发布其中血清钾高于阈值的任何医学测试报告。如果历史医学测试报告中此项目的值满足基于阈值的标准,例如,如果值超过阈值或低于阈值(取决于如何设置标准),则历史医学测试报告可能从本地训练数据集302中排除。

通过应用统一红旗规则过滤本地训练数据集,满足统一红旗规则的医学数据可能不会用于训练初始医学验证模型230,这意味着模型可能不会从满足统一红旗规则的医学数据学习知识。在应用最终医学验证模型240的随后应用阶段,消费者站点处的医学数据也可以使用相同的统一红旗规则进行过滤,以保证验证精确度。

在一些实施例中,另选地,主节点202可以不针对本地站点105处的本地训练数据集配置统一红旗规则。因此,可以训练初始医学验证模型230,而对训练数据选择没有任何限制。因此,最终医学验证模型240是无规则模型。在最终医学验证模型240的随后应用阶段,消费者站点可以应用相应本地红旗规则来确定哪些医学数据可以被传递到最终医学验证模型240以用于自动验证。

上文已经描述了模型配置和数据准备的一些示例性实施例。在数据准备之后,每个计算节点210可以生成针对训练的经处理的本地训练数据集322。如指示,主节点202与本地站点105处的计算节点210一起工作以执行联邦学习过程,从而联合训练初始医学验证模型230。在联邦学习期间,计算节点210中的本地模型训练模块340可以使用经处理的本地训练数据集322本地训练本地医学验证模型230。计算节点210可以应用相应的训练算法来执行训练。

在一些实施例中,计算节点210可以基于经处理的本地训练数据集322生成参数梯度342,并将该参数梯度342传输到主节点202中的训练聚合模块330。训练聚合模块330可以聚合从多个计算节点210接收的参数梯度,以确定对初始验证模型230的参数的参数更新332。参数更新332可以被传输到多个计算节点210。在一些实施例中,参数梯度342和/或参数更新332可以在计算节点210和主节点202之间的安全信道中传送,以防止信息泄露。

通过参数更新332,计算节点210中的本地模型训练模块340可以确定针对初始验证模型230的更新参数值,以形成中间初始验证模型并使用经处理的本地训练数据集322在中间初始验证模型的基础上执行进一步的训练步骤。可以迭代地执行主节点202和计算节点210之间的参数梯度和参数更新的交换,直到达到针对联邦学习过程的收敛条件。此时,主节点202中的训练聚合模块330可以获得具有从联邦学习过程确定的经训练的参数值的经训练的医学验证模型305。

在一些实施例中,主节点202可以将经训练的医学验证模型305确定为准备好被分发到消费者站点的最终医学验证模型240。在一些实施例中,主节点202可以执行模型验证过程,以验证经训练的医学验证模型305的性能是否适合分发。由于主节点202可能没有数据来验证模型并且考虑到不同的本地站点105可能具有不同的验证标准,所以主节点202可以与本地站点105处的计算节点210一起工作以执行模型验证过程。

具体地,主节点202中的模型验证模块350可以将经训练的医学验证模型305分发到多个计算节点210,例如,通过将经训练的医学验证模型305的经训练的参数值352传输到计算节点210。计算节点210中的本地模型验证模块360可以使用经处理的本地验证数据集324来确定经训练的医学验证模型305的性能度量。可以从原始本地数据集304确定经处理的本地验证数据集324,该原始本地数据集从相应本地站点105中的数据库220获得。对本地验证数据集304的处理可以类似于对本地训练数据集302的处理,并且定义信息312也可以用于处理。在本地模型验证过程中,计算节点210中的本地模型验证模块360可以将经处理的本地验证数据集324中的历史医学数据输入到经训练的医学验证模型305,并确定从经训练的医学验证模型305输出的预测验证结果(指示验证类别)是否与经处理的本地验证数据集324中的真实验证结果相匹配。

取决于本地模型验证过程的结果,计算节点210中的本地模型验证模块360可以确定性能度量,以指示经训练的医学验证模型305的性能。性能度量例如指示从经训练的医学验证模型305输出的预测验证结果的精确率或丢失率。另选地或除此之外,可以基于接受者操作特性(ROC)曲线和/或曲线下面积(AUC)来确定性能度量。也可以确定其他性能度量并且本公开的范围在这方面不受限制。每个计算节点210中的本地模型验证模块360可以将性能度量作为反馈362传输到主节点202中的模型验证模块350。

在从多个计算节点210采集经训练的医学验证模型305的性能度量的反馈之后,主节点202中的模型验证模块350可以基于接收到的反馈确定最终医学验证模型240。在一些实施例中,如果接收到的性能度量满足模型发布标准,例如,来自大多数或一定数量的计算节点210的性能度量指示经训练的医学验证模型305在本地医学验证中工作良好,则模型验证模块350可以确定经训练的医学验证模型305可以作为最终医学验证模型240分发。在一些实施例中,如果接收到的性能度量不满足模型发布标准,例如,来自大多数或一定数量的计算节点210的性能度量指示经训练的医学验证模型305在本地操作时具有不满意的性能,则模型验证模块350可以确定可以进一步调整经训练的医学验证模型305,并且因此可以启动模型微调过程以进一步更新经训练的医学验证模型305的参数值。

在一些实施例中,模型验证模块350可以将经训练的医学验证模型305作为最终医学验证模型分发到从其接收到满意的性能度量(诸如超过或等于性能度量的那些)的计算节点210。模型验证模块350可以将经训练的医学验证模型305分发到其他本地站点,以请求它们使用其本地训练数据集微调经训练的医学验证模型305。

在上述实施例中,描述了对一种全局医学验证模型的训练和验证。在其他实施例中,主节点202和计算节点210可以基于联邦学习过程联合训练多个不同的医学验证模型。可以使用不同的处理算法(例如,基于逻辑回归的模型和基于神经网络的模型)来构建不同的医学验证模型,使用不同的训练算法来训练不同的医学验证模型,等等。因此,来自联邦学习过程的经训练的医学验证模型可能具有不同的性能,即使使用计算节点210处的相同的本地训练数据集来训练它们。

通过获得不同的经训练的医学验证模型并从计算节点210获得指示其性能度量的反馈,主节点202中的模型验证模块350可以选择一个或多个候选医学验证模型,这些候选医学验证模型满足针对特定消费者站点的性能度量(包括本地站点105和其他本地站点,诸如本地站点255)。消费者站点处的计算节点可以应用本地数据集以进一步验证候选医学验证模型的性能,并基于候选医学验证模型的性能度量选择适当模型供在本地医学验证中使用。如果需要,消费者站点处的计算节点可以使用本地数据集微调候选医学验证模型。

图4示出了根据本公开的一些实施例的流程图,其示出用于训练在主节点处实现的医学验证模型的示例性过程。过程400可以在图2中的主节点202处实现。为了讨论的目的,将参考图2来描述过程400。

在框410处,主节点202向多个计算节点210传输关于初始医学验证模型的定义信息。在框420处,主节点202与多个计算节点210一起执行联邦学习过程,以使用在多个计算节点210处可获得的相应经处理的本地训练数据集来联合训练初始医学验证模型。由多个计算节点210基于定义信息来处理相应本地训练数据集。在框430处,主节点202基于联邦学习过程的结果来确定最终医学验证模型。

在一些实施例中,主节点202将最终医学验证模型分发到多个计算节点210中的至少一个计算节点或至少一个另外的计算节点以供在医学验证中使用。

在一些实施例中,相应本地训练数据集可以包括:在医学测试中生成的历史医学数据和指示该历史医学数据的本地验证类别的标记信息。

在一些实施例中,定义信息指示输入到初始医学验证模型的医学数据中的统一项目名称和从初始医学验证模型输出的统一验证类别,该统一验证类别指示要对该医学数据执行的多个预定验证动作。在一些实施例中,可以通过将历史医学数据中使用的本地项目名称映射到统一项目名称并将本地验证类别映射到统一验证类别来处理相应本地训练数据集。

在一些实施例中,定义信息可以进一步指示针对输入到初始医学验证模型的医学数据中的项目的换算值范围。在一些实施例中,可以通过将历史医学数据中的项目的值映射到换算值范围内的值来处理相应本地训练数据集。

在一些实施例中,定义信息可以进一步指示针对被防止输入到初始医学验证模型的医学数据的统一红旗规则。在这种情况下,可以通过过滤掉满足统一红旗规则的历史医学数据来处理相应本地训练数据集。

在一些实施例中,定义信息可以指示输入到初始医学验证模型的医学数据中的项目,并且所指示项目的值可能无法从本地训练数据集中的历史医学数据获得。在这种情况下,通过填充针对所指示项目的预定值来处理本地训练数据集。在一些实施例中,预定值包括以下中的任一者:所指示项目的参考值范围的平均值和在其他医学测试中生成的历史医学数据中的所指示项目的可用值的中值。

在一些实施例中,为了确定最终医学验证模型,主节点202可以从联邦学习过程的结果中获得经训练的医学验证模型,并将经训练的医学验证模型分发到多个计算节点210。主节点202可以从多个计算节点210接收反馈,该多个计算节点指示由计算节点210使用相应本地验证数据集确定的经训练的医学验证模型的相应性能度量。然后,主节点202可以基于接收到的反馈来确定最终医学验证模型。在一些实施例中,响应于相应性能度量满足模型发布标准,主节点202可以将经训练的医学验证模型确定为最终医学验证模型。在一些实施例中,响应于相应性能度量未能满足模型发布标准,主节点202可以调整经训练的医学验证模型以生成最终医学验证模型。

在一些实施例中,主节点202在星型拓扑网络中与多个计算节点210通信地连接。

图5示出了根据本公开的一些实施例的流程图,其示出用于训练在计算节点处实现的医学验证模型的示例性过程500。过程500可以在图2中的计算节点210处实现。为了讨论的目的,将参考图2来描述过程500。

在框510处,计算节点210从主节点202接收关于初始医学验证模型的定义信息。在框520处,计算节点210至少基于定义信息来处理本地训练数据集。在框530处,计算节点210与主节点202和至少一个另外的计算节点一起执行联邦学习处理,以使用经处理的本地训练数据集来联合训练初始医学验证模型。

在一些实施例中,计算节点210可以进一步从主节点202接收从联邦学习过程确定的最终医学验证模型。

在一些实施例中,本地训练数据集包括:在医学测试中生成的历史医学数据和指示该历史医学数据的本地验证类别的标记信息。

在一些实施例中,定义信息可以指示输入到初始医学验证模型的医学数据中的统一项目名称和从初始医学验证模型输出的统一验证类别,该统一验证类别指示要对该医学数据执行的多个预定验证动作。在一些实施例中,计算节点210可以将历史医学数据中使用的本地项目名称映射到统一项目名称并将本地验证类别映射到统一验证类别。

在一些实施例中,定义信息可以进一步指示针对输入到初始医学验证模型的医学数据中的项目的换算值范围。在一些实施例中,计算节点210可以将历史医学数据中的项目的值映射到换算值范围内的值。

在一些实施例中,定义信息可以进一步指示针对被防止输入到初始医学验证模型的医学数据的统一红旗规则。在一些实施例中,计算节点210可以从本地训练数据集中过滤掉满足统一红旗规则的历史医学数据。

在一些实施例中,定义信息可以指示输入到初始医学验证模型的医学数据中的项目,并且所指示项目的值无法从医学测试中生成的历史医学数据获得。在一些实施例中,计算节点210可以通过填充针对所指示项目的预定值来处理历史医学数据。

在一些实施例中,预定值可以包括以下中的任一者:所指示项目的参考值范围的平均值和在其他医学测试中生成的历史医学数据中的所指示项目的可用值的中值。

在一些实施例中,计算节点210可以进一步从主节点202接收从联邦学习过程的结果确定的经训练的医学验证模型。计算节点210可以使用本地验证数据集来确定经训练的医学验证模型的性能度量,并向主节点202传输指示确定的性能度量的反馈。

在一些实施例中,计算节点210可以基于定义信息处理本地验证数据集,并使用经处理的本地验证数据集来确定性能度量。

图6示出了适用于实现本公开的示例性实施例的示例性计算系统/设备600的框图。系统/设备600可以被实现为图2的主节点202或计算节点210中或被实现在其中。系统/设备600可以是通用计算机、物理计算设备或便携式电子设备或者可以在其中由通过通信网络连接的远程处理设备来执行任务的分布式云计算环境中实施。系统/设备600可以用于实现图4的过程400和/或图5的过程500。

如描绘,系统/设备600包括处理器601,该处理器能够根据存储在只读存储器(ROM)602中的程序或从存储单元608加载到随机存取存储器(RAM)603的程序来执行各种过程。在RAM 603中,也可以根据需要存储在处理器601执行各种过程等时所需的数据。处理器601、ROM 602和RAM 603经由总线604相互连接。输入/输出(I/O)接口605也连接到总线604。

作为非限制性示例,处理器601可以是适合本地技术网络的任何类型,并且可以包括以下中的一者或多者:通用计算机、专用计算机、微处理器、数字信号处理器(DSP)、图形处理单元(GPU)、协处理器和基于多核处理器架构的处理器。系统/设备600可以具有多个处理器,诸如在时间上从属于同步主处理器的时钟的专用集成电路芯片。

系统/设备600中的多个部件与I/O接口605相连,包括:输入单元606,诸如键盘、鼠标等;输出单元607,包括显示器(诸如阴极射线管(CRT)、液晶显示器(LCD)等)和扬声器等;存储单元608,诸如磁盘和光盘等;以及通信单元609,诸如网卡、调制解调器、无线收发器等。通信单元609允许系统/设备600经由诸如因特网、各种电信网络等的计算机网络与其他设备交换信息/数据。

上述方法和过程(诸如过程400和/或过程500)也可以由处理器601执行。在一些实施例中,过程400和/或过程500可以被实现为有形地包括在计算机可读介质(例如,存储单元608)中的计算机软件程序或计算机程序产品。在一些实施例中,计算机程序可以经由ROM602和/或通信单元609部分地或全部地加载和/或实施到设备600。计算机程序包括由相关联的处理器601执行的计算机可执行指令。在计算机程序被加载到RAM603并由处理器601执行时,可以实现上述过程400或过程500的一个或多个作用。另选地,处理器601可以通过任何其他合适的方式(例如,通过固件)被配置为在其他实施例中执行过程400和/或过程500。

本公开的实施例可以以本文所述的形式中的任何形式来体现。例如,以下列举的示例性实施例描述了本文公开的本公开的一些方面的一些结构、特征和功能。

在第一方面,本公开的示例性实施例提供了一种计算机实现的方法。该方法包括:由主节点向多个计算节点传输关于初始医学验证模型的定义信息;由该主节点与该多个计算节点一起执行联邦学习过程,以使用在该多个计算节点处可获得的相应经处理的本地训练数据集来联合训练该初始医学验证模型,该相应本地训练数据集由该多个计算节点基于该定义信息来处理;以及由该主节点基于该联邦学习过程的结果来确定最终医学验证模型。

在一些实施例中,该方法进一步包括:由主节点将最终医学验证模型分发到多个计算节点中的至少一个计算节点或至少一个另外的计算节点以供在医学验证中使用。

在一些实施例中,相应本地训练数据集包括:在医学测试中生成的历史医学数据和指示该历史医学数据的本地验证类别的标记信息。

在一些实施例中,定义信息指示输入到初始医学验证模型的医学数据中的统一项目名称和从初始医学验证模型输出的统一验证类别,该统一验证类别指示要对该医学数据执行的多个预定验证动作。在一些实施例中,可以通过将历史医学数据中使用的本地项目名称映射到统一项目名称并将本地验证类别映射到统一验证类别来处理相应本地训练数据集。

在一些实施例中,定义信息进一步指示针对输入到初始医学验证模型的医学数据中的项目的换算值范围。在一些实施例中,通过将历史医学数据中的项目的值映射到换算值范围内的值来处理相应本地训练数据集。

在一些实施例中,定义信息进一步指示针对被防止输入到初始医学验证模型的医学数据的统一红旗规则。在一些实施例中,通过过滤掉满足统一红旗规则的历史医学数据来处理相应本地训练数据集。

在一些实施例中,定义信息指示输入到初始医学验证模型的医学数据中的项目,并且所指示项目的值无法从本地训练数据集中的历史医学数据获得。在一些实施例中,通过填充针对所指示项目的预定值来处理本地训练数据集。

在一些实施例中,预定值包括以下中的任一者:所指示项目的参考值范围的平均值和在其他医学测试中生成的历史医学数据中的所指示项目的可用值的中值。

在一些实施例中,向多个计算节点中的至少一个计算节点确定最终医学验证模型包括:由主节点从联邦学习过程的结果获得经训练的医学验证模型;将经训练的医学验证模型分发到多个计算节点;从多个计算节点接收反馈,该反馈指示由计算节点使用相应本地验证数据集确定的经训练的医学验证模型的相应性能度量;以及基于收到的反馈确定最终医学验证模型。

在一些实施例中,基于接收到的反馈确定最终医学验证模型包括:响应于相应性能度量满足模型发布标准,将经训练的医学验证模型确定为最终医学验证模型;以及响应于相应性能度量未能满足模型发布标准,调整经训练的医学验证模型,生成最终医学验证模型。

在一些实施例中,主节点在星型拓扑网络中与多个计算节点通信地连接。

在第二方面,本公开的示例性实施例提供了一种计算机实现的方法。该方法包括:由计算节点从主节点接收关于初始医学验证模型的定义信息;至少基于该定义信息处理本地训练数据集;与主节点和至少一个另外的计算节点一起执行联邦学习处理,以经使用处理的本地训练数据集来联合训练初始医学验证模型。

在一些实施例中,该方法进一步包括:由计算节点并且从主节点接收从联邦学习过程确定的最终医学验证模型。

在一些实施例中,本地训练数据集包括:在医学测试中生成的历史医学数据和指示该历史医学数据的本地验证类别的标记信息。

在一些实施例中,定义信息指示输入到初始医学验证模型的医学数据中的统一项目名称和从初始医学验证模型输出的统一验证类别,该统一验证类别指示要对该医学数据执行的多个预定验证动作。在一些实施例中,处理本地训练数据集包括:将历史医学数据中使用的本地项目名称映射到统一项目名称并将本地验证类别映射到统一验证类别。

在一些实施例中,定义信息进一步指示针对输入到初始医学验证模型的医学数据中的项目的换算值范围。在一些实施例中,处理本地训练数据集包括:将历史医学数据中的项目的值映射到换算值范围内的值。

在一些实施例中,定义信息进一步指示针对被防止输入到初始医学验证模型的医学数据的统一红旗规则。在一些实施例中,处理本地训练数据集包括:从本地训练数据集中过滤掉满足统一红旗规则的历史医学数据。

在一些实施例中,定义信息指示输入到初始医学验证模型的医学数据中的项目,并且所指示项目的值无法从医学测试中生成的历史医学数据获得。在一些实施例中,处理本地训练数据集包括:通过填充针对所指示项目的预定值来处理历史医学数据。

在一些实施例中,预定值包括以下中的任一者:所指示项目的参考值范围的平均值和在其他医学测试中生成的历史医学数据中的所指示项目的可用值的中值。

在一些实施例中,该方法进一步包括:从主节点接收从联邦学习过程的结果确定的经训练的医学验证模型;使用本地验证数据集确定经训练的医学验证模型的性能度量;向主节点传输指示确定的性能度量的反馈。

在第三方面,本公开的示例性实施例提供了一种电子设备。该电子设备包括至少一个处理器;和至少一个存储器,该至少一个存储器包括计算机可读指令,该计算机可读指令在由该电子设备的该至少一个处理器执行时使得该电子设备执行上述第一方面中的方法的步骤。

在第四方面,本公开的示例性实施例提供了一种电子设备。该电子设备包括至少一个处理器;和至少一个存储器,该至少一个存储器包括计算机可读指令,该计算机可读指令在由该电子设备的该至少一个处理器执行时使得该电子设备执行上述第二方面中的方法的步骤。

在第五方面,本公开的示例性实施例提供了一种计算机程序产品,该计算机程序产品包括指令,该指令在由装置的处理器执行时使得该装置执行上述第一方面的方法中的任何一种方法的步骤。

在第六方面,本公开的示例性实施例提供了一种计算机程序产品,该计算机程序产品包括指令,该指令在由装置的处理器执行时使得该装置执行上述第二方面的方法中的任何一种方法的步骤。

在第七方面,本公开的示例性实施例提供了一种计算机可读介质,该计算机可读介质包括用于使装置至少执行上述第一方面中的方法的程序指令。在一些实施例中,计算机可读介质可以是非暂态计算机可读介质。

在第八方面,本公开的示例性实施例提供了一种计算机可读介质,该计算机可读介质包括用于使装置至少执行上述第二方面中的方法的程序指令。在一些实施例中,计算机可读介质可以是非暂态计算机可读介质。

通常,本公开的各种示例性实施例可以在硬件或专用电路、软件、逻辑或它们的组合中实现。一些方面可以在硬件中实现,而其他方面可以在可由控制器、微处理器或其他计算设备执行的固件或软件中实现。尽管本公开的示例性实施例的各个方面被示出和描述为框图、流程图或使用一些其他图示表示来进行示出和描述,但是应当理解,作为非限制性示例,本文所述的框、装置、系统、技术或方法可以在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或它们的某种组合中实现。

本公开也提供了有形地存储在非暂态计算机可读存储介质上的至少一种计算机程序产品。计算机程序产品包括计算机可执行指令(诸如包括在程序模块中的那些),该计算机可执行指令在目标真实或虚拟处理器上的设备中执行以执行上述方法/过程。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、部件、数据结构等。如各种实施例所述,程序模块的功能可以根据需要在程序模块之间进行组合或拆分。针对程序模块的计算机可执行指令可以在本地或分布式设备内执行。在分布式设备中,程序模块可以位于本地存储介质和远程存储介质两者中。

计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以包括但不限于电子、磁、光学、电磁、红外或半导体系统、装置或设备或前述的任何合适组合。计算机可读存储介质的更具体的示例将包括具有一根或多根电线的电连接件、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备或前述的任何合适的组合。

用于执行本文公开的方法的计算机程序代码可以以一种或多种编程语言的任何组合进行编写。可以向通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器提供程序代码,该程序代码在由该处理器或控制器执行时使得实现流程图和/框图中指定的功能/操作。程序代码可以完全在计算机上、部分在计算机上、作为独立软件包、部分在计算机上并且部分在远程计算机上或完全在远程计算机或服务器上执行。程序代码可以分布在通常在本文中可以被称为“模块”的特别编程的设备上。模块的软件部件部分可以以任何计算机语言进行编写,并且可以是整体代码库的一部分或者可以以更离散的代码部分开发,诸如在面向对象的计算机语言中是典型的。此外,模块可以分布在多个计算机平台、服务器、终端、移动设备等上。甚至可以实现给定模块,使得所述功能由单独的处理器和/或计算硬件平台执行。

虽然以特定顺序描述了操作,但这不应理解为需要以所示特定顺序或先后顺序执行此类操作或者执行所有所示操作以获得期望结果。在某些情况下,多任务和并行处理可能是有利的。同样,虽然在上述讨论中包含了若干具体实施细节,但这些不应被解释为对本公开的范围的限制,而是对可能特定于特定实施例的特征的描述。在单独实施例的上下文中描述的某些特征也可以在单个实施例中以组合形式实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合形式来实施。

尽管已经用特定于结构特征和/或方法作用的语言描述了本公开,但是应当理解,所附权利要求书中定义的本公开不必限于上述特定特征或作用。相反,以上所述的特定特征和作用被公开为实现权利要求的示例性形式。

相关技术
  • 一种基于联邦学习构建医学影像大模型的方法和装置
  • 横向联邦学习中模型参数验证方法、装置、设备及介质
技术分类

06120115607542