首页> 中国专利> 互信息对抗自动编码器

互信息对抗自动编码器

摘要

一种用于生成对象的方法包括:提供数据集,该数据集具有对象数据和条件数据;处理对象数据以获得潜在对象数据和潜在对象‑条件数据;处理条件数据以获得潜在条件数据和潜在条件‑对象数据;处理潜在对象数据和潜在对象‑条件数据以获得生成的对象数据;处理潜在条件数据和潜在条件对象数据以获得生成的条件数据;将潜在对象‑条件数据与潜在条件‑对象数据进行比较以确定差;处理潜在对象数据和潜在条件数据以及潜在对象‑条件数据或潜在条件‑对象数据中的一个以获得判别器值;以及基于生成的对象数据来选择选择的对象。

著录项

说明书

相关申请的交叉引用

本申请要求于2018年6月22日提交的,标题为“MUTUAL INFORMATION ADVERSARIALAUTOENCODER”的美国专利申请No.16/015,990的优先权,通过引用将其全部内容并入本文。

技术领域

背景技术

深度神经网络(DNN)是最近已经为复杂数据处理和人工智能(AI)创建的计算机系统架构。DNN是采用多于一个的非线性计算单元的隐藏层来预测针对一组接收到的输入的输出的机器学习模型。可以出于各种目的以各种配置来提供DNN,并且继续开发以改进性能和预测能力。

后台架构可以包括生成式对抗网络(GAN),该生成式对抗网络涉及深度学习以生成与数据对象不可区分的新颖对象。有条件的GAN或受监督的GAN生成与特定条件相匹配的对象。

具有一种用于使用一个或更多个DNN生成满足条件的对象的计算机方法将是有利的,该一个或更多个DNN可以包括有条件的GAN或受监督的GAN。

发明内容

在一些实施例中,一种用于生成对象的方法可以包括:提供数据集,该数据集具有用于对象的对象数据和用于条件的条件数据;用对象编码器处理数据集的对象数据,以获得潜在对象数据和潜在对象-条件数据;用条件编码器处理数据集的条件数据,以获得潜在条件数据和潜在条件-对象数据;用对象解码器处理潜在对象数据和潜在对象-条件数据,以获得生成的对象数据;用条件解码器处理潜在条件数据和潜在条件-对象数据,以获得生成的条件数据;将潜在对象-条件数据与潜在条件-对象数据进行比较以确定差;用判别器处理潜在对象数据和潜在条件数据以及潜在对象-条件数据或潜在条件-对象数据中的一个,以获得判别器值;基于判别器值、对象-条件数据与条件-对象数据之间的差以及具有生成的对象的对象与具有生成的条件的条件之间的差,获得更好的潜在对象数据、潜在对象-条件数据或潜在条件-对象数据和/或潜在条件数据;基于所生成的潜在对象数据和来自给定条件的潜在条件-对象数据来获得对象(例如,选择选择的对象);获得所选择的对象的物理形式;以及验证所选择的对象的物理形式。

在一些实施例中,该方法可以包括:基于生成的对象的潜在对象-条件数据与潜在条件-对象数据之间的差,从所生成的对象数据中选择选择的对象;获得所选择的对象的物理形式;以及验证所选择的对象的物理形式。

在一些实施例中,计算机程序产品可以包括:非瞬态有形存储器设备,该非瞬态有形存储器设备具有计算机可执行指令,该计算机可执行指令在由处理器执行时使得执行方法,该方法可包括:提供数据集,该数据集具有用于对象的对象数据和用于条件的条件数据;用对象编码器处理数据集的对象数据,以获得潜在对象数据和潜在对象-条件数据;用条件编码器处理数据集的条件数据,以获得潜在条件数据和潜在条件-对象数据;用对象解码器处理潜在对象数据和潜在对象-条件数据,以获得生成的对象数据;用条件解码器处理潜在条件数据和潜在条件-对象数据,以获得生成的条件数据;将潜在对象-条件数据与潜在-条件数据进行比较以确定差;用判别器处理潜在对象数据和潜在条件数据以及潜在对象-条件数据或潜在条件-对象数据中的一个,以获得判别器值;基于判别器值和对象-条件数据与条件-对象数据之间的差来改变潜在对象数据、潜在对象-条件数据或潜在条件-对象数据和/或潜在条件数据;基于所生成的对象数据以及来自给定条件的潜在生成的条件-对象数据来获得选择的对象;以及在报告中提供所选择的对象,该报告具有用于验证对象的物理形式的建议。

在一些实施例中,由计算机程序产品执行的方法可以包括:基于生成的对象的潜在对象-条件数据与潜在条件-对象数据之间的差,从所生成的对象数据中选择选择的对象;获得所选择的对象的物理形式;以及验证所选择的对象的物理形式。

上述概述仅是说明性的并且不旨在以任何方式进行限制。除了以上描述的说明性方面、实施例和特征之外,通过参考附图和以下详细说明,更多的方面、实施例和特征将变得显而易见。

附图说明

前述和以下信息以及本公开的其他特征将从以下结合附图的描述和所附权利要求书变得更加显而易见。应理解的是,这些附图仅描绘了根据本公开的若干实施例,因此不被认为是对其范围的限制,将通过使用附图以附加特征和细节来描述本公开。

图1A示出了互信息对抗自动编码器(MIAAE)的实施例。

图1B示出了用于操作图1A的MIAAE的方法的实施例。

图2A示出了MIAAE的实施例。

图2B示出了用于操作图2A的MIAAE的方法的实施例。

图3示出了在选择用于进一步处理的选定对象时的操作的方法的实施例。

图4A示出了用于启动生成器步骤的方法的实施例。

图4B示出了用于启动判别器步骤的方法的实施例。

图4C示出了用于启动操作步骤的方法的实施例。

图5是针对固定条件的用于随机样本的各种模型(包括MIAAE)获得的图像。

图6示出了计算设备的实施例。

图7示出了用于转录组中的改变的条件编码器的架构。

图8A示出了潜在监督信息对抗自动编码器(LSAAE)的实施例。

图8B示出了解耦潜在监督信息对抗自动编码器(DLSAAE)的实施例。

根据本文中描述的这些实施例中的至少一个来布置附图的元件,并且可以根据本文中由本领域普通技术人员提供的公开来修改该布置。

具体实施方式

在下面的详细描述中,参考了形成其一部分的附图。在附图中,除非上下文另外规定,否则类似的符号通常标识类似的部件。在具体实施例、附图和权利要求书中描述的说明性实施例并不意味着是限制性的。在不脱离本文所呈现的主题的精神或范围的情况下,可以利用其他实施例,并且可以做出其他改变。将容易理解的是,如本文总体描述的且在附图中示出的本公开的各方面可以各种各样的不同配置来布置、替换、组合、分离和设计,所有这些在本文中被明确地预期。

自动编码器(AE)是在用于有效信息编码的无监督学习中使用的一种深度神经网络(DNN)。AE的目的是学习对象的表示(例如,编码)。AE包含编码器部分,该编码器部分是将来自输入层的输入信息变换成潜在表示的DNN,并且AE包括解码器部分,该解码器部分用具有与编码器的输入相同的维度的输出层来解码原始对象。通常,AE的使用是用于学习一组数据的表示或编码。AE学习将来自输入层的数据压缩成短代码,然后将该代码解压缩成与原始数据紧密匹配的某物。在一个示例中,原始数据可以是与靶蛋白相互作用的分子,由此AE可以设计不是原始分子集合的一部分的分子,或者从原始分子集合或其变型或衍生物中选择与靶蛋白相互作用(例如,与结合位点结合)的分子。

生成式对抗网络(GAN)是可以用于生成数据的结构化概率模型。可以使用GAN来生成类似于在其上训练GAN的数据集(例如,分子库)的数据(例如,分子)。GAN可以包括两个单独的模块,这两个单独的模块是被称为:(1)判别器和(2)生成器的DNN架构。判别器通过工作以将所生成的结果与原始示例进行比较来估计所生成的结果来自真实数据集的概率,并且判别器被优化以将所生成的结果与原始示例区分开。生成器基于原始示例输出所生成的结果。生成器被训练以生成与原始示例相比尽可能真实的结果。生成器试图改进其处于所生成的结果的形式的输出,直到判别器不能将所生成的结果与真实原始示例区分开。在一个示例中,原始示例可以是与蛋白质结合的分子的分子库的分子,并且所生成的结果是也可以与蛋白质结合的分子,不论所生成的结果是分子库中的分子的变型或其分子或其衍生物的组合。

