一种实现分子生成语言模型高效输出的方法和系统

专利2026-07-30  16


本发明是涉及一种实现分子生成语言模型高效输出的方法和系统,属于计算机信息处理。


背景技术:

1、分子是物质的基本组成,是由多个原子以独特的化学方式(例如化学键)结合在一起所构成,保留了由其特定结构决定的独特的化学特性。通过对分子的全面了解,科学家可以有效地设计出具有不同特性和功能的材料、药物和产品,因此成为化学科学领域的重要研究对象。

2、分子生成语言模型,是指使用编码器和解码器架构的、序列到序列预测的深度学习神经网络,在特定大规模分子结构数据集上进行训练,从而具备生成与该数据集相似的新分子结构的能力,是一种重要的化学人工智能技术,可广泛应用于化学、生物、医药领域的分子设计中。

3、因分子生成语言模型是使用smiles格式的数据来表征化学分子结构,即使用smiles(simplified molecular input line entry system,简化分子线性输入规范)字符代表分子序列(词),smiles字符串代表整个分子序列(句子),因此,本领域常以分子生成语言模型所输出的分子结构数据中符合smiles规范表达的分子结构数据所占的百分比(也称为分子生成有效率)作为验证和评估分子生成语言模型性能的最重要指标之一。

4、因语言模型的输出是一个时间步一个时间步依次获得的,而且前面时间步的结果还会影响后面时间步的结果,也就是说,每一个时间步,语言模型给出的都是基于前面时间步生成结果的条件概率;因此,在分子生成语言模型中,为了输出完整的分子序列,需要组合多个时间步的输出,而且须使得最终得到的分子序列的每一步条件概率连乘起来最大。但是现在大语言模型中字典规模往往较大,如果保留每一个时间步的所有输出,即字典中每一个词的条件概率,要得到整个序列的概率需要计算全部时间步输出的组合,其算法复杂度是指数级的,现实中很难实现。

5、目前,现有技术中主要采用如下两种简单方案:

6、一种方案是称为“贪心搜索”,即:每一个时间步都取出条件概率最大的一个输出,再将从开始到当前步的结果的组合作为输入去获得下一个时间步的输出,直到模型给出生成结束的标志;虽然采用该方案的时间复杂度最小,但无法保证所生成的分子序列整体的概率是最优的,从而也就无法保证所生成的分子序列一定是有效的;

7、另一种方案是称为“集束搜索”,即:在每一个时间步,保留当前时间步条件概率最大的n个输出,再将从开始到当前时间步输出的组合概率最大的前n个结果,作为输入去获得下一个时间步的输出,直到模型给出生成结束的标志,n通常较小以保证算法复杂度不至于太大而消耗太多的计算时间;但由于分子生成语言模型中分子序列的特殊性(smiles字符语法规范),每个时间步的多个输出的条件概率分布是不均匀的,如只是简单的保留前n个输出会引入条件概率较低的序列词编码,导致最终生成的分子结构数据存在效率低、重复率高的问题,极大影响了分子生成语言模型的性能;另外,该方案中每个时间步都保留了n个输出,当预测序列较长、n值较大时,总体时间复杂度还是会明显增加,仍需要消耗较大的计算时间和较多的计算资源,因而仍会降低分子生成语言模型的输出效率。


技术实现思路

1、针对现有技术存在的上述问题,本发明的目的是提供一种实现分子生成语言模型高效输出的方法和系统,以使分子生成语言模型的输出更加高效,从而为化学人工智能研究提供有力支持。

2、为实现上述发明目的,本发明采用如下技术方案:

3、一种实现分子生成语言模型高效输出的方法,包括如下顺序步骤:

4、s1)根据预设的分子序列编码表将起始字符转换为起始字符编码;

5、s2)将起始字符编码输入至分子生成语言模型中,再根据预设的搜索阈值从分子生成语言模型输出中取出按条件概率由大到小排序的相应数量的时间步输出编码和时间步条件概率列表,并输出给时间步输出采样器;

6、s3)将起始字符编码与步骤s2)所述的时间步输出采样器所输出的时间步输出编码依次进行扩展得到扩展编码组,并将所有的扩展编码组组成扩展编码组列表,扩展编码组列表中每组扩展编码的概率均为当前时间步输出编码所对应的时间步条件概率;

