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

基于增量学习的分子表征学习方法、系统、设备及介质

文献发布时间:2024-04-18 19:58:21


基于增量学习的分子表征学习方法、系统、设备及介质

技术领域

本申请涉及机器学习技术领域,尤其涉及一种基于增量学习的分子表征学习方法、系统、设备及介质。

背景技术

分子表征学习是指通过将分子转化为机器学习模型可以处理的向量或表示形式,从而提取和表示分子的结构和性质。相关技术利用预训练、自监督对比学习和图神经网络等技术,从不同的角度对分子进行表征学习。

在分子表征模型的应用过程中,会出现分子表征模型训练完成后又有新增数据的情况,并且有可能有一些新的预训练任务在未来被提出的情况。对于这些情况,相关技术通常是利用新数据和旧数据重新训练一次分子表征模型,训练时间较长,耗费算力较多。

发明内容

本申请实施例的主要目的在于提出一种基于增量学习的分子表征学习方法、系统、设备及介质,能够降低模型的训练时间,以及降低算力的耗费。

为实现上述目的,本申请实施例的第一方面提出了一种基于增量学习的分子表征学习方法,所述方法包括:

构建初始的第一分子表征模型,其中,初始的所述第一分子表征模型的结构与第二分子表征模型的结构相同,初始的所述第一分子表征模型的第一模型参数与所述第二分子表征模型的第二模型参数相同;所述第二分子表征模型基于旧数据进行预训练得到;

获取新增的分子数据集,对所述分子数据集的分子进行预处理,通过初始的所述第一分子表征模型对所述分子进行表征提取,得到与所述分子对应的第一原子表征、第二原子表征和第三原子表征;

根据所述第一原子表征和所述第二原子表征构建对比学习损失值,根据所述第三原子表征构建基于上下文损失值,以及根据所述第一模型参数、所述第二模型参数构建正则项;

根据所述对比学习损失值、所述基于上下文损失值、所述正则项构建联合损失值;其中,所述正则项用于在对初始的所述第一分子表征模型进行迭代优化时,使所述第一分子表征模型保留所述第二分子表征模型的知识;

根据所述联合损失值对初始的所述第一分子表征模型进行迭代优化,得到完成预训练的所述第一分子表征模型。

在一实施例中,所述获取新增的分子数据集,对所述分子数据集的分子进行预处理,通过初始的所述第一分子表征模型对所述分子进行表征提取,得到与所述分子对应的第一原子表征、第二原子表征和第三原子表征,包括:

根据所述分子数据集的所述分子生成对应的初始分子图;

对所述初始分子图进行三次掩码操作,得到对应的第一掩码分子图、第二掩码分子图、第三掩码分子图;

通过所述第一分子表征模型分别对所述第一掩码分子图、所述第二掩码分子图、所述第三掩码分子图进行表征提取,生成对应的第一原子表征、第二原子表征和第三原子表征。

在一实施例中,所述根据所述第一原子表征、所述第二原子表征构建对比学习损失值,包括:

将所述第一原子表征、所述第二原子表征输入至第一全连接层,生成对应的第一分子表征和第二分子表征;

根据所述第一分子表征、所述第二分子表征构建对比学习损失值。

在一实施例中,所述对比学习损失值为:

其中,F

sim为余弦相似度函数,τ为温度系数,当i等于j时1

在一实施例中,所述根据所述第三原子表征构建基于上下文损失值,包括:

根据所述第三原子表征生成第三原子掩码特征,将所述第三原子掩码特征输入至第二全连接层,生成对应的预测被掩码原子属性;

根据所述预测原子属性、与所述预测原子属性对应的真实被掩码原子属性构建基于上下文损失值。

在一实施例中,所述基于上下文损失值为:

其中,

为所述预测被掩码原子属性,P

在一实施例中,在所述根据所述联合损失值对所述第一分子表征模型进行迭代优化,得到完成预训练的所述第一分子表征模型之前,还包括:

根据所述基于上下文损失值对所述第二全连接层的参数进行迭代优化,直至当前迭代次数达到第一预设阈值或所述第二全连接层的参数收敛。

在一实施例中,所述联合损失值为:

其中,

λ=exp(-ep),

Loss

为实现上述目的,本申请实施例的第二方面提出了一种基于增量学习的分子表征学习系统,所述系统包括:

模型构建模块,用于构建初始的第一分子表征模型,其中,初始的所述第一分子表征模型的结构与第二分子表征模型的结构相同,初始的所述第一分子表征模型的第一模型参数与所述第二分子表征模型的第二模型参数相同;所述第二分子表征模型基于旧数据进行预训练得到;

数据获取模块,用于获取新增的分子数据集,对所述分子数据集的分子进行预处理,通过初始的所述第一分子表征模型对所述分子进行表征提取,得到与所述分子对应的第一原子表征、第二原子表征和第三原子表征;

损失值与正则项构建模块,用于根据所述第一原子表征和所述第二原子表征构建对比学习损失值,根据所述第三原子表征构建基于上下文损失值,以及根据所述第一模型参数、所述第二模型参数构建正则项;

联合损失值构建模块,用于根据所述对比学习损失值、所述基于上下文损失值、所述正则项构建联合损失值;其中,所述正则项用于在对初始的所述第一分子表征模型进行迭代优化时,使所述第一分子表征模型保留所述第二分子表征模型的知识;

优化模块,用于根据所述联合损失值对初始的所述第一分子表征模型进行迭代优化,得到完成预训练的所述第一分子表征模型。

为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面实施例所述的基于增量学习的分子表征学习方法。

为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面实施例所述的基于增量学习的分子表征学习方法。

本申请实施例提出的基于增量学习的分子表征学习方法、系统、设备及介质,基于增量学习的分子表征学习方法可以应用在基于增量学习的分子表征学习系统中。通过执行基于增量学习的分子表征学习方法,构建初始的第一分子表征模型,对分子数据集的分子进行预处理,然后通过初始的第一分子表征模型对应分子进行表征提取,得到第一原子表征、第二原子表征、第三原子表征,从而构建对比学习损失值、基于上下文损失值以及正则项,然后构建联合损失值,通过联合损失值对初始的第一分子表征模型进行迭代优化。在进行迭代优化过程中,对比学习损失值、基于上下文损失值实现基于新增的分子数据集对初始的第一分子表征模型进行优化;由于在构建初始的第一分子表征模型时,第一分子表征模型的结构与经过预训练的第二分子表征模型的结构相同,第一分子表征模型的第一模型参数与第二分子表征模型的第二模型参数相同,因此在进行迭代优化过程中正则项能够使第一分子表征模型保留第二分子表征模型的知识,因此,本申请能够仅采用新增数据对初始的第一分子表征模型进行训练优化,无需对旧数据进行重新训练,能够降低模型的训练时间,以及降低算力的耗费,且能够使第一分子表征模型保留第二分子表征模型的知识。

附图说明

图1是本申请一个实施例提供的基于增量学习的分子表征学习方法的一个可选的流程示意图;

图2是图1中步骤S102的流程示意图;

图3是图1中步骤S103中构建对比学习损失值的流程示意图;

图4是图1中的步骤S103中构建基于上下文损失值的流程示意图;

图5是本申请另一个实施例提供的基于增量学习的分子表征学习方法的一个可选的流程示意图;

图6是本申请实施例提供的基于增量学习的分子表征学习系统的结构示意图;

图7是本申请实施例提供的于增量学习的分子表征学习方法的另一个可选的流程示意图;

图8是本申请实施例提供的基于增量学习的分子表征学习系统的功能模块示意图;

图9是本申请实施例提供的电子设备的硬件结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

首先,对本申请中涉及的若干名词进行解析:

人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

分子表征学习(Molecule representation learning,MRL):指通过将分子转化为机器学习模型可以处理的向量或表示形式,从而提取和表示分子的结构和性质。这项任务的目标是通过学习有效的分子表示来解决药物发现、化学反应预测、分子属性预测等问题。通过在大规模未标注数据集上学习分子表征,可以提高分子属性预测等下游任务的性能,从而加速药物研发和材料设计等领域的进展。