对抗自动编码器(AAE)是使用GAN执行变化推断的概率性AE。AAE是基于DNN的架构,在该架构中,潜在表示经由判别器被迫遵循一些先验分布。

有条件的GAN(也称为受监督的GAN)包括被配置用于生成匹配特定条件的对象的基于GAN的架构的特定集合。在通常的有条件的GAN训练过程中,生成器和判别器均以相同的外部信息(例如,诸如结合的分子和靶蛋白对的对象和条件对)为条件,外部信息在结果生成期间使用。

在一个实施例中,有条件的GAN的施加条件由生成的与对象本身一样复杂的对象(例如,结果)来满足。DNN架构可以用于生成对人类细胞具有期望作用(例如,条件)的特定分子(例如,生成的对象或结果),或结合靶蛋白(例如,条件)的一个或更多个分子(例如,生成的对象或结果)。这些问题在药物发现领域是常见的。在两种情况下,条件(蛋白质,或在接受分子之前的细胞状态和在接受分子之后的细胞状态)至少与对象(药物的候选分子)本身一样复杂。

图1A示出了可以执行本文所描述的方法的DNN的架构100。如图所示,提供数据集110。例如,数据集110可以包括对象数据202(例如,分子、分子结构)和条件数据204(例如,与分子交互之前的细胞状态和与分子交互之后的细胞状态)。针对对象102标识对象数据202,并且针对条件104标识条件数据204。对象数据202被输入到对象编码器112中,该对象编码器112生成潜在对象数据202a和潜在对象-条件数据206a。条件数据202被输入到条件编码器114中,条件编码器114生成潜在条件数据204a和潜在条件-对象数据208a。可选地,潜在对象-条件数据206a可以与潜在条件-对象数据208a比较,以确保它们在某个容差阈值内相同或基本相同。可以定义容差阈值。通常,潜在对象-条件数据206a与潜在条件-对象数据208a几乎相同,因此这两者通常可以称为对象-条件数据206a。

在示例中,数据集110设置有三个部分,这三个部分可以诸如在行、列或其他关联方面彼此不同。这允许第一部分中的第一条目与第二部分中的第一条目和第三部分中的第一条目相关联。这将每个部分中的第一条目联系在一起。第一部分的第一条目可以是分子,第二部分的第一条目是细胞与分子相互作用之前的细胞状态(例如,先前细胞状态),并且第三部分的第一条目是与分子相互作用之后的细胞状态(例如,随后细胞状态)。因而,第一部分的条目被提供给对象编码器112,第二部分的条目和第三部分的条目被提供给条件编码器114。应当认识到,对象数据202和条件数据204可以采取诸如作为对象的分子和作为条件的蛋白质之类的其他形式,其中对象与蛋白质结合。

在一个选项中,数据解析器128可以被编程以将数据集110解析为对象数据202(例如,通过选择诸如第一列的第一部分)和条件数据204(例如,选择诸如第二和第三列的第二部分和第三部分)。

在一些实施例中,对象编码器112与条件编码器114分开操作,反之亦然。这允许两个编码器彼此独立地操作;然而,它们都产生潜在对象-条件数据206a和潜在条件-对象数据208a,潜在对象-条件数据206a和潜在条件-对象数据208a理想地是相同的。在理想模型中,对象-条件数据206a的向量和条件-对象数据208a的向量相同。

如图1A所示,潜在对象数据202a和潜在对象-条件数据206a被输入到对象解码器122中,并且潜在条件数据204a和潜在条件-对象数据208a(例如,与潜在对象-条件数据206a相同)被输入到条件解码器124中。对象解码器122产生生成的对象数据203,并且条件解码器124产生生成的条件数据205。生成的对象数据203通过对象损失模块150与对象数据202被一起处理,并且计算损失以确定数据生成器130(例如,分子生成器模型)执行得如何。较少的损失指示产生接近于对象数据202的生成的对象数据203的较高的数据生成器130性能。可以定义对象数据损失阈值,并且对象数据损失必须在预定对象数据损失阈值内,以便使数据生成器130被确定为充分操作。

类似地,通过条件损失模块152利用条件数据204处理生成的条件数据205,并且计算损失以确定数据生成器130(例如,条件生成器模型)执行得如何。较少的损失指示产生接近于条件数据204的生成的条件数据205的较高的数据生成器130性能。可以定义条件数据损失阈值,并且条件数据损失必须在预定条件数据损失阈值内,以便使数据生成器130被确定为充分操作。

在一些实施例中,利用距离比较器154将潜在对象-条件数据206a与潜在条件-对象数据208a进行比较,以便确定彼此间的距离。该距离还用于确定数据生成器130正在执行得如何。

可以关于相对阈值分析来自距离比较器154的距离数据以及来自对象损失模块150的对象数据损失和来自条件损失模块152的条件数据损失,以确定数据生成器130是否在可接受界限内操作。

在对象102是分子并且条件104是关于暴露于该分子的细胞的先前细胞状态和随后细胞状态的示例中,生成的对象数据203可以是分子结构或其分子库。类似地,生成的条件数据205可以是该分子或其数据库的先前细胞状态和随后细胞状态。生成的条件数据205的示例可以是在暴露于分子(或生成的对象数据203的分子库)之前和之后的转录组数据。

在一些实施例中,对象102包括分子结构的分布,并且条件104包括先前细胞状态和随后细胞状态的分布。数据生成器130的目标是在生成的对象数据203中生成一个或更多个分子,以便提供适合在对象102的分子结构的分布内的所生成的对象数据分子或分子分布。数据生成器130的另一目标是在生成的条件数据205中生成一个或更多个条件,以便提供适合在条件104的先前细胞状态和随后细胞状态的分布内的所生成的条件数据分布。

另外,图1A的判别器126可以被配置为接收潜在对象数据202a、潜在对象-条件数据206a(和/或条件-对象数据208a)以及潜在条件数据204a作为输入。判别器126计算单个数字,所述单个数字提供关于所生成的对象数据分布与对象102有多接近的指示和/或所生成的条件数据分布与条件104有多接近。判别器126可以将潜在对象数据202a、潜在对象-条件数据206a(和/或条件-对象数据208a)和潜在条件数据204a拉到一起,并且将其与对象数据202和/或条件数据204的分布进行比较。该比较可以针对对象数据202和/或条件数据204中的数据的标准正态分布。MIAAE模型包括关于N(0,I)对

在示例中,针对特定分布分析对象编码器112的输出和条件编码器114的输出。例如,对象信息(例如,潜在对象数据202a)的分布应当是标准正态分布。例如,通过对象编码器112处理所有分子(例如,对象数据202)以得到潜在对象数据202a,潜在对象数据202a包括以标准偏差分布方式分布的所生成的分子。判别器126执行数据处理以便确定所生成的分子(例如,潜在对象数据202a)是否在对象数据202的标准偏差分布内。这也是针对潜在条件数据204a完成的。可选地,这可以针对潜在对象-条件数据206a和潜在条件-对象数据208a来完成。这三个向量(例如,潜在对象数据202a、潜在条件数据204a和潜在对象-条件数据206a)被确定为就包含在对象102和条件104两者中的节点信息而言是独立的,应独立于且与仅涉及对象特定的对象102的信息分离,并且仅涉及条件特定的条件104。这也由判别器126确保。判别器126将来自对象编码器112和条件编码器114的潜在分布与来自对象102和条件104的分布(例如,标准分布)的样本进行比较。

在一些实施例中,分析生成的对象数据203的分子,并且选择符合条件标准的一个或更多个特定分子。然后,再用一个或更多个细胞进行测试以确定合成的分子是否实际上满足条件104之前,选择和合成所选择的一个或更多个分子。

在一些实施例中,架构100是可以在计算机或计算系统中实现的计算机模型。该模型被配置成根据先前细胞状态和随后细胞状态生成具有适当的转录响应的分子。一旦连同转录数据一起生成一个或更多个分子,则该模型可以根据所需的任何轮廓对这些分子进行分类。特定先前细胞状态和随后细胞状态可以被优先化,然后选择并合成具有与先前细胞状态和随后细胞状态轮廓匹配的轮廓的分子。照此,可以是软件模块的对象选择器160(例如,分子选择器)选择用于合成的至少一个分子。然后,将所选择的分子提供给对象合成器162。围绕判别器126、生成的对象数据203、生成的条件数据205、对象损失模块150和条件损失模块152的虚线框可以用于促进对象选择器160的操作。然后,将所选择的对象(例如,分子)提供至对象合成器162(例如,分子合成器),然后,合成所选择的对象(例如,所选择的分子)。然后将合成的对象(例如,分子)提供给对象验证器164(例如,分子验证器),对象验证器164测试对象以查看其是否满足条件104。例如,可以利用活细胞培养物或其他验证技术来测试作为分子的合成对象,以便验证合成分子满足条件104。

