用于确定系统之间的相对能量的方法及电子设备与流程
未命名
10-25
阅读:67
评论:0
1.本公开总体上涉及量子系统领域,并且更具体地涉及一种用于确定系统之间的相对能量的方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术:
2.精确求解分子系统或周期性系统的基态波函数和能量是量子化学的中心问题之一。对于系统的量子化学的模拟有助于解决重要的科学或工业问题,例如有助于理解反常高温超导的机理、理解催化过程的反应机理、或理性设计储能材料等。一般基态能量依赖于哈密顿量,因此在实际应用中还需要进一步确定具有实际物理意义的两个系统之间的相对能量。
3.量子蒙特卡洛(monte carlo)方法是一类高精度的用于研究复杂量子系统的方法,这类方法能够为量子多体问题(如求解电子结构)提供了精确可靠的方案,这其中变分蒙特卡洛方法是最为常用的方法之一。但是,目前使用变分蒙特卡洛方法的方法存在计算精度低、计算量大等问题。
技术实现要素:
4.根据本公开的示例实施例,提供了一种用于确定系统之间的相对能量的方案,通过考虑能量误差与能量方差之间的线性关系,通过能量方差外推,得到对应的系统的在能量方差为零处的能量误差,从而能够更加快速高效地确定相对能量。
5.在本公开的第一方面,提供了一种用于确定系统之间的相对能量的方法,包括:针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代;获取多轮次迭代中所得到的能量误差与能量方差之间的线性关系;基于线性关系,确定在能量方差为零处的第一能量误差;以及基于第一能量误差,来确定化学系统与另一系统之间的相对能量。
6.在本公开的第二方面,提供了一种电子设备,包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,该指令当由至少一个处理单元执行时使得电子设备执行根据本公开的第一方面所描述的方法。
7.在本公开的第三方面,提供了一种用于确定系统之间的相对能量的装置,包括:迭代单元,被配置为针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代;线性确定单元,被配置为获取多轮次迭代中所得到的能量误差与能量方差之间的线性关系;能量误差确定单元,被配置为基于线性关系,确定在能量方差为零处的第一能量误差;以及相对能量确定单元,被配置为基于第一能量误差,来确定化学系统与另一系统之间的相对能量。
8.在本公开的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质具有在其上存储的机器可执行指令,该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法。
9.在本公开的第五方面,提供了一种计算机程序产品,包括计算机可执行指令,其中计算机可执行指令在被处理器执行时实现根据本公开的第一方面所描述的方法。
10.在本公开的第六方面,提供了一种电子设备,包括:处理电路,被配置为执行根据本公开的第一方面所描述的方法。
11.提供发明内容部分是为了以简化的形式来介绍一系列概念,它们在下文的具体实施方式中将被进一步描述。发明内容部分不旨在标识本公开的关键特征或必要特征,也不旨在限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
12.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
13.图1a示出了神经网络变分蒙特卡洛方法的示意图;
14.图1b示出了费米神经网络的示意图;
15.图1c示出了深度固体神经网络的示意图;
16.图2示出了在现有技术中的基于神经网络变分蒙特卡洛方法的确定相对能量的示意曲线图;
17.图3示出了根据本公开的实施例的用于确定系统之间的相对能量的过程的示意流程图;
18.图4示出了根据本公开的示例实施例的能量误差与能量方差之间的关系的示意曲线图;
19.图5和图6分别示出了根据本公开的示例实施例的训练阶段和推理阶段的比较示意图;
20.图7和图8分别示出了根据本公开的示例实施例的针对被丢弃的数据点个数的能量误差和拟合相关系数的示意图;
21.图9示出了根据本公开的示例实施例的氮气分子的能量误差曲线的示意图;
22.图10示出了根据本公开的示例实施例的一维周期性氢链系统的能量曲线的示意图;
23.图11示出了二维周期性石墨烯系统的示意图;
24.图12示出了根据本公开的实施例的针对图11所示的二维周期性石墨烯系统所得到的能量结果的示意图;
25.图13示出了根据本公开的示例实施例的三维周期性均匀电子气体系统的能量的示意图;
26.图14示出了根据本公开的一些实施例的示例装置的示意框图;以及
27.图15示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
28.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的
是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
29.在下文中,首先参见表1描述本公开的实施例中可能会涉及的一些基本的量子术语。
30.表1:术语
31.[0032][0033]
在本公开的实施例中,术语“化学体系”也可以被称为化学系统、或可以被简称为体系或系统,例如可以包括分子体系和周期性体系。示例性地,分子体系也可以被称为分子系统,周期性体系可以被称为周期性系统、固体体系或固体系统、材料体系或材料系统等,本公开对此不限定。
[0034]
量子力学中只有极少数问题是可以严格求解的,例如谐振子、氢原子、方势阱等问题,而绝大多数问题要么没有严格解,要么需要其他手段进行某种程度的近似求解,如微扰论方法。除了解析方法之外,已经发展了许多数值方法来处理大多数量子问题,例如量子蒙特卡洛方法便是用于研究较为复杂的量子系统的方法之一,而其中变分蒙特卡洛方法最为常用。
[0035]
变分蒙特卡洛方法的基本思想是首先构建一个用于表达多体电子波函数的含参函数模型,即波函数拟设,然后基于变分法的思想不断朝着能量降低的方向优化波函数拟设直至收敛。显然,变分蒙特卡洛方法的精度受限于波函数拟设的表达能力。近年来迅猛发展的神经网络模型是一类表达能力非常强大的函数模型,“费米神经网络(fermionic neural network,ferminet)”和“深度固体神经网络(deep solid neural network,deepsolid)”正是基于神经网络模型构造的波函数拟设,它们大大提高了变分蒙特卡洛方法的精度。
[0036]
变分蒙特卡洛方法与神经网络的结合在精度上大获成功,但代价是计算量巨大。另外,神经网络训练的收敛问题导致其误差抵消能力较差,相对能量计算的精度不尽如人意。
[0037]
为了解决上述问题以及潜在的其他问题,本公开的实施例提供了一种用于确定系统之间的相对能量的方案。该方案利用神经网络变分蒙特卡洛方法,进行多轮次迭代,能够在还未收敛时得到能量误差与能量方差之间的线性关系,并基于线性关系确定在能量方差为零处的能量误差,进而能够基于此来确定相对能量。可见,由于该方案无需等到训练的完全收敛,从而所需的时间更少,效率高。并且由于基态波函数作为本征态具备能量方差为零的性质,因此本方案中基于能量方差为零时的能量误差来确定相对误差,其精度更高。
[0038]
图1a示出了神经网络变分蒙特卡洛方法100的示意图。如图1a所示,针对化学系统(如分子系统或周期性系统)110,可以使用神经网络架构120构造波函数拟设130。示例性,
波函数拟设130可以用于表示多体电子波函数。
[0039]
如图1a所示,可以在所构造的波函数拟设130(试探波函数)的基础上,利用变分法的思想,通过波函数、能量、能量梯度之间的关系进行优化。示例性地,在图1a中,ψ(r;r)表示波函数,e表示能量,表示能量梯度。具体而言,可以朝着能量降低的方向优化直到收敛,例如可以基于波函数拟设的能量期望值的最小化来进行波函数优化。那么,便可以得到收敛之后的波函数(即基态波函数)和能量(即基态能量)。示例性地,在优化过程中所涉及的高维积分可以采用蒙特卡洛方法来进行计算。
[0040]
示例性,针对分子系统的神经网络架构120可以为费米神经网络;而针对周期性系统的神经网络架构120可以为深度固体神经网络。图1b示出了费米神经网络150的示意图,图1c示出了深度固体神经网络160的示意图。
[0041]
如图1b所示,可以基于费米神经网络来得到分子系统的波函数拟设。具体而言,分子系统的一个或电子位置的特征151被输入到费米神经网络的不同流152。通过多个层153来变换这些特征,并进一步应用行列式154,从而得到费米神经网络的输出,即分子系统的波函数拟设155。
[0042]
如图1c所示,可以基于深度固体神经网络来得到周期性系统的波函数拟设。具体而言,周期性系统的晶胞161(即周期性单元)包括多个原子核和多个电子。深度固体神经网络的输入为晶胞161的电子坐标162,神经网络的输出为晶胞161的波函数拟设163。
[0043]
周期性和反对称性是固体系统的波函数的两个基本属性。反对称性可以通过斯莱特(slater)行列式来保证。本公开的实施例中,深度固体神经网络可以包括两个通道,以此可以通过一个自旋向上通道的斯莱特行列式和一个自旋向下通道的斯莱特行列式来表示波函数。
[0044]
具体而言,电子坐标162可以被输入到两个通道。在第一通道中,通过使用周期性度量矩阵171和正格子矢量172来构建周期性距离特征,随后周期性距离特征被馈送到两个分子神经网络173和174中,分别得到波函数的实部和虚部。在第二通道中,可以在晶格的动量矢量175的选定子集上构建平面波相位因子176。进一步地,可以基于两个通道的输出,通过组合得到神经网络的输出,即波函数拟设163。
[0045]
图2示出了在现有技术中的基于神经网络变分蒙特卡洛方法的确定相对能量200的示意曲线图。如图2的横轴表示训练过程中的训练轮次;纵轴表示能量误差,其单位为毫哈特里(mha)。具体而言,图2中示出了两个不同系统的曲线图,包括系统1的曲线210和系统2的曲线220。
[0046]
在已有方案中,为了计算相对能量,两个不同的系统(系统1和系统2)使用相同大小的网络并训练相同的轮次,如图2中训练轮次为20万(20
×
104)轮次。
[0047]
如图2中的“训练匹配(training matched,tm)”方式所示,通过计算相对能量的策略,两个系统中较小的系统的能量误差230为最终被抵消的能量误差量,而相对能量240为两个系统(系统2与系统1)的最终能量误差的差值。示例性地,最终的相对能量为迭代相同的轮次(如图2中的20万)之后得到的能量误差的差值。
[0048]
但是可理解,由于训练相同的轮次并不能保证不同系统的能量收敛程度相同,并且使用相同的网络处理不同困难程度的系统所得到的能量误差也会有较大差距,因此使用上述策略所得到的误差仍然较大。从图2可以看出,所得到的相对能量的误差240较大。
[0049]
作为示意,基于图2的方案(即相同轮次后的能量误差的差值)确定相对能量的方案可以被简称为tm方案,例如利用费米神经网络的变分蒙特卡洛方法得到相对能量的方案被称为fermi-tm,利用深度固体神经网络的变分蒙特卡洛方法得到相对能量的方案被称为deepsolid-tm。
[0050]
图3示出了根据本公开的实施例的用于确定系统之间的相对能量的过程300的示意流程图。在框310,针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代。在框320,获取多轮次迭代中所得到的能量误差与能量方差之间的线性关系。在框330,基于线性关系,确定在能量方差为零处的第一能量误差。在框340,基于第一能量误差,来确定化学系统与另一系统之间的相对能量。
[0051]
可理解的是,本公开实施例中的化学系统可以为分子系统或者周期性系统。示例性地,周期性系统可以为一维周期性系统、二维周期性系统、或三维周期性系统,本公开对此不限定。举例而言,分子系统可以例如为氮气分子。举例而言,周期性系统可以例如为一维周期性氢链系统、二维周期性石墨烯系统、二维单层氮化硼(2d-bn)系统、三维过渡金属氧化物氧化镍(3d-nio)系统、三维周期性均匀电子气体系统等。
[0052]
具体而言,在框310处,可以通过使用神经网络架构,构造化学系统的波函数拟设;通过使用蒙特卡洛方法,基于波函数拟设来确定化学系统的能量;通过使用变分方法,基于能量来确定能量梯度;以及通过多轮次迭代来更新波函数拟设以及能量。
[0053]
在一些实施例中,响应于化学系统为分子系统,所使用的神经网络架构可以为费米神经网络,相应地波函数拟设为该费米神经网络的输出。在一些实施例中,响应于化学系统为周期性系统,所使用的神经网络可以为深度固体神经网络,相应地波函数拟设为该深度固体神经网络的输出。
[0054]
在本公开的实施例中,可以采用蒙特卡洛方法,通过如下的式(1)来确定能量:
[0055][0056]
在式(1)中,e表示能量,ψ表示波函数,h表示哈密顿量。在一些实施例中,可以基于能量,采用变分方法,例如计算梯度,来得到能量梯度,例如表示为可理解,框310处的过程与前述结合图1所示的过程类似,区别在于在本方案的框310处无需等到收敛。也就是说,可以在迭代的过程中来执行后续的框320至框340的操作。
[0057]
在本公开的实施例中,框310处的多轮次迭代可以发生于模型训练阶段(简称训练阶段),或者也可以发生于模型推理阶段(简称检测阶段、推理阶段、或应用阶段)。具体而言,在训练阶段进行采样的游走子具有第一数量;在检测阶段进行采样的游走子具有第二数量。一般地,第二数量远大于第一数量,这样能够避免训练时间过程,效率过程。示例性地,第二数量的数量级大于第一数量的数量级,例如第一数量的数量级为千,第二数量的数量级为万、十万、甚至更大。
[0058]
示例性地,在多轮次迭代过程的每一轮次中,可以针对每个游走子确定其局部能量,进而可以基于各个游走子局部能量来确定能量方差。示例性地,本公开的实施例中的能量误差可以被理解为模型输出的能量与标准答案之间的误差,例如标准答案可以为基于实验结果所得到的能量。或者示例性地,本公开的实施例中的能量误差可以被理解为模型输出的能量,也就是说,在一些场景中能量误差与能量可以被互换使用,本公开对此不限定。
[0059]
可理解,能量方差与能量误差之间的线性关系可以被表示为在坐标系中的拟合直线,其中坐标系的横轴为能量方差,纵轴为能量误差。可选地,可以将该线性关系表示为“能量误差=a
×
能量方差+b”,其中系数a和b是基于多轮次迭代所确定的。
[0060]
示例性地,该拟合直线可以基于坐标系中的多个数据点经拟合得到,其中多个数据点可以对应多个误差-方差对(误差方差对),并且每个误差-方差对包括一个能量方差值(横坐标值)和一个能量误差值(纵坐标值)。
[0061]
在本公开的一些实施例中,通过多轮次迭代,可以得到与多轮次迭代对应的多个能量。示例性地,在框320处可以基于多轮次迭代来确定多个误差方差对。举例而言,可以基于相邻的每n个轮次迭代得到的n个能量值来确定一个误差方差对。例如,基于第1轮次至第n轮次来确定第1个误差方差对,基于第n+1轮次至第2n轮次来确定第2个误差方差对,
…
。可选地,n的值可以为2000。以此方式,每两千轮次可以得到用于确定线性关系的一个数据点。
[0062]
示例性地,针对n个轮次迭代的n个能量值,可以去除其中的n0个异常值,并基于剩余的n-n0个能量值的平均能量值,来确定与这n个轮次迭代对应的数据点。可选地,异常值与平均能量值的差异超过阈值百分比,例如阈值百分比为20%、10%、或其他值。
[0063]
示例性地,针对多个误差方差对,可以删除其中的前m个误差方差对。也就是说,针对多个数据点,可以删除前m个数据点。例如m可以大于6,例如m=8或其他值。示例性地,可以基于经删除后的剩余多个误差方差对,来确定能量误差与能量方差之间的线性关系。这样能够更快速地确定线性关系。
[0064]
在一些实施例中,通过确定线性关系,可以确定前述表达式“能量误差=a
×
能量方差+b”中的a和b值。在一些实施例中,通过确定线性关系,可以确定在坐标系中的以能量方差为横轴、以能量误差为纵轴的拟合直线。这样,便可以进一步在框330处确定第一能量误差,例如b。
[0065]
可理解,根据量子力学理论,基态波函数作为本征态应当具备能量方差为0的性质,因此在本公开的实施例中,通过将能量方差外推到0的位置,能够更快速且准确地确定能量误差。
[0066]
可理解,由于基于多轮次迭代的能量方差不为零,因此与能量方差为零所对应的第一能量误差实际上是基于线性关系进行外推得到的。作为示意,本公开的实施例的方案可以被称为“方差外推(variance extrapolation,ve)”方法或者ve方案。例如利用费米神经网络的变分蒙特卡洛方法并通过ve得到相对能量的方案被称为fermi-ve,利用深度固体神经网络的变分蒙特卡洛方法并通过ve得到相对能量的方案被称为deepsolid-ve。
[0067]
在一些实施例中,还可以确定另一系统的与能量方差为零所对应的第二能量误差,进而能够基于第一能量误差和第二能量误差来确定两者的相对能量。例如可以将第一能量误差与第二能量误差的差值的绝对值作为相对能量。
[0068]
可选地,在一些示例中,针对另一系统,可以采用与上述确定化学系统的第一能量误差类似的方法,来确定另一系统的第二能量误差。可选地,在另一些示例中,针对另一系统,可以获取预先确定的第二能量误差,例如可以是理论值或者实验结果,本公开对此不限定。
[0069]
在本公开的一些实施例中,用于计算相对能量的另一系统可以被称为系统1,而框310处的化学系统可以被称为系统2。在一些示例中,系统1可以是与系统2相关联的系统。举
例而言,系统2中的各个分子/原子处于成键状态或聚合能状态,而系统1中的各个分子/原子处于不成键状态。举例而言,系统2为过渡态,而系统1为基态。
[0070]
图4示出了根据本公开的示例实施例的能量误差与能量方差之间的关系400的示意曲线图。图4的横轴表示能量方差,其单位为ha2;纵轴表示能量误差,其单位为mha。具体而言,图4中示出了系统1的曲线图410和系统2的曲线图420。
[0071]
作为示例,在训练过程中,可以利用能量误差与能量方差所展示出的线性关系(也称线性性),通过线性外推得到能量方差为0处的能量误差的结果,如图4所示的“方差外推”430,然后再计算得到两个系统之间的相对能量。
[0072]
作为示例,在图4中还同时示出了“训练匹配”的结果(如基于图2的方法得到)。可以看出,通过本方案中的方差外推430所得到的相对能量误差远小于训练匹配的相对能量。也就是说,采用本公开的实施例的方案,能够使得相对能量误差明显下降。
[0073]
图5和图6分别示出了根据本公开的示例实施例的训练阶段和推理阶段的比较示意图500和600。图5和图6的横轴表示能量方差,纵轴表示能量误差。图5和图6示出了训练数据和推理数据(也称为检测数据)之间的能量误差比较,例如图示的推理数据为每1万步的检测点的检测数据。
[0074]
图5表示在迭代的初期,训练数据和推理数据的能量误差有较大差距;而在图6所示的迭代后期,两者的差距减小。由于能量误差和能量方差的线性性在后期出现,即“方差外推”方法的作用区域,因此在实际情况中,如图6所示,针对训练数据和推理数据都使用“方差外推”方法之后,两者的差异是可以忽略的,因此本公开的实施例中基于训练数据应用方差外推,其结果针对推理数据也是合理、可靠的。
[0075]
图7和图8分别示出了根据本公开的示例实施例的针对被丢弃的数据点个数的能量误差和拟合相关系数的示意图700和800。
[0076]
如图7所示,示出了能量误差随着被丢弃(也称删除)的数据点个数的变化曲线,其中一个数据点可以对应2000个轮次的迭代。可以看出,如果被丢弃的数据点的个数过少,那么对线性拟合的误差较大,即不利于线性拟合。
[0077]
如图8所示,被丢弃的数据点的个数从6开始,相关系数开始持续下降。也就是说,被丢弃的数据点的个数大于6时,基于剩余的数据点可以具有较好的线性相关性。
[0078]
因此,结合图7和图8,在本公开的实施例中,所设定的被丢弃的数据点的个数大于6,例如为8个(如图7中的710和图8中的810所示),也就是说在确定线性关系时可以不考虑多轮次迭代初期的若干结果(如初期的2000
×
8=16000轮次)。例如,如图7所示,当被丢弃的数据点的个数为8时,外推结果在此之后几乎都位于拟合误差(如图7所示的阴影区域)内,并且自身的拟合误差也较小。因此,被丢弃的数据点点个数取值为8是合理的。
[0079]
图9示出了根据本公开的示例实施例的氮气分子的能量误差曲线900的示意图。具体而言,图9示出了使用不同的方法所得到的氮气分子的解离能的示意图。曲线910表示基于费米神经网络的未使用本公开的方差外推方法的(ferminet-tm)能量误差随键长变化的曲线图,曲线920表示基于费米神经网络的使用本公开的方差外推方法的(ferminet-ve)能量误差随键长变化的曲线图。作为参考,图9中还示出了化学精度的区域930。
[0080]
可以看出,采用本公开的方案所得到的能量误差基本都位于化学精度的区域930内,因此本方案的精度较高。另一方面,与曲线910相比,曲线920的能量误差范围更小。具体
而言,曲线910上的能量误差最大值与能量误差最小值之间的差值为4.53mha,而曲线920上的能量误差最大值与能量误差最小值之间的差值为2.89mha。
[0081]
图10示出了根据本公开的示例实施例的一维周期性氢链系统的能量曲线1000的示意图。具体而言,图10的横轴表示氢原子的数量的倒数,纵轴表示每个原子的交互能量(interaction energy)。曲线1010表示基于深度固体神经网络的未使用本公开的方差外推方法的(deepsolid-tm)曲线图,曲线1020表示基于费米神经网络的使用本公开的方差外推方法的(deepsolid-ve)曲线图。作为参考,图10中还示出了采用高精度的辅助场量子蒙特卡洛(auxiliary field quantum monte carlo,afqmc)方法所得到的结果1030。
[0082]
如图10所示,随着一维周期性氢链系统中的氢原子数量的增加,即横坐标从右向左,可以将能量结果逐步地接近热力学极限(对应于氢原子数量无穷大时的极限能量结果),并且采用本公开的方案所得到的曲线1020更接近于afqmc的结果1030,可见本方案的精度较高。
[0083]
图11示出了二维周期性石墨烯系统1100的示意图。如图11所示,示出了石墨烯的实空间结构1110以及倒格矢空间结构1120,其中倒格子矢量包括r、k1和k2。
[0084]
图12示出了根据本公开的实施例的针对图11所示的二维周期性石墨烯系统所得到的能量结果1200的示意图。具体而言,图12分别示出了针对各个倒格子矢量的、基于深度固体神经网络的未使用本公开的方差外推方法(deepsolid-tm)所得到的每个原子的附着能量的柱状图以及基于深度固体神经网络的使用本公开的方差外推方法(deepsolid-ve)所得到的每个原子的附着能量的柱状图。
[0085]
示例性地,在图12中还通过将各个倒格子矢量的结果进行加权平均(例如各自的权重可以基于在图11的1120中所示的各个倒格子矢量的数量比例来确定)所得到的经校正的结果1210。如图12所示,基于深度固体神经网络的未使用本公开的方差外推方法(deepsolid-tm)所得到的每个原子的附着能量的均值为-7.49,而基于深度固体神经网络的使用本公开的方差外推方法(deepsolid-ve)所得到的每个原子的附着能量的均值为-7.62。
[0086]
在图12中还同时示出了实验结果(-7.60)以做比较。可以看出,本方案所得到的结果-7.62与实验结果-7.60更接近,因此本方案的精度较高。
[0087]
图13示出了根据本公开的示例实施例的三维周期性均匀电子气体系统的能量1300的示意图。具体而言,图13中示出了转相关的(transcorrelated,tc)全组态相互作用量子蒙特卡洛(full configuration interaction quantum monte carlo,fciqmc)1310、回流(backflow,bf)扩散蒙特卡洛(diffusion monte carlo,dmc)1320、bf-vmc 1330、deepsolid-ve 1340、以及deepsolid-tm 1350。
[0088]
图13的水平方向(即柱状的长度)表示相关能量,并且从左往右,相关能量是递减的。也就是说,图13中柱状越长表示值越小。
[0089]
通过与bf-dmc 1320之间的比较,可以看出deepsolid-tm 1350方案的结果高于bf-dmc 1320的结果,而采用本方案的deepsolid-ve 1340的结果低于bf-dmc 1320的结果。
[0090]
另一方面,通过与高精度的tc-fciqmc 1310之间的比较,可以看出采用本方案所得到的结果与之更接近。如参照图13,在多个结果中,本方案的deepsolid-ve 1340的结果1341与高精度的tc-fciqmc 1310的结果1311最为接近,且本方案的deepsolid-ve 1340的
结果1342与高精度的tc-fciqmc 1310的结果1312最为接近。因此,本方案的精度较高。
[0091]
通过上述结合各个附图所描述的本公开的实施例,本方案基于神经网络变分蒙特卡洛,能够在训练过程中基于能量误差与能量方差之间的线性关系,通过方差外推的方法来确定化学系统的相对能量。以此方式,能够缩短处理的时长,提高处理效率。并且由于基态波函数作为本征态应当具备能量方差为0的性质,因此基于本方案的方案所确定的相对能量的准确度高。
[0092]
应理解,在本公开的实施例中,“第一”,“第二”,“第三”等只是为了表示多个对象可能是不同的,但是同时不排除两个对象之间是相同的,不应当解释为对本公开实施例的任何限制。
[0093]
还应理解,本公开的实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在符合逻辑的情况下,可以相互结合。
[0094]
还应理解,上述内容只是为了帮助本领域技术人员更好地理解本公开的实施例,而不是要限制本公开的实施例的范围。本领域技术人员根据上述内容,可以进行各种修改或变化或组合等。这样的修改、变化或组合后的方案也在本公开的实施例的范围内。
[0095]
还应理解,上述内容的描述着重于强调各个实施例之前的不同之处,相同或相似之处可以互相参考或借鉴,为了简洁,这里不再赘述。
[0096]
图14示出了根据本公开的一些实施例的示例装置1400的示意框图。装置1400可以通过软件、硬件或者两者结合的方式实现。如图14所示,装置1400包括迭代单元1410、线性确定单元1420、能量误差确定单元1430、以及相对能量确定单元1440。
[0097]
迭代单元1410被配置为针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代。线性确定单元1420被配置为获取多轮次迭代中所得到的能量误差与能量方差之间的线性关系。能量误差确定单元1430被配置为基于线性关系,确定在能量方差为零处的第一能量误差。相对能量确定单元1440被配置为基于第一能量误差,来确定化学系统与另一系统之间的相对能量。
[0098]
在一些实施例中,线性确定单元1420被具体配置为:基于多轮次迭代确定多个误差方差对,其中多个误差方差对中的每个误差方差对基于相邻的每n轮次迭代得到的n个能量值来确定,且每个误差方差对包括一个能量误差值和一个能量方差值,其中n为正整数;删除多个误差方差对中的前m个误差方差对,其中m为正整数;以及基于经删除后的剩余多个误差方差对,来确定能量误差与能量方差之间的线性关系。
[0099]
示例性地,每个误差方差对通过下述方式得到:针对相邻的每n轮次迭代得到的n个能量值,去除n个能量值中的n0个异常值;确定经去除后的剩余的n-n0个能量值的平均能量值,其中n0为小于n的正整数;以及基于平均能量值来确定一个能量误差值和一个能量方差值。
[0100]
可选地,异常值与平均能量值的差异超过阈值百分比。可选地,n=2000,m=8。
[0101]
在一些实施例中,能量误差确定单元1430还被配置为:确定针对另一系统的与能量方差为零对应的第二能量误差;或者获取针对另一系统的预先确定的第二能量误差。
[0102]
示例性地,相对能量基于第一能量误差与第二能量误差之间的差值来确定。
[0103]
在一些实施例中,迭代单元1410被具体配置为:通过使用神经网络架构,构造化学
系统的波函数拟设;通过使用蒙特卡洛方法,基于波函数拟设来确定化学系统的能量;通过使用变分方法,基于能量来确定能量梯度;以及通过多轮次迭代来更新波函数拟设以及能量。
[0104]
示例性地,迭代单元1410被配置为:响应于化学系统为分子系统,确定神经网络结构为费米神经网络,或者响应于化学系统为周期性系统,确定神经网络为深度固体神经网络。
[0105]
示例性地,迭代单元1410被配置为:在训练阶段,针对化学系统的第一数量的游走子进行多轮次迭代;或者在检测阶段,针对化学系统的第二数量的游走子进行多轮次迭代,其中第二数量的数量级高于第一数量的数量级。
[0106]
图14的装置1400能够用于实现上述结合图3所述的过程,为了简洁,这里不再赘述。
[0107]
本公开的实施例中对模块或单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在公开的实施例中的各功能单元可以集成在一个单元中,也可以是单独物理存在,也可以两个或两个以上单元集成为一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0108]
图15示出了可以用来实施本公开的实施例的示例设备1500的框图。应当理解,图15所示出的设备1500仅仅是示例性的,而不应当构成对本文所描述的实现方式的功能和范围的任何限制。例如,可以使用设备1500来执行上文描述的图1至图13所述的过程。
[0109]
如图15所示,设备1500是通用计算设备的形式。计算设备1500的组件可以包括但不限于一个或多个处理器或处理单元1510、存储器1520、存储设备1530、一个或多个通信单元1540、一个或多个输入设备1550以及一个或多个输出设备1560。处理单元1510可以是实际或虚拟处理器并且能够根据存储器1520中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备1500的并行处理能力。
[0110]
计算设备1500通常包括多个计算机存储介质。这样的介质可以是计算设备1500可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1520可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(random access memory,ram))、非易失性存储器(例如,只读存储器(read only memory,rom)、电可擦除可编程只读存储器(electrically erasable programmable read only memory,eeprom)、闪存)或它们的某种组合。存储设备1530可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备1500内被访问。
[0111]
计算设备1500可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图15中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1520可以包括计算机程序产品1525,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实现方式的各种方法或动作。
[0112]
通信单元1540实现通过通信介质与其他计算设备进行通信。附加地,计算设备1500的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通
信连接进行通信。因此,计算设备1500可以使用与一个或多个其他服务器、网络个人计算机(personal computer,pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
[0113]
输入设备1550可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1560可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备1500还可以根据需要通过通信单元1540与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备1500交互的设备进行通信,或者与使得计算设备1500与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(input/output,i/o)接口(未示出)来执行。
[0114]
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,提供了一种计算机程序产品,其上存储有计算机程序,该程序被处理器执行时实现上文描述的方法。
[0115]
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0116]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0117]
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0118]
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0119]
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好
地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
技术特征:
1.一种用于确定系统之间的相对能量的方法,包括:针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代;获取所述多轮次迭代中所得到的能量误差与能量方差之间的线性关系;基于所述线性关系,确定在能量方差为零处的第一能量误差;以及基于所述第一能量误差,来确定所述化学系统与另一系统之间的相对能量。2.根据权利要求1所述的方法,其中获取所述多轮次迭代中所得到的能量误差与能量方差之间的线性关系包括:基于所述多轮次迭代确定多个误差方差对,其中所述多个误差方差对中的每个误差方差对基于相邻的每n轮次迭代得到的n个能量值来确定,且所述每个误差方差对包括一个能量误差值和一个能量方差值,其中n为正整数;删除多个误差方差对中的前m个误差方差对,其中m为正整数;以及基于经删除后的剩余多个误差方差对,来确定能量误差与能量方差之间的所述线性关系。3.根据权利要求2所述的方法,其中所述每个误差方差对通过下述方式得到:针对相邻的每n轮次迭代得到的n个能量值,去除所述n个能量值中的n0个异常值;确定经去除后的剩余的n-n0个能量值的平均能量值,其中n0为小于n的正整数;以及基于所述平均能量值来确定所述一个能量误差值和所述一个能量方差值。4.根据权利要求3所述的方法,其中所述异常值与所述平均能量值的差异超过阈值百分比。5.根据权利要求2所述的方法,其中n=2000,m=8。6.根据权利要求1所述的方法,还包括:确定针对所述另一系统的与能量方差为零对应的第二能量误差;或者获取针对所述另一系统的预先确定的第二能量误差。7.根据权利要求6所述的方法,其中所述相对能量基于所述第一能量误差与所述第二能量误差之间的差值来确定。8.根据权利要求1所述的方法,其中针对化学系统使用神经网络变分蒙特卡洛方法进行多轮次迭代包括:通过使用神经网络架构,构造所述化学系统的波函数拟设;通过使用蒙特卡洛方法,基于所述波函数拟设来确定所述化学系统的能量;通过使用变分方法,基于所述能量来确定能量梯度;以及通过多轮次迭代来更新所述波函数拟设以及所述能量。9.根据权利要求8所述的方法,其中,响应于所述化学系统为分子系统,确定所述神经网络结构为费米神经网络,或者响应于所述化学系统为周期性系统,确定所述神经网络为深度固体神经网络。10.根据权利要求1所述的方法,其中进行多轮次迭代包括:在训练阶段,针对所述化学系统的第一数量的游走子进行多轮次迭代;或者在检测阶段,针对所述化学系统的第二数量的游走子进行多轮次迭代,其中所述第二数量的数量级高于所述第一数量的数量级。11.一种电子设备,包括:
至少一个处理单元;至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时使得所述电子设备执行动作,所述动作包括:针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代;获取所述多轮次迭代中所得到的能量误差与能量方差之间的线性关系;基于所述线性关系,确定在能量方差为零处的第一能量误差;以及基于所述第一能量误差,来确定所述化学系统与另一系统之间的相对能量。12.一种用于确定系统之间的相对能量的装置,包括:迭代单元,被配置为针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代;线性确定单元,被配置为获取所述多轮次迭代中所得到的能量误差与能量方差之间的线性关系;能量误差确定单元,被配置为基于所述线性关系,确定在能量方差为零处的第一能量误差;以及相对能量确定单元,被配置为基于所述第一能量误差,来确定所述化学系统与另一系统之间的相对能量。13.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1至10中任一项所述的方法。
技术总结
本公开涉及用于确定系统之间的相对能量的方法、装置、电子设备、计算机可读存储介质、和计算机程序产品。该方法包括:针对化学系统,使用神经网络变分蒙特卡洛方法,进行多轮次迭代;获取多轮次迭代中所得到的能量误差与能量方差之间的线性关系;基于线性关系,确定在能量方差为零处的第一能量误差;以及基于第一能量误差,来确定化学系统与另一系统之间的相对能量。以此方式,本方案可以在还未收敛时得到能量误差与能量方差之间的线性关系,并基于线性关系确定在能量方差为零处的能量误差,进而能够基于此来确定相对能量。可见,由于该方案无需等到训练的完全收敛,从而所需的时间更少,效率更高。效率更高。效率更高。
技术研发人员:任维络 付伟中 陈基
受保护的技术使用者:北京有竹居网络技术有限公司
技术研发日:2023.07.21
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/