跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架

摘要:
因此,分子动力学模拟的重点是如何建立描述分子间相互作用的模型。DFT(第一原理)和经验力场。如果你知道DFT可以建立的模型,你可以在下一帧中计算原子的状态。DFT计算结果相对准确,只能模拟数百个原子的物理系统。其次,介绍了分子动力学模拟框架DeepMD的建模思想,II。AI建模(以水H2O为例)微观粒子上的相互作用本质上是原子空间坐标的高维函数。
摘要:分子动力学仿真模拟的重点就在于如何建立模型描述分子间的相互作用。

本文分享自华为云社区《AI建模-分子动力学仿真》,作者: 木子_007 。

一、背景

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第1张

分子动力学的仿真模拟广泛应用于医药、化学、生物、材料等领域,研究模拟物质的微观结构,可以帮助我们理解物质的宏观性质,甚至对物质的宏观性质做出预测,物质的微观结构是由原子间的相互作用决定的,所以分子动力学仿真模拟的重点就在于如何建立模型描述分子间的相互作用。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第2张

传统的建模手段有两种:DFT(第一性原理)和经验力场。

DFT

DFT又称为第一性原理,具体建模和计算的过程非常复杂,需要很高深的数学和领域知识,了解一下即可

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第3张

DFT构建的模型,可以看做是黑盒,根据输入,可以计算出下一帧体系内原子的状态

DFT的计算结果是比较准确的,但是因为计算代价太高,导致计算效率太低,只能够模拟几百个原子的物理体系。

经验力场

经验力场,是人们在研究某个物理体系时,根据其物理特性和一些实验结果,再加上一些处理经验,所构建的一个高阶函数,如研究惰性气体时的势能函数。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第4张

这种构建方式计算效率很高,但是其建模方式本身就决定了其精度不高。所以传统的分子动力学仿真存在一个困境,即无法效率和精度兼顾,而随着深度学习的普及使这种困境有了解决的思路。接下来就分子动力学仿真框架DeepMD的建模思想,做一个简单的介绍。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第5张

二、AI建模(water H2O 为例)

微观粒子上的相互作用

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第6张

本质上是关于原子空间坐标的一个高维函数,如果能够计算出这个函数,那么在进行仿真的时候,就可以性能与精度兼顾了,传统数学工具对高维函数缺乏有效手段,而AI深度学习,本质上就是一个数学工具。为高维函数的逼近提供了有力工具,接下来会介绍一下建模的思想和过程。首先理清楚我们的目的和已具备的条件:

目的:构建一个深度学习网络,最终可以训练计算出一个高维函数(训练出一个模型)来表示这个物理体系,最终计算出来的结果,近似于第一性原理的计算结果。

模型:

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第7张

训练及测试数据:

由第一性原理计算出来的体系内不同帧的原子状态,包括,原子坐标coord,空间尺度坐标box,体系的能量energy,体系中每个原子受到的力force

训练:

训练L2级别的loss

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第8张

2.1 数据处理

通过上面的分析,我们要建立的这个模型,输入就是体系内原子的坐标,输出就是体系的势能和原子受到的力,但是,有一点需要特别注意,对于一个体系如水分子,如果一个水分子发生了旋转,平移或者它的两个氢原子发生交换,那么能量是不变的。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第9张

这种变化我们从直觉上理解是正常的,但是从模型的角度,这就要求,在坐标发生变化之后,输出还能保持与变化前一致,这对模型来说,往往是不可能的,所以在真正进入到深度学习DNN网络之前,需要对原始的原子三维坐标,做一些处理,使其能够满足空间中的平移,旋转和交换不变性。

2.1.1 平移不变性

要保证平移不变性,我们可以把空间中的原子左边转为原子间的相对距离,创建一个距离矩阵Ri。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第10张

根据原子中心框架,对距离矩阵做平滑处理,将超过截断半径外的原子的影响置为0。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第11张跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第12张

2.1.2 交换和旋转不变性

要满足空间中的交换和旋转不变性,需要对距离矩阵做一些变化,这里介绍一下结论

创建矩阵G,将环境描述符D表示为如下的形式,可以满足空间的交换不变。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第13张

同时,因为对距离矩阵做旋转变化后,仍然是其本身,所以也满足了旋转不变。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第14张

这样,空间的坐标就转为了具备实际物理意义的环境描述D,就可以参与到接下来的DNN网络训练中。

2.2 整网训练

到这里,训练网络的构建已经完成,如下图所示

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第15张

深度势能的构造如下:

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第16张

环境描述

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第17张

原子的受力根据其平滑势能计算,得到如下,实际上是对原子势能面计算梯度得到。

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第18张

损失函数定义为

跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架第19张

那么这个建模就完成了,之后就是具体的实现了。

三、小结

以上只是分享了一些DeepMD-kit框架的构建思想,分子动力学仿真领域还有很多框架和思想值得学习挖掘,比如为了增强模型对物理场景分布的覆盖,需要在训练的过程中随机采样,生成数据让模型做出预测,预测的不准,就把数据加入训练集继续训练,这个操作是包装了DeepMD-kit的另外一个框架DeepGen做的内容,以后有时间再总结一下其中的一些设计思想和算法优化的内容。

 

点击关注,第一时间了解华为云新鲜技术~

免责声明:文章转载自《跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇redis自定义RedisCacheManagerWindows Server 2008安装教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

TensorFlow利用A3C算法训练智能体玩CartPole游戏

本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型。研究人员使用 tf.keras、OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advantage Actor Critic,A3C)算法的智能体,通过 A3C 的实现解决了 CartPole 游戏问题,过程中使用了贪婪执行、模型子类和自定义训练循...

js 和后台交互

.asp.net呼叫js                        Response.Write("<script language=javascript>");                     Response.Write("alert('登峰欢迎您 ');" );                     Response.Wri...

python找出字典中value最大值的几种方法

假设定义一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c":1,"d":5},在不知道key的情况下如何找出字典中value最大的所有key-value对?下面讨论几种方法。 1)通过m.values()和max()函数 第一步,通过max()函数找到字典中的value最大值。 1 max(m.values()) 结果为7...

《逆向工程核心原理》笔记第一章到第十一章

第一章/第二章 分析Hello World!程序 OD基本命令 Restart Ctrl+F2 重新开始调试 Step Into F7 执行语句会进入函数内部 Step Over F8 执行语句不会进入函数内部 Execute till Return Ctrl+F9 一直在函数代码内部运行,直到遇到retn跳出 (跳出该命令函数) OD中右边注释中的红...

android logd 原理及实现

一、logd介绍 logd 是Android L版本提出来的概念,其作用是保存Android运行期间的log(日志)。在Android L之前,log由kernel的ring buffer 保存,在Android L之后,log保存在用户空间。 1)  logd进程启动 系统启动到init函数时会解析init.rc文件,启动logd进程和logd-rein...

SV中的数据类型

Verilog-1995中规定的数据类型有:变量(reg), 线网(wire), 32位有符号数(integer), 64位无符号数(time), 浮点数(real)。 SV扩展了reg类型为logic,除了reg类型的功能外,可以用在连续赋值,门单元和模块所驱动。但是不能用在双向总线建模,不能有多点驱动。 其他数据类型:无符号双状态  bit,     ...