根据图1A,设计方法170可以包括提供数据集110,数据集110具有用于对象102的对象数据202(对象数据202)和用于条件104的条件数据204(条件数据204)(步骤172)。可选地,数据集110可以包括针对对象和条件106的组合的对象-条件数据206a和/或条件-对象数据208a(对象-条件数据206a和/或条件-对象数据208a),如图2A所示。

方法170可以包括用对象编码器112处理数据集110的对象数据202,以获得潜在对象数据202a和潜在对象-条件数据206a(步骤174)。另外,方法170可以包括用条件编码器114处理数据集110的条件数据204,以获得潜在条件数据204a和潜在条件-对象数据208a(步骤176)。

方法170可以包括用对象解码器122处理潜在对象数据202a和潜在对象-条件数据206a,以获得所生成的对象数据203(步骤178)。另外,方法170可以包括用条件解码器124处理潜在条件数据204a和潜在条件-对象数据208a,以获得生成的条件数据205(步骤180)。

该方法可以包括用对象损失模块150将生成的对象数据203和对象数据202进行比较(步骤182)。在这种比较期间,可以计算从对象数据202到生成的对象数据203的损失(步骤182a)。所计算的损失可以与损失阈值进行比较(步骤182b)。然后,可以诸如用对象选择器160选择生成的对象数据203的所生成的对象(步骤184),其中,所选择的对象是小于阈值的生成的对象。这可以包括选择选择的生成的对象数据,选择的生成的对象数据小于生成的对象数据203和对象数据202之间的阈值对象差(步骤184)。

在一些实施例中,该方法可以包括用条件损失模块152将生成的条件数据205和条件数据204进行比较(步骤186)。在这种比较期间,可以计算从条件数据204到生成的条件数据205的损失(步骤186a)。可以将所计算的损失与损失阈值进行比较(步骤186b)。然后,可以诸如用条件选择器来选择生成的条件数据205的所生成的条件(步骤188),其中,所选择的条件是小于阈值的生成的条件。这可以包括选择选择的生成的条件数据,选择的生成的条件数据小于生成的条件数据205与条件数据204之间的阈值条件差(步骤188)。

当选择了所选择的生成条件时,则标识并选择相应的生成的对象(步骤190)。

一旦选择了生成的对象(步骤184和/或步骤190),则方法170包括验证所选择的对象(步骤192)。可以如本文所述执行验证。当对象是分子时,验证可以包括合成,然后用活细胞进行测试。

图2A示出了可以执行本文描述的方法的DNN的架构200。DNN的架构200可以包括数据解析器128,该数据解析器128可以被配置成解析数据集110的数据,该数据集110的数据可以被分成对象数据202(例如,仅对象数据)、条件数据204(例如,仅条件数据)和对象-条件数据206。对象102可以由对象数据202和对象-条件数据206来定义。条件可以由条件数据204和对象-条件数据206来定义。对象-条件数据206可以被定义为对象-条件106或条件-对象108,其可以仅包括对象-条件数据206或对象数据202和对象-条件数据206的组合或条件数据204和对象-条件数据206的组合。对象-条件106可以基本上与条件-对象108相同。

DNN的架构200还可以包括数据生成器130,该数据生成器130包括被配置成生成潜在对象数据202a和潜在对象-条件数据206a的对象编码器112。数据生成器130还可以包括条件编码器114,条件编码器114被配置为生成潜在条件数据204a和潜在条件-对象数据208a。潜在对象-条件数据206a在容差或所定义的差阈值内可与条件-对象数据208a相同或大致相同,其中潜在对象-条件数据206a和条件-对象数据208a之间的差可以仅为哪个编码器(例如,对象编码器112或条件编码器114)执行计算和建模。

对象编码器112和/或条件编码器114可以被配置为自动编码器(AE),并且可以学习对象102或条件104的表示并且将数据转换为潜在表示。

数据生成器130还可以包括对象解码器122和条件解码器124,对象解码器122生成生成的对象数据203,条件解码器124生成生成的条件数据205。在一些实例中,对象解码器122和/或条件解码器124可以生成生成的对象-条件数据207和/或生成的条件-对象数据209。

对象解码器122和/或条件解码器124可以经配置以处理潜在表示以便生成生成的数据(例如,生成的对象数据203、生成的条件数据205等)。生成的数据可以尽可能地接近数据集110的数据。

DNN的架构200还可以包括判别器126,判别器126可以被配置成分析生成的对象数据203和/或生成的条件数据205。可选地,判别器126可以经配置以分析生成的对象-条件数据207和/或生成的条件-对象数据209。判别器126可以被配置(例如,编程)为执行各种分析,诸如:将生成的对象数据203与对象数据202进行比较;将生成的条件数据205与条件数据204进行比较;或将生成的对象-条件数据207或生成的条件-对象数据209与对象-条件数据206进行比较。判别器126可以经配置以估计生成的数据(例如,生成的对象数据203、生成的条件数据205、生成的对象-条件数据207或生成的条件-对象数据209)与数据集110的源数据(无论是经解析还是未经解析)相同或在标准偏差内的概率。

应认识到,数据解析器128、数据生成器130和判别器126可以被配置为计算系统或个人计算机,诸如图6中所示。照此,每个可以是唯一的计算机、组合到计算机中、或者分布在计算机网络(诸如云计算机网络)上。因此,每个都可以包括计算机的部件。

而且,图1A的各方面(诸如对象损失模块150、条件损失模块152、对象选择器160、对象合成器162和对象验证器164)包括在图2A中,图2A可以如本文所述进行操作。

DNN的架构200可以用于本文描述的方法中。

图2B示出了用于设计输出对象102和输出条件104的设计方法270的示例,输出对象102和输出条件104可以在分布内类似于输入对象102和输入条件104。照此,输出对象102可以基本上类似于输入对象102或输入对象102的分布,并且输出条件104可以基本上类似于输入条件104。该目的可以是输出针对输入的条件起作用。

设计方法270可以包括:提供数据集110,数据集110具有用于对象102的对象数据202(对象数据202)、用于条件104的条件数据204(条件数据204)以及用于对象和条件106的组合的对象-条件数据206和/或条件-对象数据208(对象-条件数据206和/或条件-对象数据206)(步骤210);用对象编码器112处理数据集110的数据,以获得潜在对象数据202a和潜在对象-条件数据206a(步骤220);用条件编码器114处理数据集110的数据,以获得潜在条件数据204a和潜在条件-对象数据208a(步骤230);用对象解码器122处理潜在对象数据202a和潜在对象-条件数据206a,以获得生成的对象数据203(步骤240);用条件解码器122处理潜在条件数据204a和潜在条件-对象数据208a,以获得生成的条件数据205(步骤250);执行以下中的至少一个:将生成的对象数据203与对象数据202进行比较(步骤260);以及选择所选择的生成的对象数据203,所选择的生成的对象数据203小于生成的对象数据203和对象数据202之间的阈值对象差(步骤280);或者将生成的条件数据205与条件数据204进行比较(步骤270);以及选择所选择的生成的条件数据205,所选择的生成的条件数据205小于生成的条件数据205与条件数据204之间的阈值条件差(步骤290);选择所选择的对象203,所选择的对象203与所选择的生成的对象数据相对应或者与所选择的生成的条件数据205相对应(步骤310);以及验证所选择的对象(步骤312),如图3所示。

在一些实施例中,方法270可以可选地包括用对象解码器122处理潜在对象数据202a和潜在对象-条件数据206a,以获得生成的对象-条件数据207(步骤242);以及用条件解码器124处理潜在条件数据204a和潜在条件-对象数据208a,以获得生成的条件-对象数据209(步骤252)。方法270可以包括执行以下中的至少一个:将生成的对象-条件数据207与对象-条件数据206进行比较(步骤262);以及选择所选择的生成的对象-条件数据,所选择的生成的对象-条件数据小于生成的对象-条件数据207与对象-条件数据206之间的阈值对象-条件差(步骤282);或将生成的条件-对象数据209与条件-对象数据208进行比较(步骤272);以及选择所选择的生成的条件-对象数据,所选择的生成的条件-对象数据小于生成的条件-对象数据209与条件-对象数据208之间的阈值条件-对象差(步骤292)。接着,方法270包括选择所选择的对象203b,所选择的对象203b与所选择的生成的对象-条件数据207a相对应或与所选择的生成的条件-对象数据209a相对应(步骤310);以及验证所选择的对象203b(步骤312),如图3所示。

