用于对概率分布进行建模的系统和方法

文档序号:1047885 发布日期:2020-10-09 浏览:2次 >En<

阅读说明:本技术 用于对概率分布进行建模的系统和方法 (System and method for modeling probability distributions ) 是由 C·K·费希尔 A·M·史密斯 J·R·沃尔什 于 2019-01-16 设计创作,主要内容包括:描述了用于对复杂概率分布进行建模的系统和方法。一个实施例包括一种用于训练受限波尔兹曼机器(RBM)的方法,其中所述方法包括从第一组可见值生成RBM的隐藏层中的一组隐藏值以及基于生成的所述一组隐藏值来生成所述RBM的可见层中的第二组可见值。所述方法包括基于所述第一组可见值和生成的所述一组可见值来计算一组似然梯度,基于所述一组隐藏值和所述一组可见值中的至少一个使用对抗模型来计算一组对抗梯度,基于所述一组似然梯度和所述一组对抗梯度来计算一组复合梯度,以及基于所述一组复合梯度来更新所述RBM。(Systems and methods for modeling complex probability distributions are described. One embodiment includes a method for training a Restricted Boltzmann Machine (RBM), wherein the method includes generating a set of hidden values in a hidden layer of the RBM from a first set of visible values and generating a second set of visible values in a visible layer of the RBM based on the generated set of hidden values. The method includes calculating a set of likelihood gradients based on the first set of visible values and the generated set of visible values, calculating a set of confrontation gradients using a confrontation model based on at least one of the set of hidden values and the set of visible values, calculating a set of composite gradients based on the set of likelihood gradients and the set of confrontation gradients, and updating the RBM based on the set of composite gradients.)

用于对概率分布进行建模的系统和方法

相关申请的交叉引用

本申请要求2018年1月17日提交的、标题为“Systems and Methods for ModelingProbability Distributions”的美国临时专利申请No.62/618,440和2019年1月15日提交的、标题为“Simulating Biological and Health Systems with Restricted BoltzmannMachines”的美国临时专利申请No.62/792,648的权益和优先权。美国临时专利申请序列No.62/618,440和No.62/792,648的公开内容通过引用整体并入本文。

技术领域

本发明总体上涉及对概率分布进行建模,并且更具体地涉及训练和实现波尔兹曼(Boltzmann)机器以对复杂概率分布准确地进行建模。

背景技术

在充满不确定性的世界中,难以基于多样化和异构的多组数据对跨多个维度的概率分布恰当地进行建模。例如,在健康行业中,个体健康结果永远是不确定的。一名具有疾病的患者的状况可能迅速恶化,而另一名患者很快康复。个体健康结果的内在随机性意味着健康信息学必须以预测健康风险而不是确定性的结果为目标。量化和预测健康风险的能力对依赖于群体的健康的商业模型具有重要含义。

发明内容

示出了根据本发明的实施例的用于对复杂概率分布进行建模的系统和方法。一个实施例包括一种用于训练受限波尔兹曼机器(RBM)的方法,其中所述方法包括从第一组可见值生成RBM的隐藏层中的一组隐藏值,以及基于生成的所述一组隐藏值来生成所述RBM的可见层中的第二组可见值。所述方法还包括基于所述第一组可见值和生成的所述一组可见值中的至少一个来计算一组似然梯度,基于所述一组隐藏值和所述一组可见值中的至少一个使用对抗模型来计算一组对抗梯度,以及基于所述一组似然梯度和所述一组对抗梯度来计算一组复合梯度。所述方法包括基于所述一组复合梯度来更新所述RBM。

在另一个实施例中,所述RBM的可见层包括由用于不同数据类型的多个子层组成的合成层。

在又一个实施例中,所述多个子层包括伯努利(Bernoulli)层、伊辛(Ising)层、独热(one-hot)层、冯·米塞斯-费舍尔(von Mises-Fisher)层、高斯层、ReLU层、修剪的ReLU层、学生-t层、序数层、指数层、以及合成层中的至少一个。

在又一个实施例中,所述RBM是深度波尔兹曼机器(DBM),其中所述隐藏层是多个隐藏层中的一个。

在又一个实施例中,所述RBM是第一RBM,并且所述隐藏层是多个隐藏层中的第一隐藏层。所述方法还包括对来自所述第一RBM的隐藏层进行采样,将来自所述第一RBM的可见层和隐藏层堆叠到向量中,训练第二RBM,以及通过将权重从所述第一RBM和第二RBM复制到DBM来生成所述DBM。所述向量是所述第二RBM的可见层。

在又一个实施例中,所述方法还包括以下步骤:接收对于患者的表型(phenotype)向量,使用所述RBM生成疾病的时间进展,以及基于生成的时间进展来治疗患者。

在另一个附加实施例中,所述可见层和隐藏层是针对第一时间实例的,其中所述隐藏层还连接到第二隐藏层,所述第二隐藏层并入了来自不同的第二时间实例的数据。

在另一个附加实施例中,所述可见层是包括多个不同的时间实例的数据的合成层。

再次在另一个实施例中,计算所述一组似然梯度包括执行吉布斯(Gibbs)采样。

再次在另一个实施例中,所述一组复合梯度是所述一组似然梯度和所述一组对抗梯度的加权平均。

在又一个实施例中,所述方法还包括通过以下步骤来训练所述对抗模型的步骤:基于真实数据来抽取数据样本,基于来自所述RBM来抽取幻想样本,以及基于所述对抗模型的区分所述数据样本和幻想样本的能力来训练所述对抗模型。

在又一个实施例中,训练所述对抗模型包括测量从真实数据或RBM抽取特定样本的概率。

在又一个附加实施例中,所述对抗模型是完全连接的分类器、逻辑回归模型、最近邻分类器、以及随机森林中的一个。

在又一个附加实施例中,所述方法还包括使用所述RBM生成目标群体的一组样本的步骤。

再次在另一个实施例中,计算一组似然梯度包括计算蒙特卡洛估计和平均场估计的凸组合。

再次在又一个实施例中,计算一组似然梯度包括初始化多个样本,以及对于所述多个样本中的每个样本初始化逆温度。对于所述多个样本中的每个样本,计算一组似然梯度还包括通过从自相关的伽马分布采样来更新所述逆温度,以及使用吉布斯采样来更新样本。

附加的实施例和特征部分地在下面的描述中阐述,并且部分地对于本领域技术人员在阅读本说明书时将变得清楚,或者可以通过实践本发明而获知。可以通过参考本说明书的其余部分和构成本公开的一部分的附图来实现对本发明的性质和优点的进一步理解。

附图说明

参考以下各图和数据图,将更全面地理解说明书和权利要求,这些图和数据图被呈现为本发明的示例性实施例,并且不应被解释为对本发明范围的完整阐述。

图1图示了根据本发明的一些实施例的提供用于对概率分布进行建模的数据的收集和分布的系统。

图2图示了用于训练和利用随机模型的数据处理元件。

图3图示了用于训练和利用随机模型的数据处理应用。

图4概念性地图示了用于准备数据以供分析的处理。

图5图示了根据本发明的某些实施例的用于实现一般化的波尔兹曼机器的数据结构。

图6图示了根据本发明的若干实施例的双峰分布和通过RBM分布学***滑的扩散分布。

图7图示了根据本发明的一些实施例的一般化的受限波尔兹曼机器的架构。

图8图示了根据本发明的某些实施例的用于实现一般化的波尔兹曼机器的模式。

图9图示了根据本发明的某些实施例的一般化的深度波尔兹曼机器的架构。

图10概念性地图示了根据本发明的实施例的用于反向逐层训练的处理。

图11图示了根据本发明的许多实施例的一般化的深度时间波尔兹曼机器的架构。

图12概念性地图示了根据本发明的一些实施例的用于训练波尔兹曼编码的对抗机器的处理。

图13图示了从经训练以最大化对数似然的RBM和训练为BEAM的RBM抽取的所得到的样本。

图14图示了根据本发明的多个实施例的在高斯的2D混合上训练BEAM的结果。

图15图示了根据本发明的多个实施例的用于实现波尔兹曼编码的对抗机器的架构。

