MD模拟中预测原子力和能量的图形变换器神经网络力场的制作方法

文档序号:24243785发布日期:2021-03-12 13:19阅读:125来源:国知局
本发明一般涉及用于在诸如电化学和水过滤设备之类的材料系统中的分子动力学计算机模拟中直接预测原子力的图形变换器神经网络力场(gtff)计算算法。
背景技术
::分子动力学是一种计算材料科学方法,其用于模拟在真实操作压力和温度条件下材料系统中的原子运动。存在用于计算在模拟原子运动中使用的基本原子力的方法。一个方法是从头算量子力学方法(ab-initioquantummechanicsapproach)。该方法非常准确,但也非常昂贵,因为应用该方法必需巨大量的计算资源。虽然存在消耗较少计算资源的其他方法,但是这些其他方法不提供同样高的准确性。技术实现要素:根据一个或多个说明性示例,使用图形变换器神经网络(gtff)来模拟多元素系统内元素运动的计算方法包括将多元素系统内元素的分子动力学快照转换成以原子作为图形节点的图形;定义矩阵,使得矩阵的每一列表示图形中的节点;根据每个原子的相对位置集合定义距离矩阵;使用注意力机制迭代通过gtff,对矩阵进行操作,并且通过合并距离矩阵进行扩充,以将隐藏状态从gtff的当前层传递到gtff的下一层;在矩阵的列之上执行组合以产生标量分子能量;做出通过gtff的向后传递,迭代地计算gtff各层中每一层处的导数,以计算作用在每个原子上的力的预测;以及返回作用在每个原子上的力的预测。根据一个或多个说明性示例,一种用于使用图形变换器神经网络(gtff)来模拟多元素系统内的元素运动的计算系统,包括存储器,其存储分子动力学(md)软件的gtff算法的指令;以及处理器,其被编程为执行指令以执行操作,所述操作包括将多元素系统内的元素的分子动力学快照转换成以原子作为图形节点的图形;定义矩阵,使得矩阵的每一列表示图形中的节点;根据每个原子的相对位置集合定义距离矩阵;使用注意力机制迭代通过gtff,对矩阵进行操作,并且通过合并距离矩阵进行扩充,以将隐藏状态从gtff的当前层传递到gtff的下一层;在矩阵的列之上执行组合以产生标量分子能量;做出通过gtff的向后传递,迭代地计算gtff各层中每一层处的导数,以计算作用在每个原子上的力的预测;以及返回作用在每个原子上的力的预测。根据一个或多个说明性示例,非暂时性计算机可读介质包括用于使用图形变换器神经网络(gtff)来模拟多元素系统内的元素运动的指令,所述指令当由处理器执行时,使得处理器用于:将多元素系统内的元素的分子动力学快照转换成以原子作为图形节点的图形;定义矩阵,使得矩阵的每一列表示图形中的节点;根据每个原子的相对位置集合定义距离矩阵;使用注意力机制迭代通过gtff,对矩阵进行操作,并且通过合并距离矩阵进行扩充,以将隐藏状态从gtff的当前层传递到gtff的下一层;在矩阵的列之上执行组合以产生标量分子能量;做出通过gtff的向后传递,迭代地计算gtff各层中每一层处的导数,以计算作用在每个原子上的力的预测;以及返回作用在每个原子上的力的预测。附图说明图1是使用神经网络执行分子动力学模拟的示例图解;图2是用于md模拟的图形变换器神经网络力场(gtff)方法的示例图解;和图3是可以用于实现一个或多个实施例中的gtff算法、例如图2的gtff算法的计算平台的示意图解。具体实施方式根据要求,本文中公开了本发明的详细实施例;然而,将理解到,所公开的实施例仅仅是本发明的示例,本发明的示例可以以各种形式以及替代形式来体现。各图不一定是按比例的;一些特征可以被放大或最小化以示出特定部件的细节。因此,本文中公开的具体结构和功能细节不应被解释为限制性的,而是仅仅作为用于教导本领域技术人员以各种方式采用本发明的代表性基础。术语“基本上”在本文中可以用来描述公开或要求保护的实施例。术语“基本上”可以修饰在本公开中公开或要求保护的值或相对特性。在这种情况下,“基本上”可以表示它修改的值或相对特性在该值或相对特性的±0%、0.1%、0.5%、1%、2%、3%、4%、5%或10%之内。分子动力学(md)方法有益于研究物理现象,所述物理现象诸如但不限于离子传输、化学反应以及在诸如器件或功能材料之类的材料系统中的材料体积和表面降解。这样的材料系统的非限制性示例包括燃料电池、表面涂层、电池、水脱盐和水过滤。存在用于计算在模拟原子运动中使用的基本原子力的方法。从头算量子力学方法非常准确,但也非常昂贵,因为应用该方法必需巨大量的计算资源。神经网络已经被用来拟合和预测量子力学能量。这些方法被称为神经网络力场(nnff)。能量相对于原子位置和力的导数是使用量子力学能量来预测的。然而,这些方法在计算上也很广泛。鉴于上述情况,需要的是一种用于计算原子力的计算方法,所述计算方法在消耗合理量的计算资源的同时提供充足水平的准确度。分子动力学使用原子位置(以及可能的电荷、键或其他结构信息)来计算每个原子的原子间力,所述每个原子的原子间力从而在模拟中被用于修改原子的速度。所得到的原子轨迹用于描述物理现象,所述物理现象诸如但不限于电池(例如,li离子电池)和燃料电池(例如,燃料电池电解质)中的离子传输运动、在体积材料和表面材料降解期间的化学反应、固态材料相变、例如用于药物设计、生物科学和生物化学设计的分子结合和蛋白质折叠。取决于用于计算原子力的基本方法,模拟的准确度与(通过原子数量和模拟动力学时间所测量的)大小之间存在权衡。如上面记载的,一种准确但昂贵的方法使用了被称为从头算分子动力学(aimd)的从头算量子力学方法。已经针对提供不太昂贵的方法而进行了现有的工作。在j.p.mailoa等人的在nat.mach.intell.(2019)中接收的arxiv:1905.02791.afastneuralnetworkapproachfordirectcovariantforcespredictionincomplexmulti-elementextendedsystems(一种用于复杂多元素扩展系统中直接协变力预测的快速神经网络方法)中,提出了一个版本的快速nnff,以通过使用旋转协变特征来直接预测扩展原子系统中的原子力矢量。然而,特征提取依赖于特征工程,从而使得它不太准确。在t.xie等人的crystalgraphconvolutionalneuralnetworksforanaccurateandinterpretablepredictionofmaterialproperties(用于材料属性的准确和可解释预测的晶体图形卷积神经网络).phys.rev.lett.120,145301(2018)中,卷积图形神经网络被用于自原子结构的自动化特征提取,以使能实现总的系统能量预测。使用该方法,原子与键之间的消息传递机制由网络设计者控制。在b.chen等人的path-augmentedgraphtransformernetwork(路径扩增的图形变换器网络).arxiv:1905.12712(2019)中,一种扩增有路径(真实化学键)特征的图形变换器神经网络架构被用于预测总的系统能量。消息传递的序列和强度由利用路径特征的注意力机制控制。在k.t.schutt等人的schnet:acontinuous-filterconvolutionalneuralnetworkformodelingquantuminteractions(用于建模量子相互作用的连续滤波卷积神经网络).arxiv:1706.08566(2017)中,一种卷积图形网络用于在无注意力机制的情况下通过原子之间的消息传递的自动化特征提取。该架构使能实现分子能量的预测,并且通过取得整个分子能量网络相对于位置的导数来预测原子力矢量,该算法类似于j.p.mailoa工作,并且可以用于实际的分子动力学模拟。在p.velockovic等人的graphattentionnetworks(图形注意力网络).arxiv:1710.10903(2018)中,介绍了图形变换器神经网络架构。到目前为止,该架构还没有适应于解决分子动力学问题。在以上前四篇参考文献中描述的方法是针对使用深度学习来快速回归原子力矢量和/或能量。这些绕过了昂贵的量子力学模拟,诸如密度泛函理论(dft)或量子化学。在分子动力学(md)模拟的背景下,这意味着可以在具有显著更低的计算成本的情况下利用与从头算md(aimd)的准确度接近的准确度来执行md模拟。图1图示了使用神经网络来执行md模拟的示例图解100。给定原子输入结构102,量子力学(诸如昂贵的dft)可以用于计算系统能量和原子力矢量104。然后,可以基于使用牛顿运动方程计算的力矢量来移动原子(该设置被称为分子动力学模拟或md模拟),以研究诸如离子传输、化学反应等之类的现象。在md模拟中,大约数以亿计的时间步长的迭代是典型的,从而使得基于dft力计算的md模拟非常昂贵。替代地,给定足够量的量子力学原子结构力矢量训练数据106,可以训练神经网络108来准确地进行该力计算。这有效地绕过了量子力学的力计算,并且使能实现低计算成本下的准确的力计算,从而允许更大和更久的md模拟的性能。与先前的方法相反,所公开的方法使用图形变换器网络、而不是用于在神经网络力场方法中使用的图形神经网络来进行力矢量回归。如下面详细讨论的,与用于图形学习问题的图形神经网络相比,图形变换器提供了更高的准确度。此外,与先前的方法相反,所描述的方法使用稍微不同的图形结构。而不是构造一个具有以原子为节点和以键为边的图形;在该架构中,原子、键或其他分子对象可以被认为是图形中的节点。这提供了更大的灵活性,并且允许合并与更简单的图形结构不兼容的特征。所描述的方法可以用于做出在分子动力学模拟中使用的力矢量预测,并且可以进一步用于训练可以用于这样的应用的机器学习系统。一般而言,关于图形神经网络架构,在标准前馈神经网络中存在若干个层,其中每个层经由与权重矩阵相乘来修改隐藏表示。在图形神经网络中,对图形执行操作,并且图形中的每个节点都具有这样的表示。假设h是一个矩阵,该矩阵具有充当节点表示的每一列。在具有h为输入和为输出的图形神经网络层中,这两者通过以下而相关:。这里,是可学习的权重矩阵,a是基于图形的结构而组合信息的固定混合矩阵,并且是激活函数(例如tanh或relu)。更直观地,将层的权重应用于每个节点,并且然后乘以a将基于图形结构而组合该信息(例如,如果a是图形的归一化邻接矩阵,则乘以a对图形中每个节点的邻居的隐藏状态取平均)。存在针对a的多个可能的选择,但一旦选择,它就贯穿训练和测试而保持固定。在应用激活函数之后,再次添加层输入,这是用于改进训练速度和收敛的常见技巧。在图形变换器中,层通过以下而操作:其中现在的、、都是可学习的权重矩阵,并且softmax函数独立地应用于每一列。这里的本质差异在于,已经利用表达式来替换在神经网络训练期间固定的a。被称为注意力机制的该表达式牵涉到h和一些可学习的参数;因此,网络可以使混合矩阵适应于不同类型的输入,并且通过在训练期间学习和来学习用于组合信息的最佳方式。图形变换器中的注意力机制通过合并距离项得以进一步扩增:其中d是距离矩阵(也就是说,是节点i与j之间的距离的平方),并且是可学习的标量参数。这具有随着节点对的距离增加而降低在节点对之间的相互作用强度的影响,并且学习向该降低分配多少权重。在上面描述的架构中,每一层按顺序被应用,结果产生总的网络输出,其中的每一列表示特定节点的隐藏状态。如果正在进行节点级预测(即,预测每个节点的属性),则该输出可以用作预测。相反,如果正在预测图形的属性,则的列可以被组合(通常通过对列求和或通过对列取平均)以获得单个图形级输出。回到md模拟,给定分子的快照,目标是要预测作用在每个原子i上的力矢量。可能的是利用简单的图形神经网络训练方案来完成该目标:至网络的输入是关于被编码为图形的分子的一些信息,其中以原子为节点,并且输出是预测的力矢量。然而,在这些预测之中,不存在强制能量守恒任何事物;因此,它们不适合在分子动力学模拟中直接使用。可以替代地使用神经网络力场(nnff)方法,其具有更好的结果。图2是用于md模拟的图形变换器神经网络力场(gtff)方法的示例图解200。在这样的方法中,至神经网络的输入是每个原子的位置,以及任何其他相关信息。将最终层的输出相加以产生分子能量e的预测。然后可以计算导数,其中它的可以用作对作用在原子i上的力的预测。如果神经网络是位置集合的平滑函数,则导数保证使能量守恒。结合图形神经网络架构的nnff方法可以通过其与图形变换器架构的组合来构建。如所示出的,gtff使用了具有l层的图形变换器。一旦图形变换器被训练,算法就可以如下被执行:1.让是分子中原子的位置。将分子信息组织成图形,其中以原子为节点;让作为矩阵,该矩阵具有表示图形中节点的每一列(可以包含或可以不包含在中)。还可以包括其他信息,诸如元素类型、部分电荷、化学环境、到邻居的距离、到邻居的角度、电负性、化合价、任何其他量子或经典信息。可以以各种方式利用诸如独热编码(one-hot-encoding)、正弦、余弦、指数等之类的各种基础来编码,例如作为标量或作为矢量。让也用来构造距离矩阵d。2.fori=0,…,l-1:这样做是为了通过图形变换器层传递隐藏状态;3.在列之上求和或求均值以产生标量分子能量e;4.使得向后传递通过网络(如由双线箭头所示),迭代地计算每一层处的导数,以针对每个i计算;和5.返回力预测。gtff可以被训练为深度神经网络。例如,可以形成损失函数l,以将力预测与标记数据集上的基准真值力进行比较,并且然后可以使用梯度下降关于该损失来优化网络权重(以上的和)。因为梯度下降是在梯度上执行的,所以这要求更高阶导数的计算;因此,每次训练迭代将花费与前馈神经网络的近似两倍那么久。对gtff方法的变型是可能的。例如,虽然如上所述的图形假定所有节点都是原子,但是在某些情况下可能合期望的是,在图形中包括诸如键、原子的三元组等之类的其他分子对象作为节点。这对于合并不能由原子单独表示的分子特征(例如,键的键序、三元组的键角等)是有用的,并且可以有助于计算系统的总能量。如果该信息被包含为节点,则它们到图形中所有其他对象的距离也应该被定义,使得d保持良定义。然而,能量相对于这些对象位置的导数可能不要求被计算,因为我们仅计算原子的力矢量。关于另一个可能的变型,在上面的步骤3中,指示执行列之上的求和或求均值。然而,应当注意到,在其他示例中,可以应用在列之上排列不变的另一个函数。作为又一另外的可能性,该组合操作可以被实现为另一个小的神经网络。关于另一个可能的变型,在步骤3和步骤4中,预测e被假定为单个标量值(并且因此,假定最终层的输出大小为1)。在其他示例中,e可以是中的一个矢量,并且可以将力取作这些导数的总和:。因为每个总和都遵循能量守恒,所以整个总和也将遵循能量守恒。多维能量e可以比标量e更容易学习。一个或多个实施例的gtff算法和/或方法使用计算平台来实现,如图3中所示。计算平台300可以包括存储器302、处理器304和非易失性存储装置306。处理器304可以包括从高性能计算(hpc)系统中选择的一个或多个设备,所述高性能计算(hpc)系统包括高性能核心、微处理器、微控制器、数字信号处理器、微型计算机、中央处理单元、现场可编程门阵列、可编程逻辑器件、状态机、逻辑电路、模拟电路、数字电路或基于驻留在存储器302中的计算机可执行指令来操纵信号(模拟或数字)的任何其他设备。存储器302可以包括单个存储器设备或多个存储器设备,包括但不限于随机存取存储器(ram)、易失性存储器、非易失性存储器、静态随机存取存储器(sram)、动态随机存取存储器(dram)、闪速存储器、高速缓冲存储器或能够存储信息的任何其他设备。非易失性存储装置306可以包括一个或多个持久性数据存储设备,诸如硬盘驱动器、光驱、磁带驱动器、非易失性固态设备、云存储或能够持久性地存储信息的任何其他设备。处理器304可以被配置为读入存储器302并且执行计算机可执行指令,所述计算机可执行指令驻留在非易失性存储装置306的gtff软件模块308中,并且体现一个或多个实施例的gtff算法和/或方法。处理器304可以进一步被配置为读入存储器302并且执行计算机可执行指令,所述计算机可执行指令驻留在非易失性存储装置306的md软件模块310(诸如lammps)中并且体现md算法和/或方法。软件模块308和310可以包括操作系统和应用。软件模块308和310可以从使用多种编程语言和/或技术创建的计算机程序中被编译或解译,所述多种编程语言和/或技术包括但不限于以下各项以及单独或组合的以下各项:java、c、c++、c#、objectivec、fortran、pascal、javascript、python、perl和pl/sql。在一个实施例中,pytorch是python编程语言的包,其可以用于实现一个或多个实施例的gtff的代码。代码框架可以基于晶体图形卷积神经网络(cgcnn)代码,所述晶体图形卷积神经网络(cgcnn)代码在来自马萨诸塞州剑桥的麻省理工学院的许可之下可获得。在由处理器304执行时,gtff软件模块308和md软件模块310的计算机可执行指令可以使得计算平台300分别实现本文中公开的gtff算法和/或方法以及md算法和/或方法中的一个或多个。非易失性存储装置306还可以包括支持本文中描述的一个或多个实施例的功能、特征和过程的gtff数据312和md数据314。体现本文中描述的算法和/或方法的程序代码能够以多种不同的形式作为程序产品来单独或共同地分发。程序代码可以使用其上具有计算机可读程序指令的计算机可读存储介质来分发,用于使得处理器实行一个或多个实施例的方面。固有非暂时性的计算机可读存储介质可以包括以任何方法或技术实现的用于存储信息的易失性和非易失性、可移除和不可移除的有形介质,所述信息诸如计算机可读指令、数据结构、程序模块或其他数据。计算机可读存储介质可以进一步包括ram、rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪速存储器或其他固态存储器技术、便携式光盘只读存储器(cd-rom)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备,或者可以用于存储所期望的信息并且可以由计算机读取的任何其他介质。计算机可读程序指令可以从计算机可读存储介质下载到计算机、另一类型的可编程数据处理装置或另一设备,或者经由网络下载到外部计算机或外部存储设备。存储在计算机可读介质中的计算机可读程序指令可以用于指导计算机、其他类型的可编程数据处理装置或其他设备以特定方式运行,使得存储在计算机可读介质中的指令产生包括实现流程图或图解中指定的功能、动作和/或操作的指令的制品。在某些替代实施例中,流程图和图解中指定的功能、动作和/或操作可以符合一个或多个实施例而被重新排序、串行处理和/或并发处理。此外,任何流程图和/或图解可以包括与符合一个或多个实施例而图示的节点或框相比更多或更少的节点或框。虽然已经通过各种实施例的描述说明了本发明的全部,并且虽然已经相当详细地描述了这些实施例,但是申请人不意图将所附权利要求的范围限制或以任何方式限制到这样的细节。附加的优点和修改将对本领域技术人员而言容易清楚。因此,本发明在其更宽的方面中不限于特定的细节、代表性的装置和方法以及所示和所述的说明性示例。因此,在不脱离总体发明构思的精神或范围的情况下,可以进行与这样的细节的偏离。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1