在一些实施例中,该方法(诸如170或270或其他)可以包括:获得用于所选择的对象203的物理对象(步骤314);以及用条件104测试物理对象(步骤316),如图3所示。而且,在任何方法中,物理对象的获得可以包括合成、购买、提取、精炼、导出或以其他方式获得物理对象中的至少一个(步骤314a)。物理对象可以是分子或其他。该方法可以包括涉及测定细胞培养物中的物理对象的测试(步骤316a)。该方法还可以包括通过基因分型、转录组分型、3D映射、配体-受体对接、扰动前后、初始状态分析、最终状态分析或其组合来测定该物理对象(步骤316b)。为所选择的生成的对象203准备该物理对象通常可以包括当该物理对象是新的分子实体时的合成。因而,该方法可以包括选择生成的对象,该生成的对象不是数据集110的一部分或对象数据202。

在一些实施例中,初始数据集可以用作本文描述的用于系统(例如,图1A、图2B等)的输入。数据集可以包括来自LINCS L1000项目的转录组数据集。该数据集包含关于以特定剂量添加分子之前(例如,先前细胞状态)和之后(例如,随后细胞状态)的细胞状态的信息。在数据集内,每种细胞状态可以由一组基因表达谱表示。基因表达谱是基因组测量,其显示在测量时基因是否存在于细胞内(例如,先前细胞状态或随后细胞状态)。这些基因表达谱可以含有数百到数千个基因。在LINCS L1000项目内,存在对应于应用于不同类型的细胞的不同分子的情况的各种数据集。在分子的每种情况下,数据集给出关于分子对总体细胞状态(例如,先前细胞状态、转变细胞状态和随后细胞状态)的影响的信息。

对于每种细胞系,该训练数据集包含重复的实验。训练数据集中的每个条件的特征在于分子的标记、分子的摩尔浓度、添加分子之前的细胞状态以及已经添加分子并且细胞状态已经经历扰动之后的细胞状态。该数据可用于训练对象编码器112和条件编码器114。

该系统使用两种类型的输入。第一输入是分子(例如,对象),第二输入是分子被添加到细胞(例如,条件)之前(例如,先前细胞状态)和之后(例如,随后细胞状态)的细胞状态的转录组测量。这些数据被组织为一组分子条件对,其中,该条件包括该分子的特定剂量以及在与该分子反应之后的先前细胞状态以及随后细胞状态。为了提取相关特征,设计了特定的编码器架构,诸如对象编码器112和条件编码器114。

当本文描述的基于DNN的方法用于任务(诸如新的分子设计和分子特征提取)时,药物类分子结构可以使用诸如SMILES(简化分子线性输入规范)形式的字符串表示。

本文中(如在图1A和2A中)呈现的架构设计可以被称为“互信息对抗自动编码器”(MIAAE),其是一种改进的条件AAE系统,该条件AAE系统具体地解决当条件是复杂对象并且条件包含不相关信息时的情况。具体地,MIAAE提取在条件和对象之间共享的信息以及它们相互独立的信息。这种提取的信息可以用来生成可以起作用以满足条件的新分子。

MIAAE通过迫使架构的模型(例如,100或200)将由对象编码器112和条件编码器114创建的对象和条件的潜在表示分成以下三个部分而显式地解耦数据集中的共享信息:共同部分(例如,潜在对象-条件数据206a),以及两个分开的部分(例如,潜在对象数据202a和潜在条件数据204a),其中,所有三个部分相互独立。由于MIAAE学习适当地提取各种信息,因此能够将无用和有用的信息解耦以用于条件生成。

MIAAE被设计为一种新颖的系统,该系统旨在应用于涉及给定指定的复杂条件(例如,在暴露于分子之前和之后的细胞状态)下有条件地生成复杂对象(例如,分子)的一般问题。关于对象和条件的信息被设置为成对的数据集(例如,对象、条件)。架构100、200的特定特征是处理问题的能力,其中,假定对象和条件两者具有一定水平的复杂性,如在分子和响应于该分子的改变的细胞状态的情况下。

如图所示,模型(例如,架构100、200)的数据生成器130由两对编码器-解码器构成。作为对象编码器112的第一编码器产生对象的潜在表示(例如,潜在对象数据202a和潜在对象-条件数据206a)。对象的潜在表示被分成两个部分:(1)潜在对象数据202a是对应于仅对对象特定的信息(例如,具有相同结合性质的分子的不同变型)的第一部分,仅对对象特定的信息排除关于条件的所有信息;以及(2)潜在对象-条件数据206a是对应于对象与条件之间的共同信息的第二部分。潜在对象-条件数据206a包含关于哪些分子可以结合至蛋白质的哪个结合位点,诸如以便影响细胞状态的变化的共享信息。作为条件编码器114的单独的第二编码器执行相同类型的任务,但是用于生成条件的潜在表示(例如,潜在条件数据204a和潜在条件-对象数据208a)。用于条件的潜在表示的信息也被分成两部分:(1)潜在条件数据204a是对应于仅对条件特定的信息(例如,除了其结合位点之外的关于蛋白质的所有信息)的第一部分;以及(2)潜在条件-对象数据208a是包含条件和对象之间的共享信息的第二部分。可选地,潜在对象-条件数据206a与潜在条件-对象数据208a相同,或者在差异阈值内。这些编码器可生成对象和条件的潜在表示。这引起3种类型的变量:对应于对“x”特定的信息的变量1,其中,变量1应该包含除了其结合位点之外的关于蛋白质的所有信息;对应于对“y”特定的信息的变量2,其中,变量2表示关于具有相同结合性质的分子的不同变型的信息;以及对应于“x”与“y”之间共有的信息的变量3,其中,变量3包含关于哪些分子可以结合至蛋白质的哪个结合位点的共有信息。

解码器(诸如对象解码器122和条件解码器124)使用由对象编码器112和条件编码器114产生的潜在表示。对象解码器122尝试在给定条件104的情况下使用对象的潜在表示(潜在对象数据202a)来重构原始对象102,而条件解码器124使用由条件编码器114提供的条件的潜在表示(潜在条件数据204a)来执行类似的任务。

模型的另一部分是判别器126。此判别器126充当用于潜在表示的分布(例如,潜在对象数据202a的分布和/或潜在条件数据204a的分布)的规则化器。判别器126使潜在对象数据202a的条件分布类似于某一预定的先前分布,例如,对象数据202的标准正态分布。

当执行本文描述的方法时,该模型应满足以下目标。变量3(例如,潜在对象-条件数据206a和潜在条件-对象数据208a)可从条件104和对象102两者获得,并且由此第一目标迫使对应的两个潜在表示(例如,潜在对象-条件数据206a和潜在条件-对象数据208a)尽可能彼此接近。对象的生成器(其为对象解码器122)应能够在从对象编码器112和条件编码器114两者接收对象的潜在表示(例如,潜在对象数据202a)和共享信息的潜在表示(例如,潜在对象-条件数据206a)作为输入的同时正确地重构对象102。条件的生成器(其为条件解码器124)应能够在从对象编码器112和条件编码器114两者接收对象的潜在表示(例如,潜在条件数据204a)和共享信息的潜在表示(例如,潜在对象-条件数据206a)作为输入的同时正确地重构条件104。

在一个实施例中,架构可以是单个算法(例如,模型)或者每个部件可以是单独的算法。算法的输入是包含对象102(例如,对象数据202)和条件104(例如,条件数据204)的表示的数据对的数据集。在示例中,对象102是被表示为SMILES格式的字符串的分子。条件被表示为基因表达谱的一对多维向量(例如,先前细胞状态和随后细胞状态)。这些向量的组成部分对应于特定基因的表达。第一向量对应于给予该分子之前的细胞状态(例如,先前细胞状态),并且第二向量对应于自给予该分子起过去24小时之后的细胞状态(例如,随后细胞状态)。

模型或架构100、200包含神经网络的五个组成部分:对象编码器112;条件编码器114;对象解码器122;条件解码器124;以及判别器126。对于SMILES表示,该模型可以使用用于对象编码器112和对象解码器122的长短期记忆网络(LSTM)或门控循环单元(GRU)细胞形式的多层循环神经网络(RNN)。对于基因表达谱,该模型可以使用完全连接的神经网络作为条件编码器114和条件解码器124以及判别器126。因此,这些神经网络可以鉴于具有本文所提供的描述的现有技术来准备。