图16图示了利用常规吉布斯采样从波尔兹曼机器抽取的样本与使用温度驱动采样抽取的样本之间的比较。

图17图示了使用常规吉布斯采样在MNIST数据集上训练的GRBM生成的幻想粒子与使用TDS的那些之间的比较。

具体实施方式

机器学习是对复杂概率分布进行建模的一种潜在方法。在以下描述中,参考医学应用描述许多示例,但是本领域技术人员将认识到,本文描述的技术可以容易地应用在包括(但不限于)健康信息学、图像/音频处理、市场营销、社会学和实验室研究的多种不同领域中。最紧迫的问题中的一个是,通常很少或根本没有直接针对关注的特定问题的标记数据。考虑预测患者在临床试验中对研究性治疗如何反应的任务。在监督学习环境中,将对许多患者给予治疗,并观察每个患者如何反应。然后,将使用这个数据来构建模型,该模型预测新患者对治疗将如何反应。例如,最近邻分类器将查看先前治疗的患者池以找到与新患者最类似的患者,然后它基于先前治疗的患者的反应来预测新患者的反应。然而,监督学习需要大量的标记数据,并且特别在样本大小很小或标记数据不容易获得的情况下,非监督学习对于成功应用机器学习至关重要。

许多机器学习应用,诸如计算机视觉,要求使用同构信息(例如,具有相同形状和分辨率的图像),该同构信息必须进行预处理或以其它方式进行操纵以对输入和训练数据进行规范化。然而,在许多应用中,期望组合来自许多源的各种类型的数据(例如,图像、数字、类别、范围、文本样本等)。例如,医学数据可以包括来自多种不同源的多种不同类型的信息,包括(但不限于)人口统计信息(例如,患者的年龄、种族等)、诊断(例如,描述患者是否具有特定疾病的二进制码)、实验室值(例如,来自实验室测试的结果,诸如血液测试)、医生的笔记(例如,由医师记下来或输入到医学记录系统中的手写笔记)、图像(例如,X-射线、CT扫描、MRI等)和组学数据(例如,来自DNA测序研究的数据,其描述了患者的遗传背景、他/她的基因的表达等)。这些数据中的一些是二进制的,一些是连续的,一些是分类的。整合所有这些不同类型和数据源是至关重要的,但是利用传统的机器学习方法处理多种数据类型非常具有挑战性。通常,必须对数据进行大量预处理,使得用于机器学习的所有特征具有相同的类型。数据预处理步骤在训练和实现机器学习模型时可能占用分析人员的大部分时间。

除了处理许多不同类型的数据之外,用于分析的数据通常是不完整或不规则的。在医学数据的示例中,医师通常不对每一个患者运行相同的一组测试(但是临床试验是一个重要的例外)。相反,如果医生对患者有特别的顾虑,他/她将安排测试。因此,医学记录包含许多缺失观察值的字段。但是,这些观察值不会随机缺失。处理这些缺失的观察值是医疗保健中的机器学习的任何应用的重要部分。

缺失数据对于医疗保健中的机器学习有两个含义。第一,任何算法需要能够从训练集合中观察值缺失的数据中学习。第二,即使仅对算法呈现输入观察值的子集,该算法也需要能够做出预测。即,需要能够从联合概率分布表达任何条件关系。

最近获得广泛流行的一种方法是使用生成对抗网络(GAN)。GAN在其传统公式化表述中使用了生成器,该生成器通过前馈神经网络将随机的高斯噪声变换成可见向量。可以使用标准的反向传播处理来训练具有该公式化表述的模型。然而,GAN训练往往不稳定–需要判别器(或评判器)和生成器的训练之间的仔细平衡。此外,不可能利用GAN从任意条件分布生成样本,并且将GAN应用到涉及具有不同数据类型和缺失观察值的异构数据集的问题可能非常困难。

本发明的许多实施例提供了新颖和创新的系统和方法,以用于使用异构、不规则和未标记的数据来训练和实现复杂概率分布的随机、非监督机器学习模型。

用于对概率分布进行建模的系统

现在转到附图,图1中示出了根据本发明的一些实施例的提供用于对概率分布进行建模的数据的收集和分发的系统。网络100包括通信网络160。通信网络160是诸如互联网的网络,该网络允许连接到网络160的设备与其它连接的设备通信。服务器系统110、140和170连接到网络160。服务器系统110、140和170中的每一个是一组经由内部网络彼此通信地连接的一个或多个服务器,其执行通过网络160向用户提供云服务的处理。出于该讨论的目的,云服务是由一个或多个服务器系统执行以通过网络向设备提供数据和/或可执行应用的一个或多个应用。示出了服务器系统110、140和170各自在内部网络中具有三个服务器。然而,服务器系统110、140和170可以包括任何数量的服务器,并且任何附加数量的服务器系统可以连接到网络160以提供云服务。根据本发明的各种实施例,可以通过在单个服务器系统和/或通过网络160通信的一组服务器系统上执行处理(或一组处理)来提供使用根据本发明的实施例的对复杂概率分布进行建模的系统和方法的网络。

用户可以使用连接到网络160的个人设备180和120来执行用于提供网络和/或与网络交互的处理,该网络使用根据本发明的各种实施例的对复杂概率分布进行建模的系统和方法。在所示的实施例中,个人设备180被示为经由传统的“有线”连接连接到网络160的桌面计算机。然而,个人设备180可以是桌面计算机、膝上型计算机,智能电视、娱乐游戏控制台或经由“有线”连接连接到网络160的任何其它设备。移动设备120使用无线连接连接到网络160。无线连接是使用射频(RF)信号、红外信号或任何其它形式的无线信号来连接到网络160的连接。在图1中,移动设备120是移动电话。然而,移动设备120在不背离本发明的情况下可以是移动手机、个人数字助理(PDA)、平板电脑、智能手机或经由无线连接连接到网络160的任何其它类型的设备。

图2中图示了根据多个实施例的用于训练和利用随机模型的数据处理元件。在各种实施例中,数据处理元件200是与参考图1描述的系统类似的联网系统内的服务器系统和/或个人设备中的一个或多个。数据处理元件200包括处理器(或一组处理器)210、网络接口225和存储器230。网络接口225能够通过网络连接跨网络发送和接收数据。在多个实施例中,网络接口225与存储器230通信。在多个实施例中,存储器230是被配置为存储多种数据(包括但不限于数据处理应用232、数据文件234和模型参数236)的任何形式的存储装置。根据本发明的一些实施例的数据处理应用232指引处理器210执行多种处理,诸如(但不限于)使用来自数据文件234的数据来更新模型参数236以便对复杂概率分布进行建模。

图3中图示了根据本发明的多个实施例的数据处理应用。在这个示例中,数据处理元件300包括数据收集引擎310、数据库320、模型训练器330、生成模型340、判别器模型350和模拟器引擎345。模型训练器330包括模式处理器332和采样引擎334。根据本发明的许多实施例的数据处理应用处理数据以训练可以用于对复杂概率分布进行建模的随机模型。

根据本发明的许多实施例的数据收集引擎从各种源收集各种格式的数据。根据本发明的许多实施例的收集的数据包括可以是异构的(例如,具有各种类型、范围和约束的数据)和/或不完整的数据。本领域技术人员将认识到,根据本发明的实施例,可以根据特定应用的要求适当地利用各种类型和数量的数据。在一些实施例中,数据收集引擎还用于对数据进行预处理以便于模型的训练。然而,与在其它方法中执行的预处理不同,根据本发明的一些实施例的预处理是基于与每个数据输入相关联的数据类型和/或模式自动执行的。例如,在某些实施例中,非结构化文本(例如,键入的医学笔记、诊断、自由形式的问卷答复等)的主体以多种方式处理,这些方式诸如(但不限于)向量化(例如,使用word2vec)、概要、情感分析和/或关键字分析。其它预处理步骤可以包括(但不限于)规范化、平滑、过滤和聚合。在一些实施例中,使用各种机器学习技术来执行预处理,这些机器学习技术包括(但不限于)受限波尔兹曼机器、支持向量机器、递归神经网络和卷积神经网络。

