向量生成方法及装置、数据处理方法及装置、存储介质与流程

文档序号:31054769发布日期:2022-08-06 12:01阅读:6189来源:国知局
1.本公开的实施例涉及一种向量生成方法、数据处理方法、向量生成装置、数据处理装置和非瞬时性计算机可读存储介质。
背景技术
::2.对于新药研发、新材料设计以及能源等领域,分子性质的预测是一个很重要的技术需求。分子性质的预测可以发现具有所需性质的分子,其在各个领域均具有重要的应用。只有准确、高效地预估分子的关键性质,才能迅速地划定潜在的新药或新材料。预估分子性质的一类方法是dft(densityfunctionaltheory,密度泛函理论)等基于量子力学等第一性原理的方法,虽然这种方法可以实现准确地预测分子形状,但是这种方法的计算成本很高。预估分子性质的另一类方法是半经验方法,该方法计算速度较快,但准确度不高。技术实现要素:3.提供该内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。4.本公开至少一实施例提供一种向量生成方法,包括:对映射表中的n个当前位置向量进行可学习处理,以得到n个可学习位置向量,其中,n为正整数;利用所述n个可学习位置向量对所述n个当前位置向量进行更新。5.本公开至少一实施例还提供一种数据处理方法,包括:获取待处理位置参数;基于与所述待处理位置参数对应的映射表,确定与所述待处理位置参数对应的待处理位置向量,其中,所述映射表包括n个当前位置向量,所述映射表中的所述n个当前位置向量是基于根据本公开任一实施例所述的向量生成方法得到的所述n个可学习位置向量进行更新得到的;通过与所述映射表对应的神经网络对所述待处理位置向量进行处理,以得到处理结果。6.本公开至少一实施例还提供一种向量生成装置,包括:一个或多个存储器,非瞬时性地存储有计算机可执行指令;一个或多个处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述一个或多个处理器运行时实现根据本公开任一实施例所述的向量生成方法。7.本公开至少一实施例还提供一种数据处理装置,包括:一个或多个存储器,非瞬时性地存储有计算机可执行指令;一个或多个处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述一个或多个处理器运行时实现根据本公开任一实施例所述的数据处理方法。8.本公开至少一实施例还提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的向量生成方法或实现根据本公开任一实施例所述的数据处理方法。附图说明9.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。10.图1a为本公开至少一实施例提供的一种向量生成方法的示意性流程图;11.图1b为本公开至少一实施例提供的另一种向量生成方法的示意性流程图;12.图2a~2d为本公开的一些实施例提供的一种多个当前位置向量形成的曲线示意图;13.图3a为本公开一些实施例提供的一种多个可学习位置向量形成的曲线示意图;14.图3b为本公开一些实施例提供的一种多个可学习位置向量形成的曲线示意图;15.图3c为图3a所示的多个可学习位置向量映射到二维空间中的示意图;16.图3d为图3b所示的多个可学习位置向量映射到二维空间中的示意图;17.图4为本公开至少一个实施例提供的一种数据处理方法的示意性流程图;18.图5为本公开至少一实施例提供的一种向量生成装置的示意图;19.图6为本公开至少一实施例提供的一种数据处理装置的示意图;20.图7为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图;21.图8为本公开至少一实施例提供的一种电子设备的硬件结构示意图。具体实施方式22.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。23.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。24.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。25.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。26.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。27.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。28.研究发现,近几年,基于机器学习的分子性质预测模型是平衡准确性和效率的一种有效的替代解决方案。位置信息(例如,原子间距离、键角等)是基于机器学习的分子性质预测模型的最基本物理量之一。29.目前,作为机器学习模型的输入的分子的位置信息主要有三种表示方法:第一、直接使用原始标量形式的位置信息作为机器学习模型的输入,但是这样的原始标量形式不利于机器学习模型去处理分子中的复杂的物理关系,分子的很多物理量对位置信息是非线性、非单调、复杂的,所以在理想情况下,机器学习模型的输入是位置信息的多种非线性变换;第二、由用户自定义变换方式进行位置信息的变换,例如,原子间距离的倒数,这种位置信息的表示形式可能比直接使用原始标量形式更有效,但是,这种变换并不具有很好的通用性,例如,原子间距离的倒数也许适合一些多项式形式的势能关系,但不一定适合其他的函数形式(例如,指数),而且这样的方法也非常依赖于用户的选择,这种方法的普遍性是有限的;第三、利用一组人为选择的基函数(例如,高斯函数或贝塞尔函数等)进行位置信息的变换,然而,这种方法的泛化性和通用性也有限,其效率取决于基函数的选择。30.本公开至少一实施例提供一种向量生成方法。该向量生成方法包括:对映射表中的n个当前位置向量进行可学习处理,以得到n个可学习位置向量,其中,n为正整数;利用n个可学习位置向量对n个当前位置向量进行更新。31.在本公开的实施例提供的向量生成方法中,可学习位置向量是进行学习得到的,该可学习位置向量不限于某种选择或自定义的函数所确定的具体形式,从而更具有通用性,基于该可学习位置向量更新得到的当前位置向量可以更好地模拟预测分子特性的复杂非线性,提高对分子的各种不同性质进行预测的准确性。32.本公开至少一个实施例还提供一种数据处理方法、向量生成装置、数据处理装置和非瞬时性计算机可读存储介质。33.下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。34.图1a为本公开至少一实施例提供的一种向量生成方法的示意性流程图,图1b为本公开至少一实施例提供的另一种向量生成方法的示意性流程图。35.如图1a所示,在本公开的一些实施例中,该向量生成方法可以包括以下步骤s10~s11。36.在步骤s10中,对映射表中的n个当前位置向量进行可学习处理,以得到n个可学习位置向量。例如,n为正整数,n大于等于1。需要说明的是,在本公开下面的描述中,除非特别说明,否则以n大于1为例进行说明。37.在步骤s11中,利用n个可学习位置向量对n个当前位置向量进行更新。38.例如,在一些实施例中,该向量生成方法还包括:对更新后的n个当前位置向量再次进行可学习处理。39.在本公开的实施例提供的向量生成方法中,可以对映射表中的当前位置向量进行多次可学习处理,并基于可学习位置向量进行对映射表中的当前位置向量进行更新,然后对更新后的当前位置向量再次进行可学习处理,直到更新得到的当前位置向量满足预设要求为止,从而得到最终生成的映射表,该最终生成的映射表可以用于后续处理,例如,在对分子性质进行预测的处理中使用。40.例如,映射表还包括与n个当前位置向量一一对应的n个位置参数。映射表用于指示位置参数与当前位置向量之间的映射关系。41.例如,n个当前位置向量与n个可学习位置向量一一对应。42.例如,在一些实施例中,如下表格1所示,映射表包括的n个位置参数分别为位置参数d1、位置参数d2、位置参数d3、…、位置参数dn,映射表包括的n个当前位置向量分别为与位置参数d1对应的当前位置向量iv1、与位置参数d2对应的当前位置向量iv2、与位置参数d3对应的当前位置向量iv3、…、与位置参数dn对应的当前位置向量ivn。43.表格144.位置参数当前位置向量d1iv1d2iv2d3iv3……dnivn45.需要说明的是,虽然在表格1中,映射表以表格的形式体现,但是本公开不限于此,映射表可以采用任何形式体现,本公开的实施例对此不作具体限制。46.例如,在一些实施例中,n的值可以根据具体情况进行设置,例如,n可以为10~1000,例如,n可以为100、360等。47.例如,当将最终生成的映射表应用于进行分子性质的预测,预测误差与n之间存在非单调关系,n过大或过小都会造成预测误差较大,因此需要根据实际情况选择n的值。48.例如,在一些实施例中,位置参数d1可以为1纳米,位置参数d2可以为2纳米,位置参数d3可以为3纳米,依次类推,该n个位置参数中的任意相邻两个位置参数之间的差值可以为1纳米。例如,在另一些实施例中,位置参数d1可以为1度,位置参数d2可以为2度,位置参数d3可以为3度,依次类推,该n个位置参数中的任意相邻两个位置参数之间的差值可以为1度。49.需要说明的是,在本公开的实施例中,相邻两个位置参数表示该两个位置参数之间不具有映射表中的任意其他位置参数,即映射表中的多个位置参数中的任意一个位置参数不位于该相邻两个位置参数之间。例如,位置参数d1和位置参数d2即为相邻两个位置参数,位置参数d2和位置参数d3为相邻两个位置参数,而位置参数d1和位置参数d3为非相邻的两个位置参数,该位置参数d1和位置参数d3之间具有位置参数d2。50.需要说明的是,在一些实施例中,映射表中的多个位置参数可以均为整数,但本公开不限于此,映射表中的至少部分位置参数也可以包括整数部分和小数部分。51.例如,在初始状态时,该映射表中的各个当前位置向量的值为随机值,也就是说,在初始状态,将映射表中的各个当前位置向量进行随机设置,然后通过本公开的实施例提供的向量生成方法对该各个当前位置向量进行可学习处理,以学习得到各个可学习位置向量,由于该可学习位置向量是基于学习得到的,从而不受限于具体的形式,可以更好地体现分子中的复杂的物理关系。52.例如,在一些示例中,在初始状态时,表格1中的当前位置向量iv1=[0.8,0,0.5,0.8],表格1中的当前位置向量iv2=[0.8,0.8,-0.2,-0.1],表格1中的当前位置向量iv3=[0,0.1,0.2,0,4],表格1中的位置向量ivn=[0,0.5,0.1,0,3]。[0053]例如,每个当前位置向量的维度可以根据实际情况设置,例如,在一些示例中,每个当前位置向量的维度可以为32~128。例如,在上面的示例中,每个当前位置向量的维度可以为4,即每个当前位置向量包括4个元素。例如,对于当前位置向量iv3=[0,0.1,0.2,0,4],该当前位置向量iv3的第一维度的元素为0,该当前位置向量iv3的第二维度的元素为0.1,该当前位置向量iv3的第三维度的元素为0.2,该当前位置向量iv3的第四维度的元素为0.4。[0054]图2a~2d为本公开的一些实施例提供的一种多个当前位置向量形成的曲线示意图。例如,在图2a~图2d中,x方向表示位置参数(例如,归一化的值),y方向表示各个维度的元素的值。[0055]图2a~2d所示的示例中,每个当前位置向量的维度为4,即每个当前位置向量包括四个元素,图2a示出了基于多个当前位置向量的第一维度的元素的值形成的曲线,图2b示出了基于多个当前位置向量的第二维度的元素的值形成的曲线,图2c示出了基于多个当前位置向量的第三维度的元素的值形成的曲线,图2d示出了基于多个当前位置向量的第四维度的元素的值形成的曲线。[0056]例如,如图2a~2d所示,多个当前位置向量的每个维度的元素的值形成的曲线是平滑的曲线。[0057]例如,映射表中的每个当前位置向量的维度是固定的,即映射表中的多个当前位置向量分别对应的多个维度相同。[0058]例如,在一些实施例中,在步骤s10中,如图1b所示,可学习处理包括以下步骤s100~s103。[0059]在步骤s100,确定至少一个位置参数组。[0060]在步骤s101,基于映射表,获取与至少一个位置参数组分别对应的至少一个位置向量组。[0061]在步骤s102,对至少一个位置向量组进行处理,以得到n个可学习位置向量。[0062]例如,在步骤s100中,每个位置参数组包括映射表中的n个位置参数中的至少一个位置参数。[0063]例如,在步骤s100中,至少一个位置参数组的数量可以根据实际情况确定,例如,在一些实施例中,至少一个位置参数组的数量可以为32、48、64等。当至少一个位置参数组的数量大于1时,多个位置参数组分别对应的多个位置参数数量可以相同,也可以不同,例如,至少一个位置参数组中的一个位置参数组可以包括4个位置参数,而至少一个位置参数组中的另一个位置参数组可以包括5个位置参数。需要说明的是,每个位置参数组对应的位置参数数量为该位置参数组包括的位置参数的数量,每个位置参数组所包括的位置参数的数量根据实际情况确定。[0064]例如,在一些实施例中,步骤s100包括:确定至少一个待处理数据;基于至少一个待处理数据,确定与至少一个待处理数据一一对应的至少一个位置参数组。[0065]例如,每个待处理数据与一个分子对应。分子可以为小分子、高分子等。[0066]例如,当待处理数据与一个分子对应时,映射表中的每个位置参数包括分子中的相邻两个原子之间的间距和/或分子中的键角。[0067]例如,每个位置参数组中的位置参数的数量基于与该位置参数组对应的待处理数据确定。例如,在一些实施例中,位置参数为分子中的相邻两个原子之间的间距,例如,在一个示例中,一个分子可以包括三个原子,分别为第一原子、第二原子和第三原子,第一原子和第二原子之间的间距为第一间距,第一原子和第三原子之间的间距为第二间距,第二原子和第三原子之间的间距为第三间距,若第一间距、第二间距和第三间距均相等,则该分子对应的位置参数组仅包括一个位置参数,该位置参数为第一间距(或第二间距或第三间距);若第一间距、第二间距和第三间距各不相等,则该分子对应的位置参数组包括三个位置参数,该三个位置参数分别为第一间距、第二间距和第三间距。[0068]例如,在一些实施例中,步骤s101可以包括:针对每个位置参数组中的每个位置参数(以下称为被选择位置参数):响应于该被选择位置参数与映射表中的n个位置参数中的任意位置参数均不相同:确定与该被选择位置参数对应的第一待插值位置参数和第二待插值位置参数;基于映射表,确定与第一待插值位置参数对应的当前位置向量作为第一待插值位置向量和与第二待插值位置参数对应的当前位置向量作为第二待插值位置向量;对第一待插值位置向量和第二待插值位置向量进行插值处理,以得到与被选择位置参数对应的当前位置向量;响应于被选择位置参数为n个位置参数中的一个位置参数:基于映射表,直接确定与被选择位置参数对应的当前位置向量。[0069]例如,第一待插值位置参数和第二待插值位置参数为映射表中的n个位置参数中的两个位置参数,且该被选择位置参数位于第一待插值位置参数和第二待插值位置参数之间。[0070]例如,插值处理对应的插值方法包括线性插值(linearinterpolation)和/或三次埃尔米特插值(cubichermiteinterpolation)等。[0071]例如,有时需要求取分子的性质对位置参数的导数,例如,分子的势能对位置参数求导可以得到原子受力,这时候就需要当前位置向量对应的向量函数对位置参数x可导,即g=dh(x)/dx存在,x表示位置参数,h(x)表示当前位置向量对应的向量函数,该向量函数可以基于映射表中的位置参数和当前位置向量进行拟合得到。这个要求影响对上面提到的插值处理对应的插值方法的选择。若当前位置向量对应的向量函数不需要对位置参数x可导,则插值处理对应的插值方法可以为线性插值,然而,线性插值会导致g在映射表中的多个位置参数处不存在,所以不能应用于要求分子的性质对位置参数可导的场景。如果需要当前位置向量对应的向量函数对位置参数x可导,插值处理对应的插值方法可以为三次埃尔米特插值等高阶插值方法,例如,三次埃尔米特插值采用高阶多项式系数,从而使得当前位置向量对应的向量函数对位置参数可导。[0072]例如,当前位置向量对应的向量函数是连续的且当前位置向量对应的向量函数对位置参数可导,即当前位置向量对应的向量函数是连续且可导的,从而可以利用有限的可学习的位置参数表示无限的位置信息,从而可以帮助神经网络更好地处理复杂的分子内物理作用,提高模型的精度。[0073]例如,在一些实施例中,当插值处理对应的插值方法为线性插值,与被选择位置参数对应的当前位置向量表示为:[0074][0075]其中,h(*)表示当前位置向量对应的向量函数,x表示被选择位置参数,t表示权重,表示映射表中的n个位置参数中的小于被选择位置参数x的最大位置参数,表示映射表中的n个位置参数中的大于被选择位置参数x的最小位置参数。例如,在一些实施例中,n为100,映射表中的n个位置参数分别为1纳米、2纳米、3纳米、…、100纳米,当d为1.3时,为1纳米,为2纳米。[0076]例如,在一些实施例中,t可以表示为:[0077][0078]需要说明的是,t可以根据实际情况具体设置,本公开的实施例对此不作限制。[0079]对于表格1所示映射表,位置参数d1可以为1纳米,位置参数d2可以为2纳米,位置参数d3可以为3纳米,依次类推,位置参数dn可以为100纳米。若被选择位置参数为位置参数d1,则将当前位置向量iv1作为被选择位置参数对应的当前位置向量;若被选择位置参数为1.3,此时,可以确定与被选择位置参数对应的第一待插值位置参数和第二待插值位置参数,例如,第一待插值位置参数为位置参数d1,第二待插值位置参数为位置参数d2,然后,将当前位置向量iv1作为第一待插值位置向量和将当前位置向量iv2作为第二待插值位置向量,对当前位置向量iv1和当前位置向量iv2进行插值处理以确定被选择位置参数对应的当前位置向量。[0080]例如,在一些实施例中,当插值处理对应的插值方法为线性插值,可以对当前位置向量iv1和将当前位置向量iv2进行加权求和以得到被选择位置参数对应的当前位置向量,例如,当前位置向量iv1对应的权重和当前位置向量iv2对应的权重可以由被选择位置参数、第一待插值位置参数和第二待插值位置参数确定。例如,在一些实施例中,当被选择位置参数为1.3时,当前位置向量iv1对应的权重可以为0.7,当前位置向量iv2对应的权重可以为0.3,例如,iv11=[0.8,0,0.5,0.8],iv12=[0.7,0.8,-0.2,-0.1],此时,被选择位置参数对应的当前位置向量可以表示为:h=70%*iv11+30%*iv12=0.7*[0.8,0,0.5,0.8]+0.3*[0.7,0.8,-0.2,-0.1]。[0081]需要说明的是,当前位置向量iv1对应的权重和当前位置向量iv2对应的权重可以根据实际情况设置,本公开的实施例对此不作限制。例如,当前位置向量iv1对应的权重和当前位置向量iv2对应的权重可以为固定值,例如,均为0.5。[0082]例如,在一些实施例中,当插值处理对应的插值方法为三次埃尔米特插值,与被选择位置参数对应的当前位置向量表示为:[0083][0084]其中,h(*)表示当前位置向量对应的向量函数,g(*)表示当前位置向量对应的向量函数对位置参数的导数,即g(x)=dh(x)/dx,x表示被选择位置参数,表示映射表中的n个位置参数中的小于被选择位置参数x的最大位置参数,表示映射表中的n个位置参数中的大于被选择位置参数x的最小位置参数,c1~c4为插值系数,且分别表示为:c1=2*t3-3*t2+1,c2=1-c1,c3=t3-2*t2+1,c4=t3-t2,其中,t表示权重。此时,h(x)是连续且可导的。[0085]例如,在步骤s101中,每个位置向量组包括基于映射表得到的与位置向量组对应的位置参数组中的位置参数对应的当前位置向量。[0086]例如,每个位置向量组包括至少一个当前位置向量。例如,每个位置参数组中的至少一个位置参数与该位置参数组对应的位置向量组中的至少一个当前位置向量一一对应。[0087]例如,在一些实施例中,步骤s102可以包括:通过神经网络分别对至少一个位置向量组进行处理,以得到与至少一个位置向量组分别对应的至少一个输出结果;基于映射表、至少一个位置参数组和至少一个输出结果,通过神经网络对应的损失函数计算得到至少一个损失值;以及响应于至少一个损失值不满足预定条件,根据至少一个损失值对n个当前位置向量进行修正,以得到n个可学习位置向量;响应于至少一个损失值满足预定条件,将n个当前位置向量作为n个可学习位置向量。[0088]在本公开中,可学习处理是利用神经网络实现的,即通过神经网络对映射表中的n个当前位置向量进行可学习处理,以得到神经网络的输出,然后基于神经网络的输出对n个当前位置向量进行修正以得到n个可学习位置向量,此时,该n个当前位置向量作为神经网络的输入。在本公开的实施例中,基于神经网络学习到的输出对该神经网络的输入进行修正并更新,最终得到满足要求的映射表。[0089]本公开的实施例提供的向量生成方法生成的可学习位置向量是基于机器学习模型(例如,神经网络)通过不断训练而学习得到的,基于该可学习位置向量更新得到的映射表中的当前位置向量也是基于机器学习模型学习得到的,从而当前位置向量不限于某种选择或自定义的函数所确定的具体形式,更具有通用性。基于当前位置向量可以更好地模拟预测分子特性的复杂非线性,而且,通过机器学习模型基于该当前位置向量进行分子预测时,可以提高机器学习模型的精度和机器学习模型对分子的各种不同性质进行预测的准确性,增加机器学习模型的可解释性,即可以从物理角度提供一定的可视化和解释性。[0090]例如,本公开的实施例提供的向量生成方法不强烈依赖具体的神经网络模型选择,也就是说,在步骤s102中,神经网络可以为具有各种架构,只要该神经网络使用了位置参数(原子之间的间距、键角等)作为输入即可,在实际应用中,当将神经网络应用于进行分子性质预测时,可以将神经网络的输入(即位置参数)替换为本公开中的基于可学习位置向量进行更新后的当前位置向量,即可实现利用神经网络进行分子性质的预测。这样的替换往往能帮助神经网络处理复杂的分子内物理作用,提高模型的精度。[0091]例如,在一些实施例中,神经网络可以为卷积神经网络、图神经网络等。[0092]例如,预定条件可以根据实际情况设置,例如,预定条件可以为:至少一个损失值中的每个损失值均小于预定损失阈值。[0093]例如,在一些实施例中,在步骤s102中,基于映射表、至少一个位置参数组和至少一个输出结果,通过神经网络对应的损失函数计算得到至少一个损失值可以包括:针对每个位置参数组:基于位置参数组,确定与位置参数组对应的目标结果;获取映射表中的n个当前位置向量;基于n个当前位置向量、目标结果和位置参数组对应的位置向量组对应的输出结果,通过神经网络对应的损失函数计算得到一个损失值。[0094]例如,可以采用各种优化方法实现根据至少一个损失值对多个当前位置向量进行修正。例如,优化方法可以包括adam(adaptivemomentestimation,适应性矩估计)优化算法(adamoptimizationalgorithm)、随机梯度下降(stochasticgradientdescent,sgd)优化算法等。[0095]例如,在一些实施例中,可以利用每个损失值对多个当前位置向量进行一次修正;在另一些实施例中,也可以利用至少一个损失值整体对多个当前位置向量进行一次修正,例如,对至少一个损失值求平均以得到平均损失值,然后基于平均损失值对多个当前位置向量进行一次修正。[0096]例如,在一些实施例中,损失函数包括误差损失函数和光滑性损失函数。[0097]由于原子之间的间距和键角(化学键夹角)等位置参数是连续的,学习到的多个可学习位置向量应该是光滑的,在本公开的一些实施例中,可以采用光滑性正则化(smoothnessregularization)技术,即设置光滑性损失函数。通过设置光滑性损失函数,相当于给模型(例如,上述神经网络)提供了一定的正则化(regularization),因为该光滑性损失函数限制了各个可学习位置向量之间的相对变化,所以限制了模型的灵活性,这样的正则化可以一定程度上防止模型的过拟合。同时,由于学习到的多个可学习位置向量更加平滑,所以模型的可解释性得到了提高。[0098]例如,在一些实施例中,n大于1,光滑性损失函数表示为:[0099][0100]其中,lsmooth表示光滑性损失函数,||*||表示二范数,∑表示求和,h(xi+1)表示n个当前位置向量中的第i+1个当前位置向量,h(xi)表示n个当前位置向量中的第i个当前位置向量,i为正整数且小于等于(n-1)。[0101]例如,在一些实施例中,误差损失函数包括均方根误差损失函数或平均绝对误差损失函数等。[0102]例如,均方根误差损失函数表示为:[0103][0104]其中,lrmse表示均方根误差损失函数,m和j均为正整数,m表示至少一个位置参数组的数量,yprej表示至少一个位置参数组中的第j个位置参数组对应的输出结果,ylabj表示至少一个位置参数组中的第j个位置参数组对应的目标结果。[0105]例如,平均绝对误差损失函数表示为:[0106][0107]其中,lmae表示平均绝对误差损失函数,m和k为正整数,m表示至少一个位置参数组的数量,yprek表示至少一个位置参数组中的第k个位置参数组对应的输出结果,ylabk表示至少一个位置参数组中的第k个位置参数组对应的目标结果。[0108]例如,损失函数表示为:[0109]l=le+λ*lsmooth[0110]其中,l表示损失函数,le表示误差损失函数,lsmooth表示光滑性损失函数,λ表示控制光滑性损失函数的贡献的超参数,且为常数。[0111]例如,lsmooth可以充当正则化项,由于光滑性损失函数降低了位置编码的灵活性,从而有助于模型在少量数据的情况下进行泛化。[0112]需要说明的是,在另一些实施例中,损失函数也可以仅包括误差损失函数。[0113]图3a为本公开一些实施例提供的一种多个可学习位置向量形成的曲线示意图,图3b为本公开一些实施例提供的一种多个可学习位置向量形成的曲线示意图。需要说明的是,图3a和图3b中仅示出了10个维度,但每个可学习位置向量还可以包括更多维度,本公开对此不作限制。[0114]例如,图3a和图3b中的“归一化位置参数”可以为归一化的距离。[0115]如图3a和图3b所示,每个可学习位置向量的维度为10,j表示维度,j=0,表示可学习位置向量的第一维度,该j=0对应的曲线表示各个可学习位置向量的第一维度的元素形成的曲线;j=1,表示可学习位置向量的第二维度,该j=1对应的曲线表示各个可学习位置向量的第二维度的元素形成的曲线,依次类推,j=9,表示可学习位置向量的第十维度,该j=9对应的曲线表示各个可学习位置向量的第十维度的元素形成的曲线。[0116]例如,图3a中的曲线图表示不进行光滑性正则化处理所得到的可学习位置向量,即损失函数仅包括误差损失函数,图3b中的曲线图表示进行光滑性正则化处理所得到的可学习位置向量,即损失函数包括误差损失函数和光滑性损失函数。如图3a所示,当损失函数仅包括误差损失函数时,在每个维度上,各个可学习位置向量的元素的值随距离的变化而变化较大,且每个维度对应的曲线不平滑;如图3b所示,当损失函数包括误差损失函数和光滑性损失函数,在每个维度上,各个可学习位置向量的元素的值随距离的变化而变化较小,且每个维度对应的曲线较平滑。[0117]需要说明的是,在本公开的实施例中,“光滑性正则化处理”表示在损失函数中增加光滑性损失函数。[0118]光滑性正则化可以滤掉可学习位置向量的不必要的向量波动,从而使得更容易地分析学习到的可学习位置向量的特征。如图3a和图3b所示,基于进行光滑性正则化处理后得到的可学习位置向量可以观察到分子的以下物理性质:第一、可学习位置向量对位置参数的导数g可以反应相应分子性质对位置参数(例如,距离)的尺度的依赖,例如,针对分子的能量,位置参数较大时,g接近零,反应出在这个数据集(图3a和图3b所示的可学习位置向量基于该数据集学习得到)中,分子的能量主要取决于近距离的相互作用;第二、可学习位置向量的非单调性也往往和相应分子性质对位置参数的非单调性相关;第三、如果多个分子性质分别对应的映射表中的各个可学习位置向量之间比较相似,那么该多个分子性质的物理本质也比较相似。[0119]例如,基于图3a和图3b可知,如果不进行光滑性正则化处理,得到的可学习位置向量没有表现出明显的性质。两个位置参数对应的可学习位置向量之间的差异很大。如果进行光滑性正则化处理,得到的可学习位置向量更平滑,并显示出更简单的性质。如图3b所示,可学习位置向量通常是非线性和非单调的。对于为某个特定性质而生成的可学习位置向量,可以观察到转折点集中在归一化位置参数较小(例如,0.2左右)处,可学习位置向量在归一化位置参数较大(例如,0.4~1)时变化不大,例如,当归一化位置参数为0.4~1时,各个位置参数对应的可学习位置向量几乎不变化。[0120]图3c为图3a所示的多个可学习位置向量映射到二维空间中的示意图,图3d为图3b所示的多个可学习位置向量映射到二维空间中的示意图。图3c和图3d中的横轴和纵轴坐标指进行主成分分析(principalcomponentanalysis,pca)降维后得到的两个主成分,横轴为pca得到的第一个主成分,纵轴为pca得到的第二个主成分。[0121]图3c为对图3a所示的多个可学习位置向量进行主成分分析处理并可视化在二维(2d)空间上得到的示意图,图3d为对图3b所示的多个可学习位置向量进行主成分分析处理并可视化在2d空间上得到的示意图,如图3c所示,没有进行光滑性正则化处理得到的可学习位置向量没有显示清晰的流形,而进行光滑性正则化处理得到的可学习位置向量形成了低维流形(low-dimensionalmanifold),这个低维流形不是一条直线,与基于图3a和图3b观察到的非线性和非单调性一致。[0122]例如,在一些实施例中,步骤s11可以包括:将映射表中的n个当前位置向量的值分别替换为n个可学习位置向量的值,以得到更新后的n个当前位置向量。也就是说,更新后的n个当前位置向量的值分别为学习得到的n个可学习位置向量的值。[0123]例如,对于映射表中的每个当前位置向量,将该当前位置向量的值替换为该n个可学习位置向量中的与该当前位置向量对应的可学习位置向量的值,从而得到更新后的该当前位置向量。[0124]例如,在一些实施例中,向量生成方法还包括:基于训练数据集,确定位置参数范围;基于位置参数范围,确定n个位置参数。[0125]例如,训练数据集包括多个训练数据。[0126]例如,在一些实施例中,基于训练数据集,确定位置参数范围,包括:基于多个训练数据,确定多个训练位置参数;确定多个训练位置参数中的第一训练位置参数和第二训练位置参数;基于第一训练位置参数和第二训练位置参数,确定位置参数范围。[0127]例如,在多个训练置参数中,第一训练位置参数最大,第二训练位置参数最小。位置参数范围的最小值为第二训练位置参数,位置参数范围的最大值为第一训练位置参数。[0128]例如,n个位置参数在位置参数范围内均匀分布。例如,可以在位置参数范围内等间距进行选择以得到该n个位置参数,也就是说,n个位置参数中的任意相邻两个位置参数之间的差值是固定的。[0129]例如,在一些实施例中,以位置参数为两个原子之间的间距为例,基于多个训练数据,确定多个训练间距,然后从多个训练间距中选择得到第一训练间距和第二训练间距,在多个训练间距中,第一训练间距的值最大,第二训练间距的值最小,然后,在第一训练间距和第二训练间距之间均匀设置n个段节点,每个段节点对应表示一个间距。例如,该n个段节点包括第一训练间距对应的段节点和第二训练间距对应的段节点,即n个间距(即n个位置参数)包括第一训练间距和第二训练间距。[0130]需要说明的是,n个位置参数在位置参数范围内也可以不均匀分布,具体可以根据实际情况设置。例如,对于分子中的原子之间的间距r,r在一个间距范围[a,b]内分布,在一个间距范围[a,b]内,大多数分子中的原子之间的间距r分布在间距范围[a,c]内,从而可以在间距范围[a,c]内设置更多的位置参数,在间距范围[c,b]设置更少的位置参数。a、b和c为正实数,且c小于b,a和c之间的差值的绝对值可以小于c和b之间的差值的绝对值,例如,a可以为0,b可以为100,c可以为10。[0131]例如,在一些实施例中,基于训练数据集,确定位置参数范围,包括:基于多个训练数据,确定多个训练位置参数;确定多个训练位置参数中的第一训练位置参数和第二训练位置参数;对第一训练位置参数和第二训练位置参数分别进行变换处理,以得到第一变换后的训练位置参数和第二变换后的训练位置参数;基于第一变换后的训练位置参数和第二变换后的训练位置参数,确定位置参数范围。[0132]例如,在多个训练位置参数中,第一训练位置参数最大,第二训练位置参数最小。位置参数范围的最小值为第二变换后的训练位置参数,位置参数范围的最大值为第一变换后的训练位置参数。[0133]例如,对n个位置参数进行变换处理,以得到n个变换后的位置参数,n个变换后的位置参数在位置参数范围内均匀分布。[0134]例如,n个位置参数不均匀分布时,可以通过对训练位置参数进行变换处理,以得到位置参数范围,并再在位置参数范围内等间距取值,以得到n个变换后的位置参数,最后将该n个变换后的位置参数转换为n个位置参数,此时,该n个位置参数是非均匀分布的。[0135]例如,在一些实施例中,以位置参数为两个原子之间的间距为例,基于多个训练数据,确定多个训练间距,然后从多个训练间距中选择得到第一训练间距和第二训练间距,在多个训练间距中,第一训练间距的值最大,第二训练间距的值最小,然后,对第一训练间距和第二训练间距分别进行变换处理,以得到第一变换后的训练间距和第二变换后的训练间距,最后,在第一变换后的训练间距和第二变换后的训练间距之间设置n个段节点,每个段节点对应一个变换后的训练间距,例如,对段节点进行上述变换处理的反处理,则可以得到该段节点对应的训练间距。该n个段节点包括第一变换后的训练间距对应的段节点和第二变换后的训练间距对应的段节点,即n个变换后的间距包括第一变换后的训练间距和第二变换后的训练间距。[0136]例如,上述变换处理可以为对数函数处理,此时,该对数函数处理的反处理为指数函数处理,例如,指数函数的底数和对数函数的底数可以相同。在一些实施例中,该对数函数的底数可以为10,此时,该变换处理可以表示为:ln(1+r),其中,r为第一训练位置参数或第二训练位置参数。需要说明的是,该对数函数的底数还可以为其他值,本公开对此不作限制。[0137]需要说明的是,在一些实施例中,位置参数范围的最小值可以为0,此时,可以仅从多个训练位置参数选择得到的第一训练位置参数(第一训练位置参数最大),然后,基于该第一训练位置参数和0,则可以确定位置参数范围,此时,位置参数范围的最小值为0,位置参数范围的最大值为第一训练位置参数。[0138]例如,在一些实施例中,在执行可学习处理时,神经网络可以为已经训练好的神经网络,但本公开不限于此,在另一些实施例中,神经网络也可以为待训练的神经网络。例如,在本公开的实施例提供的向量生成方法中,不仅可以对映射表中的当前位置向量进行更新,还可以对神经网络的参数进行修正。[0139]例如,在一些实施例中,向量生成方法还包括:基于至少一个损失值对神经网络的参数进行修正。[0140]例如,在本公开的实施例提供的向量生成方法中,可以执行多次可学习处理,直到基于从映射表中任意选择得到的至少一个位置向量组计算得到的至少一个损失值满足预定条件,此时,神经网络也已经被训练完成,训练好的神经网络与该最终生成的映射表是彼此对应的,该训练好的神经网络可以用于预测分子的一种性质,即最终生成的映射表与分子的一种性质对应。[0141]对于分子的多种性质,可以基于本公开的实施例提供的向量生成方法生成与该多种性质分别对应的多个映射表,此外,也可以基于本公开的实施例提供的向量生成方法生成与该多种性质分别对应的多个神经网络,但本公开不限于此,该多个神经网络也可以采用其他合适的方法生成,本公开的实施例不作限制。例如,与分子的多种性质对应的多个神经网络的结构可以是相同,而多个神经网络的参数是不同的,又例如,与分子的多种性质对应的多个神经网络的结构和参数均可以是至少部分不同的。[0142]例如,在每次执行可学习处理时,可以仅对映射表中的部分当前位置向量进行处理,也可以对映射表中的所有当前位置向量进行处理。[0143]需要说明的是,在最终生成映射表时,该映射表中的某些当前位置向量可能存在未被选择出来进行处理(训练)的情况,因此,这些未经训练的当前位置向量的测试损失很大,然而,在本公开中,添加光滑性损失函数有助于使得各个当前位置向量保持平滑,因此即使某些当前位置向量没有直接训练,这些当前位置向量也会由于从其相邻当前位置向量的变化而更新,也就是说,每次更新时均对该映射表中的所有当前位置向量进行更新,从而即使某些当前位置向量可能存在未被选择,这些当前位置向量也可以被更新,由此,最终生成的映射表中的所有当前位置向量的测试损失都较小,满足用户的要求。[0144]例如,在每次执行可学习处理时,可以从训练数据集中,随机或按照一定规则选择至少一个待处理数据,以确定至少一个位置参数组,由此可知,例如,在第一次执行可学习处理时的位置参数组可以至少部分不同于在第二次执行可学习处理时的位置参数组;或者,在第一次执行可学习处理时的位置参数组可以与在第二次执行可学习处理时的位置参数组相同。[0145]例如,在一些实施例中,在第一次执行可学习处理时,该可学习处理可以包括:确定a1个位置参数组;基于映射表(例如,下面描述为第一映射表),获取与a1个位置参数组分别对应的a1个位置向量组;对a1个位置向量组进行处理,以得到n个可学习位置向量。对a1个位置向量组进行处理,以得到n个可学习位置向量包括:通过神经网络(例如,下面描述为第一神经网络)分别对a1个位置向量组进行处理,以得到与a1个位置向量组分别对应的a1个输出结果;基于第一映射表、a1个位置参数组和a1个输出结果,通过第一神经网络对应的损失函数计算得到a1个损失值;以及响应于a1个损失值不满足预定条件,根据a1个损失值对为第一映射表中的n个当前位置向量进行修正,以得到n个可学习位置向量;响应于a1个损失值满足预定条件,将为第一映射表中的n个当前位置向量作为n个可学习位置向量。然后,利用在第一次执行可学习处理中得到的n个可学习位置向量对第一映射表进行更新,以得到第一次更新后的映射表(例如,下面描述为第二映射表)。此外,基于a1个损失值还对第一神经网络的参数进行修正,以得到第一次修正后的神经网络(例如,下面描述为第二神经网络)。[0146]例如,在第二次执行可学习处理时,该可学习处理可以包括:确定a2个位置参数组;基于第二映射表,获取与a2个位置参数组分别对应的a2个位置向量组;对a2个位置向量组进行编码处理,以得到与n个可学习位置向量。对a2个位置向量组进行编码处理,以得到与n个可学习位置向量包括:通过第二神经网络分别对a2个位置向量组进行处理,以得到与a2个位置向量组分别对应的a2个输出结果;基于第二映射表、a2个位置参数组和a2个输出结果,通过第二神经网络对应的损失函数计算得到a2个损失值;以及响应于a2个损失值不满足预定条件,根据a2个损失值对第二映射表中的n个当前位置向量进行修正,以得到n个可学习位置向量;响应于a2个损失值满足预定条件,将第二映射表中的n个当前位置向量作为n个可学习位置向量。然后,利用在第二次执行可学习处理中得到的n个可学习位置向量对第二映射表进行更新,以得到第二次更新后的映射表。此外,基于a2个损失值还对第二神经网络的参数进行修正,以得到第二次修正后的神经网络,依次类推,可以第三次执行可学习处理、第四次执行可学习处理等。在每次执行可学习处理时,该映射表为上一次执行可学习处理之后得到更新后的映射表,该神经网络为上一次执行可学习处理之后得到修正后的神经网络,直到最终生成的映射表和神经网络满足如下条件:通过最终生成的神经网络对从最终生成的映射表中任意选择得到的至少一个位置向量组进行处理,以得到至少一个输出结果,且基于最终生成的映射表、该至少一个位置参数组和该至少一个输出结果,通过最终生成的神经网络对应的损失函数计算得到的至少一个损失值满足预定条件。[0147]例如,第一神经网络对应的损失函数中的光滑性损失函数利用第一映射表中的各个当前位置向量进行计算,第二神经网络对应的损失函数中的光滑性损失函数利用第二映射表中的各个当前位置向量进行计算。[0148]本公开至少一个实施例还提供一种数据处理方法。图4为本公开至少一个实施例提供的一种数据处理方法的示意性流程图。[0149]如图4所示,该数据处理方法可以包括以下步骤s20~s22。[0150]在步骤s20中,获取待处理位置参数。[0151]在步骤s21中,基于与待处理位置参数对应的映射表,确定与待处理位置参数对应的待处理位置向量。[0152]例如,映射表包括n个当前位置向量,映射表中的n个当前位置向量是基于根据本公开的任一实施例所述的向量生成方法得到的n个可学习位置向量进行更新得到的。例如,映射表可以为本公开的任一实施例所述的向量生成方法得到的最终生成的映射表,即在步骤s21中的映射表满足如下条件:通过与该映射表对应的神经网络对从该映射表中任意选择得到的至少一个位置向量组进行处理,以得到至少一个输出结果,且基于该映射表、该至少一个位置参数组和该至少一个输出结果,通过与该映射表对应的神经网络对应的损失函数计算得到的至少一个损失值满足预定条件。[0153]例如,映射表还包括与n个当前位置向量一一对应的n个位置参数。[0154]在步骤s22中,通过与映射表对应的神经网络对待处理位置向量进行处理,以得到处理结果。[0155]本公开的实施例提供的数据处理方法可以应用于分子性质预测,该数据处理方法得到的处理结果(即分子的性质)更加准确,例如,对于新药研发领域,分子的性质被更准确地预测,可以以更快、更便宜的方式找到更好的候选药物,大大加快药物的研发速度。[0156]例如,映射表和神经网络均可以基于分子的需要被预测的性质确定。例如,当需要预测分子的偶极矩,可以选择与偶极矩对应的映射表和神经网络;当需要预测分子的能隙(energygap,e(lumo(lowestunoccupiedmoleculeorbital,最低未占据分子轨道))减去e(homo(highestoccupiedmoleculeorbital,最高占据分子轨道))),则可以选择与能隙对应的映射表和神经网络。与偶极矩对应的映射表和与该能隙对应的映射表是不相同的,与偶极矩对应的神经网络和与能隙对应的神经网络的结构可以相同,但是与偶极矩对应的神经网络的参数至少部分不同于和与能隙对应的神经网络的参数。[0157]例如,待处理位置参数包括分子中的相邻两个原子之间的间距和/或所述分子中的键角,处理结果可以包括该分子的需要被预测的性质的预测值。[0158]需要说明的是,若待处理位置参数大于该映射表中的最大位置参数,则可以将待处理位置参数当作与该映射表中的最大位置参数相同,同理,若待处理位置参数小于该映射表中的最小位置参数,则可以将待处理位置参数当作与该映射表中的最小位置参数相同。[0159]例如,映射表中的位置参数的数量是有限的,而对于距离或键角,其是无穷且连续的值。在确定待处理位置向量时,当待处理位置参数与映射表中的位置参数中的某个位置参数相同时,则可以直接将映射表中的与该某个位置参数对应的当前位置向量作为待处理位置参数对应的待处理位置向量;当待处理位置参数与映射表中的任意位置参数均不相同时,可以通过插值的方式确定待处理位置参数对应的待处理位置向量,从而使得位置向量对位置参数是连续的。[0160]例如,在一些实施例中,在步骤s21中,当待处理位置参数与该待处理位置参数对应的映射表中的n个位置参数中的任意位置参数均不相同,则确定与待处理位置参数对应的两个待插值位置参数,两个待插值位置参数为n个位置参数中的两个位置参数,且待处理位置参数位于该两个待插值位置参数之间;然后,基于映射表,确定与两个待插值位置参数对应的两个当前位置向量作为两个插值位置向量;最后,对两个插值位置向量进行插值处理,以得到与待处理位置参数对应的待处理位置向量;当待处理位置参数为该待处理位置参数对应的映射表中的n个位置参数中的一个位置参数,则基于映射表,直接确定与待处理位置参数对应的当前位置向量作为待处理位置向量。[0161]例如,插值处理对应的插值方法包括线性插值(linearinterpolation)和/或三次埃尔米特插值(cubichermiteinterpolation)等。[0162]表格2示出了在两个数据集上对分子的不同性质进行测试得到的测试结果。[0163]例如,如表格2所示,两个数据集分别为qm9数据集(ramakrishnaetal.,2014)和pubchemqcpm6数据集(nakataetal.,2020)。[0164]表格2[0165][0166]例如,qm9数据集已成为分子化学性质预测任务的基准。该qm9数据集包含134000个稳定有机小分子的dft计算结果。这些分子由五种元素(chonf)组成,每个元素平均包含18个原子。pm6数据集的计算结果是使用半经验方法计算的,该pm6数据集的分子数量约为2.21亿,在本次测试中,对pm6数据集中的分子样本进行过滤,使该pm6数据集中的分子包含qm9数据集中的分子所包括的五种元素,并且每个分子中包含的原子少于100个。[0167]例如,如表格2所示,在本次测试中,一共测试了分子的13种性质(即任务单元,taskunit),该13种性质分别为:各向同性极化率(α)、homo能量(εhomo)、lumo能量(εlumo)、能隙δε(δε=εhomo-εlumo)、偶极矩(μ)、热容量(cv)、自由能(g)、焓变(h)、电子空间范围(r2)、298.15k的内能(u)、0k的内能(u0)、零点振动能(zpve)以及总能量(etot)。[0168]在表格2中,将本公开的实施例得到的映射表中应用于两个现有的模型:dimenet++(dime为dualindependentmapmodel,双重独立地图编码模型)和egnn(exploitingedgefeaturesforgraphneuralnetworks,基于边缘特征的图神经网络),"+posenc"指的是:将本公开的实施例提出向量生成方法生成的映射表中的多个当前位置向量(该多个当前位置向量对应的向量函数是连续且可导)作为现有模型(dimenet++或egnn)的输入;"+smooth"指的是除了"+posenc"外,还采用了本公开的实施例提出的“光滑性正则化”技术,即在生成的映射表中的多个当前位置向量的过程中增加了光滑性损失函数。需要说明的是,单独的dimenet++和egnn对应的各个性质则表示未采用本公开生成的映射表中的多个当前位置向量作为输入的测试结果。[0169]表格2中的各个数字是各个模型在测试数据集上的误差,数字越小说明模型的精度越高。采用本公开的实施例提出的技术方案后,dimenet++和egnn的精度都有所提高,减小了测试误差。[0170]基于表格2可知,相比与现有的模型(例如,nmp(gilmeretal.,2017)模型、schnet(schüuttetal.,2017)模型、cormorant(andersonetal.,2019)模型、l1net(milleretal.,2020)模型、lieconv(finzietal.,2020)模型、dimenet++模型以及egnn模型),当机器学习模型采用本公开的实施例得到的映射表中的当前位置向量作为输入时,可以降低机器学习模型在测试数据集上的误差,提高机器学习模型的输出结果的准确性。[0171]需要说明的是,在本次测试中,各个机器学习模型的超参数是相同的。[0172]图5为本公开至少一实施例提供的一种向量生成装置的示意图。[0173]如图5所示,本公开一些实施例还提供一种向量生成装置50,该向量生成装置50包括一个或多个存储器501和一个或多个处理器502。应当注意,图5所示的向量生成装置50的组件只是示例性的,而非限制性的,根据实际应用需要,该向量生成装置50还可以具有其他组件。[0174]例如,一个或多个存储器501用于非瞬时性地存储有计算机可执行指令;一个或多个处理器502被配置为运行所述计算机可执行指令。计算机可执行指令被一个或多个处理器502运行时实现根据本公开任一实施例所述的向量生成方法。关于该向量生成方法的各个步骤的具体实现以及相关解释内容可以参见上述向量生成方法的实施例,重复之处在此不作赘述。[0175]例如,处理器502和存储器501之间可以直接或间接地互相通信。[0176]例如,处理器502和存储器501可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器502和存储器501之间也可以通过系统总线实现相互通信,本公开对此不作限制。[0177]例如,处理器502和存储器501可以设置在服务器端(或云端)。[0178]例如,处理器502可以控制向量生成装置50中的其它组件以执行期望的功能。处理器502可以是中央处理器(cpu)、图形处理器(gpu)、网络处理器(np)等;处理器502还可以为具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如,数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、张量处理单元(tpu)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(cpu)可以为x86或arm架构等。[0179]例如,存储器501可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器502可以运行所述计算机可读指令,以实现向量生成装置50的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。[0180]关于向量生成装置可以实现的技术效果可以参考上述向量生成方法的实施例中的相关描述,重复之处不再赘述。[0181]图6为本公开至少一实施例提供的一种数据处理装置的示意图。[0182]如图6所示,本公开一些实施例还提供一种数据处理装置60,该数据处理装置60包括一个或多个存储器601和一个或多个处理器602。应当注意,图6所示的数据处理装置60的组件只是示例性的,而非限制性的,根据实际应用需要,该数据处理装置60还可以具有其他组件。[0183]例如,一个或多个存储器601用于非瞬时性地存储有计算机可执行指令;一个或多个处理器602被配置为运行所述计算机可执行指令。计算机可执行指令被一个或多个处理器602运行时实现根据本公开任一实施例所述的数据处理方法。关于该数据处理方法的各个步骤的具体实现以及相关解释内容可以参见上述数据处理方法的实施例,重复之处在此不作赘述。[0184]例如,处理器602和存储器601之间可以直接或间接地互相通信。[0185]例如,处理器602和存储器601可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器602和存储器601之间也可以通过系统总线实现相互通信,本公开对此不作限制。[0186]例如,处理器602和存储器601可以设置在服务器端(或云端)。[0187]例如,处理器602可以控制数据处理装置60中的其它组件以执行期望的功能。处理器602可以是中央处理器(cpu)、图形处理器(gpu)、网络处理器(np)等;处理器602还可以为具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如,数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、张量处理单元(tpu)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(cpu)可以为x86或arm架构等。[0188]例如,存储器601可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器602可以运行所述计算机可读指令,以实现数据处理装置60的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。[0189]关于数据处理装置可以实现的技术效果可以参考上述数据处理方法的实施例中的相关描述,重复之处不再赘述。[0190]图7为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图7所示,在非瞬时性计算机可读存储介质70上可以非暂时性地存储一个或多个计算机可执行指令701。例如,当计算机可执行指令701由处理器执行时可以执行根据本公开任一实施例所述的向量生成方法中的一个或多个步骤或本公开任一实施例所述的数据处理方法中的一个或多个步骤。[0191]例如,该非瞬时性计算机可读存储介质70可以应用于上述向量生成装置50或上述数据处理装置60中。例如,非瞬时性计算机可读存储介质70可以包括上述向量生成装置50中的存储器501或上述数据处理装置60中的存储器601。[0192]例如,关于非瞬时性计算机可读存储介质70的说明可以参考向量生成装置50的实施例中对于存储器501的描述或数据处理装置60的实施例中对于存储器601的描述,重复之处不再赘述。[0193]下面参考图8,图8示出了适于用来实现本公开实施例的电子设备800的结构示意图。该电子设备800可以为终端设备或服务器,并可用于执行上述实施例的向量生成方法和/或数据处理方法。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(personaldigitalassistant,简称pda)、平板电脑(portableandroiddevice,简称pad)、便携式多媒体播放器(portablemediaplayer,简称pmp)、车载终端(例如车载导航终端)、可穿戴电子设备等等的移动终端以及诸如数字tv、台式计算机、智能家居设备等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。[0194]如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)802中的程序或者从存储装置806加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。[0195]通常,以下装置可以连接至i/o接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(liquidcrystaldisplay,lcd)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置806;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。[0196]特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码,以执行根据上文所述的数据处理方法中的一个或多个步骤。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置806被安装,或者从rom802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。[0197]需要说明的是,在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。[0198]上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。[0199]可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(,包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。[0200]附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。[0201]描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。[0202]本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。[0203]第一方面,根据本公开的一个或多个实施例,一种向量生成方法,包括:对映射表中的n个当前位置向量进行可学习处理,以得到n个可学习位置向量,其中,n为正整数;利用所述n个可学习位置向量对所述n个当前位置向量进行更新。[0204]根据本公开的一个或多个实施例,向量生成方法还包括:对更新后的所述n个当前位置向量再次进行所述可学习处理。[0205]根据本公开的一个或多个实施例,利用所述n个可学习位置向量对所述映射表进行更新包括:将所述映射表中的所述n个当前位置向量的值分别替换为所述n个可学习位置向量的值。[0206]根据本公开的一个或多个实施例,所述映射表表示位置参数与当前位置向量之间的映射关系,且还包括与所述n个当前位置向量一一对应的n个位置参数,所述可学习处理包括:确定至少一个位置参数组,其中,每个位置参数组包括所述n个位置参数中的至少一个位置参数;基于所述映射表,获取与所述至少一个位置参数组分别对应的至少一个位置向量组,其中,每个位置向量组包括基于所述映射表得到的与所述位置向量组对应的位置参数组中的位置参数对应的当前位置向量;对所述至少一个位置向量组进行处理,以得到所述n个可学习位置向量。[0207]根据本公开的一个或多个实施例,对所述至少一个位置向量组进行处理,以得到所述n个可学习位置向量,包括:通过神经网络分别对所述至少一个位置向量组进行处理,以得到与所述至少一个位置向量组分别对应的至少一个输出结果;基于所述映射表、所述至少一个位置参数组和所述至少一个输出结果,通过所述神经网络对应的损失函数计算得到至少一个损失值;以及响应于所述至少一个损失值不满足预定条件,根据所述至少一个损失值对所述n个当前位置向量进行修正,以得到所述n个可学习位置向量;响应于所述至少一个损失值满足所述预定条件,将所述n个当前位置向量作为所述n个可学习位置向量。[0208]根据本公开的一个或多个实施例,基于所述映射表、所述至少一个位置参数组和所述至少一个输出结果,通过所述神经网络对应的损失函数计算得到至少一个损失值,包括:针对每个位置参数组:基于所述位置参数组,确定与所述位置参数组对应的目标结果;获取所述映射表中的所述n个当前位置向量;基于所述n个当前位置向量、所述目标结果和所述位置参数组对应的位置向量组对应的输出结果,通过所述神经网络对应的损失函数计算得到一个损失值。[0209]根据本公开的一个或多个实施例,向量生成方法还包括:基于所述至少一个损失值对所述神经网络的参数进行修正。[0210]根据本公开的一个或多个实施例,所述损失函数包括误差损失函数和光滑性损失函数。[0211]根据本公开的一个或多个实施例,n大于1,所述光滑性损失函数表示为:[0212][0213]其中,lsmooth表示所述光滑性损失函数,||*||表示二范数,∑表示求和,h(xi+1)表示所述n个当前位置向量中的第i+1个当前位置向量,h(xi)表示所述n个当前位置向量中的第i个当前位置向量,i为正整数且小于等于(n-1)。[0214]根据本公开的一个或多个实施例,所述误差损失函数包括均方根误差损失函数或平均绝对误差损失函数。[0215]根据本公开的一个或多个实施例,所述损失函数表示为:[0216]l=le+λ*lsmooth[0217]其中,l表示所述损失函数,le表示所述误差损失函数,lsmooth表示所述光滑性损失函数,λ表示控制所述光滑性损失函数的贡献的超参数,且为常数。[0218]根据本公开的一个或多个实施例,基于所述映射表,获取与所述至少一个位置参数组分别对应的至少一个位置向量组,包括:针对每个位置参数组中的每个位置参数:响应于所述位置参数与所述n个位置参数中的任意位置参数均不相同:确定与所述位置参数对应的第一待插值位置参数和第二待插值位置参数,其中,所述第一待插值位置参数和所述第二待插值位置参数为所述n个位置参数中的两个位置参数,且所述位置参数位于所述第一待插值位置参数和所述第二待插值位置参数之间;基于所述映射表,确定与所述第一待插值位置参数对应的当前位置向量作为第一待插值位置向量和与所述第二待插值位置参数对应的当前位置向量作为第二待插值位置向量;对所述第一待插值位置向量和所述第二待插值位置向量进行插值处理,以得到与所述位置参数对应的当前位置向量;响应于所述位置参数为所述n个位置参数中的一个位置参数:基于所述映射表,直接确定与所述位置参数对应的当前位置向量。[0219]根据本公开的一个或多个实施例,所述插值处理对应的插值方法包括线性插值和/或三次埃尔米特插值。[0220]根据本公开的一个或多个实施例,确定至少一个位置参数组,包括:确定至少一个待处理数据;基于所述至少一个待处理数据,确定与所述至少一个待处理数据一一对应的所述至少一个位置参数组。[0221]根据本公开的一个或多个实施例,每个待处理数据与一个分子对应。[0222]根据本公开的一个或多个实施例,向量生成方法还包括:基于训练数据集,确定位置参数范围,其中,所述训练数据集包括多个训练数据;基于所述位置参数范围,确定所述n个位置参数。[0223]根据本公开的一个或多个实施例,基于训练数据集,确定位置参数范围,包括:基于所述多个训练数据,确定多个训练位置参数;确定所述多个训练位置参数中的第一训练位置参数和第二训练位置参数,其中,在所述多个训练置参数中,所述第一训练位置参数最大,所述第二训练位置参数最小;基于所述第一训练位置参数和所述第二训练位置参数,确定所述位置参数范围。[0224]根据本公开的一个或多个实施例,所述n个位置参数在所述位置参数范围内均匀分布。[0225]根据本公开的一个或多个实施例,基于训练数据集,确定位置参数范围,包括:基于所述多个训练数据,确定多个训练位置参数;确定所述多个训练位置参数中的第一训练位置参数和第二训练位置参数,其中,在所述多个训练位置参数中,所述第一训练位置参数最大,所述第二训练位置参数最小;对所述第一训练位置参数和所述第二训练位置参数分别进行变换处理,以得到第一变换后的训练位置参数和第二变换后的训练位置参数;基于所述第一变换后的训练位置参数和所述第二变换后的训练位置参数,确定所述位置参数范围。[0226]根据本公开的一个或多个实施例,对所述n个位置参数进行所述变换处理,以得到n个变换后的位置参数,所述n个变换后的位置参数在所述位置参数范围内均匀分布。[0227]根据本公开的一个或多个实施例,所述映射表中的每个位置参数包括分子中的相邻两个原子之间的间距和/或所述分子中的键角。[0228]第二方面,根据本公开的一个或多个实施例,一种数据处理方法,包括:获取待处理位置参数;基于与所述待处理位置参数对应的映射表,确定与所述待处理位置参数对应的待处理位置向量,其中,所述映射表包括n个当前位置向量,所述映射表中的所述n个当前位置向量是基于根据本公开任一实施例所述的向量生成方法得到的所述n个可学习位置向量进行更新得到的;通过与所述映射表对应的神经网络对所述待处理位置向量进行处理,以得到处理结果。[0229]根据本公开的一个或多个实施例,所述待处理位置参数包括分子中的相邻两个原子之间的间距和/或所述分子中的键角,所述处理结果包括所述分子的性质的预测值。[0230]第三方面,根据本公开的一个或多个实施例,一种向量生成装置,包括:一个或多个存储器,非瞬时性地存储有计算机可执行指令;一个或多个处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述一个或多个处理器运行时实现根据本公开任一实施例所述的向量生成方法。[0231]第四方面,根据本公开的一个或多个实施例,一种数据处理装置,包括:一个或多个存储器,非瞬时性地存储有计算机可执行指令;一个或多个处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述一个或多个处理器运行时实现根据本公开任一实施例所述的数据处理方法。[0232]第五方面,根据本公开的一个或多个实施例,一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的向量生成方法或实现根据本公开任一实施例所述的数据处理方法。[0233]以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。[0234]此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。[0235]尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。[0236]对于本公开,还有以下几点需要说明:[0237](1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。[0238](2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。[0239]以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1