增量学习(Incremental Learning):是指一个学习系统能不断地从新样本中学习新的知识,并能保存大部分以前已经学习到的知识。增量学习非常类似于人类自身的学习模式。因为人在成长过程中,每天学习和接收新的事物,学习是逐步进行的,而且,对已经学习到的知识,人类一般是不会遗忘的。

相关技术利用预训练、自监督对比学习和图神经网络等技术,从不同的角度对分子进行表征学习。一般在较大数据集上对分子表征模型进行预训练,得到经过预训练的分子表征模型。而在实际情况,由于数据隐私或数据获取等问题,所有训练数据不能在较短时间内获得,因此可能出现分子表征模型训练完成后又有新增数据的情况,并且有可能有一些新的预训练任务在未来被提出的情况。为了进一步提高经过预训练的分子表征模型的表征能力,分子表征模型需要对新增数据进行学习。然而利用新数据和旧数据重新训练一次模型代价较高,训练时间较长,耗费算力较多。

基于此,本申请实施例提供了一种基于增量学习的分子表征学习方法、系统、设备及介质,可以通过能够仅采用新增数据对第一分子表征模型进行训练优化,无需对旧数据进行重新训练,能够降低模型的训练时间,以及降低算力的耗费。

本申请实施例提供的基于增量学习的分子表征学习方法、系统、设备及介质,具体通过如下实施例进行说明,首先描述本申请实施例中的基于增量学习的分子表征学习方法。

本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

本申请实施例提供的基于增量学习的分子表征学习方法,涉及人工智能技术领域。本申请实施例提供的基于增量学习的分子表征学习方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现基于增量学习的分子表征学习方法的应用等,但并不局限于以上形式。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,例如,获取用户存储的数据以及用户的缓存数据访问请求时,均会先获得用户的许可或者同意;在获取资源的数据时,本申请实施例会先获得用户的许可或者同意。而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。

参照图1,图1是本申请实施例提供的基于增量学习的分子表征学习方法的一个可选的流程图,图1中的方法可以包括但不限于步骤S101至步骤S105。

步骤S101,构建第一分子表征模型,其中,第一分子表征模型的结构与经过预训练的第二分子表征模型的结构相同,第一分子表征模型的第一模型参数与第二分子表征模型的第二模型参数相同;第二分子表征模型基于旧数据进行预训练得到。

示例性的,可以直接对第二分子表征模型进行拷贝,从而得到第一分子表征模型。在一实施例中,可以根据第二分子表征模型的结构构件第一分子表征模型,以使第一分子表征模型的结构与第二分子表征模型的结构相同,并将第二分子表征模型的第二模型参数作为第一分子表征模型的第一模型参数。

需要说明的是,第二分子表征模型为利用旧数据进行预训练得到的模型。第二分子表征模型可以基于旧数据通过自监督对比学习方法进行预训练得到。例如,第二分子表征模型可以为基于旧数据采用数据增强方法基于图神经网络进行自监督对比学习(Molecular contrastive learning ofrepresentations,MolClr)进行预训练得到的模型。

步骤S102,获取新增的分子数据集,对分子数据集的分子进行预处理,通过初始的第一分子表征模型对分子进行表征提取,得到与分子对应的第一原子表征、第二原子表征和第三原子表征;

示例性的,可以从药物分子数据库中获取新增的分子数据集,将新存储进药物分子数据库的数据作为新增的分子数据集。从药物分子数据库获取新增的分子数据集的方法有多种,例如可以通过自定义应用程序访问药物分子数据库从而获取新增的分子数据集,也可以直接复制新存储进药物分子数据库的数据,作为新增的分子数据集。但是,无论使用哪种方法,都需要确保数据的质量和安全性。

值得注意的是,旧数据是指在新增的分子数据集之前得到的数据集,例如,旧数据可以是药物分子数据库在未存储新增数据之前的数据。

