首页 / 专利库 / 人工智能 / 机器学习 / 集成学习 / 随机森林 / 分布式机器学习系统、装置和方法

分布式机器学习系统、装置和方法

阅读:1008发布:2020-09-06

专利汇可以提供分布式机器学习系统、装置和方法专利检索,专利查询,专利分析的服务。并且提出了一种分布式在线 机器学习 系统。预期的系统包括许多私人数据 服务器 ,每个私人数据服务器都具有本地私人数据。研究人员可以 请求 相关的私人数据服务器用其当地私人数据训练机器学习 算法 的实现,而无需对私人数据取消标识,或无需将私人数据暴露给未授权的计算系统。所述私人数据服务器还根据实际数据的数据分布生成合成数据或代理数据。然后,所述服务器使用所述代理数据来训练代理模型。当所述代理模型与训练后的实际模型足够相似时,所述代理数据、代理模型参数或其他学习到的知识可以被发送到一个或多个非私人计算设备。然后,可以将来自许多私人数据服务器的学习到的知识聚合到一个或多个训练后的全局模型中,而不暴露私人数据。,下面是分布式机器学习系统、装置和方法专利的具体信息内容。

1.一种分布式机器学习系统,包括:
多个私人数据服务器,每个私人数据服务器有权访问当地私人数据并具有至少一个建模引擎,其中所述多个私人数据服务器通过网络通信耦合至至少一个非私人计算设备;并且
其中每个私人数据服务器在由存储在非暂时性计算机可读存储器的至少一个处理器软件指令执行时,致使所述每个私人数据服务器的至少一个建模引擎:
接收模型指令,以根据机器学习算法的实现从至少一些当地私人数据中创建训练后的实际模型;
通过用所述当地私人数据训练所述机器学习算法的实现,根据所述模型指令并根据所述至少一些当地私人数据创建所述训练后的实际模型,所述训练后的实际模型包括训练后的实际模型参数;
从所述私人数据中生成多个私人数据分布,其中所述私人数据分布表示聚合的当地私人数据,所述聚合的当地私人数据用于创建所述训练后的实际模型;
根据所述多个私人数据分布生成代理数据集;
通过用所述代理数据集训练机器学习模型的类型,从所述代理数据集中创建训练后的代理模型,所述训练后的代理模型包括代理模型参数;
根据所述代理模型参数和所述训练后的实际模型参数计算模型相似度得分;以及根据所述模型相似度得分将所述代理数据集通过所述网络发送至所述至少一个非私人计算设备。
2.根据权利要求1所述的系统,其中,所述当地私人数据包括当地私人医疗数据。
3.根据权利要求2所述的系统,其中,所述当地私人医疗数据包括针对患者的数据。
4.根据权利要求1所述的系统,其中,所述当地私人数据包括以下数据类型中的至少一种:基因组数据、全基因组序列数据、整个外泌体序列数据、蛋白质组数据、蛋白质组路径数据、k-mer数据、新表位数据、RNA数据、过敏信息、遭遇数据、治疗数据、成果数据、预约数据、订单数据、账单代码数据、诊断代码数据、结果数据、治疗反应数据、肿瘤反应数据、人口统计数据、药物治疗数据、生命体征数据、付款人数据、药物研究数据、药物反应数据、纵向研究数据、生物特征数据、财务数据、专有数据、电子病历数据、研究数据、人资本数据、工作特性数据、分析结果数据和事件数据。
5.根据权利要求1所述的系统,其中,所述网络包括以下网络类型中的至少一种:无线网络、分组交换网络、因特网、内联网、虚拟私人网络、蜂窝网络、自组网和对等网络
6.根据权利要求1所述的系统,其中,所述至少一个非私人计算设备是与所述多个私人数据服务器不同的计算设备,所述至少一个非私人计算设备无权访问所述当地私人数据,所述训练后的实际模型是在所述当地私人数据上创建的。
7.根据权利要求1所述的系统,其中,所述至少一个非私人计算设备包括全局模型服务器。
8.根据权利要求8所述的系统,其中,所述全局模型服务器被配置为从所述多个私人数据服务器的至少两个中聚合代理数据集,并被配置为用所述代理数据集训练全局模型。
9.根据权利要求1所述的系统,其中,每个私人数据服务器与存储所述当地私人数据的当地存储系统通信耦合。
10.根据权利要求9所述的系统,其中,所述当地存储系统包括以下中的至少一种:RAID系统、文件服务器、网络可访问存储设备、存储区域网络设备、当地计算机可读存储器、硬盘驱动器、光学存储设备、磁带驱动器、磁带库和固态盘。
11.根据权利要求9所述的系统,其中,所述当地存储系统包括以下中的至少一种:当地数据库、BAM服务器、SAM服务器、GAR服务器、BAMBAM服务器和临床操作系统服务器。
12.根据权利要求1所述的系统,其中,所述模型指令包括以下中的至少一个:当地命令、远程命令、可执行文件、协议命令和选择命令。
13.根据权利要求1所述的系统,其中,所述多个私人数据分布的分布遵从以下分布类型中的至少一种:高斯分布、泊松分布、伯努利分布、Rademacher分布、离散分布、二项分布、ζ分布、伽分布、β分布和直方图分布。
14.根据权利要求1所述的系统,其中,所述多个私人数据分布是基于从所述训练后的实际模型参数推导出的特征值和所述私人当地数据。
15.根据权利要求1所述的系统,其中,所述代理数据集包括从所述训练后的实际模型参数推导出的特征值和所述当地私人数据的组合。
16.根据权利要求15所述的系统,其中,所述代理数据包括所述特征值的线性组合。
17.根据权利要求15所述的系统,其中,所述特征值包括以下中的至少一个:特征患者、特征图谱、特征药物、特征健康记录、特征基因组、特征蛋白质组、特征RNA图谱和特征路径。
18.根据权利要求1所述的系统,其中,所述训练后的实际模型是基于以下机器学习算法类型中的至少一种的实现:分类算法、神经网络算法、回归算法、决策树算法、聚类算法遗传算法监督学习算法、半监督学习算法、无监督学习算法和深度学习算法。
19.根据权利要求1所述的系统,其中,所述训练后的实际模型是基于以下机器学习算法中的至少一种的实现:支持向量机、最近邻算法、随机森林、岭回归、Lasso算法、k均值聚类算法、谱聚类算法、均值漂移聚类算法、非负矩阵分解算法、弹性网算法、贝叶斯分类器算法、RANSAC算法和正交匹配追踪算法
20.根据权利要求1所述的系统,其中,所述模型指令包括从基线模型中创建所述训练后的实际模型的指令,其中所述基线模型是在所述私人数据服务器外部创建的。
21.根据权利要求20所述的系统,其中,所述基线模型包括全局训练后的实际模型。
22.根据权利要求21所述的系统,其中,所述全局训练后的实际模型至少部分地用来自所述多个私人数据服务器中的至少两个的代理数据集来训练。
23.根据权利要求1所述的系统,其中,所述相似度得分是基于所述代理模型的交叉验证来确定的。
24.根据权利要求23所述的系统,其中,所述交叉验证包括用所述代理数据的部分进行的内部交叉验证。
25.根据权利要求23所述的系统,其中,所述交叉验证包括用所述当地私人数据进行的内部交叉验证。
26.根据权利要求23所述的系统,其中,所述交叉验证包括由所述多个私人数据服务器中的不同一个用其当地私人数据进行的外部交叉验证。
27.根据权利要求1所述的系统,其中,所述相似度得分包括所述代理模型的精确测量和所述训练后的实际模型的精确测量之间的差异。
28.根据权利要求1所述的系统,其中,所述相似度得分包括从所述训练后的实际模型参数和所述代理模型参数中计算的度量距离。
29.根据权利要求1所述的系统,其中,当所述模型相似度得分的函数满足至少一个发送标准时,发送所述代理数据。
30.根据权利要求29所述的系统,其中,所述至少一个发送标准包括涉及所述相似度得分的以下条件中的至少一个:阈值条件、多值条件、值改变条件、趋势条件、人类命令条件、外部请求条件和时间条件。
31.根据权利要求1所述的系统,其中,所述建模引擎被进一步配置为用新的当地私人数据更新所述训练后的实际模型。
32.一种计算设备实施的分布式机器学习方法,包括:
由私人数据服务器接收模型指令,以根据机器学习算法的实现从所述私人数据服务器的至少一些当地私人数据中创建训练后的实际模型;
通过用所述当地私人数据训练所述机器学习算法的实现,由机器学习引擎根据所述学习指令并根据所述至少一些当地私人数据创建所述训练后的实际模型,其中所述训练后的实际模型包括训练后的实际模型参数;
由所述机器学习引擎从所述当地私人数据中生成多个私人数据分布,其中所述私人数据分布表示聚合的当地数据,所述聚合的当地数据用于创建所述训练后的实际模型;
由所述机器学习引擎从所述私人数据分布中识别出显著的私人数据特征,其中所述显著的私人数据特征允许复制所述多个代理数据分布;以及
由所述机器学习引擎将所述显著的私人数据特征通过网络发送到非私人计算设备。
33.根据权利要求32所述的方法,其中,所述显著的私人数据特征包括代理数据集。
34.根据权利要求32所述的方法,进一步包括:根据以下中的至少一种生成代理数据集:所述多个私人数据分布,和所述显著的私人数据特征。
35.根据权利要求34所述的方法,进一步包括:通过用所述代理数据集训练所述机器学习算法的实现的类型,从所述代理数据集中创建训练后的代理模型。
36.根据权利要求35所述的方法,进一步包括:根据所述代理模型参数和所述训练后的实际模型参数计算所述训练后的代理模型的模型相似度得分。
37.根据权利要求36所述的方法,进一步包括:基于所述模型相似度得分将所述代理数据集聚合到聚合的全局模型。
38.一种计算机实施的使用私人数据服务器生成代理数据的方法,所述私人数据服务器被配置为访问当地私人数据并包括至少一个建模引擎,所述至少一个建模引擎被配置为:
使用机器学习算法从所述私人数据中创建训练后的实际模型;
从至少一些当地私人数据中生成多个私人数据分布,其中所述私人数据分布表示聚合的当地私人数据;
基于所述多个私人数据部分生成代理数据集;以及
使用所述机器学习算法从所述代理数据集中创建训练后的代理模型。

说明书全文

分布式机器学习系统、装置和方法

[0001] 相关申请的交叉引用
[0002] 本申请根据美国法案第35章第119条要求Szeto的2016年7月18提交的名称为“分布式机器学习系统、装置和方法”的序列为62/363,697的美国临时专利申请的优先权,其内容通过引用整体并入此文。

技术领域

[0003] 本发明的领域为分布式机器学习技术。

背景技术