根据本发明的各种实施例的数据库存储用于由数据处理应用使用的数据,包括(但不限于)输入数据、预处理数据、模型参数、模式、输出数据和模拟数据。在一些实施例中,数据库位于与数据处理应用分离的机器上(例如,在云存储、服务器群、联网数据库等中)。

根据本发明的多个实施例的模型训练器用于训练生成模型和/或判别器模型。在许多实施例中,模型训练器利用模式处理器基于对系统可用的各种数据定义的模式来构建生成器模型和/或判别器模型。根据本发明的一些实施例的模式处理器构建用于生成模型(例如,受限波尔兹曼机器)的合成层,该合成层由用于以不同的方式处理不同类型的数据的若干不同的层组成。在一些实施例中,模型训练器通过基于对数似然和对抗目标优化复合目标函数来训练生成模型和判别器模型。根据本发明的某些实施例的训练生成模型利用采样引擎从模型抽取样本以测量数据和/或模型的概率分布。下面更详细地描述用于从这样的模型采样以训练和/或从模型抽取生成的样本的各种方法。

在许多实施例中,训练生成模型以对复杂概率分布进行建模,这些复杂概率分布可以用于生成各种概率分布的预测/模拟。判别器模型基于可见和/或隐藏状态判别基于数据的样本和模型生成的样本。

根据本发明的若干实施例的模拟器引擎用于生成复杂概率分布的模拟。在一些实施例中,模拟器引擎用于模拟患者群体、疾病进展和/或预测的对各种治疗的反应。根据本发明的若干实施例的模拟器引擎使用采样引擎以用于从模拟数据的概率分布的生成模型抽取样本。

如上所述,作为数据收集处理的一部分,根据本发明的若干实施例的数据被预处理以便简化数据。与通常高度手动且特定于数据的其它预处理不同,这个预处理可以基于数据的类型自动执行,而无需来自其它人的附加输入。

图4中概念性地图示了根据本发明的一些实施例的用于准备数据以供分析的处理。处理400处理(405)非结构化数据。根据本发明的许多实施例的非结构化数据可以包括可以被预处理以便加速处理和/或减少用于存储相关数据的存储器需求的各种类型的数据。这样的数据的示例可以包括(但不限于)文本的主体、信号处理数据、音频数据和图像数据。根据本发明的许多实施例的处理非结构化数据可以包括(但不限于)特征识别、概要、关键字检测、情感分析和信号分析。

处理400基于模式对数据重新排序(410)。在某些实施例中,处理通过对类似的数据类型进行分组以允许数据类型的高效处理来基于模式中定义的不同数据类型对数据重新排序。根据本发明的一些实施例的处理400纯粹基于测量的规模对数据重新缩放(415)以防止某些数据元素的过度表示。然后,处理400将预处理的数据路由(420)到基于模式中标识的数据类型而构造的波尔兹曼机器的子层。波尔兹曼机器结构和架构的示例在下面更详细地描述。在一些实施例中,数据被预处理成按时间顺序排列的数据结构以用于输入到深度时间波尔兹曼机器。深度时间波尔兹曼机器在下面进一步详细地描述。

图5中图示了根据本发明的多个实施例的用于输入到波尔兹曼机器的时间数据结构。图5的示例示出了三个数据结构510、520和530。数据结构中的每一个表示在特定时间(即时间t0、t1和tn)捕获的一组数据值。在这个示例中,某些特征(例如,性别、种族、出生日期等)通常不随时间而变化,而其它特性(例如,测试结果、医学扫描等)则随时间而变化。该示例进一步示出了,对于某些个体,某些字段在某些时间内可能缺失某些数据。在这个示例中,对每个个体分配了单独的标识号以便维护患者的保密信息。

波尔兹曼编码的对抗机器

经训练以使前向KL散度DKL(pdata||pθ)最小化的模型倾向于将模型分布扩散开以覆盖数据分布的支持。图6中图示了扩散分布的示例。具体而言,图6图示了双峰分布610和通过RBM分布学***滑的扩散分布620。虽然RBM能够生成如此好的近似,但是当面对更精细、更复杂的分布时,它们会遇到困难。

为了克服传统的波尔兹曼机器的问题,本发明的若干实施例实现了用于针对对抗训练波尔兹曼机器的框架,在本文中被称为波尔兹曼编码的对抗机器(BEAM)。BEAM最小化损失函数,该损失函数是负对数似然和对抗损失的组合。对抗成分确保BEAM训练执行前向KL散度和反向KL散度两者的同时最小化,这防止了利用常规RBM观察到的过度平滑问题。

波尔兹曼机器架构

利用许多传统的机器学习技术,监督学习用于在大的一组标记数据上训练模型以进行预测和分类。然而,在许多情况下,收集如此大的标记数据样本是不可行或不可能的。在许多情况下,数据不容易被标记,或者事件的样本完全不足以有意义地训练监督学习模型。例如,临床试验在收集这样的标记数据时常常面临困难。临床试验通常经历三个主要阶段。在I阶段中,将治疗给予健康的志愿者以评估其安全性。在II阶段中,将治疗给予大约100名患者以获得安全性和疗效的初步估计。最后,在III阶段中,将治疗给予数百至数千名患者以严格研究药物的疗效。在II阶段之前,没有关于研究药物对期望指征的效果的人体数据,使得无法进行监督学习。在II阶段之后,有一些关于研究药物的效果的人体数据,但是样本大小相当有限,致使监督学习技术效率低。为了进行比较,II阶段临床试验可能具有100-200名患者,而计算机视觉中的机器学习的典型应用可能使用数百万的标记图像。与许多数据有限的情况一样,对于许多重要问题缺少大的标签数据集意味着健康信息学必须严重依赖于非监督学习的方法。

受限波尔兹曼机器(RBM)

使用非监督学习的一种机器学习模型(或方法)是受限波尔兹曼机器(RBM)。RBM是双向神经网络,其中神经元(也称为单元)被划分成两层,可见层和隐藏层。可见层v描述观察到的数据。隐藏层h由捕获可见单元之间的相互作用的一组未观察到的潜在变量组成。该模型使用指数形式描述v和h的联合概率分布,

p(v,h)=Z-1e-E(v,h)。 (1)

这里,E(v,h)称为能量函数,并且Z=∫dvdhe-E(v,h)称为配分函数。在许多实施例中,处理使用积分运算符∫dx表示标准积分或对离散集合中的所有元素的求和。

在传统的RBM中,可见单元和隐藏单元都是二进制的。每一个仅可以取0或1的值。能量函数可以写为,

或以向量记法,E(v,h)=-aTv-bTh-vTWh。注意的是,可见单元通过权重W与隐藏单元相互作用。然而,没有可见-可见或隐藏-隐藏的相互作用。

RBM的关键特征是容易计算条件概率,

Figure BDA0002641967560000122

以及,

Figure BDA0002641967560000123

同样,容易计算条件矩,

以及,然而,通常非常难以从联合分布计算统计量。因此,必须使用诸如马尔科夫链蒙特卡洛(MCMC)的随机采样处理来估计来自联合分布的统计量。

可以通过最大化对数似然

Figure BDA0002641967560000137

来训练RBM。这里,<·>data表示对所有观察到的样本的平均。关于模型的某一参数θ的对数似然的导数为:

Figure BDA0002641967560000133

在RBM的标准公式化表述中,有三个参数a、b和W。导数为:

从联合分布计算期望值一般在计算上难处理。因此,必须使用利用MCMC处理抽取的来自模型的样本来计算导数。可以使用替代的吉布斯采样从RBM抽取样本。

输入:初始配置(v,h)。

蒙特卡洛的步数,k。

RBM。

输出:新配置(v′,h′)。

设置v0=v,h0=h;

返回(vk,hk)

理论上,吉布斯采样在n→∞的极限内从p(v,h)产生不相关的随机样本。当然,无限是很长的时间。因此,RBM的对数似然的导数通常使用以下两个处理中的一个近似:对比散度(CD)或持续对比散度(PCD)。K步CD非常简单:抓取一批数据。通过从数据开始运行k步吉布斯采样,从模型计算近似的一批样本。计算对数似然的梯度并更新模型参数。重要的是,对于每个梯度更新,使用一批观察到的数据重新初始化来自模型的样本。K步PCD是类似的:首先,使用一批数据初始化来自模型的样本。对k步更新样本,计算梯度,并更新参数。与CD相比,来自模型的样本从不被重新初始化。根据本发明的若干实施例的波尔兹曼机器的许多架构利用采样来计算导数以用于训练波尔兹曼机器。下面更详细地描述根据本发明的若干实施例的用于采样的各种方法。

