本发明大体上涉及用于诸如电化学和水过滤设备之类的材料系统中的分子动力学计算机模拟中的原子力的直接预测的神经网络力场(nnff)计算算法。
背景技术:
分子动力学是用于模拟真实操作压力和温度条件下的材料系统中的原子的运动的计算材料科学方法。存在用于计算在原子运动模拟中使用的基础原子力的方法。一种方法是从头算量子力学方法。这种方法非常准确,但是由于应用该方法所需的大量的计算资源,所以也非常昂贵。虽然存在消耗较少计算资源的其他方法,但是这些其他方法并没有提供同样高的准确度。
技术实现要素:
在第一实施例中,公开了一种用于使用神经网络力场(nnff)来模拟多元素系统内的元素的运动的计算方法。该方法包括接收多元素系统的局部环境的多个旋转不变特征和多个旋转协变特征的组合。该方法还包括基于多个旋转不变特征、多个旋转协变特征的组合以及nnff来预测用于多元素系统内的每个元素的力向量,以获得多元素系统内的元素的模拟运动。
在第二实施例中,公开了有形地体现用于软件程序的计算机可读指令的非暂时性计算机可读介质。该软件程序可由计算设备的处理器执行以提供操作。该操作包括接收多元素系统的局部环境的多个旋转不变特征和多个旋转协变特征的组合。该操作还包括基于多个旋转不变特征和多个旋转协变特征的组合以及nnff来预测用于多元素系统内的每个元素的力向量,以获得多元素系统内的元素的模拟运动。
在第三实施例中,公开了一种用于使用nnff来模拟多元素系统内的元素的运动的计算机系统。该计算机系统包括模拟计算机,该模拟计算机具有用于执行计算机可读指令的处理器和用于维持计算机可执行指令的存储器。计算机可执行指令在由处理器执行时执行以下功能:接收多元素系统的局部环境的多个旋转不变特征和多个旋转协变特征的组合;和基于多个旋转不变特征和多个旋转协变特征的组合以及nnff来预测用于多元素系统内的每个元素的力向量,以获得多元素系统内的元素的模拟运动。
附图说明
图1描绘了示出针对不同的现有技术分子动力学(md)力计算方法的尺度(scale)和准确度之间的权衡的示意图形。
图2是现有技术behler-parrinello方法下的神经网络力场(nnff)能量预测方案的神经网络节点示意图。
图3描绘了根据一个实施例的nnff算法的神经网络节点示意。
图4是使用一个实施例的nnff算法的预测力对比块聚环氧乙烷(peo)的量子力学计算力的图形。
图5a示出了一个实施例的nnff算法的指纹神经网络(nn)的图。
图5b、5c和5d描绘了示出使用一个实施例的nnff算法的指纹nn来分别预测块peo的h、c和o原子的结果的图形。
图6a示出了在一个实施例的nnff算法中被组合以产生组合nn的指纹nn和逆投影nn的图。
图6b、6c和6d描绘了示出使用一个实施例的组合nnff算法分别预测块peo的h、c和o原子的结果的图形。
图7是在一个或多个实施例中可以用于实现nnff算法(例如图6a的nnff算法)的计算平台的示意图。
具体实施方式
根据需要,本文公开了本发明的详细实施例;然而,应当理解,所公开的实施例仅仅是本发明的示例,其可以以各种且替代形式来体现。附图不一定按比例绘制;一些特征可能被放大或最小化以示出特定组件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅作为用于教导本领域技术人员以各种方式采用本发明的代表性基础。
术语“基本上”在本文中可以用于描述公开或要求保护的实施例。术语“基本上”可以修改在本公开中公开或要求保护的值或相对特性。在这种情况下,“基本上”可以表示其修改的值或相对特性在值或相对特性的±0%、0.1%、0.5%、1%、2%、3%、4%、5%或10%之内。
分子动力学(md)方法对于研究物理现象是有益的,所述物理现象诸如但不限于离子迁移、化学反应、以及材料系统(诸如设备或功能材料)中的材料块和表面降解。这种材料系统的非限制性示例包括燃料电池、表面涂层、电池、水脱盐和水过滤。存在用于计算在原子运动模拟中使用的基础原子力的方法。从头算量子力学方法非常精确,但由于应用该方法所需的大量的计算资源,所以也非常昂贵。
神经网络已经被用来拟合和预测量子力学能量。这些方法被称为神经网络力场(nnff)。使用量子力学能量来预测能量相对于原子位置和力的导数。然而,这些方法在计算上也很广泛。鉴于前述内容,需要的是一种提供适当水平的准确度同时消耗合理量的计算资源的用于计算原子力的计算方法。
分子动力学使用原子位置(以及可能为电荷、键或其他结构信息)来计算每个原子的原子间力,其因此用于修改模拟中的原子的速度。原子的结果所得轨迹用于描述物理现象,诸如但不限于电池和燃料电池中的离子迁移、块和表面材料降解期间的化学反应、以及固态材料相变。取决于用于计算原子力的基础方法,在模拟的准确度和尺寸(通过原子数和模拟动力学时间度量)之间存在权衡。如上所述,一种准确而昂贵的方法使用从头算量子力学方法,称为从头算分子动力学(aimd)。
图1描绘了示出不同现有技术md力计算方法(例如aimd102、力场md104和粗粒度md106)的尺度和准确度之间的权衡。y轴108是准确度,而x轴110是尺度(例如100个原子、1-10k个原子和100k个原子)。aimd102可以用于建模抗粘连涂层降解。通过力场拟合112,力场md可以用于建模非晶态电解质和质子交换膜燃料电池(pemfc)双极板(bpp)氧化物涂层。粗粒度md106可以用于建模pemfc全氟磺酸聚合物。
aimd针对许多相关应用在计算上要求太高。例如,根据一个估计,在具有两百(200)个核的高性能计算机上的aimd模拟将花费六十五(65)年完成,以研究具有约五百(500)个原子的非晶态磷酸锂玻璃在五百(500)纳秒内的动力学行为。
aimd的替代方案是经典分子动力学。使用该替代方案,原子间力被拟合成一些封闭的函数形式,以使得相比于aimd加速几个数量级。这种替代方法已用于模拟大型系统,诸如聚合物和非晶态材料。根据一个估计,使用经典分子动力学方法的上述的相同模拟在不到两(2)天内完成。
使用预先限定的函数形式的经典分子动力学模型的缺点之一是,它们在某些条件下保持有效的假设内限制了原子间相互作用的行为。例如,用于原子之间的键的具有二次函数形式的经典力场假设了原子之间的化学键不会断裂。该假设与自然行为相反,在自然行为中分子中的化学键在化学反应期间形成和断裂。存在用于模拟化学反应的相对更复杂的预设函数形式。例如,反作用力场(诸如reaxff)是这样一种模型。这些模型经受难以参数化并且需要大量相对复杂的手工制作的封闭函数形式的缺点。
如上所述,存在需要计算量子力学能量的nnff算法。nnff的一种实现使用了behler和parrinello所发展的旋转不变特征(以其他方式称为behler-parrinello方法),如以下文章中所述:j.behler和m.parrinello,"generalizedneural-networkrepresentationofhigh-dimensionalpotential-energysurfaces",phys.rev.lett.98,146401(2007);m.gastegger,j.behler,和p.marquetand,"machinelearningmoleculardynamicsforsimulationofinfraredspectra",chern.sci.2017,8,6924;以及j.behler,"atom-centeredsymmetryfunctionsforconstructinghigh-dimensionalneuralnetworkpotentials",j.chern.phys.,134,074106(2011),全部通过引用以其整体并入本文。
在该实现中,在预定义半径rc内围绕中心原子i的原子被用作向神经网络中的输入。不是将原子的原子笛卡尔坐标用作输入特征,而是将原子笛卡尔坐标转换为指纹特征向量。这些向量在不应改变局部原子结构的能量坐标的物理操作下是不变的。这些物理操作包括旋转、平移和置换(permutation)。旋转不变性是指相对于空间中的任意点(诸如中心原子i)以相同旋转来旋转局部原子环境的整个笛卡尔坐标时的能量不变性。平移不变性是指将局部原子环境的整个笛卡尔坐标移动相同位移时的能量不变性。置换不变性是指在改变局部原子环境中的原子的有序顺序并保持其位置固定时的能量不变性。除了满足这三(3)个条件之外,所选的指纹特征向量还可以满足以下准则(其被假设成与系统的物理性一致):来自远离中心原子i的原子的衰减贡献(向下到0,针对r>rc);以及随着原子位置在局部原子环境中平滑地变化而平滑地变化。
在一个实现中,通过将围绕中心原子i的原子坐标列表
其中,
置换不变性仅对于相同元素的原子为真。例如,交换位置1处的c原子和位置2处的c原子描述了具有相同物理性的两个系统,因此,置换不变性成立。作为另一示例,交换位置1处的c原子和位置2处的o原子描述了具有不同物理性的两个系统,并且置换不变性不成立。因此,在研究多元素系统时,以上g函数的求和应仅针对具有相同元素(对于两体g)或相同元素对(对于三体g)的原子进行。给定围绕中心原子i的感兴趣的md系统中的m数量的元素,则针对每个参数化的两体函数计算m个不同的g,并且针对每个参数化的三体函数计算m(m 1)/2个不同的g。由于这些函数的构造(包括旋转不变性),这些函数提供了用于学习量子力学的旋转不变性质的有益表示。然而,使用这些不变特征的机器学习系统限于用来预测旋转不变输出,诸如能量。
基于量子力学的许多方法(例如,密度泛函理论)被用于计算系统的能量e。然而,这些方法不能方便地将电子能分为来自单独原子的贡献。因此,在一个或多个实施例中,计算用于系统中的每个原子的
用于aimd应用的nnff方法经受一个或多个限制。例如,在训练周期期间,每个原子nn(通常,每个元素一个nn)被共同训练为单个能量量e,其关联于感兴趣的系统。因此,nn是相互依赖的,因为每个需要共同用于预测单个能量值e,并且仅针对预测训练集中使用的确切md系统而优化。没有独立的
其中,
在一个或多个实施例中,公开了一种计算机系统,该计算机系统被配置成实现一种算法,该算法使用神经网络直接从分子结构预测量子力学原子力而不使用能量导数。在某些实施例中,与需要量子力学能量的计算的已知nnff算法相比,该算法的计算上需求可以少两(2)至(3)个数量级(例如,高性能计算(hpc)系统的更少计算时间)。
hpc系统执行某些任务的能力可以使用基准进行量化,诸如来自计算代码的应用基准,诸如标准性能评估公司的spechpc2002和specmpi2007套件(www.spec.org/hpg)和美国国家科学基金会(nsf)hpc系统获取过程(其由此通过引用以其整体并入本文)中所表示的那些。
在一个或多个实施例中,经典分子动力学模型的更简单的函数形式被替换为神经网络。可以根据提供的[输入,输出]数据集容易地调整这样的网络。围绕原子i的原子的局部环境可以用于预测原子i所经历的力。在通常的nnff模型中,中心原子i被位移,然后计算原子i和i附近的所有其他原子的能量贡献的变化。总系统能量对原子i位移的数值导数是原子i所经历的原子力。该方法很耗时,因为需要计算来自围绕原子i的所有原子的能量贡献的变化以计算力。在一个或多个实施例中,本文公开的系统直接预测原子i上的力。该计算系统的速度可以是整个系统方法的两(2)到三(3)个量级那么快,因为无需计算来自围绕原子i的其他原子的附加贡献,同时维持必要的准确度。
在一个实施例中,公开了一种计算算法,其被配置成通过分析围绕中心原子的局部原子环境来直接预测原子上的力向量。可以在局部原子环境的旋转不变特征上训练神经网络。经训练的神经网络被配置成预测md模拟内的原子力。在一个或多个实施例中,旋转不变特征可以适于预测相对少量的旋转不变中间状态。随后,可以将多个旋转协变特征添加到这些旋转不变中间状态,其然后可以用在神经网络的随后部分上以预测力向量值。力向量值表示旋转协变输出。
在一个实施例中,因为该计算算法使得能够对每个训练样本进行直接
可以将一个或多个实施例的计算算法集成到md模拟引擎中,以执行md模拟,其准确度接近明显昂贵得多的aimd方法。例如,一个或多个实施例的md模拟可以有用于对与燃料电池、水脱盐、催化、涂层和电池中使用的功能材料相关的原子/离子动力学和化学反应进行建模。
在一个或多个实施例中,一个或多个实施例的原子力预测算法被集成到md软件中。合适的md软件的非限制性示例是大规模原子/分子大规模并行模拟器(lammps)。lammps可从位于新墨西哥阿尔伯克基的sandia国家实验室获得。lammps使用消息传递接口(mpi)来并行通信。lammps是开源软件,根据gnu通用公共许可证的条款分布。
该算法能够进行直接力预测的主要原理是为每个原子坐标环境
限定了一组内轴
其中,
在用于peo的nnff发展的示例中,下表2中概述了分组准则:
一旦限定了从
可以训练第二较小的神经网络(nn2)来解决逆投影问题。
作为下一步,可以通过将nn1和nn2的权重和偏差转移到具有与nn1和nn2相同的节点维度的组合nn架构中(转移学习)来将nn1和nn2组合成单个神经网络。可以通过使用(
一个或多个实施例中的上述的nnff算法的修改使得力预测能够简化,其中旋转不变和旋转协变特征用于使得能够在仅给出局部原子环境
在一个示例中,如下所示,聚环氧乙烷(peo)聚合物的块版本被用于使用针对
图4是使用一个实施例的nnff算法预测的
图5a示出了一个实施例的nnff算法的指纹神经网络(nn)502的图500。指纹nn的旋转不变分量504对应于内力投影中间状态
图6a示出了在一个实施例的nnff算法中被组合以产生组合nn606的指纹nn602和逆投影nn604的图600。根据一个或多个实施例,nn602和604的权重被转移并且组合的nn606被重新训练。指纹nn602是nnff算法的旋转不变分量,而逆投影nn604是nnff算法的旋转协变分量。组合的nn606预测笛卡尔原子力
一个或多个实施例的nnff算法和/或方法使用诸如图7所示的计算平台700之类的计算平台来实现。计算平台700可以包括处理器702、存储器704和非易失性存储706。处理器702可以包括选自高性能计算(hpc)系统的一个或多个设备,包括高性能核、微处理器、微控制器、数字信号处理器、微计算机、中心处理单元、现场可编程门阵列、可编程逻辑器件、状态机、逻辑电路、模拟电路、数字电路、或基于驻留在存储器704中的计算机可执行指令来操纵信号(模拟或数字)的任何其他设备。存储器704可以包括单个存储器设备或多个存储器设备,包括但不限于随机存取存储器(ram)、易失性存储器、非易失性存储器、静态随机存取存储器(sram)、动态随机存取存储器(dram)、闪速存储器、高速缓存存储器、或能够存储信息的任何其他设备。非易失性存储器706可以包括一个或多个持久性数据存储设备,诸如硬盘驱动器、光盘驱动器、磁带驱动器、非易失性固态设备、云存储、或能够持久地存储信息的任何其他设备。
处理器702可以被配置成读入存储器704并执行驻留在非易失性存储706的nnff软件模块708中并且体现一个或多个实施例的nnff算法和/或方法的计算机可执行指令。处理器702可以进一步被配置成读入存储器704并执行驻留在非易失性存储706的md软件模块710(诸如lammps)中并且体现md算法和/或方法的计算机可执行指令。软件模块708和710可以包括操作系统和应用。软件模块708和710可以从使用多种编程语言和/或技术所创建的计算机程序来编译或解释,包括但不限于并且单独或组合java、c、c 、c#、objectivec、fortran、pascal、javascript、python、perl和pl/sql。
在由处理器702执行时,nnff软件模块708和md软件模块710的计算机可执行指令可以使计算平台700实现本文分别公开的nnff算法和/或方法以及md算法和/或方法中的一种或多种。非易失性存储器706还可以包括支持本文描述的一个或多个实施例的功能、特征和过程的nnff数据712和md数据714。
体现本文描述的算法和/或方法的程序代码能够作为程序产品以各种不同的形式单独或共同分布。可以使用其上具有用于使处理器执行一个或多个实施例的各方面的计算机可读程序指令的计算机可读存储介质来分布程序代码。本质上是非临时性的计算机可读存储介质可以包括易失性和非易失性以及可移动和不可移动的有形介质,其采用用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现。计算机可读存储介质还可以包括ram、rom、可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、闪速存储器或其他固态存储技术、便携式压缩盘只读存储器(cd-rom)或其他光学存储、盒式磁带、磁带、磁盘存储或其他磁存储设备、或可以用于存储所需信息并可以由计算机读取的任何其他介质。可以将计算机可读程序指令从计算机可读存储介质下载到计算机、另一种类型的可编程数据处理装置、或另一设备,或者经由网络下载到外部计算机或外部存储设备。
存储在计算机可读介质中的计算机可读程序指令可以用于指导计算机、其他类型的可编程数据处理装置、或其他设备以特定方式起作用,使得存储在计算机可读介质中的指令产生制造品,包括实现流程图或图中指定的功能、动作和/或操作的指令。在某些替代实施例中,流程图和图中指定的功能、动作和/或操作可以按照一个或多个实施例被重新排序、串行处理、和/或同时处理。此外,任何流程图和/或图可以包括比按照一个或多个实施例图示的节点或框更多或更少的节点或框。
虽然已经通过各种实施例的描述说明了本发明的全部,并且虽然已经对这些实施例进行了相当详细的描述,但是申请人的意图不是将所附权利要求的范围限制或以任何方式限于这样的细节。附加的优点和修改对于本领域技术人员将是显而易见的。因此,本发明在其更广泛的方面不限于所示出和描述的具体细节、代表性装置和方法、以及说明性示例。因此,在不脱离总的发明构思的精神或范围的情况下,可以与这样的细节有所不同。
1.一种用于使用神经网络力场(nnff)来模拟多元素系统内的元素的运动的计算方法,所述方法包括:
接收多元素系统的局部环境的多个旋转不变特征和多个旋转协变特征的组合;和
基于多个旋转不变特征和多个旋转协变特征的组合以及nnff来预测用于多元素系统内的每个元素的力向量,以获得多元素系统内的元素的模拟运动。
2.根据权利要求1所述的计算方法,还包括基于多个旋转不变特征来训练第一神经网络(nn1)以预测多个旋转不变中间状态。
3.根据权利要求2所述的计算方法,还包括基于多个旋转不变中间状态和多个旋转协变特征来训练第二神经网络(nn2)以预测多个旋转协变输出。
4.根据权利要求3所述的计算方法,还包括将nn1和nn2集中成第三神经网络(nn3),其用于获得多元素系统内的元素的模拟运动。
5.根据权利要求4所述的计算方法,其中,所述多元素系统是材料系统,所述元素是所述材料系统内的原子,并且所述局部环境是原子局部环境。
6.根据权利要求5所述的计算方法,其中,所述多个旋转协变特征包括一组内轴
7.根据权利要求6所述的计算方法,其中,所述多个旋转不变中间状态包括由中心原子i经历的原子力
8.根据权利要求7所述的计算方法,其中,所述多个旋转协变输出包括由中心原子i经历的原子力
9.根据权利要求1所述的计算方法,其中,所述多个旋转不变特征包括一个或多个behler-parrinello型指纹特征向量。
10.根据权利要求1所述的计算方法,其中,所述多元素系统是以下系统之一的一部分:燃料电池、水脱盐、催化、涂层和电池。
11.一种非暂时性计算机可读介质,其有形地体现用于软件程序的计算机可读指令,所述软件程序可由计算设备的处理器执行以提供包括以下内容的操作:
接收具有元素的多元素系统的局部环境的多个旋转不变特征和多个旋转协变特征的组合;和
基于多个旋转不变特征和多个旋转协变特征的组合以及神经网络力场(nnff)来预测用于多元素系统内的每个元素的力向量,以获得多元素系统内的元素的模拟运动。
12.根据权利要求11所述的非暂时性计算机可读介质,其中,所述软件程序可由所述计算设备的处理器执行以提供基于多个旋转不变特征来训练第一神经网络(nn1)以预测多个旋转不变中间状态的进一步操作。
13.根据权利要求12所述的非暂时性计算机可读介质,其中,所述软件程序可由所述计算设备的处理器执行以提供基于多个旋转不变中间状态和多个旋转协变特征来训练第二神经网络(nn2)以预测多个旋转协变输出的进一步操作。
14.根据权利要求13所述的非暂时性计算机可读介质,其中,所述软件程序可由所述计算设备的处理器执行以提供将nn1和nn2集中成用于获得多元素系统内的元素的模拟运动的第三神经网络(nn3)的进一步操作。
15.根据权利要求11所述的非暂时性计算机可读介质,其中,所述多个旋转不变特征包括一个或多个behler-parrinello型指纹特征向量。
16.一种用于使用神经网络力场(nnff)来模拟多元素系统内的元素的运动的计算机系统,其包括具有用于执行计算机可读指令的处理器和用于维持计算机可执行指令的存储器的模拟计算机,所述计算机可执行指令在由所述处理器执行时执行以下功能:
接收具有元素的多元素系统的局部环境的多个旋转不变特征和多个旋转协变特征的组合;和
基于多个旋转不变特征和多个旋转协变特征的组合以及nnff来预测用于多元素系统内的每个元素的力向量,以获得多元素系统内的元素的模拟运动。
17.根据权利要求16所述的计算机系统,其中,所述计算机可执行指令在由所述处理器执行时执行基于多个旋转不变特征来训练第一神经网络(nn1)以预测多个旋转不变中间状态的进一步功能。
18.根据权利要求17所述的计算机系统,其中,所述计算机可执行指令在由所述处理器执行时执行基于多个旋转不变中间状态和多个旋转协变特征来训练第二神经网络(nn2)以预测多个旋转协变输出的进一步功能。
19.根据权利要求18所述的计算机系统,其中,所述计算机可执行指令在由所述处理器执行时执行将nn1和nn2集中成用于获得多元素系统内的元素的模拟运动的第三神经网络(nn3)的进一步功能。
20.根据权利要求16所述的计算机系统,其中,所述多个旋转不变特征包括一个或多个behler-parrinello型指纹特征向量。
技术总结