[0004] 背景描述包括可用于理解本发明主题的信息。此处提供的任何信息是现有技术或此处提供的任何信息与当前要求保护的发明主题相关,或者任何具体或隐含地引用的出版物是现有技术都是不承认的。
[0005] 随着最近高度可访问且具有成本效益的机器学习平台(例如,包括TensorFlow的谷歌人工智能、亚逊的机器学习、微软的Azure机器学习、OpenAI、SciKit-Learn、Matlab等)的增长,数据分析人员可以有许多现成的选择来获取它们以进行大数据集的自动分析。此外,机器学习平台增长的同时,目标数据集的规模也在增长。例如,雅虎已向公众发布了几个大型数据集,其大小约为太字节。癌症基因组图谱(TCGA)数据户提供了获取大量临床信息和基因组特征数据的通道。这些预建立的数据集随时可供数据分析人员使用。
[0006] 遗憾的是,研究人员在为正在进行的研究编辑数据集时,特别是在尝试建立能够使用现场数据生成目标预测的训练机器学习模型时,经常遇到障碍。一个主要障碍是研究人员经常无法获得所需的数据。例如,考虑这样一个场景:研究人员希望根据患者数据建立训练模型,然而患者数据存储在多个医院的电子病历数据库中。由于隐私限制或遵从健康保险流通与责任法案(HIPAA,Health Insurance Portability and Accountability Act),研究人员可能无权访问每家医院的患者数据。为了编辑所需的数据集,研究人员必须从医院请求数据。假设医院肯接受该请求,则医院必须在将数据提供给研究人员之前取消对数据的识别,以去除对特定患者的引用。然而,取消标识导致数据集中可能有价值的信息丢失,这些可能有价值的信息可能有助于训练机器学习算法,并反过来可以提供发现数据中新关系的机会或提供价值预测属性。因此,由于安全限制,研究人员可用的数据集可能缺乏信息。显然,研究人员将受益于可以提取学习信息或“知识”的技术,同时还考虑了分布在多个数据存储中的私人信息或安全信息。
[0007] 有趣的是,之前与分析分布式数据相关的工作集中在机器学习的本质上,而不是处理分隔的私人数据。例如,Collins等人的2006年10月26日提交的标题为“利用医学图像数据的临床状态预测系统和方法”的美国专利7,899,225,描述了创建和合并统计模型以创建最终的多维分类空间。所述统计模型是数学变化模型,其定义了可以表示主体的空间。不幸的是,Collins假设系统有权访问所有数据以建立所述预测模型。Collins也没能深入了解非集中数据必须保持安全或私密的情况。尽管如此,能够以某种方式组合训练模型将是有用的。
[0008] 考虑Criminisi等人的2012年6月21日提交的标题为“密度估计和/或流形学习”的美国专利8,954,365。Criminisi专注于简化数据集,而不是专注于组合模型的方法。Criminisi描述了一种降维技术,该技术将未标记的数据映射到较低维空间,同时保留未标记数据点之间的相对距离或其他关系。虽然这对于减少计算工作很有用,但是这些技术无法解决如何组合依赖于不同的私人数据集的模型。
[0009] 试图解决给数据取消标识的另一个例子包括Higgins等人的2014年1月15日提交的标题为“用于药物基因组分类的系统和方法”的美国专利申请公开2014/0222349。Higgins描述了使用替代表型(surrogate phenotypes)来表示取消标识的吸收、分布、代谢和排泄(ADME,absorption,distribution,metabolism and excretion)药物数据中的药物基因组学群体中的集群。然后,使用所述替代表型来训练学习机器(例如,支持向量机),然后可以将其用于实时患者数据的分类。尽管Higgins提供了基于替代表型来建立训练的学习机器,但Higgins需要访问取消标识的数据来建立初始训练集。如前所述,取消标识的数据会使其具有价值的某些训练数据集丢丧失。
[0010] 在分布式环境中,可能有许多存储私人数据的实体,因此不可能确保访问大量高质量、取消标识的数据。当启动一个新的学习任务并且还不存在能够服务于所述新任务的数据时,这一点尤其正确。因此,对于能够在分布式环境中从私人数据集中收集学习信息或知识而无需在训练开始前对数据进行取消标识的学习系统,仍然有相当大的需求。
[0011] 本文中提到的所有出版物通过引用并入,其程度如同每个单独的出版物或专利申请被具体和单独地说明以通过引用并入。如果并入的引用中术语的定义或用法与本文提供的术语的定义不一致或相反,则适用本文提供的该术语的定义,而不适用该术语在引用中的定义。
[0012] 在一些实施例中,表示成分的量、性质的数字(用于描述和保护本发明主题的某些实施例),例如浓度、反应条件等,应理解为在某些情况下由术语“约”修改。因此,在一些实施例中,撰写的说明书和所附权利要求书中列出的数值参数是近似值,其可以根据特定实施例寻求获得的所需性质而变化。在一些实施例中,所述数值参数应通过应用普通的舍入技术根据报告的有效数字的数量来解释。尽管阐述本发明主题的一些实施例的宽范围的数值范围和参数是近似值,但具体实施例中列出的数值是尽可能精确地报告。在本发明主题的一些实施例中呈现的数值可能包含由在其各自的测试测量中发现的标准偏差所必然导致的某些误差。
[0013] 除非上下文指出相反的情况,否则本文所述的所有范围应解释为包括其端点,并且开放式范围应解释为仅包括商业实用值。同样,除非上下文指出相反的情况,否则应将所有值的列表视为包含中间值。
[0014] 如本文的说明书和随后的权利要求书中所使用的,“不定冠词(a/an)”和“所述”的含义包括复数指代,除非上下文另有明确说明。此外,如本文的说明书中所使用的,“在...中”的含义包括“在...中”和“在......上”,除非上下文另有明确规定。
[0015] 本文中对数值范围的描述仅旨在用作单独提及落入该范围内的每个单独值的速记方法。除非本文另有说明,否则每个单独的值被并入说明书中,如同其在本文中单独引用一样。除非本文另有说明或上下文明显矛盾,否则本文所述的所有方法均可以任何合适的顺序进行。关于本文的某些实施例提供的任何和所有示例或示例性语言(例如,“诸如”)的使用,仅旨在更好地说明本发明的主题,而不是对本发明主题的范围构成限制,除非声称了。说明书中的任何语言都不应被解释为表示对于本发明主题实践必不可少的任何未要求保护的要素。
[0016] 本文公开的发明主题的可选元素或实施例的分组不应解释为限制。每个群组成员可以单独地指代和要求保护,或者与群组中的其他成员或本文中找到的其他元素进行任何组合。出于方便和/或可专利性的原因,可以将一个或多个组成员包括在组中或从组中删除。当发生任何这样的包括或删除时,本说明书在此被认为包含经修改的组,从而实现所附权利要求中使用的所有Markush组的书面描述。

发明内容

[0017] 本发明的主题提供了装置、系统和方法,其中分布式在线机器学习计算机能够从私人数据中学习信息或获得知识,并在不能访问私人数据的对等机之间分布所述知识,其中所述分布式知识不包括当地私人数据的实际私人特征或限制性特征。
[0018] 出于本申请的目的,应该理解,所述术语“机器学习”是指被配置为在没有显式编程的情况下从数据中学习的人工智能系统。这样的系统被理解为必然植根于计算机技术,并且实际上,在没有计算技术的情况下不能实现或甚至不存在这样的系统。虽然机器学习系统利用各种类型的统计分析,但机器学习系统与统计分析的区别在于,它不需要显式编程就能学习并且植根于计算机技术。因此,本技术利用分布式数据结构,其保留隐私权同时还保持可学习性。与原始数据相比,交换压缩/学习数据的协议可以减少带宽开销。
[0019] 本发明主题的一个方面包括分布式机器学习系统。在一些实施例中,所述分布式机器学习系统具有多个私人数据服务器,其可能在分布式计算环境中作为对等机运行。每个私人数据服务器都可以访问自己的当地私人数据。系统中的其他服务器或对等机通常没有对其他当地私人数据的权限,授权,特权或访问权限。此外,每个私人数据服务器与包括全局建模引擎的一个或多个非私人计算设备(例如,集中式机器学习计算机农场或不同的私人数据服务器)通信耦合。所述私人数据服务器是具有一个或多个处理器的计算设备,所述一个或多个处理器可配置为执行存储在非暂时性计算机可读存储器中的软件指令,其中所述软件指令的执行使得在所述私人数据服务器上产生建模引擎。所述建模引擎可配置为基于当地私人数据生成一个或多个训练后的机器学习模型。更具体地,所述建模引擎能够通过网络接收来自一个或多个远程计算设备的模型指令。所述模型指令可以被视为一个或多个命令,其指示建模引擎使用至少一些当地私人数据,以便根据机器学习算法(例如,支持向量机、神经网络、决策树随机森林深度学习神经网络等)的实现来创建训练后的实际模型。如果有的话,在满足任何所需的预处理要求(例如,过滤、验证、归一化等)之后,所述建模引擎根据当地私人数据(即,选定或过滤的训练数据集)创建训练后的实际模型。一旦经过训练,所述训练后的实际模型将具有一个或多个实际模型参数或度量,用于描述训练后的实际模型的性质(例如,准确度、准确度增益、灵敏度、灵敏度增益、性能指标、权重、学习率、时期、内核节点数、层数等)。所述建模引擎还从当地私人数据训练集中生成一个或多个私人数据分布,其中所述私人数据分布表示当地私人数据的性质,其中所述当地私人数据用于创建训练后的模型。所述建模引擎使用私人数据分布来生成代理数据集,这些代理数据集可以被认为是具有与当地私人数据相同的大体数据分布特征的合成数据或Monte Carlo数据,同时还没有当地私人数据的实际的私人特征或限制性特征。在一些情况下,Monte Carlo模拟通过使用用于伪随机数生成器的种子来生成确定性的代理数据集。真正随机种子的来源包括random.org提供的那些(参见URL www.random.org)。所述当地私人数据的私人特征或限制性特征包括但不限于社会安全号码、患者姓名、地址或任何其他个人辨识信息,尤其是受HIPAA法案保护的信息。然后,所述建模引擎通过从所述代理数据集中创建训练后的代理模型来尝试验证所述代理数据集是当地私人数据的合理训练集的替代。通过根据与实际模型参数相同的属性空间定义的一个或多个代理模型参数来描述所得到的训练后的代理模型。所述建模引擎根据所述代理模型参数和实际模型参数计算相似度得分,该相似度得分指示了训练后的实际模型和代理模型彼此有多相似。基于所述相似度得分所述,建模引擎可以发送与训练后的模型相关的一条或多条信息,其可能包括代理数据集或足以重建所述代理数据、实际模型参数、代理模型参数或其他特征的信息。例如,如果所述模型相似度满足相似度要求(例如,与阈值等比较),则所述建模引擎可以将所述代理数据集发送到非私人计算设备,该私人计算设备又将所述代理数据整合到聚合的模型中。
[0020] 本发明主题的另一方面包括计算机实施的分布式机器学习的方法,所述方法尊重私人数据。方法的一个实施例包括私人数据服务器接收模型指令,以基于至少一些当地私人数据创建训练后的实际模型。例如,所述模型指令可以包括从机器学习算法的实现构建所述训练后的实际模型的请求。可能在私人数据服务器上执行的机器学习引擎,通过用相关的当地私人数据训练所述机器学习算法的实现,继续根据模型指令创建所述训练后的实际模型。所得到的训练后的模型包括描述所述训练后的模型性质的一个或多个实际模型参数。所述方法的另一步骤包括生成描述相关当地私人数据性质的一个或多个私人数据分布。例如,所述私人数据分布可以由高斯分布、泊松分布、直方图、概率分布或其他类型的分布来表示。从私人数据分布中,所述机器学习引擎可以识别或计算描述私人数据分布性质的一个或多个显著的私人数据特征。根据所述分布的类型,示例性特征可以包括样本数据、平均值、模式、平均值、宽度、半衰期、斜率、矩、直方图、高阶矩或其他类型的特征。在一些更具体的实施例中,所述显著的私人数据特征可以包括代理数据。一旦所述显著的特征可用,所述机器学习引擎就通过网络将所述显著的私人数据特征发送到非私人计算设备(例如,可以整合所述显著的私人数据特征与其他数据集以创建聚合的模型的中央服务器或全局建模引擎)。因此,多个私人同等机能够在不暴露他们私人数据的情况下分享他们学到的知识。
[0021] 从以下优选实施例的详细描述以及附图中,本发明主题的各种目的、特征、方面和优点将变得更加明显,其中附图中相同的数字表示相同的部件。

附图说明

[0022] 图1为根据本文给出的实施例示出的示例性分布式在线机器学习系统。
[0023] 图2为根据本文给出的实施例的示例性机器学习建模引擎架构,其在私人数据服务器中使用。
[0024] 图3为根据本文给出的实施例显示的在准备建立训练过的代理模型中生成代理训练数据的流程图
[0025] 图4为根据本文给出的实施例显示的一个或多个相似度得分的生成,这些相似度得分将训练过的实际模型与训练过的代理模型的相似度进行比较。
[0026] 图5为根据本文给出的实施例显示的分布式在线机器学习的示例方法的操作流程图,其中私人数据服务器生成的代理数据能够复制在真实数据上生成的训练后的实际模型的性质,其中所述代理数据被发送到非私人计算设备。
[0027] 图6为根据本文给出的实施例显示的分布式在线机器学习的示例方法的操作流程图,其中私人数据服务器将聚合的私人数据的显著特征传输到非私人计算设备,而非私人计算设备又为集成到训练后的全局模型中创建代理数据。

具体实施方式