一般化的RBM

在传统的波尔兹曼机器的使用中出现的一个挑战是许多RBM使用二进制单位,而要被处理的许多数据可以以各种不同的形式出现。为了克服这个局限性,本发明的一些实施例使用一般化的RBM。图7中图示了根据本发明的多个实施例的一般化的RBM。图7的示例示出了具有可见层710和隐藏层720的一般化的RBM 700。可见层710是由各种类型(即,连续的、分类的和二进制的)的若干节点组成的合成层。可见层710的节点连接到隐藏层720的节点。根据本发明的若干实施例的一般化的RBM的隐藏层基于对合成可见层的编译输入而作为个体(例如,临床试验中的患者)的低维表示进行操作。

根据本发明的多个实施例的一般化的RBM利用能量函数进行训练,

Figure BDA0002641967560000151

其中a(·)和b(·)是任意函数,并且σ>0和ε>0分别是可见层和隐藏层的缩放参数。不同的函数(称为层类型)用于表示不同类型的数据。下面描述了用于对各种类型的数据进行建模的层类型的示例。

伯努利层:伯努利层用于表示二进制数据vi∈{0,1}。偏差函数为a(v)=aTv,并且缩放参数被设置为σi=1。

伊辛层:伊辛层是用于可见单元的对称伯努利层vi∈{-1,+1}。偏差函数为a(v)=aTv,并且缩放参数被设置为σi=1。

独热层:独热层表示其中vi∈{0,1}并且∑ivi=1的数据。即,单元中的一个被开启,并且所有其它单元被关闭。独热层通常用于表示分类变量。偏差函数为a(v)=aTv,并且缩放参数被设置为σi=1。

冯·米塞斯-费舍尔层:冯·米塞斯-费舍尔层表示其中vi∈{0,1}并且

Figure BDA0002641967560000155

的数据。即,单元被限制到n-维球体的表面。这个层对于对其中xi∈[0,1]并且∑ixi=1的小数数据进行建模特别有用,因为满足球面性质。偏差函数为a(v)=aTv,并且缩放参数被设置为σi=1。

高斯层:高斯层表示其中的数据。偏差函数为

Figure BDA0002641967560000152

该层的位置参数和缩放参数σi一般都是可训练的。在实践中,这有助于根据logσi对模型进行参数化以确保缩放参数保持正值。

ReLU层:整流线性单元(ReLU)层表示其中

Figure BDA0002641967560000159

(其中,

Figure BDA00026419675600001510

)的数据。在波尔兹曼机器的背景下,ReLU层本质上是一侧截断的高斯层。偏差函数在域

Figure BDA00026419675600001511

上为

Figure BDA0002641967560000153

该层的位置参数

Figure BDA00026419675600001512

和缩放参数σi一般都是可训练的,而通常在训练之前指定在实践中,它有助于根据logσi对模型进行参数化以确保缩放参数保持正值。

修剪的Relu层:修剪的整流线性单元(ReLU)层表示其中

Figure BDA0002641967560000161

的数据。在波尔兹曼机器的背景下,修剪的ReLU层本质上是两侧截断的高斯层。偏差函数在域上为该层的位置参数和缩放参数σi一般都是可训练的,而通常在训练之前指定

Figure BDA0002641967560000168

Figure BDA0002641967560000163

在实践中,它有助于根据logσi对模型进行参数化以确保缩放参数保持正值。

学生-t层:学生-t分布类似于高斯分布,但是具有较粗的尾部。在各种实施例中,学生-t层的实现是隐式的。该层具有三个参数,控制均值的位置参数

Figure BDA0002641967560000164

控制方差的缩放参数vi、控制尾部厚度的自由度参数di。该层通过抽取方差~InverseGamma然后将能量取为来定义。

序数层:序数层是用于表示整数值数据vi∈{0,Ni}的伯努利层的一般化。偏差函数为a(v)=aTv,并且缩放参数被设置为σi=1。上限值Ni被提前指定。

高斯序数层:高斯序数层是用于表示具有更灵活分布的整数值数据vi∈{0,Ni}的序数层的一般化。偏差函数为上限值Ni被提前指定。

指数层:指数层表示其中的数据。偏差函数为a(v)=aTv,并且缩放参数被设置为σi=1。注意的是,指数层具有一些约束,因为对于连接的隐藏单元的所有值ai+∑iWhμ>0。通常,这限制了可以连接到指数层的层的类型,并且要求确保所有权重为正值。

合成层:合成层本身不是数学对象,就像先前描述的层类型的情况那样。相反,合成层是用于组合不同类型的多个子层以创建可以对异构数据进行建模的元层的软件实现。

上面描述了根据本发明的实施例的用于对数据进行建模的层的具体示例;然而,本领域技术人员将认识到,根据本发明的实施例,可以根据特定应用的要求适当地利用任何数量的处理。

模式

图8中概念性地图示了根据本发明的若干实施例的模式。图8中图示了具有一般化的RBM的不同层的描述的模式。模式允许对模型进行调整以处理特定类型的数据,而无需人进行繁琐的预处理。不同的层允许可能是不完整和/或不规则的不同类型的异构数据。

上面描述了根据本发明的实施例的用于构建模型的模式的具体示例;然而,本领域技术人员将认识到,根据本发明的实施例,可以根据特定应用的要求适当地利用任何数量的处理。

一般化的深度波尔兹曼机器(DBM)

深度学习是指机器学习的方法,其中模型通过一系列变换来处理数据。目的是使模型能够使用先验知识学习构造适当的特征,而不是要求研究人员制作特征。

一般化的深度波尔兹曼机器(DBM)本质上是RBM的堆叠。图9中图示了根据本发明的一些实施例的一般化的DBM。一般化的DBM 900示出了连接到隐藏层920的可见层910。隐藏层920进一步连接到另一个隐藏层930。可见层910被编码到隐藏层920,该隐藏层920然后对于下一个隐藏层930像可见层一样进行操作。

考虑具有L个隐藏层hl(l=1,…,L)的DBM。DBM的能量函数为:

原则上,可以以与RBM相同的方式来训练DBM。然而,在实践中,经常使用贪婪逐层处理来训练DBM。贪婪逐层处理的示例在R.Salakhutdinov和G.Hinton的ArtificialIntelligence and Statistics(2009)第448-455页中进行了描述,该文章通过引用并入本文。本质上,DBM的前向逐层训练通过利用能量函数训练一系列的RBM进行:

Figure BDA0002641967560000182

其中前一个RBM的输出被用作下一个RBM的输入。当以这种前向逐层方式训练DBM时,可能难以从数据分布得到信息以传播到模型的深层中。因此,一般难以训练具有多于一对隐藏层的DBM。

为了克服DBM的前向逐层训练的局限性,根据本发明的许多实施例的方法反向地训练DBM—从最深的隐藏层hL开始并且朝着v向后工作。这确保了最深的隐藏层必须包含尽可能多的关于可见层的信息。反向逐层训练过程利用了以下事实:具有连接v-h1-h2的三层DBM与具有连接[v,h2]–h1的两层RBM相同,从而允许具有合成层的RBM朝下向后讲着DBM的连接图。

图10中概念性地图示了根据本发明的实施例的用于反向逐层训练的处理。处理1000训练(1005)具有连接v-hL的第一RBM。处理1000从经训练的RBM采样(1010)hL~p(hL|v)。然后,该处理将v和hL堆叠(1015)到向量[v,hL]中并训练(1020)具有连接[v,hL]-hL-1的第二RBM。然后,处理1000确定(1025)是否已到达[v,h2]–h1。当尚未到达时,处理1000返回到步骤1005。当处理1100确定已到达[v,h2]–h1时,该处理将权重从这些中间RBM中的每一个复制(1030)到它们在DBM中的相应位置中。在一些实施例中,然后可以通过常规的端到端训练来微调DBM。