可以用训练数据集来训练包括神经网络的模型,以便能够执行本文中所描述的操作。训练过程包括交替执行的两个步骤:(1)生成器步骤;和(2)判别器步骤。使用优化方法在每次更新时针对一个优化步骤优化单独的目标函数。Adam优化器是示例。当模型(例如,对象损失模块150和/或条件损失模块152)损失收敛或达到最大迭代次数(其可被定义)时,训练被终止。照此,迭代可被用于用训练数据集来训练神经网络。该训练过程的结果是生成模型(诸如数据生成器130),该生成模型能够产生近似匹配指定条件(例如,先前细胞状态和随后细胞状态)的新对象(例如,新分子)。

数据生成器130可以如本文所描述的并且在图4A中所示的在生成器步骤中使用。生成器步骤可以如下执行。步骤1a和步骤1b的执行是同时且独立地执行的。步骤1a可以包括对象表示(由“x”表示),该对象表示作为输入被传递至对象编码器112以便获得潜在表示,该潜在表示是一对多维向量z

图4示出了同时并且独立地执行步骤2a和步骤2b。步骤2a包括对

对于步骤2b,对于向量对

在步骤3中,依据距离测量(例如,欧氏距离),诸如由距离比较器154计算z

在步骤4中,三元组向量

计算损失函数L

在步骤5中,用预定义的权重w

步骤6包括优化步骤,该优化步骤经执行以关于对象编码器112、条件编码器114、对象解码器122和条件解码器124的参数最小化L

在生成器步骤之后,可以执行判别器步骤,如图4B所示。在执行来自生成器步骤的步骤1a和步骤1b之后,执行步骤7,产生获得的多维向量z

在步骤9中,从称为参考分布的预定义的多维分布中采样三元组

在步骤10中,将损失函数L

在步骤11中,应用优化器步骤以关于判别器126的参数最小化L

图4C示出了可以执行操作以产生具有指定条件的新对象(例如,新分子)。可以如下启动操作以产生近似满足条件“y”的对象,执行以下步骤。在步骤12中,执行来自生成器步骤的步骤1b,产生获得的多维向量z

本文提供的方法可以在计算机上或在(诸如图6中例示的)任何计算系统中执行。照此,计算机可以包括生成对抗网络,当诸如条件的已知外部变量影响和改善生成和解码时,该生成对抗网络适于对象(例如,生成的对象)的有条件生成。当数据由复杂对象对(例如,具有复杂条件的受监督数据集)组成时,计算系统可以创建复杂对象,该复杂对象与满足数据的复杂条件的数据的复杂对象类似。计算系统可以处理本文所描述的模型,该模型基于学习三个独立潜在表示的对抗自动编码器架构:(1)仅对象信息;(2)仅条件信息;以及(3)对象与条件之间的共同信息。可以用有噪声的MNIST数据集来验证或训练该模型,其中共同信息是数字,然后将该训练应用于生成对细胞具有所期望的影响的分子的指纹的实际问题。另外,模型能够在对象和条件之间进行度量学习而无需负采样。

条件通常表示目标变量,诸如分类问题中的类别标记。在示例中,条件“y”本身是复杂对象。例如,药物发现用于标识或生成对人细胞具有所期望作用的特定分子,或用于标识或生成结合一些蛋白质的分子。在两种情况下,条件(蛋白质)远比对象(药物的候选分子)本身更复杂。本文所描述的模型(诸如MIAAE模型)可以应用于两个对象对(x,y)的任何数据集,其中“x”和“y”是两个相关的复杂对象,而不必是对象和条件。然而,为了描述本技术,条件被用于对象,但是应当理解,条件可以是不同的第二复杂对象。该模型基于使用GAN框架使潜在变量分布成形的AAE。MIAAE模型显式地解耦对象和条件的共享信息,迫使模型将对象和条件的潜在表示分成共同部分“z”和两个分开的部分“z

该模型包括执行对象数据和条件数据的分解以获得潜在表示数据的编码器。潜在表示数据适于由生成器有条件得生成生成的对象和生成的条件,并且还可适于在对象和条件之间的度量学习中使用。将对象和条件分解成潜在表示数据有助于更好地提取针对下游任务的相关特征,这对于复杂条件和在缺少数据的情况下是重要的。当“z

如本文所使用的,该模型包括编码器E

执行编码器112、114和解码器122、124的重构损失,并且定义对抗部分:

MSE损失将z

MIAAE模型的结果操作为:

距离度量可以用于基于编码z

MIAAE模型可以具有用于似然最大化问题的变量推理方法的放松:maxθlogp(x,y|θ)。变化下界logp(x,y)≥-KL(q(z|x,y)||p(z))+Eq

D是判别器126。理想地,q是:

δ是δ函数:

因此,潜在表示E

因子

这里,q=q(z|x,y),其中,前两项表示加权

在一些实施例中,一种用于生成对象的方法可以包括:提供具有用于对象的对象数据和用于条件的条件数据的数据集;用对象编码器处理数据集的对象数据,以获得潜在对象数据和潜在对象-条件数据;用条件编码器处理数据集的条件数据,以获得潜在条件数据和潜在条件-对象数据;用对象解码器处理潜在对象数据和潜在对象-条件数据,以获得生成的对象数据;用条件解码器处理潜在条件数据和潜在条件-对象数据,以获得生成的条件数据;将潜在对象-条件数据与潜在-条件数据进行比较以确定差;用判别器处理潜在对象数据和潜在条件数据以及潜在对象-条件数据或潜在条件-对象数据中的一个,以获得判别器值;基于生成的对象数据、生成的条件数据、潜在对象-条件数据与潜在条件-对象数据之间的差,从生成的对象数据中选择所选择的对象;以及鉴别值;获得所选择的对象的物理形式;以及验证所选择的对象的物理形式。

在一些实施例中,该方法可以包括基于判别器值和对象-条件数据与条件-对象数据之间的差来改变潜在对象数据、潜在对象-条件数据或潜在条件-对象数据和/或潜在条件数据。该方法还可以包括基于所生成的对象数据和来自给定条件的潜在条件-对象数据来获得对象(例如,选择所选择的对象)。变化的潜在数据是指使用判别器值的训练过程。在生成过程中,没有判别器值,并且所生成的对象仅取决于采样的潜在对象表示和我们从条件得到的特定的潜在条件-对象表示。

在一些实施例中,该方法可以包括基于以下各项中的至少一个从所生成的对象数据中选择所选择的对象:生成的对象数据、生成的的条件数据、潜在对象-条件数据与潜在条件-对象数据之间的差、以及判别器值。对象和条件数据是明确已知的。潜在数据是未知的并且不是固定的。通常,潜在数据被称为潜在表示,该潜在表示仅是数字。然而,当与对象或条件数据进行比较时,这些数字在训练过程期间改变。存在本文描述的模型和方法试图找到的一些理想的潜在表示数据。

在一些实施例中,在生成过程(例如,获得基于条件的生成的对象)中,不存在在生成中使用的判别器值或差。生成过程依赖于训练过程,生成过程包括计算差和使用判别器。

在一些实施例中,从生成的对象中选择一个所选择的对象可以基于生成的对象的潜在对象-条件数据与潜在条件-对象数据之间的差来完成。

在一些实施例中,该方法可以包括:将生成的对象数据与对象数据进行比较;以及选择所选择的生成的对象数据,该所选择的生成的对象数据小于生成的对象数据与对象数据之间的阈值对象差。

在一些实施例中,该方法可以包括:将生成的条件数据与条件数据进行比较;以及选择所选择的生成的条件数据,该所选择的生成的条件数据小于生成的条件数据与条件数据之间的阈值条件差。

在一些实施例中,该方法可以包括:选择与所选择的生成的对象数据相对应或与所选择的生成的条件数据相对应的所选择的对象。

在一些实施例中,该方法可以包括:准备所选择的对象的物理形式;以及用条件测试物理对象。

在一些实施例中,该方法可以包括:所选择的对象的物理形式的获得包括以下各项中的至少一项:合成、购买、提取、精炼、导出或以其他方式获得物理对象;和/或测试包括测定细胞培养物中所选择的对象的物理形式;和/或通过基因分型、转录组分型、3D映射、配体-受体对接、扰动前后、初始状态分析、最终状态分析、或其组合来测定所选择的对象的物理形式。

在一些实施例中,该方法可以包括:同时且独立地执行用对象编码器的处理和用条件编码器的处理;和/或同时且独立地执行用对象解码器的处理和用条件解码器的处理。

在一些实施例中,潜在对象-条件数据与潜在条件-对象数据之间的差是潜在对象-条件数据与潜在条件-对象数据之间的欧氏距离的潜在偏差损失L

在一些实施例中,该方法可以包括:将潜在对象数据定义为L

在一些实施例中,潜在对象-条件数据基本上等于潜在条件-对象数据。

