跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架
摘要:分子动力学仿真模拟的重点就在于如何建立模型描述分子间的相互作用。
本文分享自华为云社区《AI建模-分子动力学仿真》,作者: 木子_007 。
一、背景
分子动力学的仿真模拟广泛应用于医药、化学、生物、材料等领域,研究模拟物质的微观结构,可以帮助我们理解物质的宏观性质,甚至对物质的宏观性质做出预测,物质的微观结构是由原子间的相互作用决定的,所以分子动力学仿真模拟的重点就在于如何建立模型描述分子间的相互作用。
传统的建模手段有两种:DFT(第一性原理)和经验力场。
DFT
DFT又称为第一性原理,具体建模和计算的过程非常复杂,需要很高深的数学和领域知识,了解一下即可
DFT构建的模型,可以看做是黑盒,根据输入,可以计算出下一帧体系内原子的状态
DFT的计算结果是比较准确的,但是因为计算代价太高,导致计算效率太低,只能够模拟几百个原子的物理体系。
经验力场
经验力场,是人们在研究某个物理体系时,根据其物理特性和一些实验结果,再加上一些处理经验,所构建的一个高阶函数,如研究惰性气体时的势能函数。
这种构建方式计算效率很高,但是其建模方式本身就决定了其精度不高。所以传统的分子动力学仿真存在一个困境,即无法效率和精度兼顾,而随着深度学习的普及使这种困境有了解决的思路。接下来就分子动力学仿真框架DeepMD的建模思想,做一个简单的介绍。
二、AI建模(water H2O 为例)
微观粒子上的相互作用
本质上是关于原子空间坐标的一个高维函数,如果能够计算出这个函数,那么在进行仿真的时候,就可以性能与精度兼顾了,传统数学工具对高维函数缺乏有效手段,而AI深度学习,本质上就是一个数学工具。为高维函数的逼近提供了有力工具,接下来会介绍一下建模的思想和过程。首先理清楚我们的目的和已具备的条件:
目的:构建一个深度学习网络,最终可以训练计算出一个高维函数(训练出一个模型)来表示这个物理体系,最终计算出来的结果,近似于第一性原理的计算结果。
模型:
训练及测试数据:
由第一性原理计算出来的体系内不同帧的原子状态,包括,原子坐标coord,空间尺度坐标box,体系的能量energy,体系中每个原子受到的力force
训练:
训练L2级别的loss
2.1 数据处理
通过上面的分析,我们要建立的这个模型,输入就是体系内原子的坐标,输出就是体系的势能和原子受到的力,但是,有一点需要特别注意,对于一个体系如水分子,如果一个水分子发生了旋转,平移或者它的两个氢原子发生交换,那么能量是不变的。
这种变化我们从直觉上理解是正常的,但是从模型的角度,这就要求,在坐标发生变化之后,输出还能保持与变化前一致,这对模型来说,往往是不可能的,所以在真正进入到深度学习DNN网络之前,需要对原始的原子三维坐标,做一些处理,使其能够满足空间中的平移,旋转和交换不变性。
2.1.1 平移不变性
要保证平移不变性,我们可以把空间中的原子左边转为原子间的相对距离,创建一个距离矩阵Ri。
根据原子中心框架,对距离矩阵做平滑处理,将超过截断半径外的原子的影响置为0。
2.1.2 交换和旋转不变性
要满足空间中的交换和旋转不变性,需要对距离矩阵做一些变化,这里介绍一下结论
创建矩阵G,将环境描述符D表示为如下的形式,可以满足空间的交换不变。
同时,因为对距离矩阵做旋转变化后,仍然是其本身,所以也满足了旋转不变。
这样,空间的坐标就转为了具备实际物理意义的环境描述D,就可以参与到接下来的DNN网络训练中。
2.2 整网训练
到这里,训练网络的构建已经完成,如下图所示
深度势能的构造如下:
环境描述
原子的受力根据其平滑势能计算,得到如下,实际上是对原子势能面计算梯度得到。
损失函数定义为
那么这个建模就完成了,之后就是具体的实现了。
三、小结
以上只是分享了一些DeepMD-kit框架的构建思想,分子动力学仿真领域还有很多框架和思想值得学习挖掘,比如为了增强模型对物理场景分布的覆盖,需要在训练的过程中随机采样,生成数据让模型做出预测,预测的不准,就把数据加入训练集继续训练,这个操作是包装了DeepMD-kit的另外一个框架DeepGen做的内容,以后有时间再总结一下其中的一些设计思想和算法优化的内容。
跟我学AI建模:分子动力学仿真模拟之DeepMD-kit框架的更多相关文章
- P2P/WSN信任建模与仿真平台
1.ART Testbed 该平台是基于多代理的信任仿真平台,官网的介绍如下: The Agent Reputation and Trust (ART) Testbed initiative has ...
- ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse
ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...
- Java多线程 编写三各类Ticket、SaleWindow、TicketSaleCenter分别代表票信息、售票窗口、售票中心。 售票中心分配一定数量的票,由若干个售票窗口进行出售,利用你所学的线程知识来模拟此售票过程。
package com.swift; import java.util.ArrayList; import java.util.HashMap; import java.util.List; impo ...
- eNSP仿真模拟软件之理解Hybrid接口的应用
1. 实验原理 Hybrid接口既可以连接普通终端的接入链路又可以连接交换机间的干道链路,它允许多个VLAN的帧通过,并可以在出接口方向将某些VLAN帧的标签剥掉. Hybrid接口处理VLAN帧的过 ...
- 《花雕学AI》13:早出对策,积极应对ChatGPT带来的一系列风险和挑战
ChatGPT是一款能和人类聊天的机器人,它可以学习和理解人类语言,也可以帮人们做一些工作,比如翻译.写文章.写代码等.ChatGPT很强大,让很多人感兴趣,也让很多人担心. 使用ChatGPT有一些 ...
- 《花雕学AI》17:关注提示工程—本世纪最重要的技能可能就是与AI人工智能对话
本文目录与主要结构 引言:介绍提示工程的概念和背景,说明为什么它是本世纪最重要的技能之一. 正文: 一.提示工程的基本原理和方法:介绍什么是提示.如何设计和优化提示.如何使用提示与语言模型进行交互. ...
- 为什么要学3D建模呢?你看中的肯定是这几点
游戏行业的大环境 互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的5年时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯.电子阅读.虚拟社区.网络游戏.电子 ...
- 为什么需要学UML建模
今天在看<设计模式>的时候,看到了许多的UML模型图,案例中作者用极少的代码却能讲清楚讲好设计模式的背景和思想,抽象成一张张的UML图就能很好的review和复盘,这对于在工作中习惯用代码 ...
- ROS-机器人建模与仿真概论
前言:无论是因为高昂的设备费用还是为了减少实验次数,仿真都是十分必要的. ROS提供了很多优秀的仿真方式,下面来介绍一下: URDF:Unified Robot Description Format, ...
- 【小白学AI】八种应对样本不均衡的策略
文章来自:微信公众号[机器学习炼丹术] 目录 1 什么是非均衡 2 8种解决办法 2.1 重采样(四种方法) 2.2 调整损失函数 2.3 异常值检测框架 2.4 二分类变成多分类 2.5 EasyE ...
随机推荐
- 服务器常见问题排查(一)——cpu占用高、上下文频繁切换、频繁GC
一般而言cpu异常往往还是比较好定位的.原因包括业务逻辑问题(死循环).频繁gc以及上下文切换过多.而最常见的往往是业务逻辑(或者框架逻辑)导致的,可以使用jstack来分析对应的堆栈情况. 使用js ...
- JAVA类的加载(3) ——类加载后能够有效运行
例1: 1 package classobject; 2 3 import java.lang.reflect.Constructor; 4 import java.lang.reflect.Invo ...
- 树莓派4B使用串口登录的设置方法
-特别提示- 本文具有时效性. 当前我使用的是pi4硬件, 镜像版本 raspberrypi 5.15.61 32位. 在我解决该问题的时候, 在网上查找了很多方法, 有些方法被实际测试发现是不行的. ...
- source insight 中添加指定类型文件
以下为source insight 3.X版本的设置方法: source insight 中过滤某些格式的文件. 建立source insight工程后,先暂时不要急于添加文件. 打开options- ...
- Mac 终端命令查看WiFi连接日志【原创】
写这篇文章的原因是因为经常通过钉钉打上班卡忘记打卡了,我们标准上班时间是上午8:00-10:00 ,对应下班时间是 17:00-19:00 ,有时8:30到公司,就开始忙碌了,作为程序员有时后一忙就 ...
- C/C++ 运用VMI接口查询系统信息
Windows Management Instrumentation(WMI)是一种用于管理和监视Windows操作系统的框架.它为开发人员.系统管理员和自动化工具提供了一种标准的接口,通过这个接口, ...
- Spring Boot 关闭 Actuator ,满足安全工具扫描
应用被安全工具,扫描出漏洞信息 [MSS]SpringBoot Actuator敏感接口未授权访问漏洞(Actuator)事件发现通告: 发现时间:2023-11-25 19:47:17 攻击时间:2 ...
- VLOOKUP函数10种经典用法
VLOOKUP函数是Excel中非常常用的函数之一,可以用于在一个区域或表格中查找某个值,并返回该值所在行的另一个指定列中的数值.以下是VLOOKUP函数的10种经典用法: 基本的VLOOKUP用法: ...
- springcloud+nacos项目启动后,登陆连接服务器时超时:Connection timed out no further information
问题现象:项目启动后,登陆连接服务器时超时:Connection timed out no further information 192.168.42.190:4004 原因:我的配置有问题,在na ...
- 【开源项目推荐】-支持GPT的智能数据库客户端与报表工具——Chat2DB
2023年是人工智能爆火的一年,ChatGPT为首的一系列的大模型的出现,让生成式人工智能彻底火了一把.但有人会说,GPT对于我们数据开发来说并没有什么作用啊? 今天为大家推荐的开源项目,就是GPT在 ...