用于时间序列的波尔兹曼机器

许多问题(例如,对患者轨迹进行建模)需要生成时间序列的能力。即,生成一系列的状态

Figure BDA0002641967560000185

下面描述根据本发明的大量实施例的两种方法。

自回归波尔兹曼机器(ADBM)是其中隐藏层具有连接邻近的时间点的无向边的DBM。因此,ADBM使节点与其先前的时间点相关。图11中图示了根据本发明的一些实施例的一般化的ADBM。一般化的ADBM 1100示出了连接到在时间t的隐藏层1120的也在时间t的可见层1110。隐藏层1120还连接到另一个隐藏层1130,该另一个隐藏层1130并入了从时间t偏移τ的数据。

因此,ADBM是用于描述联合概率分布p(v(0),...,v(τ))的整个序列的模型。具体而言,令x(t)=[v(t),h1(T),...,hL(t)]表示在时间t所有层的状态。此外,令EDBM(x(t))为DBM的能量,其由下式给出:

ADBM的能量函数为:

为简单起见,这利用连接最后一个隐藏层与其先前值的单个自回归连接进行图示。然而,本领域技术人员将认识到,可以将这个模型扩展以包括多个时间延迟或层之间的跨时间连接。

如在先前部分中描述的,ADBM能够通过时间捕获相关性,但是它们通常不能够表示非平稳分布或具有漂移的分布。例如,大多数具有退行性疾病的患者将往往随着时间而恶化–ADBM不能捕获的影响。为了捕获这种影响,本发明的许多实施例实现了一般化的条件波尔兹曼机器(GCBM)。考虑可见单元的时间序列

Figure BDA0002641967560000193

联合概率分布可以分解成乘积

Figure BDA0002641967560000194

在若干实施例中,这个模型可以由两个DBM构造。首先,可以在所有数据上训练非时间相关的DBM,p0。接着,可以在通过联合所有邻近的时间点[v(t),v(t-1)]创建的合成层上训练时间相关的DBM。在这个示例中,第二DBM描述了联合分布p(v(t),v(t-1)),这使得能够计算p(v(t)|v(t-1))和p(v(t-1)|v(t))两者,从而允许进行前向和后向预测两者。

尽管使用单个时滞描述了这个示例,但是本领域技术人员将认识到,可以调节根据本发明的许多实施例的处理以考虑更长和/或多个时滞。例如,第二DBM可以在合成层上训练,该合成层可以容易地扩展以包括多个时滞,例如,[v(t),v(t-1),...,v(t-n)]。

训练RBM

存在用于改进RBM的性能的多个途径。这些途径包括新的正则化方法、新颖的优化算法、替代目标函数和改进的梯度估计器。根据本发明的若干实施例的系统和方法实现了替代目标函数和改进的梯度估计器。

用于RBM的对抗目标

如果机器学习模型学习从未知的概率分布抽取新样本,那么该机器学习模型是生成的。生成模型可以用于学习数据的有用表示和/或使得能够进行具有未知或非常复杂的机械定律的系统的模拟。由一些模型参数θ定义的生成模型描述了观察某个变量v的概率。因此,训练生成模型涉及使数据的分布pd(v)和由模型定义的分布pθ(v)之间的距离最小化。用于训练波尔兹曼机器的传统方法使对数似然最大化,这等效于使前向Kullback-Leibler(KL)散度最小化:

前向KL散度DKL(pd||pθ)累积数据分布下的概率进行加权的模型分布与数据之间的差异。反向KL散度DKL(pθ||pd)累积模型分布下的概率进行加权的模型分布与数据之间的差异。因此,前向KL散度强烈地惩罚低估数据概率的模型,而反向KL散度强烈地惩罚高估数据概率的模型。

存在多种进入到RBM的训练中的随机源。随机意味着,如果不同模型的对数似然的差异小于估计它们时的误差,那么这些模型可能在统计上不可区分。这创建了熵力,因为具有小的DKL(pd||pθ)的模型将比具有小的DKL(pd||pθ)和DKL(pθ||pd)两者的模型多得多。因此,使用利用PCD的标准方法训练RBM减小了DKL(pd||pθ)(如它应当的那样),但往往增大了DKL(pθ||pd)。这导致具有虚假模式的分布和/或过度平滑的分布。

可以想象通过最小化前向和反向KL散度的组合来克服RBM的最大似然训练的局限性。遗憾的是,计算反向KL散度需要pd的知识,该pd是未知的。在许多实施例中,可以使用新颖类型的f-散度,而不是反向KL散度,作为判别器散度来训练RBM:

注意的是,pd和pθ之间的最佳判别器将分配样本v是从数据分布抽取的后验概率:

Figure BDA0002641967560000212

因此,判别器散度可以写为

DD(pd||pθ)=-log2-∫dv pθ(v)log(p(data|v)) (16)

以表明它测量最佳判别器将从模型分布抽取的样本错误地分类为来自数据分布的概率。

判别器散度属于被定义为Df(p||q):=∫dxq(x)f(p(x)/q(x))的f-散度的类别。根据需要,定义判别器散度的函数为

Figure BDA0002641967560000213

该函数是凸的,其中f(1)=0。可以证明,判别器散度是反向KL散度的上限:

Figure BDA0002641967560000214

≥DKL(pθ||pd)。

通常难以直接访问pd(v)或计算反向KL散度。然而,根据本发明的大量实施例的方法可以训练判别器以近似等式15,并因此可以近似判别器散度。

能够欺骗判别器使得对于从pθ抽取的所有样本而言p(data|v)≈1的生成器将具有低判别器散度。判别器散度紧密反映反向KL散度,并强烈地惩罚高估数据概率的模型。

根据本发明的大量实施例的方法实现了用于针对对抗训练RBM的波尔兹曼编码的对抗机器(BEAM)。根据本发明的多个实施例的BEAM使作为负对数似然和对抗损失的组合的损失函数最小化。对抗成分确保BEAM训练执行前向KL散度和反向KL散度两者的同时最小化,这防止了利用常规RBM观察到的过度平滑问题。

下面描述根据本发明的许多实施例的用于训练BEAM的方法:

输入:

n=时期的数量;

m=幻想粒子的数量;

k=吉布斯采样步数;

a=似然和对抗梯度的权重

初始化:

使用k步吉布斯采样来采样F~pθ(v);

Figure BDA0002641967560000231

图12中概念性地图示了根据本发明的一些实施例的用于训练对抗模型的处理。处理1200从诸如(但不限于)波尔兹曼机器(诸如上面描述的那些)的模型抽取(1205)样本。可以根据多种方法从模型抽取样本,包括(但不限于)k步吉布斯采样和TDS。然后,处理1200基于抽取的样本计算(1210)梯度。处理1200基于抽取的样本训练(1215)判别器,并且基于如从模型抽取或从数据抽取的样本的分类计算对抗梯度。在许多实施例中,处理1200然后计算(1220)完整的复合梯度并且使用完整的梯度更新(1225)模型参数。

图13呈现了经训练以最大化对数似然的波尔兹曼机器与经训练为BEAM的那些之间的一些比较。这个图的示例图示了三种多峰数据分布:1维的高斯的双峰混合(1310)、2维的圆形布置的8个高斯的混合(1320)和2维的网格布置的25个高斯的混合(1330)。与高斯的2维混合示例类似的问题通常用于测试GAN。在每种情况下,常规的波尔兹曼机器通过在数据分布的支持上扩散概率来学习具有相当好的似然性的模型。相比之下,经训练用作BEAM的波尔兹曼机器学习非常准确地再现数据分布。

图14中图示了在高斯的2D混合上训练BEAM的结果的示例。第一画面1405图示了每个训练时期的前向KL散度DKL(pd||pθ)和反向KL散度DKL(pθ||pd)的估计。第一画面1405图示了将RBM训练为BEAM减小了前向KL散度和反向KL散度两者。第二画面1410图示了训练期间各个时期的幻想粒子的分布。在训练的早期阶段,BEAM幻想粒子跨数据分布的支持扩散开,从而捕获网格边缘附近的模式。这些早期时期类似于利用GAN获得的分布,其也将密度集中在网格边缘附近的模式中。随着训练进行,BEAM逐渐地学习捕获网格中心附近的模式。