[0028] 应当注意,针对计算机或计算设备的任何语言都应该理解为包括任何合适的计算设备组合,所述计算设备包括服务器、接口、系统、电气用具、数据库、代理、节点、引擎、控制器、模,或者单独地、共同地或协同地操作的其他类型的计算设备。本领域普通技术人员应该理解,所述计算设备包括一个或多个处理器,其被配置为执行存储在有形的非暂时性计算机可读存储介质(例如,硬盘驱动器现场可编程门阵列(FPGA,Field Programmable Gate Array)、可编程逻辑阵列(PLA,Programmable Logic Array)、可编程逻辑器件(PLD,Programmable Logic Device)、固态驱动器、随机存取器(RAM,Random Access Memory)、闪存、只读存储器(ROM,Read Only Memory)、外部驱动器、记忆棒等)上的软件指令。所述软件指令专门配置或编程所述计算设备以提供如下面关于所公开的装置所讨论的色、职责或其他功能。此外,所公开的技术可以体现为计算机程序产品,其包括有形的非暂时性计算机可读介质,所述存储介质存储可由处理器执行的软件指令,以执行与实施基于计算机的算法、过程、方法或其它指令相关的所公开的步骤或操作。在一些实施例中,各种服务器、系统、数据库或接口使用标准化协议或算法交换数据,所述标准化协议或算法可能基于超文本传输协议(HTTP,Hyper Text Transfer Protocol)、超文本传输安全协议(HTTPS,Hyper Text Transfer Protocol Secure)、高级加密标准(AES,Advanced Encryption Standard)、公钥-私钥交换、web服务应用程序编程接口(API,Application Program Interface)、已知的金融交易协议或其他电子信息交换方法。设备之间的数据交换可以通过分组交换网络、因特网、局域网(LAN,local area network)、广域网(WAN,Wide Area Network)、虚拟私人网络(VPN,Virtual Private Network),或其他类型的分组交换网络、电路交换网络、小区交换网络、或其他类型的网络进行。
[0029] 如在本文的说明书中以及随后的权利要求书中所使用的,当系统、引擎、服务器、设备、模块或其他计算元件被描述为被配置为对存储器中的数据实行或执行函数时,“被配置为”或“被编程为”被定义为所述计算元件的一个或多个处理器或核被存储在所述计算元件的存储器中的一组软件指令编程,以对存储在所述内存中的目标数据或数据对象执行该组函数。
[0030] 应当理解,所公开的技术提供了许多有利的技术效果,包括通过网络在计算设备之间构建通信信道以交换机器学习数据,同时尊重底层原始数据的数据隐私。所述计算设备能够在彼此之间交换“学到的”信息或知识而不包括隐私。更具体地,所公开的私人数据服务器尝试通过基于计算机的一个或多个机器学习算法的实现来自动地“学习”关于当地私人数据的信息,不是将私人数据或安全数据发送到远程计算设备。然后,与缺乏访问私人数据的授权的其他计算机交换所学习的信息。此外,应当理解,所述技术效果包括从分布式私人数据及其对应的数据分布计算建立训练过的代理模型。
[0031] 所公开的发明主题的中心点是能够构造或配置所述计算设备以在超出人的能的大量数字数据上操作。尽管所述数字数据通常代表患者数据的各个方面,但应该理解的是,所述数字数据是多个患者的一个或多个数字模型的表示,而不是“患者”本身。通过在所述计算设备的存储器中实例化这种数字模型,所述计算设备能够以一种向计算设备的用户提供实用程序的方式来管理所述数字数据或模型,在没有工具的情况下所述用户将缺乏这种实用程序,尤其是在分布式在线机器学习系统中。因此,本发明的主题是在计算设备无法访问私人数据的环境中改进或优化分布式机器学习。
[0032] 以下讨论提供了本发明主题的许多示例性实施例。尽管每个实施例表示发明元件的单个组合,但是本发明的主题被认为包括所公开元件的所有可能组合。因此,如果一个实施例包括元件A、B和C,而第二实施例包括元件B和D,则即使没有明确地公开,本发明的主题也被认为包括A、B、C或D的其他剩余组合。
[0033] 如本文所使用的,并且除非上下文另有指示,否则术语“耦合到”旨在包括直接耦合(其中两个彼此耦合的元件彼此接触)和间接耦合(其中至少一个附加元件位于两个元件之间)。因此,术语“耦合到”和“与……耦合”同义使用。
[0034] 以下讨论是从健康护理的角度呈现,并且更具体地涉及从与癌症患者相关的基因组序列数据建立训练后的机器学习模型。然而,完全可以预期,本文描述的架构可以适用于肿瘤学之外的其他形式的研究,并且可以在原始数据被保护或被认为是私人的情况下被利用;例如保险数据、财务数据、社交媒体简档数据、人力资本数据、专有实验数据、游戏或赌博数据、军事数据、网络流量数据、购物或营销数据,或其他类型的数据。
[0035] 例如,本文给出的技术可以用作“服务性学习”商业模型的一部分。在这种类型的模型中,具有私人数据(例如,医疗数据、基因组数据、企业数据等)的组织可以生成机器学习模型(例如,训练过的实际模型、训练过的代理模型等)和其他学习信息,并且可以允许其他团体(例如,初创企业、其他机构、其他企业等)在支付费用的情况下使用这些模型来分析他们自己的数据或研究当地数据。例如,在医疗设置中,可以分析从特定医疗机构的患者收集的数据,以使用机器学习创建训练过的实际模型和/或训练过的代理模型。不同医疗机构或公司的研究人员、数据分析人员或其他企业家可以支付费用(例如,一次性费用、订阅等)来访问所述模型,例如,来分析他们自己的数据或研究当地数据。因此,在该示例中,是基于相对于系统100的内部数据来生成机器学习模型的,并且所述机器学习模型可以用于相对于系统100对外部数据进行分类。
[0036] 在其他实施例中,提供机器学习服务的组织可以接收用于分析数据的费用,其中所述数据由第三方提供。在这里,不同医疗机构的研究人员、数据分析人员或其他企业家可以支付费用来提供数据,所述数据类似于当地私人数据,并且可以被单独分析或者可以与当地私人数据结合,以生成机器学习模型(例如,训练过的实际模型或训练过的代理模型)以及可用于分析由第三方提供的后续数据集的其他学习信息。因此,在该示例中,是基于相对于系统100的外部数据来生成机器学习模型,并且所述机器学习模型可以用于相对于系统100对附加外部数据进行分类。
[0037] 可以采用这些类型的“学习性服务”模型的其他行业包括但不限于游戏数据、军事数据、网络流量/安全数据、软件执行数据、模拟数据等。
[0038] 机器学习算法基于观察到的数据创建形成结论的模型。对于监督学习,将训练数据集馈入机器学习算法。这里,通过提供输入和已知的输出作为训练数据,机器学习系统可以基于该训练数据创建模型。因此,机器学习算法生成将输入映射到输出的映射函数。
[0039] 在其他实施例中,对于无监督学习,将数据集馈送到机器学习系统,并且所述机器学习系统基于数据点的聚类来分析所述数据。在这种类型的分析中,数据的基础结构或分布用于生成反映所述数据分布或结构的模型。这种类型的分析经常用于检测相似度(例如,两个图像是否相同)、识别异常值/离群值,或检测数据集中的模式。
[0040] 半监督模型,前两种方法的混合,其是利用监督模型和无监督模型两者来分析数据。
[0041] 机器学习模型基于输入(在没有已知的输出或答案的情况下)预测输出(例如,使用分类或回归)。预测可以涉及将输入映射到类别中(例如,分析图像以确定是否存在图像的特征)。在这种类型的分析中,输出变量采用类标签的形式,标识组成员。因此,该方法可用于选择类别(例如,基于图像是否包含指定的特征)。
[0042] 回归分析旨在最大限度地减小回归线与用于生成所述线的数据点之间的误差。这里,所述输出变量采用连续变量(例如,线)的形式来预测连续响应。因此,回归可用于分析数值数据。下面将更全面地描述这些技术。应当理解,回归分析可以根据研究任务的要求在一个或多个相关维度中进行。
[0043] 图1是示例性分布式机器学习系统100的图示。系统100被配置为基于计算机的研究工具,其允许多个研究人员或数据分析人员从许多私人数据源或安全数据源创建训练后的机器学习模型,研究人员通常不具有获得所述私人数据源或安全数据源的许可或授权。在所示的示例中,研究人员有权访问表示为非私人计算设备130的中央机器学习中枢,其可能被执行作为全局建模引擎136。非私人计算设备130可以包括为研究人员提供分布式机器学习服务的一个或多个全局模型服务器(例如,、软件即服务(SaaS,Software as a Service)、平台即服务(PaaS,Platform as a Service)、基础设施即服务(IaaS,Infrastructure as a service)、登陆即服务(LaaS,Logging as a Service)、农场(farm)等)。然而,研究人员感兴趣的数据存储在私人数据服务器124A、124B到124N(统称为私人数据服务器124)中的一个或多个上,所述私人数据服务器通过网络115(例如,无线网络、内联网、蜂窝网络、分组交换网络、自组网、因特网、WAN、VPN、LAN、P2P等)位于一个或多个实体
120A到120N处。网络115可以包括前述网络的任何组合。所述实体可以包括医院120A、诊所
120B、……、实验室120N(统称为实体120)。每个实体120可以访问其自己当地的私人数据
122A到122N(统称为私人数据122),其可能存储在当地存储设备(例如,磁碟阵列储存(RAID,Redundant Array Of Independent Disks)系统、文件服务器、网络附加存储(NAS,Network Attached Storage)、存储区域网(SAN,Storage Area Networking)、网络可访问存储设备、存储区域网络设备、当地计算机可读存储器、硬盘驱动器、光学存储设备、磁带驱动器、磁带库、固态盘等)上。此外,每个私人数据服务器124可以包括BAM服务器、SAM服务器、GAR服务器、BAMBAM服务器或甚至临床操作系统服务器中的一个或多个。每一个私人数据服务器124都可以访问其自己当地的私人数据122并且具有至少一个建模引擎126。为了讨论起见,每一个私人数据服务器120被认为经由网络115通信地耦合到非私人计算设备
130。
[0044] 每组私人数据122被视为其对应实体120所私人的。在这种考虑下,应该理解,其他实体120以及访问由非私人计算设备130提供的建模服务的研究人员没有访问另一个私人数据122的权利、权限或其他授权。为了进一步明确,所述术语“私人”和“非私人”是描述各种实体对及其相应数据集之间关系的相对术语。例如,诊所120B中的私人数据服务器124B可以访问其当地私人数据122B,但不能访问另一个私人数据(例如,实验室120N中的私人数据122N或医院120A中的私人数据122A)。在其他实施例中,私人数据服务器124N可以被视为相对于其他实体的非私人计算设备130。在各种私人服务器124能够通过网络115直接通信的实施例中,这种考虑尤其重要,可能以对等方式或通过附属机构,而不是通过中央集线器。例如,如果医疗机构有多个地点和/或附属机构(例如主医院、医师办公室、诊所、二级医院、医院附属机构),则这些实体中的每个实体都可以拥有它们自己的私人数据122、私人数据服务器124和建模引擎126,这些实体均对彼此可见,但对不同的实体不可见。
[0045] 考虑到系统的性质和每个实体120必须保证其私人数据122的安全性的要求,所述研究人员很难获得建立理想的经过培训的机器学习模型所需的大量高质量数据。更具体地说,研究人员必须从拥有感兴趣的私人数据122的每个实体120处获得授权。此外,由于各种限制(例如隐私政策、法规、HIPAA合规性等),可能不允许每个实体120向研究人员提供请求的数据。即使假设研究人员能够获得所有实体120的许可以获取其相关的私人数据122,实体120仍然必须取消对数据集的标识。由于数据去标识所需的时间和信息丢失,这种去标识可能存在问题,这会影响研究人员从训练机器学习模型中获取知识的能力。
[0046] 在图1所示的生态系统/系统中,通过将重点放在从训练后的机器学习算法获得的知识而非原始数据本身,来解决与私人数据122的隐私限制相关的问题。研究人员不需要从每个实体120处请求原始数据,而是能够定义他/她希望创建的所需机器学习模型。所述研究人员可通过非私人计算设备130与系统100连接;通过私人数据服务器124中的一个连接(假设研究人员已被授予访问私人数据服务器的权限)与系统100;或通过系统100外部可与非私人计算设备130连接的设备与系统100连接。然后,将有关如何创建所需模型的编程模型指令提交给每个相关的私人数据服务器124,该服务器还具有相应的建模引擎126(即126A到126N)。每个当地建模引擎126访问自己的当地私人数据122,并根据研究人员创建的模型指令创建当地经过培训的模型。当每个建模引擎126获得新的学习信息时,一旦满足传输标准,新的知识就被传回非私人计算设备130的研究人员。然后,可以通过全局建模引擎
136将所述新的知识聚合到经过培训的全局模型中。知识的示例包括(如图2所示)但不限于代理数据260、经过培训的实际模型240、经过培训的代理模型270、代理模型参数、模型相似度得分或其他类已取消标识的数据。在一些实施例中,所述全局模型服务器130分析与代理相关的信息集合(例如,包括代理数据260、代理数据分布362、代理模型参数475、与种子组合的其他代理相关的数据等),以确定在合并这些信息之前,来自其中一个私人数据服务器
124的代理相关的信息是否具有与来自另一个私人数据服务器124的代理相关的数据相同的形状和/或总体属性。不同的代理相关的信息可以标记为手动查看,以确定底层私人数据分发集是否损坏、是否缺少数据或是否包含大量离群值。在一些实施例中,本文公开的技术中忽略并排除了被视为离群值的私人患者数据。例如,可以使用单类支持向量机(SVM,Support Vector Machine)来识别可能与核心相关数据不一致的离群值。在一些实施例中,所述单类SVM由外部节点(例如,非私人计算设备130等)基于感兴趣的类似数据构建。然后,所述单类SVM可以传输到私人数据服务器124。然后,私人数据服务器124可以使用外部生成的单类SVM来确保感兴趣的当地数据确实与感兴趣的外部数据一致。
[0047] 因此,代理数据可以被认为是将原始数据转换为保留原始数据特征的不同形式的数据。
[0048] 私人数据服务器124可以持续访问新的私人数据122,例如,当测试结果变得可用时、当作出新的诊断时、当新的患者被添加到系统时等等。对于相对较小的数据集,可以使用所有或几乎所有存储的私人数据来重新生成代理数据260或其他代理相关信息。对于较大的数据集,可以仅使用新添加的数据重新生成代理数据。可以通过时间标记、存储位置、地理标记、区块链哈希等来识别新的数据。
[0049] 在其他实施例中,新的私人数据被实时或几乎实时地整合到所述机器学习系统中。因此,只要新的私人数据可用,就可以将其整合到训练后的实际模型和训练后的代理模型中。在一些实施例中,所述机器学习模型不断更新,例如,使用所有可用的私人数据(旧的和新添加的私人数据),或仅对新添加的私人数据进行更新。此外,没有固定的时间框架来管理机器学习模型更新,因此,某些机器学习模型每天更新,而其他模型每年更新,或者甚至在更长时间框架上更新。这种灵活性与传统的机器学习模型形成对比,后者依赖于对所有数据进行批量处理,然后进行循环的训练和测试。
[0050] 在一些实施例中,每个私人数据服务器124接收相同的关于如何创建期望模型的编程模型指令230。在其他实施例中,私人数据服务器可以接收第一组编程模型指令以创建第一模型,而另一私人数据服务器可以接收第二组编程模型指令以创建第二模型。因此,提供给每个私人数据服务器124的所述编程模型指令可以相同或不同。
[0051] 当生成代理数据260并将其中继到所述全局模型服务器130时,所述全局模型服务器聚合所述数据并生成更新的全局模型。一旦更新全局模型后,可以确定更新的全局模型是否比先前版本的全局模型有所改进。如果所述更新的全局模型是改进的(例如,预测准确性得到提高),则可以通过更新的模型指令230向所述私人数据服务器提供新的参数。在私人数据服务器124处,可以评估训练后的实际模型的性能(例如,可以评估模型是否改善或恶化),以确定由更新的全局模型提供的模型指令是否会导致训练后的实际模型的改进。可以存储与各种机器学习模型版本相关的参数,以便在需要时可以稍后检索早期的机器学习模型。
[0052] 在其他实施例中,私人数据服务器124可以从对等的私人数据服务器(不同的私人数据服务器124)处接收代理相关的信息(例如,包括代理数据260、代理数据分布362、代理模型参数475、与种子组合的其他代理相关的数据等)。所述私人数据服务器可以基于其自己当地的私人数据生成模型,或者基于其自己当地的私人数据和从对等的私人数据服务器处接收的代理相关的信息生成模型。如果组合数据集的预测准确性得到提高,则组合所述数据集或学到的知识。
[0053] 在一些实施例中,所述信息(例如,机器学习模型,其包括训练后的代理模型、训练后的实际模型、私人数据分布、合成的数据分布/代理数据分布、实际模型参数、代理模型参数、相似度得分或作为机器学习过程一部分生成的任何其他信息等)可以被标记地理(与指示处理发生在何处的位置或其他标识符相关)、被标记时间,或被集成到区块链中以存档研究(另见US2015033283)。区块链可以配置为特定样本的审计跟踪。在本示例中,所述区块链被实例化为单个样本的单个独立链,并表示样本的生命周期或审计跟踪。此外,由于系统可以以异步方式连续接收新数据,因此地理标记有助于管理新信息的流入(例如,对于新增加的诊所,从诊所收到的所有标记地理的数据都将被整合到所述机器学习系统中。预计任何类型的数据都可以被标记地理)。
[0054] 图2是一个示例性架构的图示,其包括实体220中与其机器学习活动相关的私人数据服务器224。图2中的示例从私人数据服务器224如何与远程计算设备和私人数据222交互的角度说明了本发明的概念。在更优选的实施例中,私人数据222包含当地的私人医疗数据,或更具体地包括特定患者的数据(例如,姓名、社会保险号(SSN,Social Security Number)、正常全基因组序列(WGS,whole genome sequence)、肿瘤WGS、基因组差异对象、患者标识符等)。实体220通常是一家拥有私人当地原始数据的机构,并受到上述限制。示例性的实体包括医院、实验室、诊所、药店、保险公司、肿瘤科医生办公室或其他具有当地存储数据的实体。私人数据服务器224表示当地服务器,其通常位于所述实体220的防火墙后。私人数据服务器224可以表示为具有一个或多个处理器297的计算机,这些处理器被配置为执行存储在内存290中的软件指令293。可用于本发明主题的示例性服务器包括 服务器、服务器或其他服务器。
[0055] 所述私人数据服务器224为实体220的利益相关者提供私人数据222的访问。在更优选的实施例中,私人数据服务器224表示特定患者数据,尤其是大尺寸的数据集的当地高速缓存。例如,患者可能正在接受各种癌症治疗或可能正在参加临床试验。在这种情况下,患者的数据可以包括一个或多个基因组序列数据集,其中每个数据集可以包括数百千兆字节的数据。如果有几个患者,总数据集可能表示许多TBs(terabytes)或更多。示例性基因组序列数据集可以包括全基因组序列(WGS)、RNA序列数据、全外显子组序列(WES,whole exome sequence)、蛋白质组数据、组织之间的差异(例如,患病的与相匹配的正常人,得肿瘤者与相匹配的正常人,一名患者与另一名患者等)或其他大型数据集。更进一步地,患者可以具有一个以上的基因组序列数据集的文件:肿瘤WGS以及相匹配的正常的WGS。一个特别感兴趣的数据集包括肿瘤序列与相匹配的正常人的序列之间的基因组差异,其有时被称为“基因组差异对象”。在Sanborn等人分别于2011年5月25日和2011年11月18日提交的标题均为“BAMBAM:高通量测序数据的并行比较分析”的美国专利9,652,587和美国专利9,646,134中更完整地描述了这种基因组差异对象及其产生。另一类数据包括从患者样品中推断出的蛋白质组路径,所述样品正如Vaske等人分别于2011年4月29日和2011年10月26日提交的标题均为“在基因组模型(范式)上使用数据整合的路径识别算法”的美国专利申请公开
2012/0041683和2012/0158391中所述。
[0056] 由于多种原因,通过私人数据服务器220为这种大数据集提供当地高速缓存被认为是有利的。所述数据集如此之大,以至于很难轻易按需或在立即需要时获得这些数据集。例如,具有50x读数的患者完整的WGS可包括大约150GB的数据。加上患者肿瘤的类似WGS,所述数据集可以轻易超过300GB的数据。当然,这假设只有一个肿瘤WGS和一个正常的WGS。仅对于一名患者,如果在不同的肿瘤位置或不同的时间采集多个样本,则所述数据集可能轻易超过1TB的数据。下载如此大的数据集或远程访问所述数据集的时间远远超过了实时治疗患者时所需的紧迫性。因此,通过让患者数据进行当地高速缓存,可以最好地为患者和其他利益相关者服务。此外,当患者移动或以其他方式与各种实体接触时,进一步实时移动数据是不切实际的。作为提供高速缓存数据的可选方案,对于可能不适合高速缓存的大型数据集,可以使用模拟私人数据的小型Monte Carlo模拟。这些类型的模拟通常利用种子,允许基于种子和伪随机数字生成器的参数以确定的方式利用Monte Carlo模拟生成合成的私人数据。一旦识别出了在对数据进行最小修改的情况下生成优选数量的合成私人数据的种子,则所述种子可以被提供给任何私人数据服务器124,其中所述种子用于使用相同的伪随机数字生成器和其它算法重新生成所述合成的私人数据。可以分析合成的数据以确保它不包含应该保密的识别特征。
[0057] 在所示的示例中,软件指令293增加了建模引擎226的性能或功能。建模引擎226使用私人数据222来训练机器学习算法295的一个或多个实施。仅是举几例子,实施机器学习TM TM算法的示例源包括sci-kit learn、谷歌的人工智能(包括TensorFlow 、OpenAI 、Prediction IOTM、ShogunTM、WEKA或MahoutTM)、Matlab、亚马逊的机器学习、微软的Azure机器学习和SciKit-Learn。在建模引擎226内描绘的各种元素表示数据与建模引擎226内的各种功能模块的交互。因此,建模引擎226被认为是当地代理,其被配置为提供私人数据222的接口以及管道,通过所述管道,远程研究人员可以通过网络215在建模引擎226内创建当地训练后的模型。实际上,建模引擎226是转换模块,其将当地的私人数据222转换为关于可由外部计算设备使用而不包括隐私的数据的知识。所述知识可以包括由机器学习系统产生的取消标识的任何信息。
[0058] 私人数据服务器224可以采用许多不同的形式。在一些实施例中,私人数据服务器224是集成在实体220的IT基础结构内的计算设备,例如,私人服务器具有用于私人数据222的其自己的存储系统。在私人数据222涉及针对实体220外部的特定研究项目的大数据集的情况下,这种方法被认为是有利的。例如,所述设备可以存储与政府或临床研究高度相关的患者数据。在其他实施例中,私人数据服务器224可以包括由实体220的IT部门拥有并操作的一个或多个服务器,其中所述服务器包括可以部署在实体220的服务器上的附加软件建模引擎应用。
[0059] 在所示的示例中,私人数据服务器224被示为计算设备,其可配置为通过网络215进行通信。出于讨论的目的,网络215被认为是因特网。然而,网络215还可以包括其他形式的网络,包括VPN、内联网、WAN、P2P网络、蜂窝网络或其他形式的网络。私人数据服务器224可配置为使用一个或多个协议来建立与远程设备的连接。可以用来进行这样通信的示例性协议包括HTTP、HTTPS、SSL、SSH、TCP/IP、UDP/IP、FTP、SCP、WSDL、SOAP或其他类型的公知协议。应当理解,尽管可以利用这样的协议,但是可以预期在生态系统/系统中的设备之间交换的数据将会被进一步打包以便于所述计算设备的传输和使用。例如,可以通过一种或多种标记语言(例如,XML、YAML、JSON等)或其他文件格式(例如,HDF5等)打包所述系统中交换的各种数据元素(例如,模型指令230、代理数据260等)。
[0060] 在一些实施例中,私人数据服务器224将部署在网络安全基础设施之后,例如,防火墙。在这种情况下,除非在防火墙中创建了合适的网络地址转换(NAT,network address translation)端口,否则远程计算设备可能无法与私人数据服务器224建立连接。然而,更优选的方法是配置私人数据服务器224(可能经由建模引擎226),以便通过防火墙与中心建模服务器(例如,图1的非私人计算设备130)建立通信链路。这种方法是有利的,因为它不需要修改防火墙。仍然,可以通过加密(例如,HTTPS、SSL、SSH、AES等)来保护所述通信链路。
[0061] 建模引擎226表示在私人数据服务器224内操作的代理,并且可配置为创建训练后的机器学习模型。在一些实施例中,建模引擎226可以在私人于特定研究任务的安全虚拟机或安全容器内运行,这允许多个不同的研究人员并行工作,同时还确保了每个研究人员的工作互不干扰。例如,建模引擎226可以通过 的container来实现,其中每个研究人员将具有在私人数据服务器224上运行的他们自己的建模引擎226的单独实例。在其他实施例中,所述建模引擎226可以被构造为并行地处理许多会话,其中每个会话可以实现为私人数据服务器224的操作系统(例如,Linux、Windows等)内的单独线程。
[0062] 一旦在私人数据服务器224和一个或多个远程非私人计算设备之间建立了通信链路,则建模引擎226就准备向外部实体(例如,研究人员)提供其服务。建模引擎226接收一个或多个模型指令230,所述指令指示建模引擎226根据至少一些私人数据222来创建训练后的实际模型240。例如,在一些实施例中,例如神经网络,输入和其他配置参数可以由模型指令提供,每个输入的权重可以由所述机器学习系统确定。训练后的实际模型240是经过机器学习算法295的实现方式训练的一种训练后的机器学习模型。在训练完成之后,训练后的实际模型240包括一个或多个训练后的模型参数245。
[0063] 建模引擎226接收模型指令,以从至少一些当地私人数据222根据机器学习算法295的实现方式来创建训练后的实际模型240。模型指令230表示许多可能的机制,建模引擎
226通过这些机制可以被配置为从私人数据222处获得知识,并且可以包括在实体220内生成的当地命令、源自网络215的远程命令、可执行文件、协议命令、来自选项菜单的所选命令或其他类型的指令。模型指令230可以根据所需的实现方式而广泛地变化。在一些情况下,模型指令230可以包括告知建模引擎226如何创建所需的训练后的模型的流线型指令,可能以脚本(例如,Python、Ruby、JavaScript等)的形式。此外,模型指令可以包括数据过滤器或数据选择标准,其定义了对从私人数据222创建的所需结果集的要求以及要使用哪个机器学习算法295。考虑这样一个场景:鉴于患者的肿瘤序列与患者相匹配的正常序列之间的特定基因组差异,研究人员希望基于支持向量机(SVM)来研究哪些患者对各种药物有反应,哪些患者没有反应。用于这种情况的模型指令230可以包括(可能通过XML或HDF5打包)对要从私人数据222中选择的数据、识别的药物、特定基因组差异对象的引用、有反应与没反应的指示等的要求。模型指令230还可以包括对所需SVM的特定引用、可能通过标识符(例如,数字、名称、全局唯一标识符(GUID,Globally Unique Identifier)等)和版本号,或者甚至是为执行建模引擎226所准备的SVM的预打包实现方式。
[0064] 在一些实施例中,被配置为收集元数据的应用程序可以扫描私人数据以确定存储在私人数据存储库中的数据类型。例如,此应用程序可以扫描文件存储库以识别存在的文件类型(例如,识别针对特定程序的文件扩展名,所述特定程序指示特定可用的数据类型;扫描根据命名约定命名的文件名以指示可用的数据类型等)。在其他实施例中,所述应用程序可以与数据库相连接以查询可用数据的类型,或者可选地,所述数据库可以被配置为向全局建模服务器130发送反映可用数据类型的报告。一旦对元数据(反映所述私人数据)的描述可用,则可以配置模型指令以引用所述私人数据,从而提供关于选择所述机器学习系统的输入的指令。在研究人员的查询正在进行并且持续更新的情况下,例如以周期性间隔更新,所述系统可以被配置为识别所述元数据、确定是否存在关键参数,然后使得生成和传输与所述研究人员建立的查询相对应的模型指令。在其他情况下,对于新颖的查询,研究人员可以以手动或半自动方式生成所述模型指令。对于新的查询,所述系统可以被配置为提供关于要分析的数据类型的推荐,以便为这种新的查询生成模型指令。
[0065] 来自每个私人数据服务器的元数据可以被提供给所述全局模型服务器。所述元数据返回属性空间(不是原始数据或私人数据)。基于该信息,生成机器学习任务的所述研究人员可以配置特定私人数据服务器的模型指令以分析私人数据特定的集。
[0066] 在一些实施例中,所述私人数据服务器可能会发现模型准确性很低,并且可能从所述全局模型服务器处请求附加的更新。使用全局建模引擎的所述全局模型服务器将来自不同位置的数据聚合到全局模型中。例如,如果请求改进的癌症存活模型,并且不能获得相同类型的数据,则可以组合来自不同组织类型的数据以提高癌症存活模型的预测准确性。
[0067] 模型指令230也可能具有更复杂的性质。更具体地,模型指令230可以是独立的,其中模型指令230实际上包括完整的建模包,所述建模包包括专门配置为与当地数据库相互连接的查询引擎(例如,SQL、NoSQL等)、预编译的(例如,目标代码、字节代码等)机器学习算法295的实现方式,用于管理结果模型的规则等。这种方法可以通过打包和可交付的容器来实现。应该进一步理解并且充分考虑到,模型指令230也可以在从简单配置到所呈现的更复杂配置的范围内变化。因此,模型指令230可以包括从当地计算机接收的当地命令、通过网络215从计算机(例如,对等的数据服务器或全局模型服务器)接收的远程命令、可执行文件、协议命令、来自选项菜单的选择命令、远程过程调用或其他类型的指令。
[0068] 建模引擎226利用来自模型指令230的数据选择标准,可能通过向存储私人数据222的数据库提交查询,来创建来自私人数据222的结果集。例如,所述查询可以包括根据模型指令230中的要求正确格式化的SQL查询,以访问或检索存储在私人数据222中的属性或表格。所述结果集可以是与私人数据222完全相同的数据或根据所述数据选择标准的性质的适当子集。所述结果集成为训练后的实际模型240的训练数据。也就是说,所述结果集可以用于训练实际模型240。在医疗的背景下,所述结果集包括患者数据,所述患者数据也可以包括一个或多个以下患者特定的信息:症状、测试、测试结果、提供者姓名、患者姓名、年龄、地址、诊断、CPT代码、ICD代码、DSM代码、关系或可用于描述患者的其他信息。应当理解,所述结果集不需要预处理取消标识的步骤来清理数据,因为所述机器学习算法对当地私人数据进行操作。所公开的方法被认为优于先前的方法,因为保留患者特定的信息允许建模引擎226从训练后的实际模型240处获得可能丢失的知识。例如,如果在建模引擎226进行分析之前移除患者姓名,则相关的家族历史可能无法作为预测参数纳入所述实际模型240中。
[0069] 建模引擎226根据表示至少一些私人数据222的结果集创建训练后的实际模型240。这通过建模引擎226对私人数据222的结果集训练机器学习算法295的所需实现方式来实现。鉴于所需的机器学习算法295可以包括各种可能的算法,模型指令230可以包括定义训练发生时的条件的指令。例如,所述条件可以包括对训练数据、学习速率、收敛要求、训练的时间限制、初始条件、灵敏度、特异性或其他类型的需要或可选的条件执行的多个迭代或周期。收敛要求可以包括一阶导数(例如“变化率”)、二阶导数(例如“加速度”)或更高阶时间导数,或所述数据的属性空间中其他维度的更高阶导数等。
[0070] 机器学习算法295可以包括相当多不同类型的算法,其包括分类算法、神经网络算法、回归算法、决策树算法、聚类算法遗传算法、监督学习算法、半监督学习算法、无监督学习算法、深度学习算法或其他类型的算法的实现。更具体地,机器学习算法295可以包括一个或多个以下算法的实现:支持向量机、决策树、最近邻算法、随机森林、岭回归、Lasso算法、k均值聚类算法、增强算法、谱聚类算法、均值漂移聚类算法、非负矩阵分解算法、弹性网算法、贝叶斯分类器算法、RANSAC算法、正交匹配追踪算法、自举聚合法、时间差分学习、反向传播、在线机器学习、Q学习、随机梯度下降、最小二乘回归、逻辑回归、普通最小二乘回归(OLSR)、线性回归、逐步回归、多元自适应回归样条(MARS)、局部估计的散点平滑(LOESS)集合方法、聚类算法、基于质心的算法、主成分分析(PCA)、奇异值分解、独立分量分析、k近邻(kNN)、学习矢量量化(LVQ)、自组织映射(SOM)、局部加权学习(LWL)、先验算法、eclat算法、正则化算法、岭回归、最小绝对收缩和选择算子(LASSO)、弹性网、分类和回归树(CART)、迭代二分法(3(ID3)、C4.5和C5.0)、卡方自动交互检测(CHAID)、决策树、M5、条件决策树、最小角度回归(LARS)、朴素贝叶斯、高斯朴素贝叶斯、多项式朴素贝叶斯、平均单依赖估计(AODE)、贝叶斯置信网络(BBN)、贝叶斯网络(BN)、k–medians、期望最大化(EM)、层次聚类、感知器反向传播、Hopfield网络、径向基函数网络(RBFN)、深度玻尔兹曼机(DBM)、深度置信网络(DBN)、卷积神经网络(CNN)、堆叠自动编码器、主成分回归(PCR)、偏最小二乘回归(PLSR)、sammon映射、多维尺度(MDS)、投影寻踪法、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA)、自举聚合法(bagging)、adaboost算法、层叠泛化算法(blending),梯度增强机器(GBM)、梯度增强回归树(GBRT)、随机森林或还有待发明的算法。训练可以是被监督的、半监督的或无监督的。在一些实施例中,所述机器学习系统可以使用自然语言处理(NPL)来分析数据(例如,音频数据、文本数据等)。一旦经过训练,训练后的实际模型240就代表已经学习的内容,或者代表提交机器学习任务的研究人员所需要的从私人数据222中获得的知识。训练后的实际模型240可以被认为是被动模型或主动模型。被动模型表示最终完成的模型,不再在其上执行任何工作。活动模型表示动态模型,其可以根据各种情况进行更新。在一些实施例中,所述训练后的实际模型240每日、每周、每两个月、每月、每季度或每年进行实时更新。当新信息可用时(例如,更新模型指令230,时间转换,新的或校正的私人数据222等),将进一步更新主动模型。在这种情况下,所述活动模型携带元数据,该元数据描述了模型相对于其更新的状态。所述元数据可以包括描述一个或多个以下的属性:版本号、更新日期、用于更新的新数据量、模型参数的变化、收敛要求或其他信息。这些信息提供了一段时间内管理大量模型集合的功能,其中每个主动模型可被视为不同的可管理对象。
[0071] 使用术语“实际”来引用训练后的实际模型240,以阐明其在未被取消标识的实际数据上训练,并且所述实际数据被认为是从私人数据222中获得的实际数据。这是与下面进一步讨论的训练后的代理模型270形成了对比,所述训练后的代理模型270是在代理数据260上训练,所述代理数据260可以被认为是模拟数据。
[0072] 训练后的实际模型240包括多个兴趣点。首先,训练后的实际模型240可以包括如前所述的描述训练模型的性质的元数据,虽然未示出。其次,训练后的实际模型240包括由实际模型参数245表示的多个参数。实际模型参数245是训练后的实际模型240在对实时数据进行操作时用于预测目的的特定值。因此,实际模型参数245可以被认为是用私人数据222创建训练后的实际模型240时所获得的知识的抽象表示。当实际模型参数245被打包并传输到远程非私人计算设备或对等的私人数据服务器时,通过从远程计算设备的当地参数中实例化训练后的实际模型240的新实例,所述远程非私人计算设备或对等的计算设备可以准确地重建训练后的实际模型240,而无需访问私人数据222,因此消除了取消标识的需求。实际模型参数245取决于训练后的实际模型240的性质及其机器学习算法295的底层实现以及用于生成实际模型240的私人数据222的质量。实际模型参数245的示例包括权重、核函数、层、节点数、灵敏度、准确度、准确度增益、超参数,或可以用于重新实例化训练后的实际模型240的其他信息。
[0073] 在一些实施例中,私人数据222的数量被认为是高质量的并且具有足够的大小,将实际模型参数245传输到远程设备可能会有很大的好处。然而,我们应该进一步认识到,实体220可能没有足够大的当地数据来完成一项研究任务。此外,根据本文所公开的技术所解决的另一个问题包括如何将从培训后的实际模型240获得的知识与来自其他实体220的数据进行集成,尤其是如何在生态系统中聚合节点之间的知识以生成与反映研究人员或临床医生的兴趣点的模型指令相关的知识。在所示的示例中,这些点通过配置建模引擎226进行处理,以了解用于创建培训后的实际模型240的数据。
[0074] 在所示的示例中,建模引擎226分析用于创建训练后的实际模型240的训练数据集,以便对私人数据分布250所表示的训练数据集的性质产生理解。因此,建模引擎226进一步可配置成生成多个私人数据分布250,其表示用作训练集来创建训练后的实际模型240的聚合的当地私人数据。在一些实施例中,建模引擎226可以对训练数据集自动执行许多不同的算法(例如,回归、聚类等),试图(可能以无监督的方式)发现可以通过私人数据分布250表示的数据内的关系。私人数据分布250描述了私人数据训练集的整体性质。例如,私人数据分布250可以包括患者年龄的直方图。关于私人数据分布250的更详细的讨论是关于图3呈现的,其如下所述。私人数据分布250可以是连续的、不连续的、离散的或其他类型的分布。私人数据分布可以包括分布,其包括但不限于:伯努利分布、Rademacher分布、二项分布、β二项分布、退化分布、离散均匀分布、超几何分布和泊松二项分布。私人数据分布还可以包括β负二项分布、玻兹曼分布,Gibbs分布、麦克斯韦-玻耳兹曼分布、Borel分布、Champernowne分布、广义负二项分布、广义超几何分布、对数序列分布、对数分布、负二项分布、复合泊松分布、抛物线分形分布、泊松分布、Polya-Eggenberger分布、斜椭圆分布、Yule-Simon分布和ζ分布。私人数据分布还可以包括反正弦分布、β分布、逻辑正态分布、均匀分布、Irwin-Hall分布、Bates分布、Kent分布、对数分布、Marchenko-Pastur分布、密度分布、升余弦分布、倒数分布、三角分布、梯形分布、截断的正态分布、U-quadratic分布和von Mises-Fisher分布。其他形式的分布包括连续均匀分布、Skellam分布、卡方分布、伽马分布或统计科学中使用的任何其他形式的分布。
[0075] 建模引擎226根据私人数据分布250生成代理数据集260,以创建模拟数据集或蒙特卡罗(Monte Carlo)数据集,通过训练所述训练后的实际模型240,所述数据集可用于尝试重新创建所获得的知识。生成代理数据260有助于减少或消除对私人数据222训练集的取消标识的需要。代理数据260可以被认为是随机生成的合成数据,在一些情况下是确定性生成的合成数据,其保留了训练数据可学习的显著特征(即知识),同时消除了对存储在私人数据222中的真实信息的引用。一些实施例将来自代理数据260的样本与来自私人数据222内的样本作比较,以确保代理样本与实际患者数据没有足够的重叠。可以丢弃具有显著重叠的代理样本以确保保持隐私。所述代理样本排除过滤器可以是基于根据私人数据222内的患者数据的名称空间或属性空间定义的标准。例如,如果代理样本具有与一个或多个实际样本相同的太多特征(例如,相同的邮政编码、相同症状等),则可以消除这个代理样本。
[0076] 在一些实施例中,在代理数据集的生成期间,可以实现已知的“种子”,使得所述代理数据集的生成是确定性的。因此,可以将所述模型参数和所述种子发送到对等设备或非私人设备,从而允许在另一个位置生成代理数据的精确副本。可以在URL www.random.org找到真正随机种子的来源。
[0077] 在一些方面,所述训练后的机器学习模型和代理数据生成可以被认为是有损压缩的形式。与有损压缩类似,将原始数据转换为代理数据保留了数据的关键特征,但不保留关于个体患者的粒度。通过提供模型参数集(一种定制压缩形式),可以根据所述参数重新创建所述数据。不是将所有的代理数据集发送到对等服务器,而是可以与种子一起发送所述模型参数(基于数据分布的机器学习到的参数,其实际上是数据集的压缩版本)。所述当地机器接收到所述模型参数和种子并重新创建所述确定性的代理数据。
[0078] 因此,代理数据的生成为数据科学、人工智能和分布式计算领域提供了明显的改进。由于代理数据是实际数据的合成相等物,因此与大量数据集相比,可以以更紧凑的形式提供该数据,从而提高人工智能平台的性能以在整个分布式计算环境中聚合数据集的。例如,以分布的形式提供参数,与数百万个实际的单独数据点相比,可以得到紧凑的数据表示,人工智能平台可以在此基础上更有效地运行,从而改善所述系统的整体功能。当然,如本文所讨论的,代理数据保留了在取消标识的过程期间可能被丢弃的知识。此外,通过使用代理数据可以维护患者隐私和遵守HIPPA标准。
[0079] 然后,建模引擎226通过训练机器学习算法295的相同实现,用代理数据260创建训练后的代理模型270,所述机器学习算法295用于使用除了代理数据260之外的数据创建训练后的实际模型240。训练后的代理模型270还包括代理模型参数275,其可能与实际模型参数245略有不同。在一些实施例中,建模引擎226至少部分地基于训练后的模型参数迭代地生成代理数据260并创建训练后代理模型270,直到训练后的代理模型270与训练后的实际模型240足够相似。该方法被认为是有利的,因为它提供了生成合成数据,所述合成数据能够再现由两个训练模型所表示的从私人数据222获得的知识。
[0080] 通过建模引擎226根据代理模型参数275和实际模型参数245计算模型相似度得分280,训练后的代理模型270和训练后的实际模型240之间的相似度可以通过各种技术来测量。得到的模型相似度得分280表示了两个模型的相似程度,其至少在相似度标准内。相似度标准可以由请求分析私人数据222的研究人员定义,并且可以在模型指令230内传递。在一些实施例中,相似度得分280可以是单个值(例如,精度差、误差平方和等),然后可以将其与阈值进行比较。在其他实施例中,相似度得分280可以是多值的。例如,如果生成许多代理模型,则相似度得分可以包括代理模型相对于实际模型的精度的平均值以及宽度,假设精度属于类似正态分布。在相似度得分280确实包括多个值的实施例中,可以将相似度得分
280内的值与相似度标准(即,多个标准)进行比较。参考图4进一步讨论用于测量相似度得分280的技术。
[0081] 如果相似度得分280满足相似度标准,则表明所述训练后的代理模型270与训练后的实际模型240足够相似,然后建模引擎226就可以发送与从该工作获得的知识有关的信息。更具体地,例如,一旦满足了相似度标准,建模引擎226就可以(例如根据模型指令230)将代理数据260、代理模型参数275、相似度得分280或其他信息中的一个或多个发送到位于网络215上的非私人计算设备。如前所述,这种方法允许研究人员获得关于私人数据222的知识而不损害其隐私或安全性。
[0082] 然后,接收所述知识的非私人计算设备可以将所述知识与从其他私人数据服务器224获得的知识进行聚合。应该理解,所述非私人计算设备(参见图1,非私人计算设备130)也可以是生态系统中的不同私人数据服务器、集中式机器学习中枢或服务、全局建模引擎、基于云的服务或适当配置为接收所述数据的其他类型的计算设备。从作为非私人计算设备操作的中央建模服务的角度来看,所述中央建模服务可以将所有代理数据集聚合为新的聚合训练数据集以创建训练后的全局聚合模型。然后,所述聚合模型可以被传送回感兴趣的利益相关者,例如,私人数据服务器224,用作患者治疗和结果的分类器或预测器。另外,所述聚合模型可以用作训练后的实际模型240的新版本的基线或基础。从不同的角度来看,建模指令230可以包括全局训练的模型,然后所述全局训练模型可以进一步在私人数据222上训练以生成训练后的实际模型240。所述全局训练模型也可以是训练后的代理模型270的基础。
[0083] 图3呈现了关于私人数据分发的性质和代理数据的创建的附加细节。私人数据322表示用于创建训练后的实际模型的训练数据集,并且在任何可选或所需的预处理(例如,校正私人数据322中的实际错误)完成之后被认为是输入数据集。私人数据322可以包括许多维度或属性,其中根据所述数据的属性空间,私人数据322中的每个样本可以包括许多值。关于卫生保健,私人数据322可包括以下类型的数据中的一种或多种,包括但不限于:基因组数据、全基因组序列数据、整个外泌体序列数据、蛋白质组数据、新表位数据(neoepitope data)、RNA数据、过敏信息、遭遇数据、治疗数据、成果数据、预约数据、订单数据、账单代码数据、诊断代码数据、结果数据、人口统计数据、药物治疗数据、生命体征数据、付款人数据、药物研究数据、药物反应数据、纵向研究数据、生物特征数据、财务数据、专有数据、电子病历数据、研究数据、人力资本数据、工作特性数据、分析结果数据、事件数据或其他类型的数据。因此,私人数据322内的单个样本可以表示单个患者以及患者的特定属性或信息集(公共或私人)。
[0084] 总的来说,私人数据322中的所有样本根据训练数据集中的每个相关维度形成一个或多个私人数据分布350。例如,私人数据分布350可以包括年龄分布、体重分布、肿瘤序列中的突变类型分布、肿瘤与相匹配的正常基因组差异分布或其他信息的分布。尽管所述术语“分布”是相对于私人数据分布350来使用,但是应当理解,可以存在许多不同类型的分布。例如,性别的分布可能是两个数字:私人数据322中的女性的数量和男性的数量。然而,私人数据分布350还可以包括明确定义的数学分布或统计分布类型,其可能包括高斯分布、泊松分布、伯努利分布、Rademacher分布、离散分布、二项分布、ζ分布、伽马分布、β分布、直方图分布或其他类型的分布。在其他实施例中,私人数据分布350还可以包括相关维度之间的一个或多个协变矩阵。
[0085] 在其他实施例中,可以手动构建数据分布(例如,直方图、概率密度函数等)。在一些其他实施例中,数据分布可以基于变化率和/或更高阶导数(例如,矩)。
[0086] 为了清楚和讨论起见,私人数据分布350在图3中以图形表示为具有两个维度:A和B。该图示出了两个维度之间存在弱相关性。呈现该指示是为了说明私人数据分布350可以包括私人数据322中的各种属性或维度之间的一个或多个相关性,这些相关性优选地在创建代理数据360时被保留。这种相关性可以通过各种技术来发现,包括回归、主成分分析、Pearson相关性、k均值聚类,或其他可用于识别训练数据中维度之间关系的技术。
[0087] 还应当理解,私人数据分布350可以包括私人数据分布元数据350A所示的附加信息。元数据350A是关于所发现的私人数据分布350的性质的信息,并且可以被封装和传输到其他计算设备。示例性的元数据包括分布的名称或类型、定义分布的参数(例如,平均值、模2
式、中值、宽度、轮廓系数、χ拟合、Pearson系数、矩等)、分布中的样本数量、相关性(例如,主成分等),或可用于定义私人数据分布350的其他信息。
[0088] 私人数据分布350可以被认为是一种可以用于生成代理数据360的概率分布。对于可以拟合私人数据322的连续分布,所述建模引擎可以使用所述连续分布的元数据350A(例如,平均值、宽度、矩等),来为由代理数据360内的连续分布所建模的维度的新样本随机地生成值。对于非连续分布(例如,直方图)可被视为离散的概率密度函数来生成相关维度的值。例如,关于邮政编码。患者数据322可以包括跨越这些多个邮政编码的多个患者样本点。可以为相关的邮政编码生成直方图,并且可以对直方图进行归一化以形成邮政编码概率分布。作为更具体的示例,鉴于多个邮政编码,其中邮政编码的子集与具有特定类型的癌症相关联,则直方图可以由与癌症相关的邮政编码构成。可以构建反映邮政编码概率分布的合成患者数据。所述建模引擎使用归一化的邮政编码分布来生成代理数据360的邮政编码值。
[0089] 如果没有发现相关性或没有明显的相关性,则可以利用主成分分析(PCA)来减少私人数据322的维度。一旦降低了维度,就可以生成新的训练后的实际模型并可以将其与原始训练后的实际模型进行比较,以确保在降低维度后没有知识丢失并确保保持模型的准确性。降低数据的维度通过减少计算时间和减少传输时间进一步改善了所述计算系统的性能。可以使用图4中讨论的相似度得分技术来进行比较。所述建模引擎可以将PCA应用于所述数据以减小维度,并且所述建模引擎还可以导出私人数据322的一个或多个特征向量或特征值。所述“特征向量”可用于表示训练数据集。因此,代理数据360可被视为包括从私人数据322、私人数据分布350、实际模型参数或与私人数据322有关的其他信息推导出的特征向量的组合。例如,代理数据内的单个样本可以包括线性的(可能是加权的)特征向量的组合。根据私人数据322内的数据的性质,这样的组合可以认为包括特征患者、特征图谱、特征健康记录、特征基因组、特征蛋白质组、特征RNA图谱、特征路径或其他类型的向量。
[0090] 在一些实施例中,每个特征向量具有对应的特征值,使得所述特征值/特征向量成对出现。所述特征值是数据集中方差的度量,并且所述特征向量指示了n维空间中的数据的方向。对于给定的数据集,特征值/特征向量对的数量等于数据集的维度。可以根据本文公开的技术使用任何和所有这样的信息。
[0091] 存在与代理数据360相关联的多个有趣的地方。代理数据360不一定需要具有与私人数据322中相同数量的样本。相反,代理数据360仅需要具有足够数量的样本以便代理数据360可以充分地再现与训练后的实际模型类似的模型。如图3所示,另一个有趣的地方是代理数据360可以具有不同的代理数据分布362,这些分布至少在可接受的或限定的范围内。由于新生成的样本相对于私人数据分布350的随机性(样本是根据私人数据分布350创建的),分布的差异可能略有不同。代理数据分布362和私人数据分布350之间可接受的差异可以被认为是超参数,所述超参数可以被调整以确保代理数据360能够生成所需的类似模型。仍然,只要代理数据360生成与训练后的实际模型足够相似的训练后的代理模型,则分布之间的差异就可以允许忽略不计。另一个有趣的地方是代理数据360可以以迭代的方式生成,直到它具有所需的特征:可接受的代理数据分布362特征、可接受的类似模型或其他因素。例如,所述建模引擎可以使用遗传算法来改变代理数据360的值,直到使用相似度得分作为拟合函数或者使用实际数据的协方差矩阵与代理数据360的协方差矩阵之间的差异,出现了合适的类似训练后的代理模型,以确保代理数据360保持与所述实际数据相同或相似的形状。还可以对代理数据分布362进行调整或“变异”,以实现训练后的代理模型与训练后的实际模型更好的匹配。
[0092] 如本文所述,代理数据是基于私人数据分布的,并且重要的是确保代理数据映射了私人数据分布。例如,对于5个维度(其中每个维度可以表示不同类型的数据分布),所述代理数据可以表示为为5元组。合成的所述代理数据可以被映射到具有虚假记录的“假”患者,其具有与真实患者类似的特征,并且所述代理数据可以与患者数据进行比较以确保它是患者数据的合适表示。
[0093] 图4示出了用于计算两个训练后的模型(该示例中的训练后的实际模型440和训练后的代理模型470)之间的相似度得分490的可能技术。如前所述,训练后的实际模型440已经在真实世界的实际私人数据422上进行了训练。如图3所讨论的,训练后的代理模型470已经在合成代理数据460上进行了训练,所述合成代理数据460是根据私人数据422的数据分布构造的。
[0094] 每个训练后的模型被认为包括相应的模型参数,所述模型参数定义了创建或重新实例化所述训练后的模型的必要特征(例如,参数值、参数数量、层数、节点数等)。所述模型参数取决于相应机器学习算法的基本实现的性质。例如,当训练后的实际模型440包括二维的SVM时,实际模型参数可能包括软边缘参数C、卷积算子选择及其值、阈值c、截距、权重或其他SVM参数的值。在神经网络的情况下,实际模型参数可以包括层的数量、卷积算子值、每层中的神经元/节点的数量、学习速率、动量、周期、输入的权重,或允许重新实例化所述神经网络的其他值。
[0095] 还可以包括防止过度拟合的模型参数。例如,所述系统可以提供自动反馈来作为定义的建模指令的一部分,以防止过度训练或过度拟合的局部模型。随着计算技术的进步,例如,包括大量神经元和多层的神经网络,机器学习系统可以生成不提供最佳拟合的复杂模型。例如,可以由不对私人数据进行最佳分类或表征的机器学习系统生成更高阶拟合(例如,12次多项式),而不是线性或低阶拟合。为了防止过度拟合,用于生成所述机器学习模型的模型指令可以约束节点的数量、层的数量、算法的类型等。过度拟合的其他原因包括构建模型的数据量不足。因此,模型参数可以包括少量的参数值(例如,10个或更小),或者可以包括非常大量的参数值(例如,超过一百万)。这里,可以理解,在100万个参数的情况下,这仍然比发送用于导出100万个参数的数据集小得多。应当理解,考虑到训练后的实际模型和训练后的代理模型470是建立在相同的机器学习算法的相同底层实现上,代理模型参数475应该包括与实际模型参数445完全相同数量的参数。但是,如两个定性图所示,各种参数的值可以是不同。考虑到实际模型参数445和代理模型参数475具有完全相同数量的参数,它们可以一对一的相互比较。在所示的示例中,比较由差异参数480表示,其中所述差异参数480呈现了参数方面的差异。如果训练后的代理模型470与训练后的实际模型440完全相同,则差异参数480都将为零。然而,考虑到训练后的代理模型470是建立在代理数据460上,非零差异是预期的。因此,至少在所示的示例中,通过根据实际模型参数(Pa)445和代理模型参数(Pp)475的值计算相似度得分490,可以比较两个训练后的模型,其中在相似度得分490中,N对应于参数的数量,且i对应于第i个参数。
[0096] 通过各种技术并根据相应模型指令中所述的研究人员的目标,可以计算相似度得分490。在一些实施例中,可以基于模型参数之间的差异(例如,参数差异480)来计算相似度得分490。例如,相似度得分490可以包括差异的总和或差异的平方和、参数之间的度量距离、协方差的差异、协方差矩阵中元素的差异等。在某些情况下,平方和被认为更优选的大于所述差异的总和。在参数可以具有广泛不同的定义的情况下,可以对值进行归一化或加权,使得每个差异均等地或根据其重要性作出贡献。除了参数差异480之外,相似度得分490还可以是基于训练后的模型的其他方面。其他非差异值可以包括模型精度的比较,所述模型精度的比较是基于一个或多个验证集、模型准确度增益、数据分布或其他标准的。
[0097] 尽管相似度得分490被示为单个值,但应当理解,相似度得分490也可以是多个值的,所述多个值包括两个及以上的任何上述的差异值或非差异值。例如,所述评分可以包括差异的总和以及所述参数之间的平均值(可能是归一化的)。
[0098] 可以通过创建代理数据460和训练代理模型470的多次迭代来跟踪相似度得分490,以确保相似度得分490朝着期望的方向收敛。在这个意义上,相似度得分490可以表示在生成所述代理数据时的拟合值。当相似度得分490满足相似度传输要求时,所述建模引擎可以将代理数据460以及其他辅助信息(例如,代理模型参数475、实际模型参数445、参数差异480、相似度得分490等)发送到远程非私人计算设备。在一些实施例中,所述非私人计算设备运行作为全局建模引擎,所述全局建模引擎可配置为将来自许多分布式对等的代理数据460聚合到全局模型中。通过所公开的方法,从每组私人数据422获得的知识被保留了,同时还确保了所述私人数据422仍然是安全的。
[0099] 用于建立相似度得分490的另一技术可包括使用各种相关的数据集在训练后的代理模型470上执行交叉验证。在一些实施例中,可以使用私人数据422的不同部分来执行所述交叉验证,其中所述私人数据422用作训练后的实际模型440的训练集。当两个训练后的模型足够相似时,所述训练后的代理模型470将使用所述实际数据生成可接受的预测结果。在其他实施例中,代理数据422可以被划分为训练数据集和验证数据集,然后可以将其用于交叉折叠验证。这里,所述训练数据422将会用于生成所述训练后的实际模型440,并且所述私人数据分布将会用于生成代理数据460。所述训练代理数据将会用于生成训练后的代理模型470,然后所述验证代理数据将会被提供给所述训练后的代理模型以进行验证。更进一步地,训练后的代理模型470(可能与代理模型参数475一起)可以被发送到生态系统中的其他建模引擎(例如,在图1中的其他建模引擎126、非私人计算设备130、全局模型引擎136等等)。然后,这些计算设备可以尝试在其各自的(可能是私人的)类似的训练数据集上验证训练后的代理模型470。一旦每个验证设备完成了其验证工作,就将结果馈送到所述原始建模引擎以评估和推导模型相似度得分490。图5呈现了分布式的在线机器学习的计算机实现的方法500。方法500涉及从许多私人数据集构建聚合的训练后的全局模型。然后可以将所述训练后的全局模型发送回每个实体以用于预测工作。
[0100] 步骤510首先配置作为建模引擎运行的私人数据服务器接收模型指令(例如,来自私人数据服务器124或来自中央/全局服务器130),以根据至少一种机器学习算法的实现从至少一些当地私人数据中创建训练后的实际模型240。所述模型指令可以通过网络(例如,无线网络、分组交换网络、因特网、内联网、虚拟私人网络、蜂窝网络、自组网(ad hoc network)、对等网络等)通过一个或多个协议被接收到。在一些实施例中,所述模型指令表示完整的独立程序包。例如,所述模型指令可以包括目标机器学习算法的编译实现以及所需的私人数据特征的定义,其中所述私人数据特征的定义可用作查询来生成训练数据集。在接收到所述程序包时,所述建模引擎可以(如果配置成这么做)在安全容器中执行训练。
在其他实施例中,所述模型指令提供指向机器学习算法的当地存储实现的指针。此外,所述模型指令可以包括允许所述建模引擎完成其当地训练任务的附加信息,包括相似度标准、相似度得分定义、用于从当地数据库中选择私人数据的查询转换指令、作为基线的预训练模型或其他信息。例如,如果研究人员对确定具有特定肿瘤突变(例如单核苷酸多态性(SNP,single nucleotide polymorphism))的患者是否对特定药物有反应感兴趣,则所述研究人员可以根据所述突变和药物构建查询标准并将所述查询标准封装在所述模型指令中。
[0101] 步骤520包括:所述建模引擎通过用当地私人数据训练所述机器学习算法的实现,根据所述模型指令并根据所述至少一些当地私人数据创建训练后的实际模型。所述建模引擎能够基于所述模型指令内提供的私人数据选择标准来构建训练数据样本。如果需要的话,所述建模引擎在适当格式化之后将所述数据选择标准提交给当地私人数据库,以匹配所述当地数据库的索引/检索系统。所述结果集成为目标机器学习算法的训练集。在训练集上训练所述目标机器学习算法的实现可以包括调整算法的权重、调整算法输入的权重、优化拟合标准、执行交叉折叠验证、更新预训练的模型、约束所述系统防止过度拟合或其他操作。所得到的训练后的实际模型包括实际模型参数,所述实际模型参数可用于重新实例化所述训练后的实际模型。
[0102] 步骤530包括从当地私人数据训练集中生成一个或多个私人数据分布,其中所述私人数据分布表示用于创建所述训练后的实际模型的聚合训练集。根据数据的性质(例如,连续的、离散的等),所述私人数据分布的形式或性质会有所不同。在一些情况下,所述数据分布表示一个维度,其可能表示为直方图、频率曲线图、随时间变化的值或其他的一维表示。在其他情况下,所述数据分布表示一个以上的相关维度(例如,2D、3D等)。更具体地,更高阶维度的数据分布可以包括聚类、相关性、轮廓、密度图、散点图或其他类型的更高阶分布。可以通过以下技术生成各种数据分布,包括:通过适当的分块创建值的直方图、创建数据图、将曲线拟合到数据、创建散点图、计算主成分、计算回归或其他操作。应当理解,生成所述分布可以被认为是形成概率密度函数或形成表示所述训练数据集的概率质量函数。
[0103] 步骤540包括根据一个或多个所述私人数据分布生成代理数据集。所述建模引擎利用所述私人数据分布作为概率分布,从中可以生成所述代理数据。所述建模引擎通过根据所述概率分布随机地生成新数据可以生成新的代理数据样本。所述建模引擎可以将每个样本与该样本落在每个相关概率分布中的位置进行比较,以确保所述样本符合实际数据的性质。步骤540可以进行多次或迭代,以确保代理数据总体上在相同的分布空间中生成适当的形状。所述代理数据可以包括与所提供的数据训练集相同数量的样本;然而,所述代理数据也可能具有更多或更少数量的样本。可以将所述代理数据的每个样本与来自训练数据的样本进行比较,以确定代理样本是否与原始的实际样本太过相似。如果代理样本与实际样本类似或相同,则可以丢弃代理样本以确保保持隐私。可以使用Monte Carlo模拟来完成所述代理数据集的生成,所述Monte Carlo模拟是基于所述实际数据的分布来运行的,其中种子可用于以确定性的方式生成代理数据。
[0104] 步骤550继续使所述建模引擎通过用所述代理数据训练相同类型的机器学习算法或机器学习算法的实现,来从代理数据中创建训练后的代理模型。具体地说,优选地,所述训练后的代理模型是从与用于创建训练后的实际模型的机器学习算法的相同实现中创建的,以确保所述两个模型可以被精确地比较。所述建模引擎确保了所述训练后的代理模型是根据所述模型指令以与训练后的实际模型足够类似的方式来训练的。所述训练后的代理模型一旦完成,就具有表示训练后的代理模型和代理数据的代理模型参数。即使所述训练后的代理模型和训练后的实际模型通常是基于完全相同的机器学习算法的实现,但是它们的结果参数值(例如,权重、卷积算子等)可能是不同的。
[0105] 在步骤560处,所述建模引擎根据所述代理模型参数和实际模型参数计算模型相似度得分。如上所述,考虑到每个模型是从相同的机器学习算法的实现中构建的,并且考虑到所述代理数据具有与私人数据类似的特征,所述参数可以被成对地比较。除了使用代理模型参数和实际模型参数之外,所述建模引擎还可以使用其它可用于计算相似度得分的因素。示例性的附加因素可以包括模型的精确度、交叉折叠验证、精确度增益、灵敏度、特异性、成对比较的分布(例如,平均值、零值分布等)。在一些实施例中,所述实际私人数据训练集可用于交叉验证所述代理模型。如果所述训练后的代理模型对所述实际私人数据训练集的预测准确性足够高(例如,在10%、5%、1%内或更接近),则所述训练后的代理模型可被认为与训练后的实际模型相似。此外,如果相似度得分不满足相似度标准(例如,低于阈值等),则所述建模引擎可以重复步骤540至560。
[0106] 在相似度得分满足相似度标准的条件下,所述建模引擎可以进行步骤570。步骤570包括通过网络将所述代理数据集(可能与其他信息一起)发送到至少一个非私人计算设备。所述非私人计算设备可以是集中式中枢,其聚合来自私人服务器或对等中枢或其两者的组合的代理数据。所述代理数据可以作为文件(例如,HDF5)在网络上传输,以标记语言(例如,XML、YAML、JSON等)、zip档案文件或其他格式被序列化。所述代理数据之外的附加信息也可以被发送到远程计算设备(例如全局建模引擎或对等机器),所述附加信息包括实际模型参数、代理模型参数、数据分布、相似度得分或其他信息。假设所述模型参数使所述远程计算设备能够重新实例化训练后的模型,并能够对由私人数据服务器的建模引擎所执行的工作进行当地化验证。应该注意的是,鉴于隐私,实际的私人数据并不会被传输。
[0107] 步骤580由全局建模引擎或对等私人数据机执行,其包括聚合来自不同私人数据服务器的两个或以上的代理数据集。所述聚合的代理数据集(全局代理集)是基于给定的机器学习任务进行组合,并是根据最初请求的模型指令生成。尽管每组代理数据可能将可能从不同的私人数据分布生成,但是应当理解,相应的私人数据训练集是根据相同的选择标准构建的。例如,研究人员可能希望建立一个关于吸烟者对癌治疗的反应程度的预测模型。该研究将要求在许多私立医院建立模型,其中每家医院都有其自己的私人数据。每家医院都收到相同的数据选择标准:是吸烟者的患者、接受治疗的患者及其相关的已知结果。每个医院的当地私人数据服务器通过其建模引擎,使用训练实际数据作为基础并基于相同的数据选择标准来构建他们自己的代理数据。然后,所述全局建模引擎将各个代理数据集聚合在一起以创建全局训练数据集。步骤590包括:所述全局建模引擎用聚合的代理数据集训练全局模型。所述全局模型集成了从每个实体的私人数据中获得的知识。在一些实施例中,所述全局建模引擎可以通过累积实际模型参数集并将它们组合成单个训练后的模型来创建训练后的全局模型。例如,这种方法被认为对于简单的线性算法、线性SVM是可行的。然而,在更复杂的实施例中,例如神经网络,使用代理数据集被认为是更优越的,因为其保留了代理数据集中的潜在知识,而这些潜在知识可能经过数学组合各个参数集(例如,添加,平均等)而丢失。
[0108] 在其他实施例中,所述全局建模引擎还将训练后的全局模型发送回一个或多个私人数据服务器。然后,所述私人数据服务器可以利用所述全球训练模型进行当地预测研究,以支持当地临床决策制定工作流程。此外,所述私人数据服务器还可以使用全局模型作为继续在线学习的基础。因此,当新的私人数据变得可用时,所述全局模型成为继续机器学习的基础。当新的私人数据变得可用时,可以重复方法500以改进全局建模引擎。
[0109] 机器学习系统可以接收多个输入(例如,私人数据),并且通过机器学习过程可以识别最重要的输入子集。因此,给定医院预计可能不会收集与其他医院完全相同类型的私人数据。因此,对于不同的医院或站点,所述模型指令可以是不同的。然而,通过使用如本文所述的机器学习系统识别哪些参数最具预测性,可以组合共同具有这些关键预测参数的数据集。在其他实施例中,可以修改模型指令,例如,模型指令可以限于包括关键的预测特征,并且可以用于重新生成代理数据、代理数据分布和其他类型的学习信息。然后,可以将此重新生成的信息发送到所述全局模型服务器,并在其中进行聚合。
[0110] 在其他实施例中,第一医院可以以与第二医院不同的方式收集或过滤数据。因此,在组合数据集之前可能存在不同的数据归一化。
[0111] 在其他实施例中,研究人员可能想要对特定的私人数据集执行不同的分析。例如,第一组模型指令可以指示将使用高斯分布来构建模型。第二组模型指令可以指示将使用泊松分布来构建模型。可以比较结果,并选择最具预测性的模型。还可以比较结果以评估给定机器学习模型的再现性。
[0112] 在其他实施例中,第一组模型指令可用于研究特定类型的癌症,例如,创建乳腺癌分类器。然后,可以修改所述模型指令(例如,添加额外的指令、去除专门针对乳腺癌的指令,以及添加专门针对前列腺癌的指令),然后所述模型指令可以用于不同的癌症群组,例如前列腺癌群组。因此,特别考虑的是,用于第一类癌症的第一组模型指令可以通过一些修改被外推至另一种类型的癌症。因此,可以基于本文公开的技术检测不同类型的癌症之间的新关系及其治疗。例如,第一类癌症和第二类癌症之间可能存在相关性,使得治疗第一类癌症对第二类癌症的成功治疗是可预测的。
[0113] 图6呈现了计算机实现的方法600,其表示相对于方法500的可选的分布式在线机器学习方法。由私人数据服务器中的建模引擎采用的步骤610、620和630与由建模引擎采用的步骤510、520和530相同。方法600在步骤640处与方法500有很大不同,然而方法600最初仍然集中于在实体的私人数据服务器内展开的建模引擎的活动。方法600寻求允许远程非私人计算设备从数据分布中创建全局模型,其中所述数据分布表示来自私人实体的当地私人数据。
[0114] 步骤640包括建模引擎从当地私人数据分布中识别一个或多个显著的私人数据特征。所述显著的私人数据特征可以被认为是对建模数据分布或实例化非私人计算设备的存储器中的分布所必需的数据。根据分布的性质,所述显著的私人数据特征可以包括以下中的一个或多个:样本数量、主成分、平均值、模式、中值、分布类型(例如,高斯、泊松、衰变等)、分布类型参数、直方图分块、矩、相关性或其他特征。此外,所述显著的私人数据特征可以包括,并且优选地包括在实际私人数据上训练的训练后的实际模型的参数。所述实际模型参数用于以下步骤。根据标记语言(例如,XML、YAML、JSON等)或任何其他合适的格式,可以打包所述显著的私人数据特征以进行传输。
[0115] 步骤650集中于建模引擎通过网络将所述显著的私人数据特征发送到远程计算设备。在典型的实施例中,所述显著的私人数据特征被发送到全局建模引擎,所述全局建模引擎聚合来自许多私人实体的这些显著特征。特征的传输可以基于一个或多个网络协议,包括HTTP、HTTPS、UDP、TCP、FTP、web服务(例如,REST、WSDL、SOAP等)或其他协议。
[0116] 步骤660将重点从实体的私人数据服务器中的建模引擎转移到非私人计算设备的全局建模引擎(参见图1,全局建模引擎136)。所述全局建模引擎接收所述显著的私人数据特征,并在当地重新实例化内存中的私人数据分布。如先前步骤540所讨论的,所述全局建模引擎从所述显著的私人数据特征生成代理数据,例如,通过使用重新实例化的私人数据分布作为概率分布来生成新的合成样本数据。所生成的代理数据不需要具有与原始实际数据相同数量的样本。相反,所述代理数据仅需要足够数量的足够质量的样本,来创建与从实际私人数据中创建的训练后的模型相类似的训练后的模型。
[0117] 在一些实施例中,所述显著的私人数据特征可以包括代理数据,可以从代理数据中重新导出数据分布。然而,在方法600的示例中,认为有利的是,每个私人数据服务器生成其自己的显著特征。这种方法的一个原因是因为每个私人数据服务器的建模引擎可以并行地运行,以及以分布式的方式运行,而不是要求全局建模引擎以集中的、串行的方式对代理数据集执行所有工作。因此,整个系统具有提高的吞吐量。尽管如此,在代理数据稀疏的一些情况中,全局建模引擎接收代理数据是合理的,因为稀疏的代理数据比打包的显著私人数据特征发送起来可以更紧凑。确定是否发送代理数据的条件或要求可以被打包在原始模型指令中。
[0118] 在步骤670中,其类似于图5的步骤550,所述全局建模引擎通过训练与用于创建训练后的实际模型相同的机器学习算法的相同类型或实现,从所述代理数据集中创建训练后代理模型。在这种情况下,所述代理数据变成了训练数据集。一旦所述训练后的代理模型完成了训练,它就有定义所述训练后的模型的代理模型参数集。如前所述,所述代理模型参数可用于在目标计算设备(例如,私人数据服务器)的存储器中重新实例化所述训练后的代理模型。
[0119] 步骤680,其类似于图6的步骤560,包括全局建模引擎根据代理模型参数和实际代理模型参数计算所述训练后的代理模型相对于训练后的实际模型的模型相似度得分。所述实际代理模型参数可以如步骤640所讨论的与显著私人数据特征一起获得,或者可以在向代理数据的建模引擎发送请求时获得。如果所述模型相似度得分未能满足相似性要求,则所述全局建模引擎可以重复步骤660至680,直到生成令人满意的类似的训练后的代理模型。
[0120] 步骤690包括一旦确定训练后的代理模型满足相似性要求,则所述全局建模引擎将代理数据聚合到聚合的全局模型中。所述代理数据与来自其他私人数据服务器的其他代理数据聚合以创建聚合模型。应当理解,该方法可以以在线学习方式执行,其中随着时间的推移,所述聚合的全局模型利用新的代理数据不断地更新。
[0121] 在更有趣的实施例中,可以将所生成的全局模型发送到私人数据服务器内的建模引擎以用于预测目的。此外,所述全局模型可以作为基础被利用,所述私人数据服务器从此基础构建训练后的实际模型。这种方法被认为是有利的,因为缺乏足够数量的数据样本的私人数据服务器将能够仍然增加它们对知识发现的贡献。
[0122] 所公开的分布式在线机器学习方法可以利用许多技术来验证训练后的模型。一种方法包括第一私人数据服务器将其训练后的实际模型发送到其他私人数据服务器。然后,所述其他私人数据服务器可以在其自己的当地数据上验证所述训练后的实际模型,并将结果发送回第一私人数据服务器。另外,全局建模引擎还可以使用聚合的代理数据的全局集合在所述训练后的实际模型上执行一个或多个交叉折叠验证步骤。反之亦然。所述全局建模引擎可以将全局模式发送到一个或多个私人数据服务器,以在每个私人数据服务器的当地数据上验证全局模型。应该理解的是,在根据相同数据选择要求选择的数据集上执行各种模型的验证,来确保适当的分析。
[0123] 所公开的发明主题的又一个有趣方面是,随着数据的累积,可以随时间管理各种训练后的模型。每个模型都可以被视为具有特定数据要求的总体分布式研究任务的成员。因此,每个模型可以与任务标识符(例如,名称、目标、GUID,UUID等)绑定,所述任务标识符允许各种建模引擎基于任务管理其模型。除了创建新模型之外,所述建模引擎还可以随时间保留每个训练后的模型或代理数据。当新数据对私人数据服务器可见时,所述建模引擎可以检测数据(可能通过特定于任务的监听器),然后将相关的新数据集成到实际训练的数据中。此外,可以相应地更新相关数据分布。在某些情况下,生成全新的代理数据集,而在仅生成新样本的这种情况下,所述新样本可以被添加至先前生成的代理数据。因此,本发明的主题被认为包括建立随时间变化的管理规则,所述建模引擎通过该规则管理与研究任务相关联的模型。示例性规则包括报告更新、随时监控模型参数变化、清点现有的模型或研究任务、模型或数据改变时生成警报、从全局模型服务器(例如,全局建模中枢、全局建模引擎等)中恢复丢失的模型、记录建模或研究任务、保护模型或其他管理功能。
[0124] 所公开的生态系统/系统提供跨许多计算设备的分布式在线学习,其中每个计算设备(例如,全局建模引擎、私人数据服务器等)具有一个或多个建模引擎。所述建模引擎可配置为管理许多建模任务。因此,活动模型的数量可以达到数百、数千甚至超过一百万个模型。因此,本发明的主题还被认为包括分布式系统中的大量模型对象的管理装置或方法。例如,可以为每个建模任务分配一个或多个标识符或其他元数据,以供系统管理。更具体地,标识符可以包括唯一模型标识符、属于相同任务的模型之间共享的任务标识符、模型所有者标识符、时间标记、版本号、实体或私人数据服务器标识符、地理标记或其他类型的ID。此外,所述全局建模引擎可以被配置为向研究人员呈现控制面板,所述研究人员编辑并呈现每个项目的状态。所述控制面板可以被配置为向下钻取特定模型及其当前状态(例如,不存在、已实例化、训练中,训练后,已更新,已删除等)。
[0125] 所公开的技术有许多可能的用途。尽管本公开的主题主要集中在关于具有突变的患者的治疗和结果的训练模型,但是还存在其他可能的用途。一个主要用途是由此产生的当地训练后的实际模型或全局模型可以作为临床试验推荐系统的基础。考虑一种情况,其中有许多训练后的模型、实际当地模型或全局模型,这些模型已经在各种患者和药物(包括临床试验中的药物)的治疗和结果数据上进行了训练。当新患者被诊断患有各种疾病(例如,癌症等)时,位于患者护理机构的所述建模引擎可以将患者的数据(例如,WGS、WES、基因组差异对象、症状、人口统计资料等)提交给可用的相关训练后的实际模型、培训后的代理模型或训练后的全局模型。所述训练后的模型将产生预测,即患者是否会对模型最初训练的特定治疗有反应。如果所述模型预测患者会对目前试验下的治疗有反应,那么系统可以呈现出患者可以参与的可能临床试验的排序列表,例如,根据预测置信度排序。当检测到可能的患者-试验匹配时,所述建模引擎可以生成警报或其他通知,其中所述警报或其他通知被路由到一个或多个患者护理利益相关者。此外,当患者经历治疗时,他们的数据可以反馈到训练后的实际模型、代理模型和全局模型中,以确保通过额外的训练来更新训练后的模型。
[0126] 本发明主题的又一个有趣方面包括创建发现异常事件的机会。重新考虑新患者数据进入系统并且系统中的建模引擎对患者可能的治疗结果进行预测的情况。进一步,假设患者被预测为对特定治疗的没有反应(可能基于特定基因组变体)。然而,患者后来被发现是有反应的。当一个或多个建模引擎检测到预测和实际结果之间的显著差异时,所述建模引擎可以为拥有或管理训练模型的研究人员生成通知。检测这种异常值提供了一些见解。例如,所述异常值可能表示一个或多个训练后的模型存在缺陷。另外,所述异常值可能是真正的异常值,应该进一步研究以确定是所述异常值相对于训练数据集的什么差异(例如,其他基因组差异等)导致了数据是异常值。自动异常值检测或发现提供了进一步研究的可能途径。
[0127] 除了医疗保健之外,所公开的技术还可以用于AI研究,可能涉及计算机游戏开发。在这种情况下,计算机游戏控制台(例如,PS4、X-Box、PC等)可以配置有如上所述的游戏私人建模引擎。当各个玩家玩游戏时,所述建模引擎观察玩家与给定场景的交互(即,收集输入)并检测玩家的成功性(即结果)以生成用于当地训练后的实际模型的训练数据。使用上述技术,可以从许多玩家处生成代理数据以创建全局训练后的模型。然后,所述全局训练后的模型可以成为游戏的AI的基础。所述游戏的AI可以使用全局训练后的模型来预测新玩家可能的下一步行动,以预测接下来会发生什么。然后游戏可以相应地改变战术或策略以创建更具挑战性的游戏。除了可以利用所公开技术的医疗保健和游戏之外,其他的市场包括保险政策分析、消费者交易分析、通勤者流量分析或具有需要保持安全的大量高质量训练数据的其他类型的分析。
[0128] 所公开的发明主题将是有用的又一可能领域,包括从私人图像集合中学习。考虑一个例子,其中有多个私人图像的分布式高速缓存,例如,在许多人的个人家用电脑上。所公开的技术将允许研究人员或数据分析人员研究私人图像集合内的信息,而无需访问特定图像。假设获得了所有者的许可,则这一壮举可以通过在每个人的计算机上安装建模引擎来实现。所述建模引擎可以接收原始图像形式的当地训练数据以及根据建模指令定义的其他训练信息(例如,注释、分类、场景描述、位置、时间、设置、相机朝向等)。然后,所述建模引擎可以从原始图像和训练信息中创建当地训练后的实际模型。可能基于训练后的实际模型的特征向量,可以通过构建类似图像来生成代理数据。
[0129] 例如,应当理解,所述私人图像集合可以寄存在计算机或数据存储设施上,所述计算机或数据存储设施与许多不同的医生办公室、医学成像设施或临床/病理学实验室相关联,这些通常在地理上的不同位置(例如,不同的社区、城市、邮政编码、州等)。在这种情况下,所述图像集合将包括与特定患者及其各自的诊断和治疗历史相关联的各种扫描(例如,PET、SPECT、CT、fMRI等)。或者图像可以包括组织切片(通常用染料、荧光团或其他光学可检测的实体染色)或与相关患者信息相关的免疫组织化学处理切片。进一步设想的图像将包括再次与相关的患者信息相关联的超声图像(例如,2D、3D、多普勒)或视频、或血管造影图像或视频。
[0130] 应该显而易见的是,如本文所讨论的预期的分布式学习系统将提供许多益处。例如,图案的大规模分析(例如,整个组织切片的图像采集而不是显微镜中单个视野的分析)可以采用分布式学习系统,从而允许以人类无法做到的方式来处理非常大的数据集。此外,由于大量相应的图像或视频可用于学习过程,因此分布式学习系统可以描述那些通常只有临床医生才能直观感知的参数。另外,应该注意,所学习的信息可以在与分布式学习系统信息耦合的大型订户网络上共享,而不会损害患者身份和状况。
[0131] 或者,不试图从人的角度生成类似的图像,所述建模引擎可以生成(可能使用遗传算法)具有计算机可理解的特征(例如,描述符、关键点等)的合成图像。描述符可以是单值或多值的,并且可以包括相似度得分(直方图描述符)。假设为了讨论的目的,所述建模引擎是基于SIFT描述符(即,参见Lowe的2000年3月6日提交的标题为“用于识别图像中的尺度不变特征的方法和装置,以及该方法和装置用于在图像中定位对象的方法”的第6,711,293号美国专利)和图像所有者提供的分类信息来被训练的。代理图像可以使用随机重叠的半透明多边形来生成。遗传算法可以改变多边形的参数,然后使用相对于原始图像的SIFT描述符的代理图像的SIFT描述符来作为拟合的度量。当代理图像的SIFT描述符足够相似(例如,类似的分布、类似的值、相似数量的描述符等)时,代理图像就完成了。应当注意,这种方法被认为是有利的,因为所得到的代理图像将是机器可理解的,但是不是人类可理解的,这允许远程非私人计算设备能够从代理图像中学习。在其他实施例中,可以将学习后的模型的参数提供给系统,并且系统可以生成相应的描述符。
[0132] 本文呈现的方法不限于所呈现的特定操作顺序。本领域技术人员将认识到许多这种的顺序和变化都是可能的。
[0133] 本文考虑了许多不同的实施例,包括整个系统100、私人数据服务器、对等数据服务器和全局建模引擎等。因此,在表1中呈现了包含至少一些前述实施例的权利要求,其包含:
[0134] 表1
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141]
[0142]
[0143] 对于本领域技术人员显而易见的是,在不脱离本文的发明构思的情况下,除了已经描述的那些之外,更多的修改是可能的。因此,除了所附权利要求的精神之外,本发明的主题不受限制。此外,在解释说明书和权利要求时,所有术语应以与上下文一致的尽可能广泛的方式解释。特别地,所述术语“包括”和“包含”应该被解释为以非排他的方式指代元件、组件或步骤,其表明了所引用的元件、组件或步骤可以存在、或者被利用或与未明确引用的其他元素、组件或步骤进行组合。当说明书或权利要求涉及选自包括A、B、C、……、N的组中的至少一种时,文本应解释为只需要该组中的一个元素,而不是A加N,或B加N等。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