7、s4)按照预设的并行处理批次大小、序列长度阈值和搜索阈值,对扩展编码组列表中的所有编码组进行循环扩展,得到终止扩展的编码组,并将终止扩展的编码组与其所对应的概率输入至分子序列概率容器;

8、s5)分子序列概率容器根据如下公式:

9、对所输入的终止扩展的编码组计算概率得分并按概率得分大小进行排序和取舍,从而得到目标编码组;上述公式中:score为概率得分;sum_logprobs为输入的概率,即:所有时间步输出概率之和;length_seq为编码组的长度,即:编码组中编码的数量;length_penalty为防止生成过长序列而设置的长度惩罚系数;

10、s6)将目标编码组中的起始字符编码和结束字符编码去除后,根据预设的分子序列编码表依序转换为smiles字符串,即生成得到分子结构数据。

11、一种实施方案,所述的分子序列编码表是由分子生成语言模型中使用的起始字符、空字符、结束字符及所有smiles字符,与其所对应的字符编码和字符属性所构成。

12、一种优选方案,所述字符编码为各字符所对应的序号数字。

13、一种实施方案,步骤s3)是通过将起始字符编码加入到由时间步输出采样器所输出的时间步输出编码的前面,得到所述的扩展编码组。

14、一种实施方案,步骤s4)具体包括如下步骤:

15、s41)将扩展编码组列表中的一组扩展编码输入至分子生成语言模型中,然后根据预设的搜索阈值从分子生成语言模型输出中取出按条件概率由大到小排序的相应数量的时间步输出编码和时间步条件概率列表,并输出给时间步输出采样器;若时间步输出采样器输出的为空白字符编码或结束字符编码或空值,则结束进一步扩展,然后将结束字符编码加到当前扩展编码组的最后面,成为终止扩展的编码组;否则继续执行后续步骤;

16、s42)将当前扩展编码组与步骤s41)所述的时间步输出采样器所输出的时间步输出编码进行进一步扩展得到候选编码组,并加入到候选编码组列表中,候选编码组列表中每组候选编码的概率均为当前扩展编码组的概率与该时间步输出编码所对应的时间步条件概率之和;

17、s43)按照预设的并行处理批次大小重复执行步骤s41)和s42),直至扩展编码组列表中的所有扩展编码组均完成时间步输出和进一步扩展,将获得的候选编码组列表中的候选编码组按概率由大到小排列,若所获得的候选编码组列表中的候选编码组的数量是小于等于n但大于零,则将当前获得的候选编码组列表作为更新的扩展编码组列表;若所获得的候选编码组列表中的候选编码组的数量是大于n,则选取前n个候选编码组构成更新的扩展编码组列表;所述n即为预设的搜索阈值,同时清空候选编码组列表;

18、s44)对所得到的更新的扩展编码组列表循环执行步骤s41)至s43),若扩展编码组的长度达到所预设的序列长度阈值时,则结束进一步扩展,然后将结束字符编码加到当前扩展编码组的最后面,成为终止扩展的编码组;

19、s45)当更新的扩展编码组列表中的所有编码组均已结束扩展,则停止循环扩展。

20、一种实施方案,步骤s42)是通过将当前扩展编码组加入到步骤s41)所述的时间步输出采样器所输出的时间步输出编码的前面,得到所述的候选编码组。

21、一种实施方案,所述的时间步输出采样器均按如下规则进行输出:

22、①若列表中的时间步条件概率均小于等于零,则输出空值;

23、②若列表中的时间步条件概率大于零的时间步输出编码数量只有一条,则输出该条编码和与其对应的条件概率;

24、③若列表中的时间步条件概率大于零的时间步输出编码数量大于一条,则输出排序第一的时间步条件概率最大的编码,以及根据预设的分子序列编码表所判断的与第一条编码的属性相一致的后续编码及其所对应的条件概率,直至后续编码的属性与第一条编码的属性不一致或后续编码的条件概率小于等于零或后续编码为列表末尾。

25、一种实施方案,步骤s5)根据如下规则进行取舍:

26、①若分子序列概率容器中存入的编码组数量小于预设的搜索阈值,则存入当前编码组;