图15中图示了根据本发明的一些实施例的波尔兹曼编码的对抗机器(BEAM)的架构。图示的示例示出了BEAM架构的两个步骤。在第一阶段1510中,生成器(例如,RBM)具有可见层(圆形)和隐藏层(菱形)。根据本发明的多个实施例的生成器被训练为通过使输入数据穿过可见层以在隐藏层的一组节点中被编码来对输入数据编码。对根据本发明的若干实施例的生成器进行训练,其目标是从复杂的分布生成逼真的样本。在许多实施例中,用于训练生成器的目标函数可以包括来自由评判器(或判别器)生成的对抗损失的贡献。

在第二阶段1520中,生成器的隐藏层馈送到判别器(或评判器)中,该判别器(或评判器)评估隐藏层以使用由生成器学习的绑定权重区分从数据抽取的样本和从模型抽取的样本。通过使用单次前向穿过生成器的层编码可见单元、然后应用经训练以判别来自数据的样本和来自模型的样本的分类器(例如,逻辑回归、最近邻分类器和随机森林)来构造判别器(或对抗)。通过细化判别器,根据本发明的许多实施例的处理允许复杂概率分布的改进模型。尽管以分开的阶段示出,但是根据本发明的许多实施例的BEAM是以复合目标训练的,该复合目标同时训练评判器和生成器。在某些实施例中,判别器是需要很少训练的简单分类器。

根据本发明的多个实施例的目标函数为

该目标函数包括来自评判器的对抗项的贡献。根据本发明的多个实施例的对抗项可以被定义为

Figure BDA0002641967560000242

其中T(v,h)是评判函数。在一些实施例中,对抗使用与RBM相同的架构和权重,并且将可见单元编码到隐藏单元激活中。对从RBM采样的数据和幻想粒子两者计算的这些隐藏单元激活被评判器用来估计数据分布与模型分布之间的距离。

为了计算用于训练生成器的导数,根据本发明的一些实施例的方法使用随机导数技巧:

其中用于RBM。

原则上,评判器可以是可见单元和隐藏单元的任何函数。然而,基于判别器散度,根据本发明的若干实施例的方法使用与P(data|ν)单调相关的评判器。尽管判别器散度建议可以使用log p(data|v),但是根据本发明的某些实施例的方法使用线性函数T(v)=2*p(data|ν)-1。通常,最佳判别器可以被近似为隐藏单元激活的函数

Figure BDA0002641967560000255

函数g(·)可以如在大多数GAN中那样由神经网络或者使用更简单的算法(诸如随机森林或最近邻分类器)来实现。在多个实施例中,对最佳判别器的简单近似可以是足够的,因为分类器可以对RBM生成器的隐藏单元激活而不是可见单元进行操作。因此,可以使用最近邻方法近似最佳评判器。

假设X={x1,...,xN}是来自在中具有pdf p(x)的未知概率分布的相同且独立地分布的样本。在多种实施例中,基于k-最近邻估计在任意点x处估计p(x)。具体而言,根据本发明的一些实施例的方法固定一些正整数k,并计算X中与x的k个最近邻。然后,将dk定义为x和最近邻中的最远之间的距离并且将密度p(x)估计为半径dk的球上均匀分布的密度。即,

Figure BDA0002641967560000252

现在用pθ(v)和pd(v)分别表示模型分布和数据分布的未知pdf,并将两个向量v和v′之间的距离定义为它们的隐藏单元激活之间的欧几里得距离这个距离可能不再满足适当度量的所有性质。令X={v1,...,v2N}是样本的集合,其中恰好一半是从pθ抽取并且一半从pd抽取。固定某个k并且计算X中k个最近邻,用dk表示到最远的距离。然后分母如上所描估计。令j为来自pd而不是pθ的最近邻的数量。然后分子可以被估计为在相同大小的球上均匀,其中仅具有分母密度的j/k,从而允许将最近邻评判器定义为TNN(v):=j/k。在许多实施例中,可以从来自模型的缓存的小批样本与来自训练数据集的小批样本相结合来计算最近邻。

距离加权的最近邻评判器是通过向比率计数应用逆距离加权来向最近邻评判器添加一些连续性的一般化。具体而言,令{d0,...,dk}为k-最近邻的距离,其中{d0,...,dj}是源自数据样本的邻居的距离,并且{dj-1,...,dk}是源自模型样本的邻居的距离。在许多实施例中,距离加权的最近邻评判器可以被定义为:

其中ε是调整逆距离的小参数。

在将前馈神经网络用于生成器和判别器的GAN的大多数公式化表述的背景下,可以说BEAM将RBM既用作生成器又用作对抗的特征提取器。在各种实施例中,这个双重用途允许将单组幻想粒子重复用于训练算法的多个步骤。具体而言,每次梯度评估将单组M个持久幻想粒子更新k次。在许多实施例中,同一组幻想粒子用于计算对数似然导数和对抗导数。然后,这些幻想粒子可以在评判器值的最近邻估计中替换来自先前梯度评估的幻想粒子。对每个步骤重复使用幻想粒子意味着BEAM训练的计算成本与利用PCD训练RBM的计算成本大致相同。

改进的梯度估计

对抗项和对数似然的梯度都涉及关于模型分布的期望值。遗憾的是,这些期望值不能确切地计算。因此,可以使用蒙特卡洛方法或其它近似来近似期望值。这些近似梯度的准确性可以对得到的模型的实用性具有显著影响。下面描述了根据本发明的某些实施例的改进近似梯度的准确性的不同方法。

平均场近似和收缩估计

梯度的蒙特卡洛估计具有无偏的优点。即,随着N→∞,

Figure BDA0002641967560000271

然而,当N小时,估计可能具有高的方差。另一方面,诸如从Thouless-Andersen-Palmer(TAP)扩张导出的平均场估计为解析性的,并且方差为零,但是具有可能难以控制的偏差。令f(ω)=ωfMC+(1-ω)fMF是从蒙特卡洛估计fMC和平均场估计fMF的凸组合创建的估计。容易证明Bias2[f]=(1-ω)2Bias2[fMF]和Var[f]=ω2Var[fMC],使得f的均方误差为MSE[f]=Bias2[f]+Var[f]=(1-ω)2Bias2[fMF]+ω2Var[fMC]。因此,通常可以选择ω的值来最小化组合估计器的均方误差。

退火采样

根据本发明的许多实施例,从概率分布抽取样本是用于训练模型的许多处理的重要组成部分。这通常可以利用对许多1维分布进行简单函数调用来完成。然而,从波尔兹曼机器随机采样要复杂得多。

通常使用吉布斯采样执行从波尔兹曼机器采样。吉布斯采样是局部采样处理,这意味着连续的样本是相关的。抽取不相关的样本需要对于每个连续的样本进行许多吉布斯采样步骤。因此,从波尔兹曼机器抽取一批不相关的随机样本可能花费很长时间。对于每次梯度更新需要一批随机样本–如果生成每一批需要很长时间,那么这可能使训练波尔兹曼机器花费很长时间以致于变得不实际。因此,降低来自波尔兹曼机器的连续样本之间的相关性的方法可以大大地加速学习处理。

许多用于从波尔兹曼机器加速采样的方法依赖于与来自统计物理的温度类比。为此,根据本发明的多个实施例的方法通过如下定义概率分布将虚构逆温度β引入到波尔兹曼机器中:

Figure BDA0002641967560000281

通过设置β=1恢复波尔兹曼机器的原始分布。

虚构温度是有用的,因为升高温度(即,降低β)降低样本之间的自相关性。考虑以配置(v,h)开始并且结束于配置(v′,h′)的情况。初始能量为E(v,h)。当从初始配置移动到最终配置时,中间配置将具有变化的能量。如果来自这些中间配置的最大能量为Emax,那么从(v,h)行进到(v′,h′)的时间大致如下式进行缩放:

因此,降低β将降低在远距配置之间移动所需的吉布斯采样步数。