步骤S103,根据第一原子表征和第二原子表征构建对比学习损失值,根据第三原子表征构建基于上下文损失值,以及根据第一模型参数和第二模型参数构建正则项;

步骤S104,根据对比学习损失值、基于上下文损失值和正则项构建联合损失值;其中,正则项用于在对初始的第一分子表征模型进行迭代优化时,使第一分子表征模型保留第二分子表征模型的知识;

步骤S105,根据联合损失值对第一分子表征模型进行迭代优化,得到完成预训练的第一分子表征模型。

本申请实施例所示意的步骤S101至步骤S105,通过执行基于增量学习的分子表征学习方法,构建初始的第一分子表征模型对分子数据集的分子进行预处理,然后通过初始的所述第一分子表征模型对所述分子进行表征提取,得到第一原子表征、第二原子表征、第三原子表征,从而构建对比学习损失值、基于上下文损失值以及正则项,然后构建联合损失值,通过联合损失值对第一分子表征模型进行迭代优化。在进行迭代优化过程中,对比学习损失值、基于上下文损失值实现基于新增的分子数据集对初始的第一分子表征模型进行优化;由于在构建初始的第一分子表征模型时,第一分子表征模型的结构与经过预训练的第二分子表征模型的结构相同,第一分子表征模型的第一模型参数与第二分子表征模型的第二模型参数相同,因此在进行迭代优化过程中正则项能够使第一分子表征模型保留第二分子表征模型的知识,因此,本申请能够仅采用新增数据对第一分子表征模型进行训练优化,无需对旧数据进行重新训练,能够降低模型的训练时间,以及降低算力的耗费,且能够使第一分子表征模型保留第二分子表征模型的知识,第二分子表征模型的知识为基于旧数据进行预训练得到的知识。

本申请实施例的基于增量学习的分子表征学习方法,联合了自监督对比学习预训练方法以及基于上下文的策略的预训练方法,并在联合损失值中加入正则项,实现了仅采用新增数据对第一分子表征模型进行训练优化,并使得第一分子表征模型保留第二分子表征模型的知识。

需要说明的是,通常情况下,预训练任务是通过大规模的数据集进行的,在此过程中模型可以学习到分子结构、化学性质和相关特征的表示。这些表示可以被视为知识,因为它们捕捉到了数据中的模式和关联信息。在使用新的数据集进行训练时,传统的方法可能要求重新训练整个模型,从头开始学习所有的分子表示。然而,基于增量学习的方法允许利用之前训练得到的模型参数和学习到的知识,仅对新数据集上的任务进行微调。通过这种方式,模型可以在新任务上迅速适应,并且不会完全丢弃之前学习到的有用信息。保留原有学习到的知识可以提高模型的迁移能力和效率,并减少训练成本,因为只需要在新任务上进行少量的训练,而不是从头开始重新训练整个模型。这种方法在实际应用中对于处理大规模分子数据集和节省计算资源都非常有益。

对于通过预训练任务学习到的分子特征、模式和表示是指模型在进行预训练时,从大规模的分子数据集中学习到的一种表示方式,用于捕捉分子结构和化学性质的模式和关联信息。具体来说,预训练任务通常是通过自监督学习的方式进行的,这意味着模型使用无监督的方法自己生成目标。在分子领域,常见的预训练任务包括自编码器、生成相似分子、预测化学性质等。通过这些预训练任务,模型可以学习到分子的低维表示或者嵌入空间,其中包含了丰富的分子特征和模式。这些特征可以是分子的结构特征(如原子类型、键连接等),也可以是分子的性质特征(如溶解度、活性等)。模型通过学习这些特征和模式,逐渐建立起对分子的理解和表示能力。这样的表示方式可以被视为模型在预训练过程中学习到的知识,其中包含了对分子的潜在结构和性质的抽象表示。这些表示可以被用于后续的任务,例如药物发现、分子设计等,以提供更好的效果和泛化能力。