在一些实施例中,该方法可以包括:假定对象是复杂的;以及假定条件是复杂的。

在一些实施例中,该方法可以包括数据集代表对(x,y)的对数据集,其中,对象是x,条件是y,对数据集包括:对应于特定于x并且由此特定于对象的数据的变量z

在一些实施例中,该数据集包括分子-蛋白质结合的数据,z

在一些实施例中,该数据集包括:用于分子的数据、与分子相互作用之前的细胞状态以及与该分子相互作用之后的细胞状态;z

在一些实施例中,所选择的对象是分子,物理形式的获得包括合成该分子,以及验证包括:在与分子相互作用之前获得细胞的转录组数据;以及在与分子相互作用之后获得细胞的转录组数据。

在一些实施例中,该方法可以包括确定分子是否满足条件。

在一些实施例中,该方法可以包括确定分子与对象数据中的一个或更多个分子是相似的;以及确定该分子具有与条件数据中的一个或更多个分子相似的活性。

在一些实施例中,该方法可以包括:确定分子不同于具有其他作用机制的其他分子。

该方法还可以用各种其他步骤或子步骤来执行。在一些方面中,该方法可以包括选择有用的对象数据、有用的条件数据和有用的对象-条件数据和/或有用的条件-对象数据。在一些方面,经编码的对象-条件数据基本上等于经编码的条件-对象数据。在一些方面,该方法可以包括:假定对象是复杂的;以及假定条件是复杂的。

在一些方面,数据集110是用于对象102和条件104的对数据集,数据集110具有:仅与对象102相关的对象数据202;仅与条件104相关的条件数据204;以及与对象102和条件104相关的对象-条件数据206和/或条件-对象数据208。

在一些方面,数据集110是用于对象102和条件104的对数据集110,数据集110具有:仅与对象102相关而与条件104无关的仅对象数据;以及仅与条件104相关而与对象102无关的仅条件数据。

在一些方面,数据集110是对(x,y)的对数据集,其中,对象102是“x”并且条件104是“y”,对数据集包括:作为对应于特定于x并由此特定于对象102的数据的变量z

在一些方面,z

在一些实施例中,数据集110包括用于分子-蛋白质结合的数据。在一些方面,该方法可以包括配置对象解码器122,该对象解码器122生成与给定蛋白质结合的分子。在一些方面,该方法可包括配置条件解码器124,该条件解码器124生成给定分子的蛋白质。

在一些方面,该方法可包括:处理数据集110以提取对象数据202和对象-条件数据206和/或条件-对象数据208;以及处理数据集110以提取条件数据204和条件-对象数据208和/或对象-条件数据206。在一些方面,该方法可包括:处理数据集110以解耦经编码的对象数据和经编码的对象-条件数据和/或来自经编码的条件数据的经编码的条件-对象数据;以及处理数据集110以解耦经编码的条件数据和经编码的条件-对象数据和/或来自经编码的对象数据的经编码的对象-条件数据。

在一些实施例中,该方法可包括:将经编码的对象-条件数据与经编码的条件-对象数据进行比较;以及确定经编码的对象-条件数据206a和经编码的条件-对象数据208a大致相同,当相同时,处理经编码的对象-条件数据。

在一些实施例中,该方法可以包括:处理经编码的对象数据以提取无用的对象数据以及提取有用的对象数据;处理经编码的条件数据以提取无用的条件数据以及提取有用的条件数据;以及处理经编码的对象-条件数据和/或经编码的条件-对象数据,以提取无用的对象-条件数据和/或无用的条件-对象数据,以及提取有用的对象-条件数据和/或有用的条件-对象数据。

在一些实施例中,该方法可以包括:丢弃无用的对象数据、无用的条件数据、以及无用的对象-条件数据和/或无用的条件-对象数据。在一些方面中,该方法可以包括:选择有用的对象数据、有用的条件数据、以及有用的对象-条件数据和/或有用的条件-对象数据。

另外,该模型可以如本文所描述的方式修改或利用本领域普通技术人员的知识修改。在一个方面,可以使用不同的方法来促进三元组

示例

首先,在有噪声的MNIST数据集上对模型进行验证,有噪声的MNIST数据集包含具有仅被添加到一个的噪声和旋转的相同数字的成对图像;两个对象之间的共同信息仅是数字身份。模型不使用标记,而是用于评估。我们关于条件生成质量方面比较模型。条件是有噪声的图像,并且对象是相同数字的干净图像,不一定具有相同的风格或倾斜。期望模型从条件和具有正确标记的样本对象中提取标记信息。训练-验证-测试分割部分分别包含50K、10K和10K样本。我们将批量大小设置为64,学习速率设置为0.0005,并使用Adam优化算法,其中针对判别器对三个批量进行更新。

编码器和解码器架构对于所有模型都是相同的:|z

TMIAAE是经修改的MIAAE模型,经修改的MIAAE模型将负采样和三元组损失添加到目标函数中。DLSAAE是经修改的模型,该经修改的模型用解耦扩展LSAAE以提供解耦的潜在受监督对抗自动编码器。LSAEE是潜在受监督对抗自动编码器。

图8A中示出了LSAAE 800a的实施例。LSAAE中的一些类似于图1A中的MIAAE,直到对象编码器,对象编码器产生潜在对象数据802和潜在条件数据804。潜在对象数据802和潜在条件数据804被提供给产生生成的对象数据803的对象解码器822。条件解码器824仅接收潜在条件数据804作为输入并提供生成的条件数据805。判别器126接收潜在对象数据802作为唯一输入,由此判别器126为N(0,I)对z

图8B中示出了DLSAAE 800b的实施例。DLSAAE中的一些类似于图1A的MIAAE,直到对象编码器,对象编码器112产生潜在对象数据802a,并且条件编码器114产生潜在条件-对象数据808和潜在条件数据804a。潜在对象数据802a被提供给对象解码器122和判别器126。潜在条件-对象数据808被提供给对象解码器112、判别器126和条件解码器124。潜在条件数据804a被提供给条件解码器124和判别器。判别器126是

表1:有噪声的MNIST生成

表2:互信息估计

表2:互信息估计

结果示于表1中。在普通MNIST图像上训练数字分类器。基于对生成的图像(每个示例10个)的预测,提供准确性和负对数似然(NLL)的报告。另一种方法是使用学习噪声图像和真实图像之间的共同度量的三元组模型。在潜在空间中,条件与生成的对象之间的MSE是生成质量的良好估计,因为方案使用具有正确数字的真实图像的负采样。此外,用互信息神经估计器(MINE)对z

表2示出了分类器对测试数据的MINE和NLL的估计下界。MIAAE和TMIAAE包含较少的关于数字身份的信息,并且基于NLL,DLSAAE在z

在已经验证了关于已知共同信息的合成问题的MIAAE之后,我们在关于用于分子生成的更逼真的数据集方面比较本文描述的模型。分子用MACCS指纹、二进制166维向量表示。该模型使用标准二元交叉熵作为重构损失,但最终目标是优化药物发现中常用的Tanimoto相似性系数;对于二进制向量,其与Jaccard相似性一致:

T(m

其中,m

表3:LINCS L1000数据集细节

表4:超参数的选择

表5:外部验证分子

该训练使用来自LINCS L1000项目的转录组数据集,该数据集包含在细胞与分子以给定剂量反应之前和反应之后的细胞状态的测量。细胞状态表示为基因表达谱。存在若干细胞类型(称为细胞系),并且实验数据保证每个细胞系内的细胞恰好相同,诸如来自一个人的乳腺癌细胞。因此,这些数据由应用于不同细胞系的分子的若干数据集组成。

对于每种细胞系,该训练集包含以四元组(m,η,{cs

实验的重复和对照细胞的丰度已经导致显著的数据增加。由于模型对于每个实验具有若干对(cs

模型训练-验证-测试分割确保分子不相交。该模型为已标记的数据集使用批量大小64,为未标记的数据集使用批量大小512。该模型使用具有学习速率0.0001的Adam优化器。当可能时,对于所有模型使用相同的参数和架构。在表4中示出了概述所得超参数的数据。该模型对于受监督和无监督的数据使用不同的判别器,并且交替地执行受监督和无监督的批次。为了从复杂条件(η,,cs

该模型使用每种细胞系的已知有效分子来验证条件生成。这些分子具有不同的作用机制,因此该方案可以选择具有相同影响的一组分子:特定蛋白质的抑制。该条件是从数据集中的已知基因抑制剂获得的细胞状态改变。人们预期该条件的生成将产生具有相同作用、与已知抑制剂相似或含有已知抑制剂、并且与其他不相关药物较不相似的新分子。表5示出了测试数据集的细节,其中,该方案选择每个细胞系的最常见的基因抑制剂组。该方案还获得来自DrugBank的批准药物的额外6766个指纹以算作为非相关药物。因此,对于每种细胞系,该模型具有特定抑制剂Mi和其他药物Mo的组。Mo含有作用机制不同但对细胞系有效的药物。该模型针对来自抑制剂的条件生成分子G,因此该方案定义以下度量以评估C和Mi如何相似:(1)AUC

该过程将抑制剂从训练中排除并且针对每种细胞系生成10

表6:外部验证结果

可以对对象-条件对应体进行排序。对于在有噪声的MNIST和LINCS数据集上获得的排序质量,期望三元组模型提供最佳质量的度量学习。方案分别由锚点与正或负示例之间的MSE+和MSE-距离来表示。对于每个对象-条件对,该模型从相同的分布随机地对负对象进行采样,并且MSE+小于MSE-意味着该对被正确地排序。方案定义两个排序质量度量:(1)Q

在表7中排序的实验结果揭示了相同的模式:通过Q

表7:排序质量Q

本文描述的模型的实施例生成如通过满足指定条件而验证的分子。作为条件,该方案在实施抑制特定蛋白质的分子之前和之后使用基因谱。目标将示出生成的分子与已知的抑制剂(不存在于训练数据集中)相似并且不同于具有其他作用机制的分子。

该方案使用称为MACCS指纹的166维二进制向量作为分子表示,因为它非常适合于相似性比较。

验证程序如下进行。我们选择MCF7、A375、A549和VCAP癌细胞系以及每种细胞系的当前已知的有效分子。在这些有效分子中,每个系分别具有HSP90、BRAF、HSP90、EGFR(HER1)基因的特定抑制剂。我们获得细胞系上基因的抑制剂的条件,并且生成100000个分子指纹X,指纹X遵循每个细胞系的一个条件(蛋白质的抑制)。我们计算生成的分子与抑制剂I的组的相似性,以及生成的分子与其他分子O的相似性,其他分子O包括癌细胞系上的其他有效药物,但具有不同的作用机制。良好的模型产生基本上类似于I而不是O的对象。我们通过测量生成的对象与来自O(类0)的对象和来自I(类1)的对象的平均谷本相似性来估计性能。在理想情况下,与来自I的对象的相似性将大于与来自O的对象的相似性。我们用ROC-AUC度量来测量排序,在A375细胞系上得到91.3%,在MCF7上得到80.4%,在A549上得到72.5%,并且在VCAP上得到71.5%,表明所提出的模型的良好性能。

对于本文中所公开的模型和过程以及方法,在过程及方法中执行的操作可以以不同的顺序来实现。此外,所概述的操作仅作为示例来提供,并且一些操作可以是可选的、可以组合成较少的操作、可以被排除、可以补充有进一步的操作、或可以扩展成附加的操作,而不脱离所公开的实施例的本质。

本公开不限于本申请中所描述的特定实施例,其旨在作为各个方面的说明。在不脱离本公开的精神和范围的情况下,可以做出许多修改和变型。除本文所列举的那些之外,在本公开的范围内的功能上等同的方法和设备根据前述描述中是可能的。这样的修改和变型旨在落入所附权利要求的范围内。本公开仅受所附权利要求书的术语、以及这些权利要求有权享有的等同物的全部范围来限制。本文中所使用的术语仅用于描述特定实施例的目的,而不旨在是限制性的。

在一个实施例中,本方法可以包括在计算系统上执行的方面。照此,计算系统可以包括具有用于执行该方法的计算机可执行指令的存储器设备。计算机可执行指令可以是包括用于执行权利要求中任一项的方法中的任一个的一个或更多个算法的计算机程序产品的一部分。

在一个实施例中,可以响应于存储在计算机可读介质上并且可由一个或更多个处理器执行的计算机可读指令的执行,来执行或使得执行本文所述的任何操作、过程或方法。计算机可读指令可以由来自台式计算系统、便携式计算系统、平板计算系统、手持计算系统以及网络元件和/或任何其他计算设备的各种各样的计算系统的处理器执行。计算机可读介质不是瞬态的。计算机可读介质是其内存储有计算机可读指令的物理介质,以便可由计算机/处理器从物理介质中物理地读取。

存在各种载具,通过其可以实现本文所描述的过程和/或系统和/或其他技术(例如,硬件、软件、和/或固件),并且优选的载具可以随着部署这些过程和/或系统和/或其他技术的背景而变化。例如,如果实施者确定速度和准确度是最重要的,那么实施者可以主要选择硬件和/或固件载具;如果灵活性是最重要的,那么实施者可主要选择软件实现;或者又一种选择地,实施者可选择硬件、软件和/或固件的某一组合。

本文中所描述的各种操作可以通过各种各样的硬件、软件、固件或实际上其任何组合来单独地和/或共同地实现。在一个实施例中,本文中所描述的主题的若干部分可以经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其他集成格式来实现。然而,本文公开的实施例的一些方面的整体或部分地可以等同地在集成电路中实现,作为在一个或更多个计算机上运行的一个或更多个计算机程序(例如,作为在一个或更多个计算机系统上运行的一个或更多个程序),作为在一个或更多个处理器上运行的一个或更多个程序(例如,作为在一个或更多个微处理器上运行的一个或更多个程序),作为固件或几乎作为其任何组合,并且根据本公开内容,设计电路和/或编写软件和/或固件的代码是可能的。此外,本文所描述的主题的机制能够作为程序产品以各种形式分布,并且无论用于实际执行分布的信号承载介质的特定类型如何,本文所描述的主题的说明性实施例都适用。物理信号承载介质的示例包括但不限于以下:诸如软盘的可记录型介质、硬盘驱动器(HDD)、压缩盘(CD)、数字通用光盘(DVD)、数字磁带、计算机存储器或非瞬态或非传输的任何其他物理介质。具有计算机可读指令的物理介质的示例省略瞬态或传输类型介质,诸如数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。

通常以本文阐述的方式描述设备和/或过程,并且此后使用工程实践将这种描述的设备和/或过程集成到数据处理系统中。即,本文所描述的设备和/或过程的至少一部分可以经由合理数量的实验而被集成到数据处理系统中。典型的数据处理系统通常包括以下各项中的一个或更多个:系统单元壳体、视频显示设备、存储器(诸如易失性和非易失性存储器)、处理器(诸如微处理器和数字信号处理器)、计算实体(诸如操作系统、驱动器、图形用户界面和应用程序)、一个或更多个交互设备(诸如触摸板或屏幕)和/或控制系统,该控制系统包括反馈回路和控制电机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或工程量的控制电机)。可以利用任何适当的可商购的部件来实现典型的数据处理系统,诸如通常在数据计算/通信和/或网络计算/通信系统中发现的那些部件。

本文所描述的主题有时示出了包含在不同其他部件内或与不同其他部件连接的不同部件。这些所描绘的架构仅是示例性的,并且事实上,可以实施实现相同功能的许多其他架构。在概念意义上,实现相同功能的任何部件的布置都是有效的“相关联的”,使得所期望的功能得以实现。因此,本文组合以实现特定功能的任何两个部件可以被视为彼此“相关联”,使得所期望的功能得以实现,而不管架构或中间部件如何。同样,如此相关联的任何两个部件也可以被视为彼此“可操作地连接”或“可操作地耦接”以实现所期望的功能,并且能够如此相关联的任何两个部件也可以被视为彼此“可操作地可耦接”以实现所期望的功能。可操作地可耦接的具体示例包括但不限于:物理上可匹配的和/或物理上交互的部件和/或无线地可交互的和/或无线地交互的部件和/或逻辑上交互的和/或逻辑上可交互的部件。

图6示出了可以在一些实施例中布置以执行本文所描述的方法(或其部分)的示例计算设备600(例如,计算机)。在非常基本的配置602中,计算设备600通常包括一个或更多个处理器604和系统存储器606。存储器总线608可以用于在处理器604与系统存储器606之间通信。

取决于所期望的配置,处理器604可以是任何类型的,包括但不限于:微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任何组合。处理器604可以包括诸如一级缓存610和二级缓存612的一级或更多级缓存、处理器核614和寄存器616。示例处理器核614可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任何组合。示例存储器控制器618还可以与处理器604一起使用,或者在一些实现中,存储器控制器618可以是处理器604的内部部分。

取决于所期望的配置,系统存储器606可以是任何类型的,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、快闪存储器等)或其任何组合。系统存储器606可以包括操作系统620、一个或更多个应用622和程序数据624。应用622可以包括确定应用626,该确定应用626被布置成执行如本文所描述的操作,包括关于本文所描述的方法所描述的那些操作。确定应用626可以获得诸如压力、流速和/或温度的数据,并且然后确定对系统的改变以改变压力、流速和/或温度。

计算设备600可以具有附加特征或功能、以及促进基本配置602与任何所需设备和接口之间的通信的附加接口。例如,总线/接口控制器630可以用于经由存储接口总线634促进基本配置602与一个或更多个数据存储设备632之间的通信。数据存储设备632可以是可移动存储设备636、不可移动存储设备638或其组合。可移动存储设备和不可移动存储设备的示例包括:磁盘设备(诸如软盘驱动器和硬盘驱动器(HDD));光盘驱动器(诸如致密盘(CD)驱动器或数字通用光盘(DVD)驱动器);固态驱动器(SSD);以及磁带驱动器等。示例计算机存储介质可以包括:以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。

系统存储器606、可移动存储设备636和不可移动存储设备638是计算机存储介质的示例。计算机存储介质包括但不限于:RAM、ROM、EEPROM、快闪存储器或其他存储器技术,CD-ROM、数字通用光盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可用于存储所需信息且可以由计算设备600访问的任何其他介质。任何这样的计算机存储介质可以是计算设备600的一部分。

计算设备600还可以包括接口总线640,该接口总线640用于促进经由总线/接口控制器630从各种接口设备(例如,输出设备642、外围接口644和通信设备646)到基本配置602的通信。示例性输出设备642包括图形处理单元648和音频处理单元650,其可以被配置为经由一个或更多个A/V端口652与诸如显示器或扬声器之类的各种外部设备通信。示例性外围接口644包括串行接口控制器654或并行接口控制器656,其可以被配置为经由一个或更多个I/O端口658与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其他外围设备(例如,打印机、扫描仪等)的外部设备通信。示例性通信设备646包括网络控制器660,网络控制器660可被布置成促进经由一个更或多个通信端口664通过网络通信链路与一个或更多个其他计算设备662的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的已调制数据信号中的其他数据来体现,并且可以包括任何信息传递介质。“已调制数据信号”可以是以编码信号中的信息的方式来设置或改变其一个或更多个特性的信号。作为示例而非限制,通信介质可包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、射频(RF)、微波、红外(IR)和其他无线介质)。如本文所使用的术语计算机可读介质可以包括存储介质和通信介质两者。

计算设备600可以被实现为小型便携式(或移动)电子设备的一部分,诸如蜂窝电话、个人数据助理(PDA)、个人介质播放器设备、无线网络手表设备、个人头戴式耳机设备、应用特定设备或包括上述功能中的任一者的混合设备。计算设备600还可以被实现为包括膝上型计算机和非膝上型计算机配置两者的个人计算机。计算设备600还可以是任何类型的网络计算设备。计算设备600还可以是如本文所描述的自动化系统。

本文所描述的实施例可以包括使用包括各种计算机硬件或软件模块的专用或通用计算机。

本发明范围内的实施例还包括用于承载或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可以由通用或专用计算机访问的任何可用介质。作为示例而非限制,此类计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备,或者可用于承载或存储计算机可执行指令或数据结构形式的期望程序代码设备并且可由通用或专用计算机访问的任何其他介质。当通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)将信息传输或提供给计算机时,计算机适当地将该连接视为计算机可读介质。因此,任何这样的连接被适当地称为计算机可读介质。以上的组合也应包括在计算机可读介质的范围内。

计算机可执行指令包括例如使得通用计算机、专用计算机、或专用处理设备执行某个功能或功能组的指令和数据。尽管已经用结构特征和/或方法动作专用的语言描述了本主题,但应当理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

在一些实施例中,计算机程序产品可以包括具有计算机可执行指令的非瞬态有形存储器设备,该计算机可执行指令在由处理器执行时使得执行方法,该方法可以包括:提供数据集,该数据集具有用于对象的对象数据和用于条件的条件数据;用对象编码器处理数据集的对象数据,以获得潜在对象数据和潜在对象-条件数据;用条件编码器处理数据集的条件数据,以获得潜在条件数据和潜在条件-对象数据;用对象解码器处理潜在对象数据和潜在对象-条件数据,以获得生成的对象数据;用条件解码器处理潜在条件数据和潜在条件-对象数据,以获得生成的条件数据;将潜在对象-条件数据与潜在-条件数据进行比较以确定差;用判别器处理潜在对象数据和潜在条件数据以及潜在对象-条件数据或潜在条件-对象数据中的一个,以获得判别器值;基于所生成的对象数据、生成的条件数据以及潜在对象-条件数据与潜在条件-对象数据之间的差,从所生成的对象数据中选择选择的对象;以及在报告中提供所选择的对象,该报告具有用于验证对象的物理形式的建议。该非瞬态有形存储器设备还可以具有用于本文所描述的方法或方法步骤中的任一者的其他可执行指令。而且,指令可以是执行非计算任务的指令,诸如分子的合成和/或用于验证分子的实验方案。还可以提供其他可执行指令。

对于本文中基本上任何复数和/或单数术语的使用,本领域技术人员可以根据背景和/或应用的需要将复数转换成单数和/或将单数转换成复数。为了清楚起见,可以在本文中明确地阐述各种单数/复数置换。

本领域技术人员将理解,一般而言,本文使用的术语,并且尤其在所附权利要求书(例如,所附权利要求书的主体)中通常旨在作为“开放式”术语(例如,术语“包括”应当被解释为“包括但不限于”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限于”等)。本领域的技术人员将进一步理解,如果意在引入的权利要求叙述的具体数量,那么将在权利要求中明确地叙述此意图,且在不存在此叙述的情况下,不存在此意图。例如,为了帮助理解,以下所附权利要求书可以包含使用介绍性短语“至少一个”和“一个或更多个”来介绍权利要求叙述。然而,此类短语的使用不应被解释为暗示:通过不定冠词“一”或“一个”介绍权利要求叙述将包含这种介绍的权利要求叙述的任何具体权利要求限制为仅包含一个这样的叙述的实施例,甚至当同一权利要求包括介绍性短语“一个或更多个”或“至少一个”以及诸如“一”或“一个”之类的不定冠词(例如,“一”和/或“一个”应当被解释为意指“至少一个”或“一个或更多个”)时;这同样适用于使用定冠词来介绍权利要求叙述。此外,即使明确地叙述了所介绍的权利要求叙述的具体数量,本领域技术人员将认识到,这样的叙述应被解释为意指至少该叙述的数目(例如,没有其他修饰语的“两个叙述”的裸叙述是指至少两个叙述,或两个或更多个叙述)。此外,在使用类似于“A、B和C中的至少一个”惯例的那些情况下,通常,这种的构造旨在某种意义上本领域技术人员应当理解该惯例(例如,“具有A、B和C中的至少一项的系统”将包括但不限于具有单独的A、单独的B、单独的C、A与B一起、A与C一起、B与C一起和/或A、B和C三者一起等系统)。本领域技术人员将进一步理解,无论是在说明书、权利要求书还是附图中,实际上呈现两个或更多个替代术语的任何分离性词语和/或短语都应被理解为涵盖包括术语中的一个、术语中的任一个或两个术语的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。

此外,在依据Markush组来描述本公开的特征或方面的情况下,本领域技术人员将认识到,由此还依据Markush组的任何单独成员或成员子组来描述本公开。

如本领域技术人员将理解的,出于任何和所有目的,如就提供书面描述而言,本文公开的所有范围也涵盖任何和所有可能的子范围及其子范围的组合。任何列出的范围可以被容易地识别为充分地描述并且使得相同的范围能够被分解成至少相等的一半、三分之一、四分之一、五分之一、十分之一等。作为非限制性示例,本文讨论的每个范围可以容易地分解成下三分之一、中三分之一和上三分之一等。如本领域技术人员还将理解的,诸如“高达”、“至少”等所有语言包括所列举的数字并且是指可以随后被分解成如以上讨论的子范围的范围。最后,如本领域技术人员将理解的,范围包括每个单独成员。因此,例如,具有1-3个细胞的组是指具有1个、2个或3个细胞的组。类似地,具有1-5个细胞的组是指具有1个、2个、3个、4个或5个细胞的组等。

根据前述内容,将理解的是,为了说明的目的,在本文中已经描述了本公开的各种实施例,并且在不背离本公开的范围和精神的情况下,可以做出各种修改。因此,本文公开的各种实施例并不旨在是限制性的,真正的范围和精神由所附权利要求指示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号