尽管升高温度将减少混合时间,但是它也改变了所得到的概率分布。因此,在训练期间简单地从β<<1的模型采样将不会允许模型正确地学***衡。在长时间之后,在β=1处开始的配置将行进到具有较低温度的链(在链中它可以更容易地越过能量位垒)并且返回到在β=1处运行的链。这确保了在β=1处运行的链具有更快的混合时间,同时仍从正确的概率分布采样。然而,由于许多吉布斯采样链必须并行运行,因此存在计算成本。

在本发明的一些实施例中,该处理使用温度驱动采样(TDS),这大大地改进了训练波尔兹曼机器的能力,而没有引起显著的附加计算成本。TDS是顺序蒙特卡洛采样器的变体。使用来自模型的吉布斯采样更新独立地演进m个样本的集合。注意的是,这与对于并行退火处理运行多个链不同,因为在顺序蒙特卡洛采样器中的m个样本中的每一个将用于计算统计信息,而不是在并行退火期间仅来自β=1链的样本。这些样本中的每一个具有从均值<β>=1并且方差Var[β]<1的分布抽取的逆温度。在若干实施例中,对于模型的每次吉布斯采样迭代,每个样本的逆温度可以被独立地更新一次。在各种实施例中,更新是跨时间自相关的,使得逆温度缓慢地变化。因此,从与模型分布接近但尾部较粗的分布抽取样本的集合。这允许快得多地进行混合,同时确保模型平均值(对m个样本的集合计算)保持与从β=1的模型计算的平均值非常近似。下面描述从自相关伽马分布采样的示例。

输入:

自相关系数0≤φ<1。

分布的方差Var[β]<1。

β的当前值。

设置:v=1/Var[β]and c=(1-φ)Var[β]。

抽取z~泊松(β*φ/c)。

抽取β'~伽马(v+z,c)。

返回β'

TDS包括在Var[β]→0的极限下基于标准的吉布斯采样的顺序蒙特卡洛采样器。利用TDS抽取的样本不是来自波尔兹曼机器的平衡分布的样本。在某些实施例中,对抽取的样本重新加权以校正由于温度变化引起的偏差。

输入:

样本的数量m。

更新步骤的数量k。

用于逆温度的自相关系数0≤φ<1。

逆温度的方差Var[β]<1。

初始化:

随机初始化m个样本

随机初始化m个逆温度βi~Gamma(1/Var[β],Var[β])。

温度驱动采样(TDS)改进了从波尔兹曼机器采样。图16中图示了利用常规吉布斯采样从波尔兹曼机器抽取的样本与使用TDS抽取的样本之间的直接比较。GMM(灰色)是指来自高斯混合模型的样本。GRBM(蓝色)是指使用10步吉布斯采样抽取的来自等效波尔兹曼机器的样本。TDS(红色)是指使用利用10步吉布斯采样的TDS抽取的来自等效波尔兹曼机器的样本。这个示例示出了具有(-1、0、+1)处的三个模式、具有各种标准偏差的高斯混合模型,并使用简单的构造来创建具有高斯可见层和具有三个隐藏单元的独热隐藏层的等效波尔兹曼机器。逆温度的自相关系数和标准偏差被分别设置为0.9和0.95。所有开始样本从中间模式进行初始化。从中间模式开始,常规吉布斯采样在模式很好地分开时在10步之后不能从邻近模式采样,相比之下,TDS具有较粗的尾部,从而允许更好地对邻近模式采样。

在训练时间使用TDS对所得到的模型可以具有相当显著的影响。在图17中,在来自MNIST数据集的手写数字的灰度图像上训练了两个相同的高斯-伯努利RBM。图像来自利用相同超参数训练的具有相同架构的模型,除了一个使用常规吉布斯采样(1710)而另一个使用TDS(1720),或(a)用Var[β]=0训练而(b)用Var[β]=0.9训练之外。两个模型是具有256个隐藏单元的高斯-伯努利RBM,其使用ADAM优化器以0.0005的学习率和100的批量大小针对100个时期的持续对比散度进行训练。温度驱动采样(TDS)改进了MNIST手写数字(灰度)模型的学习。两个模型实现了低的重构误差(数据未示出),但是利用常规吉布斯采样器训练的GRBM无法生成逼真的幻想粒子。相比之下,利用TDS训练的GRBM生成看起来像逼真的手写数字的幻想粒子。

上面描述了根据本发明的实施例的用于从概率分布抽取样本的具体处理;然而,本领域技术人员将认识到,根据本发明的实施例,可以根据特定应用的要求适当地利用任何数量的处理。

应用

即,即使可以仅能够预测单个患者的健康结果的可能性,但是该能力使得能够精确地预测大群体中具有该健康结果的患者的数量。例如,预测健康风险使得能够准确地估计群体保险的成本。类似地,预测患者将对特定治疗反应的可能性使得能够估计临床试验中阳性结果的概率。

模拟患者轨迹

发展准确地预测患者预后的能力是迈向精确医疗的必要步骤。患者可以被表示为描述其症状、其遗传信息、诊断测试的结果、其正在接受的任何医疗治疗,以及对于表征其健康可能相关的其它信息的信息的集合。包含关于患者的这种信息的向量有时被称为表型向量。根据本发明的许多实施例的用于预后预测的方法使用关于患者的过去和当前健康信息来预测将来的健康结果。

患者轨迹是指描述患者在各个时间点的详细健康状况(例如,患者的表型向量)的时间序列。在若干实施例中,预后预测采用患者的轨迹(即,他们过去和当前的健康信息),并做出关于特定将来健康结果的预测(例如,他们在接下来2年内将心脏病发作的可能性)。相比之下,预测患者的将来轨迹涉及预测表征将来所有时间其健康状态的所有信息。

为了从数学上构造这一点,令v(t)是表型向量,其包含表征患者在时间t的健康的所有信息。因此,患者轨迹是集合

Figure BDA0002641967560000321

许多示例利用离散的时间步长(例如,一个月)进行了描述,但是本领域技术人员将认识到这不是必需的,并且根据本发明的各个实施例可以采用各种其它时间步长。在本发明的一些实施例中,用于模拟患者轨迹的模型使用离散的时间步长(例如,一个月)。根据本发明的多个实施例的时间步长的长度将被选择为近似地匹配治疗的频率。根据本发明的许多实施例的用于患者轨迹的模型描述了沿着轨迹的所有点的联合概率分布p(v0,...,vT)。通过从条件概率分布p(vτ,...,vT|v0,...,vτ-1)中采样,可以将这样的模型用于预测。在许多实施例中,模型是波尔兹曼机器,因为它们使表达条件分布变得容易并且可以适于异构数据集,但是本领域技术人员将认识到,本文描述的许多处理也可以应用于其它架构。

临床决策支持系统

临床决策支持系统向患者、医生或其它护理人员提供信息,以帮助指导关于患者护理的选择。模拟的患者轨迹提供了对患者的将来健康的洞察,其可以通知护理的选择。例如,考虑患有轻度认知障碍的患者。医生或护理人员了解患者病情发展为阿尔茨海默氏病或他或她开始表现出其它认知或心理系统的风险是有益的。在某些实施例中,基于模拟患者轨迹的系统可以预测这些风险以指导护理选择。聚合对患者群体的这样的预测还可以帮助估计群体级别风险,从而使得能够由充当大群患者的护理者的组织(诸如老年护理机构)进行长期规划。

在一些实施例中,从电子病历(也已知为现实世界数据)、自然历史数据库或临床试验中收集一组患者轨迹。根据本发明的许多实施例的患者轨迹可以被标准化并用于训练时间相关的波尔兹曼机器。为了使用该模型,可以以轨迹的形式输入患者的病史,其中t0是当前时间,并使用波尔兹曼机器从概率分布模拟轨迹。然后,可以对这些模拟的轨迹进行分析,以了解在各个将来时间与特定结果(例如,阿尔茨海默氏病的诊断)相关联的风险。在一些情况下,对具有治疗信息的数据进行训练的模型将包含描述治疗选择的变量。通过比较以不同治疗为条件的模拟结果风险,可以使用这样的模型来评估不同的治疗选择如何改变患者的将来风险。在许多实施例中,看护者或医师可以基于治疗选择和/或模拟轨迹治疗患者。

模拟用于临床试验的对照组