参照图2,在一些实施例中,步骤S102可以包括但不限于步骤S201至步骤S203。

步骤S201,根据分子数据集的分子生成对应的初始分子图;

示例性的,分子数据集多个分子,分子的数据形式为简化分子线性输入规范(Thesimplified molecular-input line-entry system,SMILES),是一种用ASCII字符串明确描述分子结构的规范。通过用RDKIT程序处理每个SMILES形式的分子,生成对应的初始分子图,初始分子图为2D分子图,所有初始分子图形成2D分子数据库U,U={G

示例性的,分子由num

需要说明的是,RDKit是化学信息学的开源工具包。它由Greg Landrum开发,并得到了RDKit开源社区的许多其他贡献。它具有用于Python,Java,C++和C#的应用程序编程接口。

步骤S202,对初始分子图进行三次掩码操作,得到对应的第一掩码分子图、第二掩码分子图、第三掩码分子图;

示例性的,原子v

步骤S203,通过第一分子表征模型分别对第一掩码分子图、第二掩码分子图、第三掩码分子图进行表征提取,生成对应的第一原子表征、第二原子表征和第三原子表征。

示例性的将同一个初始分子图对应的第一掩码分子图、第二掩码分子图、第三掩码分子图进行表征提取,生成对应的第一原子表征、第二原子表征和第三原子表征,其中,第一掩码分子图与第一原子表征对应,第二掩码分子图与第二原子表征对应,第三掩码分子图与第三原子表征对应。

参照图3,在一些实施例中,步骤S103中的根据第一原子表征、第二原子表征构建对比学习损失值,包括但不限于步骤S301和步骤S302:

步骤S301,将第一原子表征、第二原子表征输入至第一全连接层,生成对应的第一分子表征和第二分子表征;

步骤S302,根据第一分子表征、第二分子表征构建对比学习损失值。

示例性的,对第一原子表征、第二原子表征进行图正则化,将进行过图正则化的第一原子表征、第二原子表征输入至第一全连接层,生成对应的第一分子表征和第二分子表征,其中,第一分子表征与第一原子表征对应,第二分子表征与第二原子表征对应。

在一实施例中,对比学习损失值为:

其中,sim(u,v)=u

F

sim(u,v)为余弦相似度函数,u和v为余弦相似度函数的参数,τ为温度系数,是一个超参数。当i等于j时1

需要说明的是,第一全连接层独立于第一分子表征模型,也独立于第二分子表征模型。第一全连接层的参数

参照图4,在一实施例中,步骤S103中根据第三原子表征构建基于上下文损失值,可以包括但不限于步骤S401和步骤S402:

步骤S401,根据第三原子表征生成第三原子掩码特征,将第三原子掩码特征输入至第二全连接层,生成对应的预测被掩码原子属性;

示例性的,第三原子表征为

需要说明的是,第二全连接层独立于第一分子表征模型,也独立于第二分子表征模型。第二全连接层的参数θ

步骤S402,根据预测原子属性、与预测原子属性对应的真实被掩码原子属性构建基于上下文损失值。

值得注意的是,真实被掩码原子属性是指未被掩码的原子属性。

在一实施例中,基于上下文损失值为:

其中,

为预测被掩码原子属性,P

在一实施例中,步骤S103中根据第一模型参数、第二模型参数构建正则项,具体为:

其中,

在一实施例中,参照图5,本申请实施例的基于增量学习的分子表征学习方法在步骤S105之前,包括以下步骤:

步骤S501,根据基于上下文损失值对第二全连接层的参数进行迭代优化,直至当前迭代次数达到第一预设阈值或第一全连接层的参数收敛。

示例性的,根据第三原子表征生成第三原子掩码特征,将第三原子掩码特征输入至第二全连接层,生成对应的预测被掩码原子属性,根据预测原子属性、与预测原子属性对应的真实被掩码原子属性构建基于上下文损失值,从而计算得到基于上下文损失值,根据基于上下文损失值对第二全连接层的参数θ

需要说明的是,在步骤S501中,不更新第一模型参数。

在一些实施例中,联合损失值为:

其中,

λ=exp(-ep),

Loss

需要说明的是,在联合损失值中,当前迭代次数包括步骤S501中的迭代次数,例如,在步骤S501中进行的迭代次数为10,则在步骤S105中第一次根据联合损失值对第一分子表征模型进行优化,此时联合损失值中的当前迭代次数为11。

在一些实施例中,将新增的分子数据集划分为三部分,分别为训练集、验证集和测试集,训练集用于预训练第一分子表征模型,在预训练第一分子表征模型中计算联合损失值,验证集用于在预训练第一分子表征模型时验证第一分子表征模型的联合损失值是否收敛,若联合损失值收敛,则表示第一分子表征模型预训练完成。测试集用于对完成预训练后的第一分子表征模型进行测试。

在一些实施例的步骤S105中,利用训练集,计算联合损失值根据联合损失值,对第一分子表征模型的第一模型参数、第一全连接层的参数、第二全连接层的参数进行梯度计算,然对第一模型参数、第一全连接层的参数、第二全连接层的参数进行优化,使当前迭代次数+1。然后判断当前迭代次数是否小于第二预设阈值,若当前迭代次数大于或等于第二预设阈值,则表示预训练完成,得到完成预训练的第一分子表征模型。若当前迭代次数小于第二预设阈值,则通过验证集对第一分子表征模型进行验证,根据验证集计算联合损失值是否收敛,若联合损失值收敛,则表示第一分子表征模型预训练完成;若联合损失值不收敛,则继续利用训练集对第一分子表征模型进行预训练。联合损失值收敛判断依据可以为联合损失值在近几次更新后不再下降。

参照图6,图6是本申请实施例提供的基于增量学习的分子表征学习系统的结构图。基于增量学习的分子表征学习系统包括数据处理模块和模型训练模块,其中,数据处理模块用于获取新增的分子数据集,对分子数据集的分子进行预处理,根据分子数据集的分子生成对应的初始分子图,对初始分子图进行三次掩码操作,得到对应的第一掩码分子图、第二掩码分子图、第三掩码分子图。模型训练模块包括新分子编码器、旧分子编码器、第一全连接层和第二全连接层,其中,新分子编码器表征第一分子表征模型,旧分子编码器表征第二分子表征模型,第一分子表征模型的第一模型参数和第二分子表征模型的第二模型参数构成正则项。将第一掩码分子图、第二掩码分子图、第三掩码分子图输入至第一分子表征模型,得到对应的第一原子表征、第二原子表征和第三原子表征。对比学习预训练方法视为旧任务,基于上下文的预训练方法视为新任务。将第一原子表征、第二原子表征输入至第一全连接层,生成对应的第一分子表征和第二分子表征。在计算对比学习损失值时,选择i分子对应的第一分子表征和第二分子表征作为旧任务预测结果,而选择j分子对应的第一分子表征和第二分子表征作为旧任务真实结果,计算得到的对比学习损失值为旧任务损失。根据第三原子表征生成第三原子掩码特征,将第三原子掩码特征输入至第二全连接层,生成对应的预测被掩码原子属性,预测被掩码原子属性为新任务预测结果,而未被掩码的真实被掩码原子属性作为新任务真实结果,根据预测原子属性、与预测原子属性对应的真实被掩码原子属性构建基于上下文损失值,基于上下文损失值即为新任务损失。然后根据基于上下文损失值对第二全连接层的参数进行迭代优化,直至当前迭代次数达到第一预设阈值或第一全连接层的参数收敛,再根据联合损失值对第一分子表征模型进行迭代优化,得到完成预训练的第一分子表征模型。

参照图7,图7是本申请实施例提供的基于增量学习的分子表征学习方法的一个可选的流程示意图。在图7示出的方法中,第一预设阈值为10。图7示出的方法包括以下步骤:

步骤S701,构建初始的第一分子表征模型,并获取SMILES形式的新增数据集。

步骤S702,根据分子数据集的分子生成对应的初始分子图。

步骤S703,对初始分子图进行三次掩码操作,得到对应的第一掩码分子图、第二掩码分子图、第三掩码分子图,将第一掩码分子图、第二掩码分子图、第三掩码分子图输入至第一分子表征模型的分子编码器,进行表征提取,得到对应的第一原子表征、第二原子表征和第三原子表征。

步骤S704,根据第三原子表征构建基于上下文损失值,根据第三原子表征构建基于上下文损失值,根据第一模型参数和第二模型参数构建正则项;

步骤S705,判断当前迭代次数(epoch)是否大于10,若当前迭代次数大于10则执行步骤S706,若当前迭代次数小于或等于10,则执行步骤S707。

步骤S706,根据基于上下文损失值对第二全连接层的参数进行优化。

步骤S707,根据联合损失值对第一分子表征模型进行优化。

步骤S708,判断当前迭代次数是否小于第二预设阈值,若当前迭代次数小于第二预设阈值,则继续执行步骤S707,若当前迭代次数大于或等于第二预设阈值,则第一分子表征模型训练完成。

需要说明的是,每执行一次步骤S706或者步骤S707,则迭代次数+1。

请参阅图8,本申请另一个实施例还提供一种基于增量学习的分子表征学习系统,可以实现上述基于增量学习的分子表征学习方法,基于增量学习的分子表征学习系统包括:

模型构建模块810,用于构建初始的第一分子表征模型,其中,初始的第一分子表征模型的结构与第二分子表征模型的结构相同,初始的第一分子表征模型的第一模型参数与第二分子表征模型的第二模型参数相同;第二分子表征模型基于旧数据进行预训练得到;

数据获取模块820,用于获取新增的分子数据集,对分子数据集的分子进行预处理,通过初始的第一分子表征模型对分子进行表征提取,得到与分子对应的第一原子表征、第二原子表征和第三原子表征;

损失值与正则项构建模块830,用于根据第一原子表征和第二原子表征构建对比学习损失值,根据第三原子表征构建基于上下文损失值,以及根据第一模型参数、第二模型参数构建正则项;

联合损失值构建模块840,用于根据对比学习损失值、基于上下文损失值、正则项构建联合损失值;其中,正则项用于在对初始的第一分子表征模型进行迭代优化时,使第一分子表征模型保留第二分子表征模型的知识;

优化模块850,用于根据联合损失值对初始的第一分子表征模型进行迭代优化,得到完成预训练的第一分子表征模型。

该基于增量学习的分子表征学习系统通过执行基于增量学习的分子表征学习方法,能够仅采用新增数据对第一分子表征模型进行训练优化,无需对旧数据进行重新训练,能够降低模型的训练时间,以及降低算力的耗费,且能够使第一分子表征模型保留第二分子表征模型的知识,第二分子表征模型的知识为基于旧数据进行预训练得到的知识。

该基于增量学习的分子表征学习系统的具体实施方式与上述基于增量学习的分子表征学习方法的具体实施例基本相同,在此不再赘述。在满足本申请实施例要求的前提下,基于增量学习的分子表征学习系统还可以设置其他功能模块,以实现上述实施例中的基于增量学习的分子表征学习方法。

本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述基于增量学习的分子表征学习方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。

请参阅图8,图8示意了另一实施例的电子设备的硬件结构,电子设备包括:

处理器901,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;

存储器902,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的基于增量学习的分子表征学习方法;

输入/输出接口903,用于实现信息输入及输出;

通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;

总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;

其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于增量学习的分子表征学习方法。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。

以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

相关技术
  • 一种基于图像识别的语言学习方法、电子设备及存储介质
  • 一种基于语义元语的词向量表征学习方法及系统
  • 基于多模态融合机制的视频语义表征方法、系统及介质
  • 基于安卓系统的界面更新方法、系统、设备及存储介质
  • 数据分布式的增量学习方法、系统、设备及存储介质
  • 基于深度学习检测任务的增量学习方法、装置及存储介质
技术分类

06120116485950