27、②若分子序列概率容器中存入的编码组数量已等于预设的搜索阈值,则比较当前编码组的概率得分是否大于分子序列概率容器中已有编码组中的最小概率得分;若为是,则存入当前编码组并删除其中概率得分最小的已有编码组;若为否,则舍弃当前编码组。

28、一种优选方案,步骤s5)中所述的长度惩罚系数设置为0.6。

29、一种实现分子生成语言模型高效输出的系统,包括:

30、编码器,以用于预设分子序列编码表和根据预设的分子序列编码表将输入的起始字符转换为起始字符编码,并输出给分子序列生成器;

31、时间步输出采样器,以用于按设定的规则对分子序列生成器所输入的时间步输出编码和时间步条件概率列表中的编码进行采样后输出给分子序列生成器进行后续编码扩展;

32、分子序列生成器,以用于根据预设的搜索阈值和序列长度阈值,对起始字符编码和经时间步输出采样器所输出的时间步输出编码进行扩展,使生成终止扩展的编码组列表,并输入至分子序列概率容器;以及用于取出分子序列概率容器中的目标编码组输入至解码器;

33、分子序列概率容器,以用于计算分子序列生成器所输入的终止扩展的编码组的概率得分,并按概率得分大小进行排序和取舍,获得目标编码组列表;

34、解码器,以用于将目标编码组中的起始字符编码和结束字符编码去除后,根据预设的分子序列编码表依序转换为smiles字符串,并输出所生成的分子结构数据。

35、另外,本发明还提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的计算机程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以实现本发明上述的实现分子生成语言模型高效输出的方法。

36、本发明还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的程序指令,所述程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述的实现分子生成语言模型高效输出的方法。

37、本发明还提供一种计算机程序产品,包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,能实现本发明上述的实现分子生成语言模型高效输出的方法。

38、相较于现有技术,本发明的有益技术效果在于:

39、通过采用本发明所述方法和系统,不仅可减少大量不必要的序列空间搜索,而且可保证生成分子结构数据的有效性,且生成的分子结构数据重复率低,可有效提高分子生成语言模型的性能,可用于基于化学结构的生成式大语言模型的优化,因此在化学人工智能研究领域具有重要应用价值。


技术特征:

1.一种实现分子生成语言模型高效输出的方法,其特征在于,包括如下顺序步骤:

2.根据权利要求1所述的方法,其特征在于:所述的分子序列编码表是由分子生成语言模型中使用的起始字符、空字符、结束字符及所有smiles字符,与其所对应的字符编码和字符属性所构成。

3.根据权利要求1所述的方法,其特征在于:步骤s3)是通过将起始字符编码加入到由时间步输出采样器所输出的时间步输出编码的前面,得到所述的扩展编码组。

4.根据权利要求1所述的方法,其特征在于,步骤s4)具体包括如下步骤:

5.根据权利要求1或4所述的方法,其特征在于,所述的时间步输出采样器均按如下规则进行输出:

6.根据权利要求1所述的方法,其特征在于,步骤s5)根据如下规则进行取舍:

7.一种实现分子生成语言模型高效输出的系统,其特征在于,所述系统包括:

8.一种存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时能实现权利要求1~6中任意一项所述的方法。

9.一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的程序指令,所述程序指令被所述至少一个处理器执行;其特征在于:所述至少一个处理器能够执行权利要求1~6中任意一项所述的方法。

10.一种计算机程序产品,包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,其特征在于:当所述程序指令被处理器执行时能实现权利要求1~6中任意一项所述的方法。


技术总结
本发明公开了一种实现分子生成语言模型高效输出的方法和系统,所述方法包括:将起始字符转换为起始字符编码;将起始字符编码与时间步输出采样器所输出的时间步输出编码进行扩展得到扩展编码组;按照预设的并行处理批次大小、序列长度阈值和搜索阈值,对扩展编码组列表中的所有编码组进行循环扩展得到终止扩展的编码组;计算所输入的终止扩展的编码组的概率得分并按概率得分大小进行排序和取舍,得到目标编码组;将目标编码组在去除起始字符编码和结束字符编码后转换为SMILES字符串输出。本发明所述方法和系统,既可减少大量不必要的序列空间搜索,且可保证生成分子结构数据的有效性,可有效提高分子生成语言模型的性能。

技术研发人员:徐挺军
受保护的技术使用者:中国科学院上海有机化学研究所
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1832300.html

最新回复(0)