随机化的临床试验(RCT)是评估治疗疗效方面的证据的黄金标准。在RCT中,每位患者都被随机地分配到两个研究组中的一个:利用实验疗法对患者进行治疗的治疗组,以及患者接受虚拟治疗和/或当前护理标准的安慰剂组。在试验结束时,进行统计分析以确定治疗组中的患者是否比安慰剂组中的患者对新疗法更可能产生积极地反应。

为了拥有足够的统计能力来准确地评估实验疗法的疗效,RCT需要包括大量患者。例如,对于III期临床试验,包括上千的患者并不少见。招募实现足够能力所需的大量患者具有挑战性,许多临床试验从未达到他们的招募目标。虽然按照定义几乎没有关于实验疗法的数据,但是关于当前护理标准疗效的数据可能很多。因此,减少临床试验所需患者数量的一种方法是用综合对照组代替对照组,该综合对照组包含从被训练为对当前护理标准进行建模的波尔兹曼机器中模拟的虚拟患者。

根据本发明的若干实施例的方法通过使用来自先前临床试验的对照组的数据训练波尔兹曼机器来使用模拟创建用于临床试验的综合的或虚拟的对照组。在许多实施例中,可以通过聚合来自针对所选择的疾病的多个临床试验的对照组的数据来构建数据集。然后,可以训练波尔兹曼机器在当前的护理标准下模拟患有该疾病的患者。然后,该模型可以用于模拟具有特定特征(例如,年龄、种族、病史)的患者群体,以创建与新试验的纳入标准相匹配的模拟患者队列。在一些实施例中,通过从波尔兹曼机器的适当的条件分布进行模拟,可以将实验组中的每个患者与具有相同基线测量值的模拟患者进行匹配。这可以提供一种反事实(即,如果给予该患者的是安慰剂而不是实验性疗法,将会发生的情况)。在任一种情况下,可以使用根据本发明的许多实施例的标准统计方法使用来自模拟患者的数据来补充或代替来自并行安慰剂组的数据。

模拟头对头临床试验

传统上,美国的医疗保健是按服务收费提供的。然而,目前正在向基于价值的护理转变。在药物的上下文中,基于价值的护理意味着药物的成本将基于其有效性,而不是简单的每丸药的成本。因此,政府和其它付款人需要能够比较替代疗法的有效性。

考虑具有相同适应症的两种药物A和B。有两种标准方法来比较A和B的疗效。首先,可以使用电子健康记录和保险索赔数据来观察药物在现实世界临床实践中的工作情况。可替代地,可以运行RCT来执行药物的头对头比较。这两种方法都需要花费数年的附加观察和/或实验才能得出关于A和B的比较有效性的结论。

根据本发明的许多实施例的模拟提供了用于执行头对头试验的替代方法。在一些实施例中,来自每种药物的临床试验的详细个体级别数据可以被包括在用于波尔兹曼机器的训练数据中。在一些实施例中,用波尔兹曼机器(诸如BEAM)生成的样本可以用来模拟A和B之间的头对头临床试验。然而,通常不发布用于临床试验的实验组的个体级别数据。在没有这些数据的情况下,根据本发明的多个实施例的来自实验组的聚合级别数据可以用于调整在对照组数据上训练的模型。

学习非监督基因组特征

人类基因组编码了超过2万个参与极其复杂的相互作用网络的基因。这种基因相互作用网络是如此复杂,以至于难以开发将基因型与表型联系起来的机制模型。因此,旨在根据基因组信息预测表型的研究必须使用机器学习方法。

基因组研究在临床环境中的共同目标是预测患者是否对给定疗法有反应。例如,可以在II期临床试验开始时收集描述基因表达的数据(例如,来自信使RNA测序实验)。在试验结束时记录每个患者对治疗的反应,并训练数学模型(例如,线性或对数回归)以从其基线基因表达数据预测每个患者的反应。对患者反应的成功预测将使临床试验的发起者能够使用基因组测试将研究群体缩小到药物最有可能获得成功的患者的子集。这改进了在随后的III期试验中成功的可能性,同时还通过精确医疗改进了患者的结果。

遗憾的是,II期临床试验往往是小规模的(200人)。而且,用于测量基因表达的测序实验仍然相当昂贵。因此,即使非临床基因表达研究在规模上也受到限制。因此,标准任务包括使用少于200个测量值来训练具有多达2万个特征(即,基因的表达)的回归模型。一般而言,如果特征的数量大于测量的数量,那么线性回归模型的确定性不足。虽然有缓解此问题的技术,但大多数组学研究的情况是如此不平衡以至于标准方法失败。

在许多实施例中,原始基因表达值被组合成较小数量的合成特征。例如,各个基因作为生化途径的部分相互作用,因此一种方法是使用已知的生化信息来导出描述途径激活的分数。然后,可以将途径激活分数用作特征而不是原始表达值。然而,由于生化网络的复杂性,可能一开始不清楚如何构建途径激活分数。

在某些实施例中,深度波尔兹曼机器(DBM)被实现为可能对组学研究有用的非监督特征学习的工具。令v为包含从实验确定的基因表达值的向量。DBM使用概率分布p(v)=∫dh1…dhLp(v,h1,...,hL)描述基因表达向量的分布,其中隐藏单元层hl描述基因表达值向更高级别特征的渐进变换。可以在没有标签的情况下训练根据本发明的许多实施例的模型;因此,在一些实施例中,可以通过结合许多不同的研究来编译大型数据集合。在多个实施例中,可以使用预先训练的DBM通过计算<hL>v=∫dh1…dhLhLp(h1,...,hL|v)将原始基因表达值的向量变换成特征的更低维度的向量。然后可以将根据本发明的某些实施例的这些较低维度的特征用作更简单的有监督学习算法的输入,以构造针对给定疗法的药物反应的预测器。

预测转录组反应

预测基因的活性或表达变化将在人体中产生的影响对于药物设计和药物开发都是重要的。例如,如果可以预测化合物在人体中的影响,那么可以执行高吞吐量计算筛选以进行发现药物。类似地,如果可以预测研究药物对不同类型患者的影响,那么即使没有关于该药物在人体中作用的直接数据,也可以针对II期临床试验优化患者选择。

没有明显的方法使用监督学习方法来开发转录组反应的预测器。在许多实施例中,使用基因表达的生成模型来预测转录组反应。令v为原始基因表达值的向量,并且令pθ(v)为由θ参数化的基因表达值分布的模型。此外,假设对模型进行参数化使得θi与vi的均值相关,使得增加(或减少)θi导致的增加(或减少)。在许多实施例中,通过降低θi和计算<v>的变化来模拟降低基因i的活性的药物的影响。在多个实施例中,当变化很小时,那么这涉及计算导数

根据本发明的若干实施例的生成模型的效用依赖于模型隐式学习基因表达值之间相互作用的能力。即,模型必须知道使用治疗降低基因i的活性将–经由复杂的相互作用网络–导致某个其它基因j的表达降低。在众多实施例中,如本申请的先前部分中描述的DBM被用作隐式地(即,不试图构造对生化途径或其它直接基因相互作用的方法的机械理解)学习基因之间的相互作用的生成模型。

在许多实施例中,以完全非监督方式在基因表达数据上经训练的DBM没有个体患者的概念。替代地,观察向量v可以被分成两个部分:基因表达值向量x和元数据向量y。根据本发明的一些实施例的元数据可以描述样本的特征,诸如(但不限于)样本的来自哪个组织、患者的健康状况或其它信息。然后,在多个实施例中,可以根据条件分布

Figure BDA0002641967560000371

进行预测。

最后,根据本发明的若干实施例的对各个患者的预测可以使用基因表达空间中的局部性的概念。令定义给定y的能量x。在DBM中,这还涉及对所有隐藏层的积分。在某些实施例中,可以根据在x处评估的

Figure BDA0002641967560000373

的导数来计算基因相互作用的局部量度。

尽管已经在某些具体方面描述了本发明,但是许多附加的修改和变化对于本领域技术人员将是清楚的。因此,应该理解的是,可以以不同于具体描述的方式来实践本发明。因此,本发明的实施例在所有方面都应被认为是说明性的而非限制性的。

44页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:投递系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!